/* finesse · product · sage · sidebar · compact · first-build */
:root{--page:#eef0ec;--bg:#fafbf8;--ink:#23372f;--muted:#56665b;--accent:#205c44;--line:rgba(35,55,47,.13);--soft:#dce9dd}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:var(--accent);color:#f6faf6;border:1px solid transparent;border-radius:9px;padding:9px 16px;font-weight:600}button:hover{filter:brightness(.92)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91bda1;outline-offset:2px}input,select{display:block;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:10px;color:var(--ink);width:100%;min-height:42px}label{display:block;color:var(--muted);font-size:13px}h1{font-size:28px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:19px;margin:0 0 18px}.brand{font-size:17px;font-weight:750;letter-spacing:1px}.muted,small{color:var(--muted)}.login{max-width:430px;margin:12vh auto;padding:36px;background:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 40px -25px #23372f}.login h1{margin-top:30px}.login form{margin:28px 0 20px}.login button{margin-top:18px;width:100%}aside{position:fixed;width:228px;inset:0 auto 0 0;padding:32px 22px;background:#e4e9e0;border-right:1px solid var(--line)}nav{display:grid;gap:8px;margin:44px 0}nav button{text-align:left;background:transparent;color:var(--muted)}nav button.active{background:var(--accent);color:#f6faf6}main{margin-left:228px;padding:38px 44px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--muted)}.quiet{background:var(--bg);border-color:var(--line);color:var(--ink)}#filters{display:flex;gap:16px;margin-bottom:22px}#filters label:last-child{min-width:250px}.panel{padding:24px;background:var(--bg);border:1px solid var(--line);border-radius:15px;margin-bottom:20px;box-shadow:0 2px 8px -6px #23372f}.fields{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.fields label{flex:1;min-width:130px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);max-width:300px;overflow-wrap:anywhere}th{color:var(--muted);font-weight:600;background:#f0f3ec}td button{padding:5px 10px}.empty{padding:42px;text-align:center;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kpis strong{display:block;font-size:32px;font-variant-numeric:tabular-nums}.kpis .panel:first-child{background:var(--accent);color:#f6faf6}#message{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:#f6faf6;border-radius:10px;max-width:90vw;padding:12px 20px;z-index:5}#message:empty{display:none}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:16px;max-width:85vw}dialog::backdrop{background:rgba(20,40,30,.35)}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh}.key{background:var(--soft);padding:15px;border-radius:9px;overflow-wrap:anywhere} [hidden]{display:none!important}@media(max-width:850px){aside{position:static;width:auto;padding:20px}nav{display:flex;overflow:auto;margin:20px 0}nav button{white-space:nowrap}main{margin:0;padding:22px}header{gap:12px}.kpis{grid-template-columns:1fr}#filters{flex-wrap:wrap}.login{margin:8vh 18px}.fields{align-items:stretch}}
