:root,[data-theme=light]{--bg:#f2f2f2;--bg-elevated:#fff;--panel:#fff;--panel-2:#f7f7f7;--ink:#0a0a0a;--ink-soft:#3a3a3a;--muted:#6b6b6b;--border:#d4d4d4;--border-strong:#1a1a1a;--accent:#0a0a0a;--accent-hover:#2a2a2a;--accent-soft:#ececec;--accent-ink:#0a0a0a;--on-accent:#fff;--danger:#8f1d1d;--danger-soft:#f5e8e8;--warn:#7a5a12;--warn-soft:#f3ecdf;--ok:#1f5c3a;--ok-soft:#e4efe8;--sidebar-bg:#0a0a0a;--sidebar-ink:#f5f5f5;--sidebar-muted:#9a9a9a;--sidebar-hover:#ffffff0f;--sidebar-active:#fff;--sidebar-active-ink:#0a0a0a;--topbar-bg:#ffffffeb;--shadow:0 1px 0 #0000000a;--overlay:#00000073;--focus:#0a0a0a;--sidebar-w:252px;--topbar-h:56px;--radius:4px;--font:"Instrument Sans", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}[data-theme=dark]{--bg:#050505;--bg-elevated:#0f0f0f;--panel:#111;--panel-2:#171717;--ink:#f4f4f4;--ink-soft:#c8c8c8;--muted:#8a8a8a;--border:#2a2a2a;--border-strong:#f4f4f4;--accent:#f4f4f4;--accent-hover:#fff;--accent-soft:#1c1c1c;--accent-ink:#f4f4f4;--on-accent:#0a0a0a;--danger:#e07070;--danger-soft:#2a1515;--warn:#d0b06a;--warn-soft:#2a2415;--ok:#7dba95;--ok-soft:#142018;--sidebar-bg:#000;--sidebar-ink:#f4f4f4;--sidebar-muted:#8a8a8a;--sidebar-hover:#ffffff0d;--sidebar-active:#f4f4f4;--sidebar-active-ink:#000;--topbar-bg:#0b0b0bf0;--shadow:none;--overlay:#000000a6;--focus:#fff}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--ink);text-underline-offset:.18em;text-decoration:underline}a:hover{opacity:.72}button,input,select,textarea{font:inherit}h1,h2,h3,h4{letter-spacing:-.03em;color:var(--ink);margin:0 0 .3rem;font-weight:600}h1{font-size:clamp(1.35rem,2vw,1.7rem)}p{color:var(--ink-soft);margin:0 0 .75rem}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar-backdrop{display:none}.sidebar{background:var(--sidebar-bg);height:100vh;color:var(--sidebar-ink);z-index:40;border-right:1px solid #1f1f1f;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid #222;flex-shrink:0;align-items:center;gap:.7rem;padding:1rem .95rem .95rem;display:flex}.sidebar-brand .mark,.brand-mark{width:28px;height:28px;font-family:var(--mono);border:1px solid;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:500;display:grid}.sidebar-brand .mark{color:#fff;border-color:#fff}.sidebar-brand strong{color:#fff;letter-spacing:-.02em;font-size:.92rem;display:block}.sidebar-brand span{color:var(--sidebar-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:.1rem;font-size:.68rem;display:block}.sidebar-close{color:#fff;border-color:#444;margin-left:auto;display:none}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#333 transparent;flex:1;padding:.65rem .55rem 1rem;overflow:auto}.sidebar-foot{border-top:1px solid #222;flex-shrink:0;padding:.75rem .7rem 1rem}.sidebar-foot .theme-toggle{color:#ddd;background:0 0;border-color:#333;width:100%}.sidebar-foot .theme-toggle:hover{background:var(--sidebar-hover);color:#fff}.nav-section{margin-bottom:.2rem}.nav-section-label{width:100%;color:var(--sidebar-muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.5rem .6rem;font-size:.68rem;font-weight:600;display:flex}.nav-section-label:hover{color:#fff}.nav-chevron{opacity:.7;font-size:.65rem}.nav-link{color:#cfcfcf;border-left:2px solid #0000;margin:1px 0;padding:.42rem .65rem .42rem .75rem;font-size:.88rem;text-decoration:none;display:block}.nav-link:hover{background:var(--sidebar-hover);color:#fff;opacity:1}.nav-link.active{background:var(--sidebar-active);color:var(--sidebar-active-ink);border-left-color:var(--sidebar-active);font-weight:600}.nav-children{margin-bottom:.2rem}.main-col{background:linear-gradient(90deg, transparent 39px, #00000008 40px) 0 0 / 40px 100%, var(--bg);flex-direction:column;min-width:0;display:flex}[data-theme=dark] .main-col{background:linear-gradient(90deg, transparent 39px, #ffffff05 40px) 0 0 / 40px 100%, var(--bg)}.topbar{z-index:20;min-height:var(--topbar-h);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1.1rem;display:flex;position:sticky;top:0}.topbar-left,.user-menu{align-items:center;gap:.65rem;min-width:0;display:flex}.brand-inline{align-items:center;gap:.45rem;display:none}.logo-text{letter-spacing:-.03em;font-size:.98rem;font-weight:600}.company-switcher select,.field select,.field input,.field textarea{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);width:100%;color:var(--ink);outline:none;padding:.55rem .65rem}.company-switcher select:focus,.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--border-strong)}.company-switcher select{min-width:160px;max-width:220px}.icon-btn{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--ink);border-radius:var(--radius);cursor:pointer;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--accent-soft)}.menu-btn{display:none}.menu-bars,.menu-bars:before,.menu-bars:after{background:currentColor;width:14px;height:1.5px;display:block;position:relative}.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0}.menu-bars:before{top:-5px}.menu-bars:after{top:5px}.user-chip{flex-direction:column;align-items:flex-end;min-width:0;line-height:1.15;display:flex}.user-chip strong{white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.82rem;font-weight:600;overflow:hidden}.user-chip span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.content{width:100%;max-width:1400px;padding:1.15rem 1.25rem 2.25rem}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;padding-bottom:.85rem;display:flex}.page-header .subtitle{color:var(--muted);max-width:52ch;font-size:.88rem;line-height:1.45}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.panel+.panel{margin-top:1rem}.panel-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:.85rem;padding-bottom:.55rem;font-size:.78rem;font-weight:600}.grid{gap:.85rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.95rem 1rem}.kpi .label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem}.kpi .value{font-family:var(--mono);letter-spacing:-.03em;font-size:1.35rem;font-weight:500}.kpi .hint{color:var(--muted);margin-top:.3rem;font-size:.75rem}.kpi.accent,.kpi.warn,.kpi.danger{background:var(--panel)}.kpi.accent{border-color:var(--border-strong)}.kpi.warn{box-shadow:inset 3px 0 0 var(--warn)}.kpi.danger{box-shadow:inset 3px 0 0 var(--danger)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.7rem .75rem}table.data th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:var(--panel-2);font-size:.7rem;font-weight:600;position:sticky;top:0}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:var(--panel-2)}.btn{border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;background:var(--accent-soft);color:var(--ink);border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{opacity:.9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);opacity:1}.btn-ghost{border-color:var(--border);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--accent-soft);opacity:1}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:.28rem .55rem;font-size:.76rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.form-grid .full{grid-column:1/-1}.field label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.28rem;font-size:.72rem;font-weight:600;display:block}.field textarea{resize:vertical;min-height:90px}.actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.badge{letter-spacing:.04em;background:var(--accent-soft);color:var(--ink-soft);text-transform:uppercase;border:1px solid var(--border);border-radius:2px;align-items:center;padding:.12rem .4rem;font-size:.68rem;font-weight:600;display:inline-flex}.badge.ok,.badge.active,.badge.paid,.badge.published{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.warn,.badge.pending,.badge.partial,.badge.hot,.badge.editing{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.danger,.badge.expired,.badge.overdue,.badge.cancelled,.badge.lost{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.accent,.badge.lead,.badge.idea{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}[data-theme=dark] .badge.accent,[data-theme=dark] .badge.lead,[data-theme=dark] .badge.idea{color:#0a0a0a;background:#f4f4f4;border-color:#f4f4f4}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1rem;display:flex;overflow:auto}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:.65rem .8rem;font-size:.84rem;font-weight:600}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.alert{border-radius:var(--radius);border:1px solid var(--border);margin-bottom:.85rem;padding:.7rem .85rem;font-size:.88rem}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.muted{color:var(--muted)}.empty{text-align:left;color:var(--muted);padding:1.5rem .25rem;font-size:.9rem}.login-page{color:#fff;background:#000;grid-template-columns:minmax(0,1.05fr) minmax(320px,420px);min-height:100vh;display:grid}.login-stage{background:repeating-linear-gradient(0deg,#0000,#0000 39px,#ffffff09 40px);border-right:1px solid #222;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,3.5rem);display:flex;position:relative}.login-stage .eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#9a9a9a;font-size:.72rem}.login-stage h1{color:#fff;max-width:10ch;margin:1.25rem 0 .75rem;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.login-stage p{color:#b5b5b5;max-width:34ch;font-size:1rem}.login-stage .meta{font-family:var(--mono);color:#777;letter-spacing:.04em;font-size:.72rem}.login-card{background:#0a0a0a;flex-direction:column;justify-content:center;gap:.75rem;min-height:100vh;padding:clamp(1.25rem,3vw,2.25rem);display:flex}.login-card h2{color:#fff;margin-bottom:.15rem;font-size:1.35rem}.login-card .field label{color:#8f8f8f}.login-card .field input{color:#fff;background:#111;border-color:#2f2f2f}.login-card .field input:focus{border-color:#fff}.login-card .btn-primary{color:#000;background:#fff;border-color:#fff;margin-top:.25rem}.login-card .btn-primary:hover{background:#e8e8e8}.login-card .login-theme{color:#ddd;border-color:#333;align-self:flex-start;margin-bottom:.5rem}.login-card .hint{color:#777;font-size:.78rem;font-family:var(--mono);margin:.35rem 0 0}.stack{flex-direction:column;gap:.75rem;display:flex}.kanban{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:.75rem;padding-bottom:.5rem;display:grid;overflow:auto}.kanban-col{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-height:240px}.kanban-col h4{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.7rem .8rem;font-size:.72rem}.kanban-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin:.55rem;padding:.7rem}.kanban-card:hover{border-color:var(--border-strong)}.split{grid-template-columns:1.2fr .8fr;gap:1rem;display:grid}.party-toggle{flex-wrap:wrap;gap:.35rem;display:flex}.line-items{flex-direction:column;gap:.4rem;display:flex}.line-items-head,.line-items-row{grid-template-columns:1.6fr .55fr .7fr .7fr 2rem;align-items:center;gap:.35rem;display:grid}.line-items-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem}.line-items-row input{width:100%;min-width:0}.line-amount{font-family:var(--mono);text-align:right;padding-right:.15rem;font-size:.84rem;font-weight:500}.invoice-totals-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);gap:.3rem;padding:.75rem .85rem;display:grid}.invoice-totals-preview>div{justify-content:space-between;gap:1rem;font-size:.88rem;display:flex}.invoice-totals-preview>div:last-child{border-top:1px solid var(--border);font-family:var(--mono);padding-top:.35rem}.invoice-layout.split{grid-template-columns:1.05fr .95fr}.hint-text{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.perm-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);gap:.85rem;max-height:360px;padding:.75rem;display:grid;overflow:auto}.perm-group h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem;font-size:.7rem}.perm-item{cursor:pointer;align-items:flex-start;gap:.5rem;padding:.28rem 0;font-size:.84rem;display:flex}.perm-item input{margin-top:.2rem}.perm-item span{flex-direction:column;gap:.1rem;display:flex}.perm-item strong{font-size:.84rem;font-weight:600}.perm-item em{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:.68rem}.perm-item.is-role{opacity:.72}.perm-item.is-role strong:after{content:""}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.invoice-layout.split{grid-template-columns:1fr}}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar-backdrop{background:var(--overlay);opacity:0;pointer-events:none;z-index:35;border:0;margin:0;padding:0;transition:opacity .18s;display:block;position:fixed;inset:0}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{width:min(86vw, var(--sidebar-w));box-shadow:none;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%)}.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar-close,.menu-btn,.brand-inline{display:inline-grid}.brand-inline{display:inline-flex}.hide-sm{display:none!important}.company-switcher select{min-width:0;max-width:150px}.user-chip{display:none}.content{padding:1rem .9rem 2rem}.main-col{background:var(--bg)}}@media (width<=700px){.form-grid,.grid-2,.grid-3,.grid-4,.login-page{grid-template-columns:1fr}.login-stage{border-bottom:1px solid #222;border-right:0;min-height:auto;padding-bottom:1.5rem}.login-card{min-height:auto}.line-items-head{display:none}.line-items-row{grid-template-columns:1fr 1fr}.line-items-row input:first-child{grid-column:1/-1}.page-header{flex-direction:column}}
