:root{--navy:#101a31;--ink:#07142b;--blue:#4f39f6;--line:#dbe3ef;--muted:#71809a;--bg:#f5f8fc;--green:#00a47b;--orange:#f45b0b;--red:#ee1749}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}.install-banner{height:49px;background:#1d2745;color:#dbe4ff;display:flex;align-items:center;gap:8px;padding:0 24px;border-bottom:1px solid #394476}.install-banner .install{margin-left:auto;background:#5539ef;color:white}.topbar{height:66px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 20px;gap:30px}.brand{display:flex;align-items:center;min-width:385px}.brand img,.hero img{width:38px;height:48px;object-fit:contain;margin-right:12px}.brand strong{font-size:18px;letter-spacing:.5px}.brand small{display:block;color:#aab7d1;font-size:10px;margin-top:3px}.search{margin:auto;width:min(520px,40vw);border:1px solid #35415c;background:#1c2940;color:#fff;padding:12px 17px;border-radius:25px}.active-user{border:1px solid #34415d;background:#1b2940;border-radius:9px;padding:8px 14px;min-width:300px;font-size:10px;color:#91a1be}.active-user b{font-size:12px;color:#eaf0ff}.shell{display:grid;grid-template-columns:295px 1fr;min-height:calc(100vh - 94px)}aside{background:#fff;border-right:1px solid var(--line);position:relative;padding-bottom:100px}.side-title,.nav-label{color:#8a9ab5;font-weight:800;font-size:10px;letter-spacing:.5px;margin:18px 22px 7px}aside h3{padding:0 22px 18px;margin:0;border-bottom:1px solid var(--line)}aside h3 span{float:right;color:#4937ed;background:#eeeefe;padding:5px 10px;border-radius:15px;font-size:11px}.nav{width:calc(100% - 24px);margin:3px 12px;border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;color:#566680;cursor:pointer}.nav.active,.nav:hover{color:#4634e9;background:#eef1ff;box-shadow:inset 0 0 0 1px #cbd4ff}.user-foot{position:absolute;bottom:0;width:100%;border-top:1px solid var(--line);padding:16px 22px;background:#f8faff}.user-foot small{display:block;color:var(--muted)}.user-foot a{float:right;margin-top:-26px;color:#d51e49}main{padding:30px;max-width:1500px;width:100%;margin:auto}.hero{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px 24px;display:flex;align-items:center;box-shadow:0 2px 4px #0b1a3310}.hero h1{margin:0 0 5px;font-size:24px}.hero p{margin:0;color:#60718d}.hero span{margin-left:auto;border:1px solid #bec6ff;background:#f0efff;color:#4430ec;border-radius:16px;padding:5px 12px;font-family:monospace}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:24px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;min-height:112px}.stat small{color:#536888;font-weight:700}.stat b{display:block;font-size:29px;margin:13px 0 4px}.stat em{font-style:normal;font-size:11px;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px}.panel-head{display:flex;align-items:center;margin-bottom:20px}.panel-head h2{margin:0;font-size:21px;border-left:8px solid var(--blue);padding-left:12px}.panel-head .actions{margin-left:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.section-card{border:1px solid #e3e8f1;border-radius:13px;padding:18px;min-height:165px;background:#fbfcfe}.section-card .icon{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #e4e9f2;border-radius:9px;color:var(--blue);font-size:20px}.section-card .count{float:right;background:#f1f4f8;color:#7d8ba0;border-radius:15px;padding:4px 8px}.section-card h3{margin:13px 0 8px}.section-card p{color:#8795aa;line-height:1.6}.section-card button{border:0;background:none;color:#6047f7;padding:0;cursor:pointer;font-weight:600}.btn{border:1px solid #d7deea;background:#fff;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:650}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{color:#d51e49}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid #e8edf4;white-space:nowrap}th{font-size:11px;color:#71819a;background:#f7f9fc}td.wrap{white-space:normal}.pill{font-size:11px;border-radius:20px;padding:4px 8px;background:#edf0f7}.pill.active{color:#008363;background:#e3f9f2}.pill.review{color:#c14c00;background:#fff0df}dialog{border:0;border-radius:15px;padding:0;box-shadow:0 20px 70px #0005;width:min(800px,94vw)}dialog::backdrop{background:#07142b99}dialog form{padding:24px}dialog header{display:flex;align-items:center;border-bottom:1px solid var(--line);margin:-24px -24px 20px;padding:17px 24px}dialog header h2{margin:0}.icon-btn{margin-left:auto;border:0;background:none;font-size:25px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}label{display:block;font-weight:650;color:#41516b}input,select,textarea{width:100%;border:1px solid #cfd8e7;border-radius:7px;padding:10px;margin-top:6px;font:inherit}.check input{width:auto}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#091327,#172449)}.login-card,.setup-card{background:white;border-radius:18px;padding:34px;width:min(470px,92vw);box-shadow:0 25px 60px #0006}.setup-card{width:min(750px,94vw)}.login-card img{width:70px;height:88px;object-fit:contain}.login-card .btn,.setup-card .btn{width:100%;margin-top:15px}.notice{padding:12px;border-radius:8px;margin:15px 0}.notice.error{background:#fff0f3;color:#b51139}.notice.success{background:#e5f9f2;color:#087a5d}footer{height:28px;background:#fff;border-top:1px solid var(--line);padding:8px 30px;font:10px monospace;color:#4b607f}footer span{float:right}@media(max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:230px 1fr}.brand{min-width:260px}.active-user{display:none}}@media(max-width:700px){aside{display:none}.shell{display:block}.topbar{height:auto;padding:12px}.brand{min-width:auto}.search{width:100%}.stats,.cards{grid-template-columns:1fr 1fr}main{padding:14px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.hero span{display:none}}
