*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#1d2433;font:14px Inter,Segoe UI,Arial,sans-serif;display:flex}aside{position:fixed;width:248px;height:100vh;background:#fff;border-right:1px solid #e8ebf2;padding:28px 16px;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;padding:0 16px;margin-bottom:55px;color:#242936}.brand span{color:#7257f5}.side-label{font-size:10px;color:#9ba3b5;font-weight:700;letter-spacing:1.5px;padding:0 16px 13px}.nav{padding:13px 16px;margin:2px 0;border-radius:9px;text-decoration:none;color:#6f7788;font-weight:600}.nav b{display:inline-block;width:27px;color:#a5adbd;font-size:17px}.nav.active{background:#f0edff;color:#6549e9}.nav.active b{color:#7257f5}.side-bottom{margin-top:auto;border-top:1px solid #edf0f5;padding:19px 10px 0;display:flex;align-items:center;gap:10px}.avatar{background:#7257f5;color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700}.side-bottom small,.side-bottom strong{display:block}.side-bottom small{color:#a0a7b5;font-size:11px;margin-top:3px}.logout{margin-left:auto;color:#a0a7b5;text-decoration:none;font-size:20px}main{margin-left:248px;flex:1;padding:37px 48px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:35px}.eyebrow{color:#929bab;font-size:10px;font-weight:700;letter-spacing:1.2px;margin-bottom:9px}h1{margin:0;font-size:27px;letter-spacing:-.8px}h2{margin:0;font-size:16px}p{margin:7px 0;color:#9aa2b2;font-size:12px}.status{color:#7f8798;font-size:12px}.status i{display:inline-block;width:7px;height:7px;background:#31bf83;border-radius:50%;margin-right:5px}.divider{border-left:1px solid #ddd;margin:0 13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.metric,.panel{background:#fff;border:1px solid #edf0f5;border-radius:10px;padding:22px 24px;box-shadow:0 2px 6px #2b344208}.metric span{display:block;color:#8c95a7;font-size:12px;margin-bottom:13px}.metric strong{font-size:28px;letter-spacing:-1px}.metric small{font-size:13px;color:#929aaa;font-weight:500}.metric em{font-size:11px;color:#2bad78;font-style:normal;margin-left:10px}.metric em.down{color:#2bad78}.panel{margin-bottom:20px}.chart-panel{padding-bottom:18px}.chart-panel canvas{display:block;width:100%!important;height:300px!important}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head a,.link{color:#7056ea;text-decoration:none;border:0;background:none;font-size:12px;cursor:pointer}.panel-head select{border:1px solid #e4e7ee;border-radius:6px;color:#737c8e;padding:7px 10px;background:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.health,.model-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #f0f2f6}.health div,.model-row div{flex:1}.health b,.health small,.model-row b,.model-row small{display:block}.health small,.model-row small{color:#9da5b3;font-size:11px;margin-top:4px}.dot{width:8px;height:8px;border-radius:50%;background:#34c58a}.dot.bad{background:#f06b78}.health strong{font-size:12px;color:#28ac77}.model-icon{width:29px;height:29px;border-radius:7px;background:#f0edff;color:#7257f5;display:grid;place-items:center}.tag,.badge{font-size:11px;color:#2eaf7b;background:#e7faf2;padding:4px 7px;border-radius:4px}.badge.red{color:#e75869;background:#fff0f1}table{width:100%;border-collapse:collapse}th{text-align:left;color:#9da5b2;font-size:11px;font-weight:600;border-bottom:1px solid #edf0f5;padding:11px 10px}td{padding:15px 10px;border-bottom:1px solid #f0f2f6;color:#596274;font-size:12px}td b{color:#252c3a}td small{display:block;color:#a4abba;margin-top:4px}.mono{font-family:Consolas,monospace;color:#7c8493}.primary,.secondary{border:0;border-radius:6px;padding:10px 15px;font-weight:600;cursor:pointer}.primary{background:#7257f5;color:#fff}.secondary{background:#f0edff;color:#6c51e8}.full{width:100%;margin-top:12px}.login{display:grid;place-items:center;min-height:100vh;background:#f6f7fb}.login-card{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:40px;width:370px;box-shadow:0 12px 45px #414b7010}.login-card .brand{padding:0;margin:0}.login-card label,.modal-card label{display:block;color:#657083;font-size:12px;font-weight:600;margin-top:18px}.login-card input,.modal-card input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #e1e5ed;border-radius:6px;outline:0}.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;margin-top:7px}.captcha-row input{margin-top:0}.captcha-question{min-width:88px;padding:11px 12px;border:1px solid #e1e5ed;border-radius:6px;background:#f6f7fb;color:#3c4556;text-align:center;font-weight:700;letter-spacing:.5px;user-select:none}.captcha-refresh{color:#7056ea;font-size:12px;text-decoration:none;white-space:nowrap}.modal-card input[type=checkbox]{display:inline-block;width:auto;margin:0 6px 0 0;padding:0}.alert{background:#fff0f1;color:#dc5867;padding:9px;margin-top:14px;border-radius:5px}.muted{color:#9ca5b4}.modal{display:none;position:fixed;inset:0;background:#15192b80;place-items:center}.modal.show{display:grid}.modal-card{background:#fff;border-radius:12px;padding:28px;width:430px;position:relative}.close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:22px;color:#9aa2b1;cursor:pointer}.mapping-list{margin-top:7px;border:1px solid #e1e5ed;border-radius:6px;padding:5px 12px;max-height:230px;overflow:auto}.mapping-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f5}.mapping-row:last-child{border-bottom:0}.mapping-row label{margin:0}.mapping-row input{margin:0}.log-filters{display:flex;align-items:flex-end;gap:12px;padding:0 0 20px}.log-filters label{color:#657083;font-size:12px;font-weight:600}.log-filters select{display:block;min-width:180px;margin-top:7px;padding:9px 11px;border:1px solid #e1e5ed;border-radius:6px;background:#fff;color:#596274}.log-filters .secondary{text-decoration:none}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px}.pagination .secondary{text-decoration:none}td form{margin:0}@media(max-width:900px){aside{width:210px}main{margin-left:210px;padding:25px}.cards{grid-template-columns:repeat(2,1fr)}}
