:root{--bg:#f5f7fb;--card:#fff;--ink:#182230;--muted:#667085;--line:#e5e9f0;--nav:#101828;--accent:#155eef;--accent2:#0b4fd1;--green:#067647;--greenbg:#ecfdf3;--red:#b42318;--redbg:#fef3f2;--amber:#b54708;--amberbg:#fffaeb;--gray:#475467;--graybg:#f2f4f7;--shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:15px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:1px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#155eef,#004eeb);color:#fff;display:grid;place-items:center;font-size:18px}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{color:var(--muted);font-size:13px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{background:var(--nav);padding:16px 12px}.sidebar nav{position:sticky;top:80px}.nav-item{display:flex;align-items:center;gap:10px;color:#cbd5e1;padding:10px 12px;border-radius:8px;margin-bottom:4px;font-weight:600;font-size:13px}.nav-item:hover,.nav-item.active{background:#1d2939;color:#fff}.nav-item span{width:18px;text-align:center}.content{padding:24px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h1{font-size:25px;margin:0 0 5px;letter-spacing:-.02em}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;padding:9px 13px;font-weight:700;cursor:pointer;font-size:13px}.btn:hover{background:var(--accent2)}.btn.secondary{background:#fff;color:var(--ink);border-color:#d0d5dd}.btn.secondary:hover,.btn.ghost:hover{background:#f8fafc}.btn.danger{background:#d92d20;border-color:#d92d20}.btn.ghost{background:transparent;color:var(--ink);border-color:transparent}.btn.small{padding:6px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.kpi .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:28px;font-weight:800;margin-top:8px;letter-spacing:-.03em}.kpi .hint{font-size:12px;color:var(--muted);margin-top:5px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:16px}.card-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2,.card-head h3{margin:0;font-size:15px}.card-body{padding:17px}.table-wrap{overflow:auto;border-radius:12px}.table{width:100%;border-collapse:collapse;white-space:nowrap}.table th{background:#f8fafc;text-align:left;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0}.table td{padding:10px 12px;border-bottom:1px solid #eef1f5;vertical-align:top}.table tr:hover td{background:#fbfcfe}.table .wrap{white-space:normal;min-width:240px}.table .num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.badge.green{color:var(--green);background:var(--greenbg)}.badge.red{color:var(--red);background:var(--redbg)}.badge.amber{color:var(--amber);background:var(--amberbg)}.badge.gray{color:var(--gray);background:var(--graybg)}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters input,.filters select{height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;background:#fff;min-width:160px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12px;color:#475467;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}.field textarea{resize:vertical}.field.span2{grid-column:1/-1}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.alert{padding:11px 13px;border-radius:8px;margin-bottom:14px;border:1px solid}.alert.success{background:var(--greenbg);border-color:#abefc6;color:var(--green)}.alert.error{background:var(--redbg);border-color:#fecdca;color:var(--red)}.alert.warning{background:var(--amberbg);border-color:#fedf89;color:var(--amber)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.split{display:grid;grid-template-columns:2fr 1fr;gap:16px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:0 12px}.tab{padding:12px 10px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--accent);border-color:var(--accent)}.price-selected{background:#f0f9ff}.callout{background:#f8fafc;border:1px dashed #cfd6e0;border-radius:10px;padding:13px;color:#475467}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#f5f7fb,#eef4ff)}.login-card{width:min(430px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 16px 40px rgba(16,24,40,.12)}.login-card h1{margin:10px 0 5px;font-size:24px}.login-card p{margin:0 0 22px;color:var(--muted)}.login-card .field{margin-bottom:12px}.login-card .btn{width:100%;margin-top:5px}.install-shell{max-width:920px;margin:36px auto;padding:0 18px}.install-hero{margin-bottom:18px}.install-hero h1{font-size:30px;margin:0 0 8px}.step{display:flex;gap:10px;align-items:center;color:#475467}.step b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:#155eef}.po-print{max-width:950px;margin:20px auto;background:#fff;padding:30px;color:#111}.po-print .company{text-align:center}.po-print .company h2{margin:0}.po-print table{width:100%;border-collapse:collapse}.po-print th,.po-print td{border:1px solid #333;padding:6px 7px}.po-print .no-border td{border:0}.po-print .totals{width:45%;margin-left:auto}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.mini{font-size:12px}.help{font-size:12px;color:var(--muted);margin-top:5px}.pill-line{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:30px;text-align:center;color:var(--muted)}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:16px}.sticky-card{position:sticky;top:82px}.po-lines .row{display:grid;grid-template-columns:2.2fr .7fr .7fr .8fr .7fr 34px;gap:8px;align-items:end;margin-bottom:9px}.po-lines .row .field span{font-size:10px}.po-lines .remove{height:37px;width:34px;border:1px solid #fda29b;background:#fff;color:#b42318;border-radius:8px;cursor:pointer}@media(max-width:1100px){.grid.kpis{grid-template-columns:repeat(3,1fr)}.split,.two-col{grid-template-columns:1fr}.sticky-card{position:static}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:16px}.grid.kpis{grid-template-columns:repeat(2,1fr)}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.field.span2{grid-column:auto}.user-chip{display:none}.po-lines .row{grid-template-columns:1fr 1fr}.po-lines .row .field:first-child{grid-column:1/-1}.po-lines .row .remove{align-self:end}.topbar{padding:0 14px}}@media print{.topbar,.sidebar,.page-head,.no-print,.alert{display:none!important}.app-shell{display:block}.content{padding:0;background:#fff}.po-print{margin:0;padding:0;max-width:none}.card{box-shadow:none;border:0}}

/* v1.0.2 navigation + autocomplete */
.top-left{display:flex;align-items:center;gap:10px}.sidebar-toggle{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;font-size:17px;color:#344054}.sidebar-toggle:hover{background:#f8fafc}.nav-icon{width:18px;min-width:18px;text-align:center}.nav-label{white-space:nowrap}.app-shell,.sidebar,.content{transition:grid-template-columns .2s ease,width .2s ease,padding .2s ease}.sidebar-collapsed .app-shell{grid-template-columns:68px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}.sidebar-collapsed .nav-item{justify-content:center;padding-left:8px;padding-right:8px}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .nav-icon{font-size:16px}.autocomplete-wrap{position:relative}.autocomplete-menu{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:200;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 10px 30px rgba(16,24,40,.12);max-height:260px;overflow:auto;display:none}.autocomplete-menu.open{display:block}.autocomplete-option{display:block;padding:8px 10px;cursor:pointer;font-size:12px;border-bottom:1px solid #f2f4f7}.autocomplete-option:last-child{border-bottom:0}.autocomplete-option:hover,.autocomplete-option.active{background:#f0f5ff}.search-select-input{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}.field select.autocomplete-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.user-name-preview{padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;background:#f8fafc;font-weight:700;min-height:38px}.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulk-bar select{height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;background:#fff}.table input[type=checkbox]{width:16px;height:16px}.role-note{font-size:12px;color:var(--muted);margin-top:4px}.signature-settings .field input{min-width:0}
@media(max-width:760px){.sidebar-toggle{display:none}.sidebar-collapsed .app-shell{grid-template-columns:1fr}}
