:root{--nav:#082b42;--nav2:#064b69;--blue:#0878a3;--cyan:#23b2d0;--bg:#f3f7fa;--line:#dce6ec;--text:#153246;--muted:#718596;--white:#fff;--danger:#c94848;--shadow:0 12px 34px rgba(15,51,71,.09)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button,a{transition:.18s ease}.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 15% 20%,rgba(35,178,208,.24),transparent 31%),radial-gradient(circle at 85% 80%,rgba(8,120,163,.3),transparent 35%),linear-gradient(135deg,#061e30,#07506e)}.login-card,.install-card{width:min(440px,100%);padding:38px;border:1px solid rgba(255,255,255,.45);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 28px 90px rgba(0,0,0,.35);text-align:center}.install-card{width:min(760px,100%)}.brand-mark,.brand-icon{display:grid;place-items:center;margin:auto;width:74px;height:74px;border-radius:22px;background:linear-gradient(145deg,var(--cyan),var(--blue));color:#fff;font-weight:850;letter-spacing:.06em;box-shadow:0 12px 25px rgba(8,120,163,.28)}.login-card h1,.install-card h1{font-size:26px;margin:18px 0 4px}.login-card>p,.install-card>p{margin:0 0 24px;color:var(--muted)}label{display:grid;gap:7px;text-align:left;color:#506777;font-size:13px;font-weight:650}input,select{width:100%;min-height:43px;border:1px solid #cddbe3;border-radius:10px;background:#fff;padding:9px 12px;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(35,178,208,.14)}.login-card form{display:grid;gap:16px}.login-card small{display:block;margin-top:22px;color:#8a9aa5}.primary{border:0;border-radius:10px;background:linear-gradient(135deg,var(--blue),#09608a);color:#fff;font-weight:750;padding:12px 18px;cursor:pointer;box-shadow:0 8px 18px rgba(8,120,163,.2)}.primary:hover{transform:none;filter:brightness(1.06)}.compact{padding:10px 16px}.alert{padding:11px 14px;border-radius:9px;margin:14px 0;text-align:left;font-size:14px}.alert.error{background:#ffeded;color:#9a2b2b}.alert.success{background:#e7f8ef;color:#19704b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid h2,.full{grid-column:1/-1}.form-grid h2{text-align:left;font-size:15px;margin:12px 0 0;border-bottom:1px solid var(--line);padding-bottom:8px}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--nav),#061e2d);color:#fff;z-index:5;display:flex;flex-direction:column;box-shadow:6px 0 25px rgba(5,34,51,.12);transition:.22s}.side-brand{height:80px;display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-icon{width:46px;height:46px;margin:0;border-radius:13px;font-size:13px;flex:0 0 46px}.brand-copy{display:grid}.brand-copy b{font-size:18px}.brand-copy small{color:#9fc0d1}.sidebar nav{padding:15px 10px;display:grid;gap:3px;overflow:auto}.sidebar nav a,.signout{display:flex;align-items:center;gap:13px;min-height:45px;padding:8px 12px;color:#bcd1dc;text-decoration:none;border-radius:10px;white-space:nowrap}.sidebar nav a i,.signout i{width:25px;text-align:center;font-style:normal;font-size:19px;flex:0 0 25px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(35,178,208,.26),rgba(35,178,208,.08));box-shadow:inset 3px 0 var(--cyan)}.signout{margin:auto 10px 16px}.signout:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar.collapsed{width:78px}.sidebar.collapsed .brand-copy,.sidebar.collapsed nav span,.sidebar.collapsed .signout span{display:none}.topbar{position:fixed;left:250px;right:0;top:0;height:80px;z-index:4;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);transition:.22s}.sidebar.collapsed~.topbar{left:78px}.menu-toggle{border:0;background:#edf4f7;border-radius:9px;width:40px;height:40px;margin-right:18px;color:var(--nav2);cursor:pointer}.topbar h1{font-size:18px;margin:0}.topbar>div>small{color:var(--muted)}.user-chip{margin-left:auto;display:flex;align-items:center;gap:10px}.user-chip>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dff3f7;color:var(--blue);font-weight:800}.user-chip div{display:grid;font-size:13px;font-weight:700}.user-chip small{font-weight:500}.content{margin-left:250px;padding:110px 28px 65px;min-height:100vh;transition:.22s}.sidebar.collapsed~.content,.sidebar.collapsed~.topbar~.content{margin-left:78px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-head p{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--blue);margin:0 0 4px}.page-head h2{font-size:28px;margin:0 0 4px}.page-head span{color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:16px;margin-bottom:20px}.stats a{display:flex;gap:14px;align-items:center;padding:20px;border-radius:15px;background:#fff;box-shadow:var(--shadow);text-decoration:none;color:var(--text);border:1px solid #e6edf1}.stats a:hover{transform:none;border-color:#b5dae6}.stats i{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e5f5f8;color:var(--blue);font-style:normal;font-size:21px}.stats div{display:grid}.stats strong{font-size:23px}.stats span{font-size:12px;color:var(--muted)}.panel{background:#fff;border:1px solid #e2ebef;border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.panel-title,.toolbar,.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;border-bottom:1px solid var(--line)}.panel-title h3{margin:0;font-size:16px}.panel-title a{color:var(--blue);text-decoration:none;font-size:13px}.activity-list>div{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid #edf2f5}.activity-list i{width:9px;height:9px;border-radius:50%;background:var(--cyan)}.activity-list p{display:grid;margin:0;font-size:13px}.activity-list p span{color:var(--muted)}.activity-list time{margin-left:auto;font-size:12px;color:var(--muted)}.toolbar{justify-content:flex-start;gap:12px}.toolbar .search{position:relative;display:flex;align-items:center;flex:1;max-width:520px;font-size:20px}.toolbar .search input{padding-left:38px}.toolbar .search:first-letter{color:var(--muted)}.toolbar .search{color:var(--muted)}.toolbar .search input{margin-left:-24px}.toolbar>label:not(.search){display:flex;align-items:center;gap:8px;white-space:nowrap}.toolbar select{min-height:40px}.toolbar button,.actions button,.pagination a{min-height:39px;border:1px solid #cbdbe3;background:#fff;border-radius:9px;padding:8px 13px;color:var(--text);cursor:pointer;text-decoration:none}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid #e9eff2;font-size:13px;white-space:nowrap}th{background:#f7fafb;color:#607786;font-size:11px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#f8fcfd}.actions{display:flex;gap:7px}.actions form{display:inline}.actions .danger{color:var(--danger);border-color:#f0c9c9}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e5f5f8;color:#096987;font-weight:700}.empty{text-align:center!important;color:var(--muted);padding:28px!important}.pagination{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:13px}.pagination div{display:flex;gap:8px}.pagination a.disabled{opacity:.4;pointer-events:none}dialog{width:min(940px,calc(100% - 30px));max-height:90vh;border:0;border-radius:18px;padding:0;box-shadow:0 25px 90px rgba(5,37,55,.35)}dialog::backdrop{background:rgba(4,26,39,.65);backdrop-filter:blur(3px)}.record-form>header,.record-form>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.record-form>footer{border:0;border-top:1px solid var(--line);justify-content:flex-end;gap:10px}.record-form header small{color:var(--blue);font-weight:800}.record-form header h3{margin:2px 0 0}.record-form header button{border:0;background:none;font-size:27px;color:var(--muted);cursor:pointer}.record-form>.form-grid{padding:21px;max-height:62vh;overflow:auto}.record-form footer button:not(.primary){border:1px solid var(--line);background:#fff;padding:10px 17px;border-radius:9px}.app-footer{position:fixed;bottom:0;left:250px;right:0;height:37px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:11px;color:var(--muted);transition:.22s}.sidebar.collapsed~.topbar~.content~.app-footer{left:78px}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-100%)}.sidebar.collapsed{width:250px;transform:none}.sidebar.collapsed .brand-copy,.sidebar.collapsed nav span,.sidebar.collapsed .signout span{display:grid}.topbar,.sidebar.collapsed~.topbar{left:0}.content,.sidebar.collapsed~.content,.sidebar.collapsed~.topbar~.content{margin-left:0}.app-footer,.sidebar.collapsed~.topbar~.content~.app-footer{left:0}}@media(max-width:620px){.topbar{padding:0 14px}.topbar h1{font-size:15px}.user-chip div{display:none}.content{padding:100px 13px 60px}.page-head{align-items:center}.page-head h2{font-size:23px}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid h2,.full{grid-column:auto}.toolbar{flex-wrap:wrap}.toolbar .search{max-width:none;width:100%;flex-basis:100%}.record-form>.form-grid{max-height:65vh}.app-footer{padding:0 13px}}
