:root{--ink:#172c29;--muted:#71817d;--green:#246b55;--line:#e4e9e4;--paper:#f5f6f1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.layout{display:flex;min-height:100vh}aside{width:226px;background:#153c32;color:#fff;flex-shrink:0;padding:34px 24px;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center}.brand b{border:1px solid #729588;border-radius:12px;font-size:20px;padding:8px}.brand span{font-weight:600}.brand small{display:block;color:#a2b9b0;font-size:11px;font-weight:400;margin-top:3px}.nav-label{color:#8fac9f;font-size:10px;letter-spacing:2px;margin:62px 12px 18px}.nav-current{padding:12px 14px;background:#2b5548;border-radius:8px;display:flex;gap:13px}.aside-bottom{position:absolute;bottom:34px;color:#adc1b7;font-size:12px}.aside-bottom span{font-size:11px;color:#839e90}main{margin-left:226px;padding:0 42px;width:calc(100% - 226px);max-width:1800px}header{height:87px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 12px;color:#b8c4bd}.connection{font-size:11px;background:#e7ede5;padding:6px 11px;border-radius:20px}.connection i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#698e57;margin-right:6px}.intro{display:flex;justify-content:space-between;align-items:center;padding:35px 0 26px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green);margin:0 0 10px}h1{font-size:32px;letter-spacing:-1px;font-weight:600;margin:0 0 8px}.subtitle{color:var(--muted);margin:0;font-size:14px}button{font:inherit;background:var(--green);color:#fff;border:0;border-radius:7px;padding:11px 17px;cursor:pointer;white-space:nowrap}button:disabled{background:#dce4dc;color:#7f9285;cursor:default}button:hover:not(:disabled){background:#174d3c}.notice{border:1px solid #e6d6ac;background:#faf4e5;border-radius:8px;padding:13px 17px;color:#796434;display:flex;gap:18px;font-size:12px}.notice strong{white-space:nowrap}.sync-line{color:var(--muted);font-size:11px;margin:15px 0 23px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}.metrics article span{font-size:11px;color:var(--muted);display:block}.metrics strong{display:block;font-size:31px;letter-spacing:-1px;font-weight:600;margin:8px 0}.metrics small{font-size:10px;color:#8b9891}.report{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.report-title{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:17px;margin:0 0 4px;font-weight:600}.report-title p{font-size:12px;color:var(--muted);margin:0}.pill{font-size:11px;background:#f1f4ee;padding:5px 10px;border-radius:16px;white-space:nowrap}.filters{padding:0 24px 22px;display:flex;flex-wrap:wrap;gap:12px}.filters label{min-width:120px;flex:1}.filters label.search{flex:2;min-width:200px}label span{display:block;font-size:10px;color:var(--muted);margin:0 0 6px}input,select{font:inherit;font-size:12px;border:1px solid #dfe6de;background:#fff;border-radius:6px;width:100%;padding:10px;min-height:39px;color:var(--ink)}input:focus,select:focus{outline:2px solid #9dc3ad;outline-offset:1px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:right;background:#f7f9f5;font-size:10px;color:#78867b;font-weight:500;padding:13px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child{text-align:left;padding-left:24px}td{padding:18px 15px;text-align:right;border-bottom:1px solid #eff2eb}td:first-child{text-align:left;padding-left:24px;min-width:280px}td b{display:block;font-weight:500;font-size:12px}td small{color:#8c9890;font-size:10px}.rate{font-weight:600;color:var(--green)}progress{display:block;width:100%;max-width:95px;height:4px;margin:6px 0 0 auto;accent-color:#6a9572;border:0;background:#e9efe6}progress::-webkit-progress-bar{background:#e9efe6;border-radius:4px}progress::-webkit-progress-value{background:#6a9572;border-radius:4px}.report-footer{display:flex;justify-content:space-between;padding:15px 24px;font-size:10px;color:#8a968c;gap:15px}.explanation{margin:23px 0;color:#839084;font-size:11px;max-width:960px}.explanation b{color:#516958;font-weight:600}.explanation p{margin:7px 0}.error{color:#8c3232;background:#fff0ee;border:1px solid #efceca;border-radius:7px;padding:12px 16px;font-size:12px;margin:12px 0}.empty{text-align:center;padding:45px 20px;color:var(--muted)}footer{color:#97a197;font-size:10px;padding:10px 0 26px}.logout button{background:none;color:var(--muted);padding:0;font-size:11px}.login-page{display:grid;place-items:center;min-height:100vh}.login-card{background:#fff;border:1px solid var(--line);padding:36px;border-radius:15px;width:min(430px,calc(100% - 32px))}.login-card h1{font-size:25px}.login-card>p{color:var(--muted)}.login-card label{display:block;margin-top:18px;font-size:12px}.login-card input{margin-top:6px}.login-card button{width:100%;margin-top:25px}[hidden]{display:none!important}@media(max-width:1100px){aside{width:185px;padding:28px 18px}main{margin-left:185px;width:calc(100% - 185px);padding:0 25px}.metrics{gap:10px}.metrics article{padding:16px}.metrics strong{font-size:26px}h1{font-size:28px}.notice{display:block}.notice span{display:block;margin-top:5px}}@media(max-width:760px){aside{display:none}main{margin-left:0;width:100%;padding:0 16px}header{height:65px}.intro{align-items:flex-start;flex-direction:column;padding:25px 0 20px}h1{font-size:27px}.metrics{grid-template-columns:repeat(2,1fr)}.report-title{padding:18px}.report-title p{font-size:11px}.filters{padding:0 18px 18px}.report-footer{flex-direction:column;gap:4px}.notice{font-size:11px}}
