:root{
    --bg:#f4f7fb;
    --bg-2:#eef4ff;
    --panel:#ffffff;
    --panel-soft:#f8fbff;
    --text:#07111f;
    --muted:#64748b;
    --muted-2:#8a96a8;
    --line:#dbe4f0;
    --line-soft:#edf2f8;
    --primary:#1d4ed8;
    --primary-2:#2563eb;
    --primary-3:#60a5fa;
    --primary-hover:#173ea8;
    --success:#0f766e;
    --success-soft:#e8faf6;
    --danger:#dc2626;
    --danger-hover:#b91c1c;
    --danger-soft:#fff1f2;
    --warning:#d97706;
    --warning-soft:#fff7ed;
    --sidebar:#07111f;
    --sidebar-2:#111b2e;
    --soft:#f8fafc;
    --shadow:0 24px 70px rgba(8, 22, 48, .10);
    --shadow-soft:0 16px 45px rgba(8, 22, 48, .07);
    --radius:24px;
    --radius-sm:15px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;background:var(--bg);color:var(--text);font-size:15px}
body{background:radial-gradient(circle at top right, rgba(37,99,235,.16), transparent 34%),linear-gradient(180deg,#f8fbff 0%,#f3f6fb 52%,#eef3fa 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}.muted{color:var(--muted);font-size:13px;line-height:1.55}

/* ================= LOGIN PREMIUM ================= */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 18% 12%,rgba(96,165,250,.25),transparent 27%),radial-gradient(circle at 82% 22%,rgba(14,165,233,.22),transparent 25%),linear-gradient(135deg,#07111f 0%,#0b1d3a 45%,#183cc0 100%);overflow:hidden;position:relative}
.login-body:before{content:"";position:absolute;inset:-45%;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:58px 58px;transform:rotate(8deg);opacity:.18;pointer-events:none}
.login-shell{position:relative;z-index:1;width:100%;max-width:1080px;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
.login-brand-panel{position:relative;min-height:560px;border:1px solid rgba(255,255,255,.13);border-radius:34px;padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04));box-shadow:0 45px 120px rgba(0,0,0,.34);overflow:hidden;color:#fff;backdrop-filter:blur(18px)}
.login-brand-panel:after{content:"";position:absolute;width:420px;height:420px;border-radius:999px;background:radial-gradient(circle,rgba(96,165,250,.42),transparent 62%);right:-160px;bottom:-140px;filter:blur(2px)}
.login-logo-row{display:flex;align-items:center;gap:14px;position:relative;z-index:2}.login-logo{width:56px;height:56px;border-radius:18px;background:#fff;color:#07111f;display:flex;align-items:center;justify-content:center;font-weight:950;font-size:18px;box-shadow:0 14px 34px rgba(0,0,0,.18);overflow:hidden}.login-logo img{width:100%;height:100%;object-fit:contain;padding:7px;display:block}.login-logo-image{background:#fff}
.login-logo-row strong{display:block;font-size:15px;letter-spacing:.02em}.login-logo-row span{display:block;margin-top:4px;color:rgba(255,255,255,.68);font-size:12px}
.login-copy{position:relative;z-index:2;margin-top:78px;max-width:620px}.login-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 13px;color:rgba(255,255,255,.80);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.07)}
.login-eyebrow:before{content:"";width:7px;height:7px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.12)}
.login-copy h1{font-size:54px;line-height:.96;margin:22px 0 18px;letter-spacing:-.055em}.login-copy p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.72);margin:0;max-width:560px}
.login-features{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:58px}.login-feature{border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.login-feature b{display:block;font-size:20px;margin-bottom:4px}.login-feature span{font-size:12px;color:rgba(255,255,255,.66)}
.login-card{position:relative;z-index:1;width:100%;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.74);border-radius:34px;padding:34px;box-shadow:0 45px 110px rgba(0,0,0,.28);backdrop-filter:blur(18px);align-self:center}.login-card h1{margin:0 0 8px;font-size:30px;letter-spacing:-.035em}.login-card p{margin:0 0 24px;color:var(--muted);line-height:1.65}.login-card .btn{height:50px;font-size:15px}

/* ================= FORMS / BUTTONS ================= */
.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:850;margin-bottom:8px;color:#334155;letter-spacing:.025em}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:linear-gradient(180deg,#fff,#fbfdff);color:var(--text);font-size:14px;outline:none;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
textarea{min-height:110px;resize:vertical}.input:hover,select:hover,textarea:hover{border-color:#c7d4e4}.input:focus,select:focus,textarea:focus{border-color:#7fb0ff;box-shadow:0 0 0 5px rgba(37,99,235,.12);background:#fff}.help{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}
input[type="file"].input{padding:11px;background:#fff}input[type="checkbox"]{accent-color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--text);padding:11px 15px;border-radius:15px;font-weight:850;text-decoration:none;cursor:pointer;font-size:14px;line-height:1.2;transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;white-space:nowrap}.btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 12px 24px rgba(8,22,48,.07)}.btn-primary{background:linear-gradient(135deg,var(--primary-2),#123ac2);border-color:transparent;color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.25)}.btn-primary:hover{background:linear-gradient(135deg,#1e40af,#0f2e9d);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,var(--danger));border-color:transparent;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.btn-success{background:linear-gradient(135deg,#14b8a6,var(--success));border-color:transparent;color:#fff}.btn-small{padding:8px 11px;font-size:12px;border-radius:12px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}
.alert{position:relative;padding:13px 15px 13px 42px;border-radius:16px;margin-bottom:15px;font-size:14px;font-weight:750;line-height:1.45}.alert:before{position:absolute;left:15px;top:12px;font-size:15px}.alert-ok{background:var(--success-soft);color:#065f46;border:1px solid #b9efe2}.alert-ok:before{content:"✓"}.alert-error{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca}.alert-error:before{content:"!"}

/* ================= APP LAYOUT PREMIUM ================= */
.shell{display:flex;min-height:100vh;position:relative}.shell:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 82% 4%,rgba(37,99,235,.13),transparent 30%),radial-gradient(circle at 38% 100%,rgba(14,165,233,.08),transparent 32%);pointer-events:none}.sidebar{width:292px;min-width:292px;background:linear-gradient(180deg,#07111f 0%,#0d1830 53%,#0b1324 100%);color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;z-index:3;box-shadow:20px 0 60px rgba(8,22,48,.14);overflow:auto}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 4%,rgba(96,165,250,.20),transparent 26%),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,48px 48px;pointer-events:none;opacity:.8}.sidebar>*{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:13px;padding:8px 2px 20px;border-bottom:1px solid rgba(255,255,255,.10)}.brand img{width:56px;height:56px;border-radius:18px;background:#fff;object-fit:contain;padding:6px;box-shadow:0 14px 34px rgba(0,0,0,.22)}.brand-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#fff,#eaf2ff);color:#07111f;display:flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 14px 34px rgba(0,0,0,.22)}.brand strong{display:block;font-size:14px;letter-spacing:.01em}.brand span{display:block;color:rgba(255,255,255,.58);font-size:12px;margin-top:4px}.brand-meta{min-width:0}.brand-meta strong,.brand-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:182px}
.nav{display:flex;flex-direction:column;gap:7px}.nav a{position:relative;color:rgba(255,255,255,.78);text-decoration:none;padding:13px 13px;border-radius:16px;font-weight:850;font-size:14px;display:flex;align-items:center;gap:11px;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.nav a:hover,.nav a.active{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.11);transform:translateX(2px)}.nav a.active:before{content:"";position:absolute;left:-18px;top:14px;bottom:14px;width:4px;border-radius:0 999px 999px 0;background:#60a5fa;box-shadow:0 0 20px rgba(96,165,250,.95)}.nav-ico{width:30px;height:30px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);font-size:14px;flex:0 0 auto}.sidebar-footer{margin-top:auto;border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:14px;background:rgba(255,255,255,.055)}.sidebar-footer b{display:block;font-size:12px;margin-bottom:5px}.sidebar-footer span{display:block;font-size:12px;color:rgba(255,255,255,.60);line-height:1.45}.status-dot{display:inline-block;width:8px;height:8px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.13);margin-right:8px}.main{flex:1;min-width:0;padding:28px;position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1{font-size:28px;margin:0;letter-spacing:-.04em}.topbar p{margin:6px 0 0;color:var(--muted);line-height:1.45}.session-pill{background:rgba(255,255,255,.80);border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:#334155;font-weight:850;font-size:13px;box-shadow:0 12px 28px rgba(8,22,48,.05);display:flex;align-items:center;gap:9px}.session-pill:before{content:"";width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,#eaf2ff,#fff);border:1px solid var(--line);box-shadow:inset 0 0 0 4px #fff}.mobile-menu-btn{display:none}

/* ================= CONTENT ================= */
.hero{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,246,255,.88));border:1px solid rgba(219,228,240,.95);border-radius:28px;padding:28px;margin-bottom:18px;box-shadow:var(--shadow-soft);overflow:hidden}.hero:after{content:"";position:absolute;right:-80px;top:-110px;width:290px;height:290px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.20),transparent 64%)}.hero h1{position:relative;margin:0 0 10px;font-size:34px;letter-spacing:-.055em}.hero p{position:relative;margin:0;color:var(--muted);line-height:1.72;max-width:960px}.hero .btn{position:relative}.hero-kicker{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:8px 12px;margin-bottom:14px}.hero-kicker:before{content:"";width:7px;height:7px;border-radius:99px;background:var(--primary)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{position:relative;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow-soft);backdrop-filter:blur(12px);overflow:hidden}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.24),transparent)}.card:hover{box-shadow:var(--shadow)}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.kpi{font-size:42px;font-weight:950;margin-top:7px;letter-spacing:-.055em;line-height:1}.card>.muted:first-child{font-weight:850;text-transform:uppercase;letter-spacing:.055em;font-size:11px}.card>.muted:first-child:after{content:"";display:block;width:38px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--primary-2),#8bbcff);margin-top:10px}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.top h2,.top h1{font-size:21px;margin:0 0 5px;letter-spacing:-.035em}.top p{margin:0;color:var(--muted);line-height:1.55}.table-wrap{width:100%;overflow:auto;border-radius:18px;border:1px solid var(--line-soft);background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:14px 12px;font-size:14px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:#667085;background:linear-gradient(180deg,#f8fafc,#f2f6fb);font-weight:950}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#fbfdff}.file-link{font-weight:900;color:var(--primary);text-decoration:none}.logo-mini{width:46px;height:46px;border-radius:15px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:5px;box-shadow:0 10px 22px rgba(8,22,48,.06)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.badge:before{content:"";width:7px;height:7px;border-radius:99px}.badge-ok{background:#ecfdf5;color:#065f46}.badge-ok:before{background:#22c55e}.badge-off{background:#f1f5f9;color:#475569}.badge-off:before{background:#94a3b8}.empty{padding:20px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px dashed #cbd5e1;border-radius:18px;color:var(--muted);line-height:1.55}
.form-inline{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:end}.form-inline .span-2{grid-column:span 2}.form-inline .span-3{grid-column:span 3}.form-inline .span-4{grid-column:span 4}.form-inline .span-5{grid-column:span 5}.form-inline .span-6{grid-column:span 6}.form-inline .span-12{grid-column:span 12}

@media(max-width:1200px){.col-3{grid-column:span 6}.col-4{grid-column:span 6}.col-5,.col-7{grid-column:span 12}.login-shell{max-width:900px;grid-template-columns:1fr}.login-brand-panel{min-height:auto}.login-copy{margin-top:44px}.login-features{margin-top:38px}.login-copy h1{font-size:44px}}
@media(max-width:900px){body{background:#f5f7fb}.shell{display:block}.sidebar{position:relative;width:100%;min-width:0;height:auto;border-radius:0 0 28px 28px}.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.session-pill{width:100%;justify-content:flex-start}.grid{grid-template-columns:1fr}.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-12{grid-column:span 1}.form-inline{grid-template-columns:1fr}.form-inline .span-2,.form-inline .span-3,.form-inline .span-4,.form-inline .span-5,.form-inline .span-6,.form-inline .span-12{grid-column:span 1}.btn{width:100%}.actions .btn,.actions button{width:auto}.top{flex-direction:column}.hero h1{font-size:28px}.login-shell{display:block}.login-brand-panel{display:none}.login-card{max-width:460px;margin:auto}}
@media(max-width:560px){.main{padding:14px}.card,.hero{border-radius:22px;padding:16px}.login-card{padding:24px;border-radius:26px}.topbar h1{font-size:24px}.actions{gap:6px}.actions .btn,.actions button{width:100%}.table th,.table td{padding:12px 10px}.login-copy h1{font-size:36px}}
