:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172b40;background:#f4f7fa;font-size:14px;--teal:#087f8c;--line:#e3eaf0}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #d7e1e9;background:#fff;color:#29465b;padding:10px 15px;border-radius:8px;font-weight:600;transition:.15s}button:hover{background:#eef5f8}button:disabled{opacity:.4;cursor:default}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#066572}.hidden{display:none!important}h1{font-size:30px;letter-spacing:-.8px;margin:6px 0 10px}h2{font-size:18px;margin:0 0 6px}h3{font-size:15px}p{line-height:1.6;margin:8px 0}.muted{color:#728598;font-size:13px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:#7890a3}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;background:#10a3ac;border-radius:11px;color:white;font-size:18px;font-weight:800}.brand{display:flex;gap:12px;text-decoration:none;color:#fff;align-items:center;font-weight:750;letter-spacing:1px}.brand small{display:block;color:#8ba4b9;font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px}aside{width:235px;position:fixed;top:0;bottom:0;left:0;background:#102638;padding:30px 23px;color:#b7c8d5}.nav-caption{font-size:10px;letter-spacing:1.5px;margin:44px 0 14px;color:#718ba0}.nav{width:100%;text-align:left;background:transparent;border:0;color:#b7c8d5;padding:13px 15px}.nav.active{background:#173e50;color:#6ddde1}.side-bottom{position:absolute;bottom:28px;left:23px;right:23px;border-top:1px solid #284153;padding-top:22px}.side-bottom p{font-size:11px;color:#8299ad}.text-button{background:none;border:0;display:block;color:#a5bbc9;padding:8px 0;font-size:12px}.text-button:hover{background:none;color:#fff}main{margin-left:235px;padding:38px 40px;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.header-actions{display:flex;gap:9px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 23px;box-shadow:0 2px 3px #142b4010}.metrics span{font-size:12px;color:#6f8497}.metrics strong{display:block;font-size:36px;font-weight:700;letter-spacing:-1px;margin:14px 0}.metrics small{font-size:11px;color:#8b9eae}.metrics .metric-status{font-size:24px;margin:20px 0;color:var(--teal)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#98a6b3;margin-right:6px}.green{background:#17a681}.notice{display:flex;gap:14px;align-items:center;padding:16px 19px;border:1px solid #cbe8e8;border-radius:10px;background:#edf8f7;margin-bottom:26px}.notice-icon{display:grid;place-items:center;border:1px solid #7ebcbd;color:#14808a;border-radius:50%;width:22px;height:22px;flex-shrink:0;font-weight:700}.notice b{font-size:12px;color:#27757b}.notice p{font-size:12px;color:#5e898e;margin:4px 0 0}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:16px}.panel-head p{margin:6px 0 0}.count{display:inline-block;font-size:11px;background:#edf2f6;padding:4px 8px;border-radius:6px;margin-left:5px;color:#7a8ea0;vertical-align:middle}input,select,textarea{width:100%;border:1px solid #d5e0e8;border-radius:7px;padding:11px 12px;color:#1b364a;background:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:#0a8d97;box-shadow:0 0 0 3px #0a8d9715}.search{max-width:310px;background:#f9fbfc;font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f7f9fb;color:#8b9cab;font-size:10px;letter-spacing:1px;padding:14px 24px;border-block:1px solid var(--line)}td{padding:18px 24px;border-bottom:1px solid #edf2f5;font-size:12px}td strong{font-size:13px}td small{display:block;color:#8a9ead;margin-top:6px}tbody tr:hover{background:#fafdfd}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#eef2f6;color:#70869a;font-size:10px;font-weight:650}.badge.online{background:#e7f7f0;color:#168660}.badge.locked{background:#fff2e5;color:#b87836}.row-open{border:0;background:transparent;font-size:12px;color:#087f8c}.empty{text-align:center;padding:50px 20px 65px}.empty-icon{font-size:35px;color:#97acbb;background:#f0f5f8;border-radius:16px;padding:12px;width:65px;margin:0 auto}.empty h3{font-size:18px;margin:20px 0 8px}.empty p{font-size:13px;color:#8b9baa;margin-bottom:23px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;color:#8a9aaa;font-size:11px}.pagination button{font-size:11px;padding:7px 11px;margin-left:5px}.main-footer{display:flex;justify-content:space-between;color:#92a3b2;font-size:10px;margin:24px 2px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(at 10% 10%,#dcefea,transparent 55%),#f1f5f8}.login-card{width:420px;max-width:90vw;background:#fff;border:1px solid #e3ebef;border-radius:18px;box-shadow:0 20px 80px #183b5312;padding:40px}.login-card h1{margin-top:8px}.login-card .eyebrow{margin-top:25px}.login-card button{width:100%;margin-top:13px}.login-footer{font-size:11px;color:#8fa4b5;margin-top:24px}label{display:block;font-size:12px;color:#567083;font-weight:600;margin:18px 0 12px}label input,label textarea,label select{display:block;margin-top:8px}textarea{font-family:Consolas,monospace;resize:vertical;font-size:12px;line-height:1.7}.error{color:#cb4a4a;font-size:12px}.warning{font-size:12px;background:#fff7e8;border:1px solid #f1ddb5;padding:12px 15px;border-radius:8px;color:#98772e}dialog{width:620px;max-width:95vw;border:0;border-radius:14px;box-shadow:0 20px 70px #132b4440;padding:28px;max-height:90vh;overflow:auto}dialog::backdrop{background:#102b4566;backdrop-filter:blur(2px)}dialog.wide{width:860px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head .eyebrow{margin-top:0}.close{font-size:25px;border:0;padding:0 5px;color:#8da0af;background:transparent}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px;gap:10px}.tabs button{border:0;border-radius:0;padding:12px 17px;font-size:12px;color:#8a9ba9}.tabs button.active{color:var(--teal);border-bottom:2px solid var(--teal)}pre{background:#f5f8fa;padding:20px;border-radius:8px;min-height:220px;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.detail-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.history-row{font-size:12px;padding:12px 0;border-bottom:1px solid #e8edf1}.history-row small{display:block;color:#8a9caa;margin-top:7px}.toast{position:fixed;bottom:24px;right:24px;z-index:20;max-width:460px;padding:15px 20px;background:#16384b;color:white;border-radius:10px;box-shadow:0 8px 20px #16384b35;font-size:13px}.toast.failed{background:#a44242}@media(max-width:1100px){main{padding:30px 22px}.metrics{gap:10px}.metrics article{padding:18px 15px}header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}aside{width:195px;padding:28px 18px}main{margin-left:195px}}@media(max-width:760px){aside{position:static;width:100%;padding:17px 20px}.brand small{display:inline;margin-left:12px}.brand-mark{width:30px;height:30px;font-size:14px}.nav-caption,.nav,.side-bottom{display:none}main{margin-left:0;padding:24px 16px}header{display:block}.header-actions{justify-content:flex-start;margin-top:20px}h1{font-size:25px}.metrics{grid-template-columns:repeat(2,1fr)}.panel-head{display:block;padding:18px}.search{max-width:none;margin-top:15px}th,td{padding:13px 16px}.notice{align-items:flex-start}.main-footer{gap:10px}.two-col{grid-template-columns:1fr}.tabs{gap:0}.tabs button{padding:12px 14px}}
.history-section{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.history-section pre{min-height:130px;max-height:350px;overflow:auto}
