:root{
 --bg:#f4f7fb;--card:#fff;--ink:#10263d;--muted:#708297;--blue:#07569a;--blue2:#1185d2;--navy:#052d55;--navy2:#071f38;
 --line:#dfe8f2;--green:#12855f;--amber:#b97400;--red:#b6424d;--shadow:0 18px 50px rgba(9,47,82,.11);--shadow-soft:0 8px 26px rgba(9,47,82,.07);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.hidden{display:none!important}a{color:inherit}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--blue)}
/* LOGIN */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.1fr) minmax(420px,.9fr);background:#fff}.login-visual{position:relative;overflow:hidden;padding:52px clamp(42px,7vw,100px);display:flex;flex-direction:column;color:#fff;background:linear-gradient(145deg,#052e59 0%,#075792 46%,#0d76ba 100%)}.login-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 80%)}.visual-orb{position:absolute;border-radius:999px;filter:blur(1px);background:rgba(255,255,255,.08)}.orb-a{width:420px;height:420px;right:-150px;top:-80px}.orb-b{width:280px;height:280px;left:-120px;bottom:60px}.login-brand,.mobile-brand,.sidebar-brand{position:relative;z-index:2;display:flex;align-items:center;gap:13px}.logo-box{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#fff;color:#07569a;font-size:30px;font-weight:1000;box-shadow:0 12px 30px rgba(0,0,0,.14)}.logo-box.sm{width:42px;height:42px;border-radius:13px;font-size:23px}.login-brand strong,.mobile-brand strong,.sidebar-brand strong{display:block;font-size:17px;letter-spacing:.12em}.login-brand span,.mobile-brand span,.sidebar-brand span{display:block;font-size:9px;letter-spacing:.16em;opacity:.82;margin-top:3px}.login-copy{position:relative;z-index:2;margin:auto 0;max-width:720px;padding:80px 0}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.13em}.pill.glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.login-copy h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.05em;margin:24px 0 24px;max-width:720px}.login-copy p{font-size:17px;line-height:1.7;color:#d9ebf8;max-width:650px}.feature-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.feature-row span{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.09);font-size:12px;font-weight:800}.visual-footer{position:relative;z-index:2;font-size:11px;color:#cde5f6;letter-spacing:.04em}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:50px clamp(30px,6vw,90px);background:linear-gradient(180deg,#fff,#f8fbfe)}.mobile-brand{display:none;color:var(--navy);margin-bottom:35px}.mobile-brand .logo-box{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.login-card{width:min(470px,100%);margin:0 auto}.login-card h2{font-size:42px;letter-spacing:-.04em;margin:7px 0 8px}.login-subtitle{color:var(--muted);font-size:15px;margin-bottom:30px}.login-card label{display:block;font-size:12px;font-weight:900;color:#324b63;margin:18px 0 8px}.input-shell{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe6ef;border-radius:15px;padding:0 14px;box-shadow:0 4px 16px rgba(8,54,94,.03);transition:.2s}.input-shell:focus-within{border-color:#3a92d0;box-shadow:0 0 0 4px rgba(17,133,210,.09)}.input-shell>span{color:#8aa0b5;font-size:12px}.input-shell input{border:0;outline:0;width:100%;padding:15px 2px;background:transparent;color:var(--ink)}.btn{border:0;border-radius:14px;padding:13px 17px;font-weight:900;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 10px 25px rgba(7,86,154,.22)}.wide{width:100%;margin:14px 0 18px}.login-button{min-height:53px;display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:18px}.secure-note{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;color:#466077}.secure-note>span{width:34px;height:34px;border-radius:11px;background:#e8f7f1;color:var(--green);display:grid;place-items:center;font-weight:1000}.secure-note b,.secure-note small{display:block}.secure-note b{font-size:12px}.secure-note small{font-size:11px;color:var(--muted);margin-top:2px}.login-help{text-align:center;color:#8a9aac;font-size:11px;margin:36px auto 0;max-width:470px}
/* APP LAYOUT */
.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.desktop-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,#062f59,#071f38);color:#fff;padding:24px 17px;display:flex;flex-direction:column;z-index:30;box-shadow:16px 0 50px rgba(7,31,56,.08)}.sidebar-brand{padding:2px 7px 24px;border-bottom:1px solid rgba(255,255,255,.09)}.side-nav{display:grid;gap:7px;margin-top:22px}.side-nav button{border:0;background:transparent;color:#bcd1e3;border-radius:13px;padding:12px 13px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}.side-nav button span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:15px}.side-nav button b{font-size:12px}.side-nav button.active,.side-nav button:hover{background:rgba(255,255,255,.10);color:#fff}.side-nav button.active span{background:#fff;color:var(--blue)}.sidebar-footer{margin-top:auto;padding:16px 8px 4px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer small,.sidebar-footer b{display:block}.sidebar-footer small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#84a7c2}.sidebar-footer b{font-size:10px;color:#dbe9f5;margin-top:5px}.app-shell{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(22px,3.2vw,48px);background:rgba(244,247,251,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,228,238,.8)}.topbar h2{font-size:23px;margin:3px 0 0;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:11px}.today{font-size:11px;color:var(--muted);font-weight:800}.icon-btn{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:13px;cursor:pointer;color:var(--blue);box-shadow:0 5px 15px rgba(17,57,88,.04)}main{max-width:1400px;margin:0 auto;padding:26px clamp(22px,3.2vw,48px) 110px}.hero{background:linear-gradient(120deg,#063a6e,#086ab0 62%,#0b7fc8);color:#fff;border-radius:25px;padding:30px 32px;box-shadow:0 20px 44px rgba(5,63,110,.19);overflow:hidden;position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.07)}.hero:before{width:260px;height:260px;right:-70px;top:-105px}.hero:after{width:170px;height:170px;right:120px;bottom:-105px}.hero h1{font-size:clamp(26px,3.3vw,42px);line-height:1.08;letter-spacing:-.04em;max-width:720px;margin:8px 0 12px;position:relative;z-index:1}.hero p{color:#d9edfb;margin:0;position:relative;z-index:1}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:18px 19px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.stat:after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(var(--blue),var(--blue2))}.stat .num{font-size:31px;font-weight:1000;letter-spacing:-.04em}.stat .label{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-top:3px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.section-title h3{margin:0;font-size:16px;letter-spacing:-.02em}.list{display:grid;gap:11px}.item{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px 17px;box-shadow:0 5px 18px rgba(18,53,84,.035);cursor:pointer;transition:.18s}.item:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(18,53,84,.08);border-color:#cbdbe9}.item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item h3{font-size:15px;margin:0 0 5px}.meta{color:var(--muted);font-size:12px;line-height:1.5}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;background:#eaf3fb;color:var(--blue);white-space:nowrap}.badge.green{background:#e6f7f0;color:var(--green)}.badge.amber{background:#fff4db;color:var(--amber)}.badge.red{background:#fbe9eb;color:var(--red)}.empty{padding:32px;text-align:center;color:var(--muted);border:1px dashed #cbd9e6;border-radius:17px;background:rgba(255,255,255,.55);font-size:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px;box-shadow:var(--shadow-soft)}.detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:15px}.kv{display:grid;grid-template-columns:130px 1fr;gap:8px;font-size:12px;margin:10px 0;padding-bottom:9px;border-bottom:1px solid #edf2f6}.kv:last-child{border-bottom:0}.kv b{color:var(--muted)}.doc-actions{display:flex;gap:8px;margin-top:12px}.link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;background:#edf5fb;color:var(--blue);padding:9px 12px;border-radius:10px;font-weight:900;font-size:11px;cursor:pointer}.clock-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.clock-actions button{min-height:66px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.bottom-nav{display:none}#toast{position:fixed;left:50%;top:18px;transform:translateX(-50%) translateY(-7px);background:#10263d;color:#fff;padding:11px 16px;border-radius:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:12px;font-weight:800}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* FORMS / ADMIN SHARED */
input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fbfdff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#55a0d6;box-shadow:0 0 0 4px rgba(17,133,210,.08)}label{font-size:11px;font-weight:900;color:#435d73}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:12px}.table th{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex}.app{display:block}.desktop-sidebar{display:none}.app-shell{grid-column:auto}.bottom-nav{position:fixed;display:grid;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 18px));grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 -8px 30px rgba(18,53,84,.12);border-radius:20px 20px 0 0;padding:8px;z-index:40}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:900;padding:7px 3px;border-radius:12px}.bottom-nav button span{display:block;font-size:18px;line-height:18px;margin-bottom:4px}.bottom-nav button.active{background:#edf5fb;color:var(--blue)}}
@media(max-width:700px){.topbar{padding:14px 17px}.today{display:none}main{padding:18px 15px 100px}.grid{grid-template-columns:1fr 1fr}.grid .stat:last-child{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}.hero{padding:23px;min-height:170px;border-radius:21px}.hero h1{font-size:28px}.panel{padding:17px}.login-panel{padding:32px 22px}.login-card h2{font-size:34px}.mobile-brand{margin-bottom:45px}.bottom-nav{width:100%;border-radius:18px 18px 0 0}.clock-actions{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.grid{grid-template-columns:1fr}.grid .stat:last-child{grid-column:auto}.login-panel{padding:25px 18px}.mobile-brand{margin-bottom:34px}.logo-box{width:48px;height:48px;border-radius:15px}.login-card h2{font-size:31px}.item-top{align-items:flex-start}}
