:root{--bg:#f6f5f4;--surface:#fff;--surface-2:#f0eeec;--fg:#141414;--muted:#5c5752;--border:#e6e2de;--brand:#c62828;--brand-ink:#b71c1c;--brand-soft:#fbeaea;--on-brand:#fff;--red:#c62828;--red-soft:#fdefef;--green:#1b7a47;--green-soft:#e5f3eb;--amber:#9a5800;--amber-soft:#fdf3e3;--accent:#141414;--sw:248px;--side:var(--accent);--side-fg:#e7e5e4;--side-active:#c62828;--shadow:0 8px 30px rgba(15,23,42,.12);--font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Space Grotesk","Inter",system-ui,sans-serif;--radius:14px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0c0d;--surface:#161618;--surface-2:#1e1e21;--fg:#f4f4f5;--muted:#a3a3aa;--border:#2a2a2e;--brand:#d32f2f;--brand-ink:#ff8a80;--brand-soft:#2a1416;--on-brand:#fff;--red:#f28b8b;--red-soft:#2a1517;--green:#5ccb8c;--green-soft:#15291f;--amber:#f0b45a;--amber-soft:#2a2113;--side:color-mix(in srgb,var(--accent) 60%,#050505);--side-fg:#d4d4d8;--side-active:#c62828;--shadow:0 8px 30px rgba(0,0,0,.5);color-scheme:dark}}:root[data-theme=dark]{--bg:#0c0c0d;--surface:#161618;--surface-2:#1e1e21;--fg:#f4f4f5;--muted:#a3a3aa;--border:#2a2a2e;--brand:#d32f2f;--brand-ink:#ff8a80;--brand-soft:#2a1416;--on-brand:#fff;--red:#f28b8b;--red-soft:#2a1517;--green:#5ccb8c;--green-soft:#15291f;--amber:#f0b45a;--amber-soft:#2a2113;--side:color-mix(in srgb,var(--accent) 60%,#050505);--side-fg:#d4d4d8;--side-active:#c62828;--shadow:0 8px 30px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0}h1{font-size:26px}h2{font-size:18px}h3{font-size:16px}a{color:var(--brand-ink)}.muted{color:var(--muted)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{display:flex;min-height:100vh}.side{width:var(--sw);flex:0 0 var(--sw);background:var(--side);color:var(--side-fg);display:flex;flex-direction:column;gap:20px;padding:calc(20px + env(safe-area-inset-top, 0px)) 14px calc(20px + env(safe-area-inset-bottom, 0px)) max(14px,env(safe-area-inset-left,0px));position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brandmark{display:flex;align-items:center;gap:12px;padding:0 8px}.logo-box{display:none}.brandmark-text{display:flex;flex-direction:column;min-width:0}.brandmark-text strong{color:#fff;font-family:var(--font-display);font-size:17px}.brandmark-text small{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--side-fg);text-decoration:none;font-size:15px;background:none;border:0;font-family:inherit;cursor:pointer;text-align:left;width:100%}.nav-link:hover{background:hsla(0,0%,100%,.06)}.nav-link.active{background:var(--side-active);color:#fff;font-weight:600}.pro-tag{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:#c62828;color:#fff}.main-col{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:20;display:flex;align-items:center;gap:10px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--border)}.topbar,body:before{background:var(--bg)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:30}.spacer{flex:1 1}.menu-btn{display:none}.content{padding-block:28px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:20px}@media (min-width:900px){.content{padding-left:32px;padding-right:32px}}.scrim{display:none}@media (max-width:899px){.side{position:fixed;z-index:50;left:0;top:0;bottom:0;height:auto;transform:translateX(-105%);transition:transform .2s ease}.side.open{transform:none;box-shadow:var(--shadow)}.scrim{display:block;position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45)}.menu-btn{display:inline-grid}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid transparent;background:var(--brand);color:var(--on-brand);font:600 15px var(--font);cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--brand-ink);border-color:var(--border)}.btn.ghost:hover{background:var(--surface-2);filter:none}.btn.danger{color:var(--red)}.btn.red{background:#c62828;color:#fff}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.icon-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--fg);display:inline-grid;place-items:center;cursor:pointer}.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.lang-switch button{min-width:48px;min-height:42px;border:0;background:transparent;color:var(--muted);font:600 14px var(--font);cursor:pointer}.lang-switch button.on{background:var(--brand);color:var(--on-brand)}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:15px var(--font)}textarea{min-height:96px;resize:vertical}input[type=color]{padding:4px;min-width:56px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field-label{font-size:13px;font-weight:600;color:var(--muted)}.hint{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.row,.row-wrap{display:flex;align-items:center;gap:10px}.row-wrap{flex-wrap:wrap}.row-wrap.center{justify-content:center}.search{max-width:320px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.page-head p{margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));grid-gap:16px;gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .label{font-size:13px;color:var(--muted);font-weight:500}.kpi .value{font-family:var(--font-display);font-size:30px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .sub{font-size:13px;color:var(--muted)}.kpi.alert{background:var(--red-soft);border-color:var(--red)}.kpi.alert .label,.kpi.alert .sub{color:var(--red)}.good-text{color:var(--green);font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:500;color:var(--muted);padding:0 10px 10px 0;white-space:nowrap}td{padding:12px 10px 12px 0;border-top:1px solid var(--border);vertical-align:middle}td.r,th.r{text-align:right}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pill.good{background:var(--green-soft);color:var(--green)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.pill.bad{background:var(--red-soft);color:var(--red)}.pill.brand{background:var(--brand-soft);color:var(--brand-ink)}.pill.neutral{background:var(--surface-2);color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:500 14px var(--font);cursor:pointer}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.empty{text-align:center;padding:40px 16px;display:flex;flex-direction:column;gap:10px;align-items:center}.empty p{margin:0;max-width:46ch}.loading{padding:40px;text-align:center}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.list-item:first-child{border-top:0}.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;font-weight:700;font-size:14px}.grow{flex:1 1;min-width:0}.stack{display:flex;flex-direction:column;gap:4px;min-width:0}.date-badge{min-width:64px;font-weight:700;color:var(--brand-ink);font-size:14px}.notice{background:var(--brand-soft);color:var(--fg);border-radius:12px;padding:12px 14px;font-size:14px}.lock-card{position:relative}.chart text{fill:var(--muted);font-size:12px;font-family:var(--font)}.chart .grid{stroke:var(--border)}.legend{display:flex;gap:16px;font-size:13px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.modal-wrap{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.modal{width:min(560px,100%);max-height:100%;overflow:auto;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modal.wide{width:min(880px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal-foot .left{margin-right:auto}.toast{pointer-events:none;position:fixed;z-index:70;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom, 0px));background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:500;box-shadow:var(--shadow);max-width:calc(100% - 32px)}.items{display:flex;flex-direction:column;gap:8px}.item-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 110px 44px;grid-gap:8px;gap:8px;align-items:center}.item-head{font-size:13px;color:var(--muted);font-weight:600}.item-amount{text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.item-row{grid-template-columns:1fr 1fr 44px}.item-row .desc{grid-column:1/-1}.item-row .item-amount{grid-column:1/3;text-align:left}.item-head{display:none}}.totals{display:grid;grid-template-columns:1fr auto;grid-gap:6px 24px;gap:6px 24px;margin-left:auto;min-width:min(280px,100%);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals .big{font-family:var(--font-display);font-size:20px;font-weight:700}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);grid-gap:16px;gap:16px;align-items:start}@media (max-width:1100px){.editor-grid{grid-template-columns:minmax(0,1fr)}}.sticky-actions{position:-webkit-sticky;position:sticky;bottom:env(safe-area-inset-bottom,0);z-index:10;background:var(--bg);padding-block:12px;border-top:1px solid var(--border)}.paper{background:#fff;color:#111;border-radius:6px;box-shadow:var(--shadow);padding:28px;font-size:12px;line-height:1.45;min-height:520px;display:flex;flex-direction:column;gap:14px}.paper table td,.paper table th{border-top:1px solid #e5e5e5;color:#111;padding:6px 8px 6px 0}.paper .paper-band{margin:-28px -28px 0;padding:20px 28px;color:#fff}.paper .paper-foot{margin-top:auto;border-top:1px solid #e5e5e5;padding-top:10px;color:#555;white-space:pre-line;font-size:11px}.brand-card{display:flex;flex-direction:column;gap:12px}.swatch{width:28px;height:28px;border-radius:8px;border:1px solid var(--border)}.auth-page{min-height:100vh;display:grid;place-items:center;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.auth-card{width:min(420px,100%);gap:16px}.auth-card,.who{display:flex;flex-direction:column}.who{min-width:0;line-height:1.25}.who strong{font:700 15px var(--font-display)}.who strong,.who>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who>span{font-size:12px;color:var(--muted)}.who .loc svg{vertical-align:-2px}.lang-switch button:disabled{opacity:.4;cursor:default}@media (max-width:560px){.who>span{display:none}}html[data-size=lg] .content,html[data-size=lg] .modal{zoom:1.15}html[data-size=xl] .content,html[data-size=xl] .modal{zoom:1.32}@media (min-width:900px){html[data-layout=top] .shell{flex-direction:column}html[data-layout=top] .side{position:-webkit-sticky;position:sticky;top:0;z-index:25;width:100%;flex:none;height:auto;flex-direction:row;align-items:center;gap:16px;padding:8px 16px;overflow-x:auto}html[data-layout=top] .nav{flex-direction:row;flex:none;gap:4px}html[data-layout=top] .nav-link{white-space:nowrap;width:auto;padding:0 10px;font-size:14px}html[data-layout=top] .brandmark-text small{display:none}html[data-layout=top] .topbar{top:60px}}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatches button{width:40px;height:40px;border-radius:12px;border:2px solid transparent;cursor:pointer}.swatches button.on{border-color:var(--fg);box-shadow:inset 0 0 0 2px var(--surface)}.wheel{width:56px;min-width:56px;height:44px;padding:2px;cursor:pointer}.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.opt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:500 14px var(--font);cursor:pointer;text-align:left}.opt.on{border-color:var(--brand-ink);background:var(--brand-soft)}.opt strong{font-size:15px}.attach{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:14px;overflow-wrap:anywhere}.attach b{background:#c62828;color:#fff;font-size:11px;padding:3px 6px;border-radius:5px}.sig{background:#fff;color:#222;border-radius:8px;padding:14px;overflow-x:auto}.email-frame,.sig{border:1px solid var(--border)}.email-frame{width:100%;height:720px;border-radius:12px;background:#f4f4f5}.tpl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.tpl button{position:relative;min-height:96px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:600 14px var(--font);cursor:pointer;padding:12px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}.tpl button.on{border-color:var(--brand-ink);box-shadow:inset 0 0 0 1px var(--brand-ink)}.tpl button:disabled{opacity:.6;cursor:not-allowed}.tpl .bar{height:22px;border-radius:6px;margin-bottom:auto}.tpl .pro-tag{position:absolute;top:10px;right:10px}.wordmark{display:inline-flex;align-items:center;gap:12px;font:700 22px var(--font-display);letter-spacing:-.01em}.signin{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--bg)}.signin-hero{background:#0a0a0a;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:40px 40px 40px max(40px,env(safe-area-inset-left,0px))}.signin-hero h1{font:700 clamp(34px,5vw,60px)/1.02 var(--font-display);letter-spacing:-.03em;max-width:12ch}.signin-hero h1 em{font-style:normal;color:#e53935}.signin-hero p{color:#c9c9cc;max-width:40ch;margin:12px 0 0;font-size:16px}.hero-art{width:100%;max-width:620px;align-self:center}.signin-form{display:flex;align-items:center;justify-content:center;padding:32px max(20px,env(safe-area-inset-right,0px)) 32px max(20px,env(safe-area-inset-left,0px))}.signin-form form{width:min(400px,100%);display:flex;flex-direction:column;gap:14px}@media (max-width:860px){.signin{grid-template-columns:1fr}.signin-hero{padding:28px 20px}.hero-art{max-width:440px}}