:root{--ink:#263443;--muted:#7b8998;--green:#5c7f9e;--green2:#eaf1f6;--line:#dce5ec;--cream:#eef3f7;--white:#fff;--red:#a83f43;--amber:#a76d1c}*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--cream)}button,input,select{font:inherit}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#f4f7fa}.brand-panel{color:#fff;background:linear-gradient(145deg,rgba(92,127,158,.98),rgba(119,151,177,.94)),radial-gradient(circle at 30% 20%,#a9bdcc,#6d8ca8);display:flex;flex-direction:column;justify-content:center;padding:12%;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #ffffff28;border-radius:50%;right:-180px;bottom:-150px;box-shadow:0 0 0 75px #ffffff08,0 0 0 150px #ffffff08}.logo{display:grid;place-items:center;width:62px;height:62px;background:#d4aa62;color:#314b63;border-radius:18px;font-family:serif;font-size:31px;margin-bottom:28px;box-shadow:0 12px 35px #263b5040}.brand-panel h1{font-family:serif;font-size:43px;letter-spacing:3px;margin:0 0 16px}.brand-panel p{font-size:17px;color:#e5edf3}.login-card{width:min(420px,80%);align-self:center;justify-self:center}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--green);font-weight:700}.login-card h2{font-family:serif;font-size:34px;margin:12px 0 36px}.login-card label{display:block;font-size:14px;margin:18px 0;color:#46504b}.login-card input{display:block;width:100%;margin-top:9px;border:1px solid #d8ddda;background:white;border-radius:9px;padding:14px;outline:none}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #5c7f9e17}.primary{border:0;background:var(--green);color:white;border-radius:9px;padding:14px 22px;cursor:pointer}.login-card .primary{width:100%;margin-top:15px}.hint{text-align:center;color:#9aa19d;font-size:12px}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}aside{background:#526f89;color:white;padding:25px 16px;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:11px;padding:0 10px 25px;font-size:19px}.logo.small{width:37px;height:37px;border-radius:10px;font-size:20px;margin:0;box-shadow:none}nav{display:grid;gap:6px;margin-top:18px}nav button{border:0;background:transparent;color:#d5e0e8;border-radius:8px;text-align:left;padding:12px 16px;cursor:pointer;display:flex;gap:13px}nav button:hover,nav button.active{background:#ffffff17;color:white}.side-foot{margin-top:auto;border-top:1px solid #ffffff1e;padding:20px 8px 0;display:flex;align-items:center;gap:11px}.side-foot>span{width:36px;height:36px;border-radius:50%;background:#d4aa62;color:#314b63;display:grid;place-items:center}.side-foot small{display:block;color:#c6d4df;margin-top:3px}main{min-width:0}header{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;color:#68736e;font-size:14px}header button{border:0;background:none;color:#6f7874;cursor:pointer}.live{font-size:12px;color:var(--green);margin-right:20px}#mobile-menu{display:none;font-size:20px}#content{padding:29px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-head h1{font-family:serif;margin:0 0 6px;font-size:27px}.page-head p{margin:0;color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:12px}.stat{padding:20px}.stat small{color:var(--muted)}.stat strong{display:block;font-family:serif;font-size:31px;margin-top:10px}.panel{overflow:hidden}.panel-title{padding:18px 20px;border-bottom:1px solid var(--line);font-weight:700}.welcome{padding:50px;text-align:center}.welcome .seal{width:70px;height:70px;background:var(--green2);color:var(--green);border-radius:50%;display:grid;place-items:center;margin:auto;font-size:31px}.welcome h2{font-family:serif}.welcome p{color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#7a847f;background:#fafaf8;font-weight:500;padding:12px 18px}td{border-top:1px solid var(--line);padding:15px 18px}tr:hover td{background:#fcfdfc}.badge{display:inline-block;border-radius:99px;padding:4px 9px;font-size:12px;background:#eef1ef;color:#617069}.badge.green{background:#e5eff6;color:#4c718f}.badge.red{background:#fae9e9;color:#a83f43}.badge.amber{background:#f8eedc;color:#94611c}.link-btn{border:0;background:none;color:var(--green);cursor:pointer;padding:3px 7px}.danger{color:var(--red)}.filters{display:flex;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}select,input{border:1px solid #dce1de;border-radius:8px;padding:10px 12px;background:#fff}dialog{border:0;border-radius:14px;padding:0;width:min(470px,92vw);box-shadow:0 24px 80px #263b504a}dialog::backdrop{background:#263b5080}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:25px;color:#8b938f;cursor:pointer}.modal-content{padding:29px}.modal-content h2{font-family:serif;margin:0 0 25px}.modal-content label{display:block;font-size:13px;color:#5f6964;margin:15px 0}.modal-content input,.modal-content select{display:block;width:100%;margin-top:8px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.secondary{border:1px solid #d8ddda;background:white;padding:10px 18px;border-radius:8px;cursor:pointer}#toast{position:fixed;z-index:20;top:22px;right:25px;background:#526f89;color:white;border-radius:9px;padding:12px 18px;transform:translateY(-80px);opacity:0;transition:.25s}#toast.show{transform:none;opacity:1}.empty{text-align:center;color:var(--muted);padding:45px}.code{font-family:ui-monospace,monospace;letter-spacing:1px;font-weight:600}@media(max-width:850px){.login-page{grid-template-columns:1fr}.brand-panel{display:none}.shell{grid-template-columns:1fr}aside{position:fixed;z-index:10;width:238px;height:100vh;transform:translateX(-100%);transition:.2s}aside.open{transform:none}#mobile-menu{display:inline-block}.stats{grid-template-columns:1fr 1fr}#content{padding:18px}.live{display:none}.panel{overflow-x:auto}.page-head{gap:12px}.filters{min-width:650px}}@media(max-width:520px){.stats{grid-template-columns:1fr}.login-card{width:86%}}
