:root{color:#25221d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f2ea;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-shell{background:#f6f2ea;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffdf8;border:1px solid #ddd5c8;border-radius:8px;width:min(430px,100%);padding:28px;box-shadow:0 24px 70px #2b241b21}.brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand.compact{margin-bottom:8px}.brand-logo{color:#fffdf8;background:#1f6f67;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.brand h1,.brand p,.head h2,.panel-head h3,.drawer h3,.source-block h3{margin:0}.brand h1{letter-spacing:0;font-size:19px;line-height:1.25}.brand p{color:#796f62;margin-top:4px;font-size:13px}.caption{color:#786f62;font-size:13px}.login-form,.password-modal{gap:14px;display:grid}.login-form label,.password-modal label{gap:7px;display:grid}.login-form label span,.password-modal label span{color:#6f665b;font-size:13px}.login-form input,.password-modal input{color:#25221d;background:#fffaf2;border:1px solid #dcd4c7;border-radius:8px;outline:0;height:44px;padding:0 12px}.login-form input:focus,.password-modal input:focus{border-color:#18766f;box-shadow:0 0 0 3px #18766f1f}.form-error{color:#b74135;margin:0;font-size:13px}.login-submit{color:#fffdf8;background:#1f6f67;border:0;border-radius:8px;min-height:44px;font-weight:800}.security-note{color:#746a5d;background:#faf7f0;border:1px solid #e4ddd2;border-radius:8px;align-items:flex-start;gap:8px;margin-top:18px;padding:11px 12px;font-size:13px;display:flex}.shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:#fffdf8;border-right:1px solid #e1dbcf;flex-direction:column;gap:22px;padding:22px 18px;display:flex}.nav{gap:6px;display:grid}.nav button{color:#4c463e;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.nav button:hover{background:#faf6ee;border-color:#e0d7c8}.nav button.active{color:#155f58;background:#e9f4f1;border-color:#c7ddd7;font-weight:700}.domain-note{background:#faf7f0;border:1px solid #e3ddd2;border-radius:8px;gap:10px;margin-top:auto;padding:12px;display:flex}.domain-note div{gap:4px;display:grid}.domain-note span{color:#7b7064;font-size:12px}.main{min-width:0;padding:24px}.head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.head h2{letter-spacing:0;margin-top:6px;font-size:30px;line-height:1.15}.head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.search{background:#fffdf8;border:1px solid #ded7cc;border-radius:8px;align-items:center;gap:8px;width:min(340px,42vw);min-width:260px;height:42px;padding:0 12px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.range{background:#fffdf8;border:1px solid #ded7cc;border-radius:8px;display:flex;overflow:hidden}.range button{color:#5b5147;background:0 0;border:0;border-right:1px solid #ded7cc;min-height:40px;padding:0 14px}.range button:last-child{border-right:0}.range button.active{color:#fffdf8;background:#2b2a25}.text-btn,.icon-btn{color:#2b2a25;background:#fffdf8;border:1px solid #ded7cc;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 12px;display:inline-flex}.text-btn.primary{color:#fffdf8;background:#1f6f67;border-color:#1f6f67}.icon-btn{width:38px;padding:0}.notice{color:#155f58;background:#edf7f3;border:1px solid #c7ddd7;border-radius:8px;align-items:center;gap:8px;min-height:38px;margin-bottom:18px;padding:8px 12px;display:flex}.notice.warn{color:#9a5a1b;background:#fff6e6;border-color:#edd3a4}.notice.inline{margin:0}.stack{gap:18px;display:grid}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric{text-align:left;background:#fffdf8;border:1px solid #e1dbcf;border-radius:8px;gap:8px;min-height:156px;padding:18px;display:grid}.metric span{color:#18766f}.metric strong{letter-spacing:0;font-size:34px}.metric em{font-style:normal;font-weight:800}.metric small{color:#766d61}.metric.orange span{color:#b25e2a}.metric.green span{color:#66824a}.metric.blue span{color:#395fa8}.metric.red span{color:#b74135}.panel,.source-block{background:#fffdf8;border:1px solid #e1dbcf;border-radius:8px;padding:22px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-head h3{letter-spacing:0;font-size:20px}.panel-head span{color:#766d61}.chart-box{height:290px}.chart-loading{width:100%;height:100%;color:var(--muted);place-items:center;font-size:14px;display:grid}.source-block{gap:16px;display:grid}.source-block h3{margin-top:4px;font-size:24px}.source-block p{color:#6f665b;max-width:920px;margin:8px 0 0;line-height:1.7}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.source-card{background:#fff8eb;border:1px solid #edd3a4;border-radius:8px;gap:8px;padding:14px;display:grid}.source-card.ok{background:#edf7f3;border-color:#c7ddd7}.source-card small{color:#8a6251;line-height:1.5}.env-list{flex-wrap:wrap;gap:8px;display:flex}.env-list code{background:#f3eee5;border-radius:8px;padding:8px 10px}.empty-state{color:#766d61;text-align:center;place-items:center;gap:8px;min-height:160px;padding:22px;display:grid}.empty-state strong{color:#2b2a25}.table-wrap{overflow-x:auto}.data-table{gap:8px;display:grid}.table-row{background:#fffdf8;border:1px solid #e9e1d7;border-radius:8px;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.table-head{color:#766d61;background:#f2ece2;min-height:44px;font-weight:700}.table-row>span{overflow-wrap:anywhere;min-width:0}.cell-text{gap:4px;display:grid}.cell-text small{color:#776e62}.payment-issue{gap:5px;line-height:1.45;display:grid}.payment-issue strong{color:#2b2a25}.payment-issue.problem strong{color:#a7372c}.payment-issue small{color:#665d52}.payment-issue em{color:#8a8176;font-size:12px;font-style:normal}.badge{color:#5a534a;background:#eee9df;border-radius:8px;justify-content:center;align-items:center;width:fit-content;min-height:26px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.badge.red{color:#a7372c;background:#f8dfdc}.badge.orange{color:#a85a1e;background:#faead3}.badge.green{color:#54713a;background:#e2efdf}.badge.blue{color:#395fa8;background:#e1e9f6}.todo-list{gap:10px;display:grid}.todo-list article{background:#fffdf8;border:1px solid #e9e1d7;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.todo-list article>div{gap:6px;display:grid}.todo-list small{color:#786f62}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.summary-strip{background:#ddd7cd;border:1px solid #ddd7cd;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.summary-strip>span{background:#fff;flex-direction:column;justify-content:center;gap:5px;min-height:78px;padding:14px 16px;display:flex}.summary-strip small{color:#776e62;font-size:12px}.summary-strip strong{color:#242722;font-size:22px}.settings-intro{color:#155f58;background:#edf7f3;border:1px solid #c7ddd7;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;line-height:1.6;display:flex}.settings-stack{gap:14px;display:grid}.settings-section{border-top:1px solid #ebe3d8;gap:16px;padding:16px 0;display:grid}.settings-section:first-child{border-top:0;padding-top:0}.settings-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-section h4{margin:0;font-size:18px}.settings-section p{color:#776e62;margin:6px 0 0;line-height:1.6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field span{color:#6f665b;font-size:13px;font-weight:700}.field input,.field select{color:#25221d;background:#fffaf2;border:1px solid #dcd4c7;border-radius:8px;outline:0;min-width:0;height:42px;padding:0 12px}.field input:focus,.field select:focus{border-color:#18766f;box-shadow:0 0 0 3px #18766f1f}.switch-row{white-space:nowrap;background:#fffaf2;border:1px solid #dcd4c7;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:inline-flex}.switch-row input{accent-color:#1f6f67;width:18px;height:18px}.settings-footer{border-top:1px solid #ebe3d8;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.settings-footer>span{color:#776e62}.drawer-layer,.modal-backdrop{z-index:60;background:#25221d57;position:fixed;inset:0}.drawer{background:#fffdf8;width:min(820px,92vw);height:100vh;margin-left:auto;padding:24px;overflow-y:auto;box-shadow:-18px 0 60px #1814102e}.drawer-head,.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.detail-stack{gap:16px;display:grid}.detail-card{background:#faf7f0;border:1px solid #e1dbcf;border-radius:8px;padding:18px}.detail-card h4{margin:0 0 12px}.detail-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.detail-card div{gap:4px;display:grid}.detail-card dt{color:#756b60;font-size:13px}.detail-card dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-weight:700}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal-backdrop{place-items:center;padding:20px;display:grid}.password-modal{background:#fffdf8;border:1px solid #ddd5c8;border-radius:8px;width:min(420px,100%);padding:22px;box-shadow:0 28px 80px #1d191438}@media (width<=1100px){.shell{grid-template-columns:1fr}.rail{position:static}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.head{flex-direction:column;align-items:flex-start}.head-actions{justify-content:flex-start}.metric-grid,.grid-two,.source-grid{grid-template-columns:1fr}}@media (width<=680px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.main,.rail{padding:16px}.nav{grid-template-columns:1fr}.search{width:100%;min-width:0}.metric strong{font-size:28px}.todo-list article,.settings-section-head,.settings-footer{flex-direction:column;align-items:stretch}.form-grid,.detail-card dl{grid-template-columns:1fr}}
