@font-face{font-family:Inter;src:url('assets/inter-latin.woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#0c0e12;color:#f4f4f5;font:14px/1.5 Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,select{cursor:pointer}button{border:1px solid #30343d;background:#181b22;color:#e9eaf0;border-radius:8px;padding:9px 13px;font-weight:550}button:hover{background:#252a35}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#f4f4f5;color:#111318;border-color:#f4f4f5}button.primary:hover{background:#d9e3f3}.danger{color:#ffa1a1}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}input,select{border:1px solid #30343d;border-radius:8px;background:#101319;color:#f4f4f5;padding:10px 12px;min-width:0}label{display:grid;gap:7px;color:#b6bcc9;font-size:13px}h1{font-size:28px;letter-spacing:-.9px;line-height:1.25;margin:0 0 8px}h2{font-size:16px;letter-spacing:-.25px;margin:0}p{margin:0}small,.muted{color:#939cac}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#14171d;border-right:1px solid #282c34;padding:24px 16px;display:flex;flex-direction:column;gap:28px}.brand{font-size:18px;font-weight:750;letter-spacing:-.6px}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:3px}aside nav{display:grid;gap:6px}aside nav a{padding:10px 12px;border-radius:7px;display:flex;gap:12px;align-items:center;color:#aeb6c4}aside nav a.active{color:white;background:#272e3a}aside nav a:hover{background:#202630;text-decoration:none}aside nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;display:grid;gap:14px;font-size:12px;overflow-wrap:anywhere}main{min-width:0;padding:0 32px 40px}.topbar{min-height:76px;border-bottom:1px solid #272c35;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.topbar select{max-width:320px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.page-heading p{color:#939cac}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters input{min-width:210px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.card,.panel{border:1px solid #2a2e37;border-radius:12px;background:#12151b}.card{padding:20px}.card small{display:block;font-size:13px}.card strong{display:block;font-size:30px;letter-spacing:-1px;margin-top:8px;font-variant-numeric:tabular-nums}.panel{margin-bottom:20px;overflow:hidden}.panel-head{padding:20px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #282c34}.panel-head small{display:block;margin-top:4px}.panel-body{padding:22px}.chart{width:100%;height:240px;display:block}.chart text{font:12px Inter;fill:#919aa9}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:12px;color:#9ba4b5;font-weight:500;text-align:left;padding:13px 20px;background:#151921}td{padding:16px 20px;border-top:1px solid #252a32;font-size:13px}td small{display:block;max-width:370px;overflow:hidden;text-overflow:ellipsis}td.num{text-align:right;font-variant-numeric:tabular-nums}.identity{display:flex;align-items:center;gap:12px}.identity img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#272d37}.thumb{width:35px;height:48px;object-fit:cover;border-radius:5px;background:#272d37}.badge{display:inline-flex;border-radius:5px;background:#1d3429;color:#92d9ad;padding:3px 7px;font-size:11px}.badge.warning{color:#f0c786;background:#332b20}.badge.neutral{color:#a5b4cf;background:#242c3a}.empty{padding:64px 24px;text-align:center;color:#929cac;max-width:620px;margin:auto}.empty h2{color:#e6e9ef;font-size:20px;margin-bottom:9px}.empty button{margin-top:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.banner{background:#1b2637;border:1px solid #31486a;color:#c5d5f1;border-radius:9px;padding:13px 17px;margin-bottom:20px;font-size:13px}.form-grid{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid #282c34}.login{max-width:420px;margin:12vh auto;padding:28px}.login h1{margin:28px 0 10px}.login form{margin-top:24px}.login .actions{margin-top:20px}.login button{width:100%}dialog{color:#f4f4f5;background:#171b23;border:1px solid #363e4d;border-radius:14px;padding:26px;width:min(540px,calc(100% - 28px));max-height:90vh}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}.dialog-head button{padding:4px 10px}.dialog-head h2{font-size:20px}#notice:empty{display:none}#notice{position:fixed;bottom:24px;right:24px;background:#263348;color:#fff;border:1px solid #4d6385;border-radius:10px;padding:14px 20px;max-width:520px;z-index:100;box-shadow:0 12px 40px #0007}.status-line{font-size:12px;color:#97a3b5;margin:12px 0 22px}.read-only{color:#b3c8ed;font-size:12px}.loading{padding:60px;color:#98a3b5}.link-field{width:100%}footer{color:#7f8a9b;font-size:12px;margin-top:22px}@media(min-width:1800px){main{padding-left:40px;padding-right:40px}.chart{height:300px}}@media(max-width:1000px){.shell{grid-template-columns:180px minmax(0,1fr)}main{padding:0 20px 30px}.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.page-heading{align-items:flex-start}}@media(max-width:700px){.shell{display:block}aside{height:auto;position:static;padding:16px;gap:16px;border-right:0;border-bottom:1px solid #282c34}aside nav{display:flex;overflow:auto;gap:4px}aside nav a{white-space:nowrap;padding:8px}aside nav svg{display:none}.sidebar-bottom{display:none}.topbar{flex-wrap:wrap;padding:16px 0;gap:10px;margin-bottom:24px}.topbar select{max-width:100%}.page-heading{flex-direction:column;gap:14px}h1{font-size:25px}.card{padding:16px}.card strong{font-size:26px}.panel-head{padding:16px}.form-row{grid-template-columns:1fr}.login{margin:6vh auto}.filters>*{flex:1}#notice{left:16px;right:16px;bottom:16px}.chart{height:200px}}
