:root{
  --bg:#0f1724;
  --card:#0b1220cc;
  --accent:#7c5cff;
  --glass: rgba(255,255,255,0.06);
  --muted: rgba(255,255,255,0.65);
  --success: #22c55e;
  --danger: #ef4444;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(124,92,255,0.12), transparent 6%),
			  radial-gradient(1000px 500px at 90% 90%, rgba(0,212,255,0.06), transparent 8%),
			  var(--bg);
  color: #e6eef8;
  -webkit-font-smoothing:antialiased;
  display:grid;
  padding:32px;
}

.container{
  width:100%;
  max-width:420px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  border-radius:16px;
  padding:28px;
  box-shadow: 0 8px 30px rgba(2,6,23,0.6);
  border: 1px solid rgba(255,255,255,0.04);
  backdrop-filter: blur(8px) saturate(120%);
  margin: auto;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.logo{
  width:48px;height:48px;border-radius:12px;
  background: linear-gradient(135deg,var(--accent), #00c2ff);
  display:grid;place-items:center;font-weight:700;color:white;font-size:18px;
  box-shadow: 0 6px 18px rgba(124,92,255,0.18);
}
h1{margin:0;font-size:20px}
p.lead{margin:6px 0 18px;color:var(--muted);font-size:14px}

form{display:grid;gap:12px}

.input{
  background: var(--glass);
  border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,0.03);
  display:flex;align-items:center;gap:8px;
}
.input input{
  background:transparent;border:0;outline:none;color:inherit;font-size:15px;width:100%;
}
label{font-size:13px;color:var(--muted);display:block;margin-bottom:6px}

.row{display:flex;align-items:center;justify-content:space-between}

.actions{display:flex;gap:8px;margin-top:6px}

.btn:hover
{
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
}
.btn{
  appearance:none;border:0;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer;
}
.btn-flex{
  flex:1;
}

.btn-blue{
  background: linear-gradient(90deg,var(--accent), #00c2ff);
  color:#04111b;flex:1;box-shadow:0 8px 30px rgba(124,92,255,0.14);
}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--muted)}

.muted{color:var(--muted);font-size:13px}

.note{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}

.btn-green{
  background: linear-gradient(90deg, #22c55e, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.btn-orange{
  background: linear-gradient(90deg, #c56615, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.btn-pink{
  background: linear-gradient(90deg, #990c47, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.btn-yellow
{
  background: linear-gradient(90deg, #ffe718, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.btn-red
{
  background: linear-gradient(90deg, #c52222, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.btn-gray
{
  background: linear-gradient(90deg, #607D8B, #949d97);
  color:#04111b;box-shadow:0 8px 30px rgba(34,197,94,0.14);
}

.small{font-size:12px;color:var(--muted)}

.field-error{color:var(--danger);font-size:12px;margin-top:6px}

/* responsive */
@media (max-width:600px){
	.container{padding:18px;border-radius:12px}
	body{
	  padding:5px;
	}
	.btn-menu {
		display: block !important;
		margin: 5px !important;
		font-size:18px !important;
	}
}

/* tiny focus states for accessibility */
input:focus{box-shadow:0 0 0 4px rgba(124,92,255,0.08);border-radius:8px}

.centered {
	text-align: center;
}

.right {
	text-align: right;
}

.full-width {
	width: 100%;
	max-width: 100%;
	overflow: auto;
}

.right-margin {
	margin-right: 2px;
}

.btn-menu {
	display: inline-block;
	margin-right: 2px;
	font-size:14px;color:var(--muted)
}

select option, select, .dataTables_wrapper .dataTables_filter input {
  background: var(--glass);
  border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,0.03);
  align-items:center;gap:8px;
}

table.dataTable thead th, table.dataTable tfoot th {
    font-weight: normal;
	font-size: 12px;
}

table.dataTable.display tbody tr.even>.sorting_1, table.dataTable.order-column.stripe tbody tr.even>.sorting_1, table.dataTable.display tbody tr.odd>.sorting_1, table.dataTable.order-column.stripe tbody tr.odd>.sorting_1, table.dataTable tbody tr {
	background-color: transparent;
	font-size: 12px;
}
table.dataTable.display tbody tr.odd {
	background-color: #1c3d57;
	font-size: 12px;
}
.ellipsis, .dataTables_wrapper .dataTables_paginate .paginate_button, .dataTables_info, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active
{
	color: var(--muted) !important;
}

input[type="date"] {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system,
               'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#7c5cff !important}

img.rotate {
  animation: spin 10s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

img.rotate-3d {
  animation: spin3d 6s linear(0 0%, 0 1.8%, 0.01 3.6%, 0.03 6.35%, 0.07 9.1%, 0.13 11.4%, 0.19 13.4%, 0.27 15%, 0.34 16.1%, 0.54 18.35%, 0.66 20.6%, 0.72 22.4%, 0.77 24.6%, 0.81 27.3%, 0.85 30.4%, 0.88 35.1%, 0.92 40.6%, 0.94 47.2%, 0.96 55%, 0.98 64%, 0.99 74.4%, 1 86.4%, 1 100%) infinite;
  transform-style: preserve-3d;
}

@keyframes spin3d {
  from {
    transform: perspective(600px) rotateY(0deg);
  }
  to {
    transform: perspective(600px) rotateY(360deg);
  }
}