:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#12374a;background:#eef6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(360px,.8fr);background:linear-gradient(135deg,#043e61,#087fa0 60%,#5fd2d9)}.login-brand{padding:10vh 9vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:clamp(2.5rem,5vw,5rem);margin:.5rem 0}.login-brand p{font-size:1.2rem;line-height:1.8;max-width:34rem}.eyebrow{font-size:.875rem;letter-spacing:.12em;font-weight:700}.waterline{height:2px;width:12rem;background:#89f0ed;margin-top:3rem;box-shadow:3rem 14px #fff6,7rem 28px #fff3}.login-card{align-self:center;margin:2rem 8vw 2rem 0;background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 28px 60px #00324b40}.login-card h2{font-size:1.75rem;margin:0 0 1.75rem}.login-card label{display:block;margin:1rem 0;color:#31586a;font-weight:700}.login-card input{display:block;width:100%;margin-top:.5rem;padding:.9rem 1rem;border:1px solid #bfd2da;border-radius:10px;background:#f8fbfc}.primary{border:0;background:#057c99;color:#fff;font-weight:700;border-radius:10px;padding:.8rem 1.25rem}.login-card .primary{width:100%;margin-top:.75rem}.form-error{min-height:1.4em;color:#b3261e}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.shell aside{background:#063f60;color:#fff;padding:1.5rem 1rem;display:flex;flex-direction:column}.brand{padding:0 .75rem 1.5rem;border-bottom:1px solid #ffffff26}.brand b{display:block;font-size:1.5rem}.brand span{color:#a9dce5}.shell nav{display:grid;gap:.35rem;margin-top:1rem}.shell nav button,.logout{border:0;text-align:left;background:transparent;color:#d9edf1;padding:.75rem 1rem;border-radius:9px}.shell nav button:hover,.shell nav button.active{background:#ffffff18;color:#fff}.logout{margin-top:auto}.workspace{padding:2rem 3vw}.workspace header{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.workspace h1{margin:.25rem 0 0;font-size:2rem}.domain{font-size:.875rem;color:#63808d}.content{max-width:1400px}.stats{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.stats article,.panel{background:#fff;border:1px solid #dbe8ec;border-radius:16px;box-shadow:0 8px 24px #0d53600d}.stats article{padding:1.5rem}.stats span{display:block;color:#607c88}.stats strong{font-size:3rem;color:#076d8a}.stats small{margin-left:.35rem}.panel{padding:1.25rem}.panel h2{margin:0 0 .35rem}.panel p{margin:.3rem 0;color:#617e8b;line-height:1.7}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.actions{display:flex;gap:.5rem}.actions button,.panel-head button{border:1px solid #bfd2da;border-radius:9px;padding:.7rem 1rem;background:#fff}.actions .primary,.panel-head .primary{background:#057c99;border-color:#057c99}textarea{width:100%;min-height:58vh;border:1px solid #c9d9df;border-radius:10px;padding:1rem;line-height:1.6;font-family:Consolas,monospace;resize:vertical}.notice{max-width:1400px;margin-bottom:1rem;padding:.8rem 1rem;border-radius:9px;background:#dcf4ee;color:#075e4a}.notice.error{background:#fde8e7;color:#962d27}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e2ecef;vertical-align:top}th{background:#edf7f8;color:#28566a}.empty{text-align:center;color:#718b96;padding:3rem}.survey-json{white-space:pre-wrap;overflow:auto;background:#f4f8f9;padding:1rem;border-radius:10px}button:disabled{opacity:.55;cursor:wait}@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-brand{padding:3rem 1.5rem 1rem}.login-card{margin:1rem 1.5rem 3rem}.shell{grid-template-columns:1fr}.shell aside{position:static}.shell nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:1rem}.workspace{padding:1.25rem}.stats{grid-template-columns:1fr}.workspace header,.panel-head{align-items:flex-start;flex-direction:column}.domain{display:none}}
