:root{--ink:#1b2027;--ink-2:#252c36;--paper:#f6f4ef;--paper-2:#edeae1;--card:#fff;--brass:#a87c4f;--brass-dark:#8c6740;--steel:#5b6472;--steel-soft:#9aa2ac;--verdigris:#3f7a5e;--rosewood:#a23b3b;--amber:#b7791f;--line:#e2ded3;--shadow:0 1px 2px #1b20270a, 0 8px 24px #1b20270f;--radius:12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif}h1,h2,h3,.display{letter-spacing:-.01em;margin:0;font-family:Fraunces,serif;font-weight:600}.mono{letter-spacing:.01em;font-family:IBM Plex Mono,monospace}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}input,select,textarea{font-family:inherit}.app{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.topbar{display:none}.sidebar{background:linear-gradient(180deg,var(--ink),var(--ink-2));color:#ede7da;flex-direction:column;gap:2px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:10px;padding:6px 10px 16px;display:flex}.navscroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.navlink{color:#cfcabf;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.navlink:hover{color:#fff;background:#ffffff0f}.navlink.active{background:var(--brass);color:#1b2027}.navgroup{letter-spacing:.12em;text-transform:uppercase;color:var(--steel-soft);padding:14px 12px 4px;font-size:10.5px}.userbox{color:var(--steel-soft);border-top:1px solid #ffffff14;margin-top:8px;padding-top:12px;font-size:12.5px}.userbox .email{color:#ede7da;word-break:break-all}.signout{color:#ede7da;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;width:100%;margin-top:8px;padding:9px;font-size:12.5px}.signout:hover{background:#ffffff0f}.backdrop{display:none}.main{width:100%;max-width:1400px;padding:28px 34px 60px}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.pagehead .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brass-dark);font-size:11px;font-weight:600}.pagehead h1{margin-top:4px;font-size:30px}.pagehead p{color:var(--steel);max-width:60ch;margin:6px 0 0;font-size:14px}@media (max-width:860px){.app{grid-template-columns:1fr}.topbar{z-index:40;background:var(--ink);color:#ede7da;align-items:center;gap:12px;height:56px;padding:12px 16px;display:flex;position:sticky;top:0}.hamburger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:6px;display:flex}.hamburger span{background:#ede7da;border-radius:2px;width:22px;height:2px}.sidebar-wrap{z-index:50;width:80%;max-width:300px;height:100dvh;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.app.drawer-open .sidebar-wrap{transform:translate(0)}.sidebar{height:100dvh;position:relative;top:0;box-shadow:2px 0 24px #00000059}.backdrop{z-index:45;background:#0f121680;display:block;position:fixed;inset:0}.main{padding:18px 16px 80px}.pagehead h1{font-size:24px}.pagehead{margin-bottom:16px}}@media (min-width:861px){.sidebar-wrap{display:contents}}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--brass)}.btn-primary{background:var(--brass);border-color:var(--brass);color:#1b2027}.btn-primary:hover{background:var(--brass-dark);border-color:var(--brass-dark);color:#fff}.btn-danger{color:var(--rosewood);background:#fff;border-color:#e7c9c9}.btn-sm{padding:6px 11px;font-size:12.5px}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:18px 18px 16px}.kpi .label{color:var(--steel);font-size:12.5px;font-weight:500}.kpi .value{margin-top:8px;font-family:Fraunces,serif;font-size:26px}.kpi .value.pos{color:var(--verdigris)}.kpi .value.neg{color:var(--rosewood)}.kpi .value.small{font-size:20px}.kpi.accent{border-left:3px solid var(--brass)}.tablewrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.toolbar input[type=search],.toolbar select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-size:13.5px}.toolbar .grow{flex:1}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data th{text-align:left;background:var(--paper-2);color:var(--steel);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px;font-size:11.5px;font-weight:600}table.data td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:#fbfaf6}.num{text-align:right;white-space:nowrap;font-family:IBM Plex Mono,monospace}.muted{color:var(--steel-soft)}.rowhi{background:#fbf6ee}.badge{letter-spacing:.02em;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.badge.gray{color:#5b6472;background:#eceae3}.badge.green{color:#2f6a4f;background:#e4f0ea}.badge.amber{color:#8a6516;background:#f6ecd6}.badge.red{color:#8f3232;background:#f3dede}.badge.blue{color:#3b597f;background:#e1e9f2}.form{gap:16px;display:grid}.form .row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form .row3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@media (max-width:720px){.form .row2,.form .row3{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--steel);font-size:12.5px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:10px 12px;font-size:14px}.field textarea{resize:vertical;min-height:88px}.field .hint{color:var(--steel-soft);font-size:11.5px}.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:900px;padding:24px}.formactions{gap:10px;margin-top:8px;display:flex}.empty{text-align:center;color:var(--steel);padding:48px}.sectiontitle{margin:26px 0 12px;font-family:Fraunces,serif;font-size:18px}.flash{border-radius:9px;margin-bottom:16px;padding:11px 14px;font-size:13.5px}.flash.err{color:#8f3232;background:#f3dede}.flash.ok{color:#2f6a4f;background:#e4f0ea}.pill-nav{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.pill-nav a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500}.pill-nav a.active{background:var(--ink);color:#fff;border-color:var(--ink)}@media print{.sidebar,.no-print,.pagehead{display:none!important}.app{display:block}.main{max-width:none;padding:0}#invoice-print{box-shadow:none!important;border:none!important}}@media (max-width:860px){.kpis{grid-template-columns:1fr 1fr;gap:12px}.kpi{padding:14px}.kpi .value{font-size:21px}.btn{padding:11px 16px}.btn-sm{padding:9px 12px}.field input,.field select,.field textarea{padding:12px;font-size:16px}.formcard{padding:16px}.grid[style*=grid-template-columns]{grid-template-columns:1fr!important}table.data{font-size:13px}table.data th,table.data td{padding:10px}.pill-nav{flex-wrap:nowrap;overflow-x:auto}}@media (max-width:420px){.kpis{grid-template-columns:1fr}}.voicecard{border-left:3px solid var(--brass);margin-bottom:22px;padding:20px}.voicecard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.voicecard .mic{border-radius:10px;padding:12px 22px;font-size:15px}.pulse{animation:1.2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #a23b3b66}70%{box-shadow:0 0 0 10px #a23b3b00}to{box-shadow:0 0 #a23b3b00}}@media (max-width:860px){.voicecard-head{flex-direction:column}.voicecard .mic{justify-content:center;width:100%}.loginwrap{grid-template-columns:1fr!important}.loginart{display:none!important}}
