:root{
  --bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef3f9;--surface-raised:#fff;
  --text:#14213a;--muted:#6b7890;--line:#dfe7f1;--line-strong:#cbd7e6;
  --brand:#2563eb;--brand-2:#3b82f6;--brand-soft:#eaf2ff;--brand-glow:rgba(37,99,235,.18);
  --green:#10b981;--green-soft:#e9f9f3;--orange:#f59e0b;--orange-soft:#fff5df;
  --purple:#8b5cf6;--purple-soft:#f1ebff;--red:#ef4444;--red-soft:#fff0f0;
  --gray:#64748b;--gray-soft:#eef2f7;--nav:#ffffff;--nav-text:#52617a;
  --shadow:0 8px 28px rgba(33,52,83,.07);--shadow-lg:0 18px 50px rgba(33,52,83,.13);
  --radius:16px;--radius-sm:11px;--sidebar:252px;--topbar:74px;
}
html[data-theme="dark"]{
  --bg:#0b1220;--surface:#111b2b;--surface-2:#162235;--surface-3:#1d2b40;--surface-raised:#152238;
  --text:#edf3ff;--muted:#9eb0c9;--line:#26364d;--line-strong:#38506e;
  --brand:#4f8cff;--brand-2:#60a5fa;--brand-soft:#172d56;--brand-glow:rgba(79,140,255,.24);
  --green:#34d399;--green-soft:#123a31;--orange:#fbbf24;--orange-soft:#3b2d16;
  --purple:#a78bfa;--purple-soft:#2a2050;--red:#f87171;--red-soft:#3c2026;
  --gray:#94a3b8;--gray-soft:#233148;--nav:#0d1727;--nav-text:#aebdd3;
  --shadow:0 8px 28px rgba(0,0,0,.25);--shadow-lg:0 18px 50px rgba(0,0,0,.4);
}
@media(prefers-color-scheme:dark){html[data-theme="system"]{
  --bg:#0b1220;--surface:#111b2b;--surface-2:#162235;--surface-3:#1d2b40;--surface-raised:#152238;
  --text:#edf3ff;--muted:#9eb0c9;--line:#26364d;--line-strong:#38506e;
  --brand:#4f8cff;--brand-2:#60a5fa;--brand-soft:#172d56;--brand-glow:rgba(79,140,255,.24);
  --green:#34d399;--green-soft:#123a31;--orange:#fbbf24;--orange-soft:#3b2d16;
  --purple:#a78bfa;--purple-soft:#2a2050;--red:#f87171;--red-soft:#3c2026;
  --gray:#94a3b8;--gray-soft:#233148;--nav:#0d1727;--nav-text:#aebdd3;
  --shadow:0 8px 28px rgba(0,0,0,.25);--shadow-lg:0 18px 50px rgba(0,0,0,.4);
}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body{font-size:14px;line-height:1.45}a{color:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s ease}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;overflow:auto;z-index:30}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);min-width:0}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand),#0ea5e9);box-shadow:0 9px 22px var(--brand-glow);flex:0 0 auto}.brand-mark svg{width:22px;height:22px}.brand-title{font-size:15px;line-height:1;font-weight:900;letter-spacing:.2px}.brand-sub{font-size:12px;line-height:1;margin-top:5px;color:var(--brand);font-weight:800;letter-spacing:1.8px}.nav-list{display:flex;flex-direction:column;gap:3px}.nav-section{margin:18px 12px 7px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--nav-text);padding:10px 12px;border-radius:11px;font-weight:650;transition:.16s ease;position:relative}.nav-link svg{width:19px;height:19px;flex:0 0 auto}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--brand-soft);color:var(--brand);font-weight:800}.nav-link.active:after{content:"";position:absolute;right:-14px;top:8px;bottom:8px;width:3px;border-radius:3px 0 0 3px;background:var(--brand)}.sidebar-card{margin-top:auto;border-radius:14px;padding:15px;background:linear-gradient(145deg,var(--brand),#3b82f6 60%,#60a5fa);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.22);display:grid;gap:7px}.sidebar-card-icon{width:31px;height:31px;border-radius:9px;background:rgba(255,255,255,.17);display:grid;place-items:center}.sidebar-card-icon svg{width:17px;height:17px}.sidebar-card strong{font-size:12px}.sidebar-card span{font-size:11px;color:#dbeafe}.sidebar-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:14px 6px 0}.content-wrap{min-width:0}.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.global-search{width:min(500px,42vw);height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.global-search svg{width:18px;height:18px;color:var(--muted)}.global-search input{border:0;padding:0;background:transparent;box-shadow:none;min-width:0}.global-search input:focus{box-shadow:none}.search-hint{margin-left:auto;font-size:10px;color:var(--muted);padding:3px 6px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;display:grid;place-items:center;cursor:pointer;text-decoration:none;transition:.15s}.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.icon-btn svg{width:18px;height:18px}.icon-btn.ghost{background:transparent;border-color:transparent}.notification-button{position:relative}.notification-dot{position:absolute;right:8px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--red);border:2px solid var(--surface)}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 5px;border-left:1px solid var(--line)}.avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand),#0ea5e9);font-weight:850}.user-name{font-size:12px;font-weight:850}.user-role{font-size:10px;color:var(--muted)}.mobile-menu{display:none}main{padding:28px 28px 50px;max-width:1760px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:29px;line-height:1.12;margin:0 0 6px;letter-spacing:-.6px}.page-head p{margin:0;color:var(--muted);max-width:800px}.head-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{appearance:none;border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;font-weight:780;cursor:pointer;transition:.16s ease;white-space:nowrap;font-family:inherit}.btn svg{width:17px;height:17px}.btn-primary{background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 8px 18px var(--brand-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 11px 23px var(--brand-glow)}.btn-secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.btn-secondary:hover{background:var(--surface-2)}.btn-danger,.btn-danger-soft{background:var(--red-soft);color:var(--red)}.btn-success{background:var(--green-soft);color:var(--green)}.btn-sm{padding:7px 10px;font-size:12px;border-radius:9px}.btn-google{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);padding:12px}.btn-google svg{width:20px;height:20px}.grid{display:grid;gap:18px}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.kpi{display:flex;align-items:center;gap:16px;padding:19px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;min-height:132px;overflow:hidden;position:relative}.kpi:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-30px;top:-35px;opacity:.45}.kpi:hover{transform:translateY(-1px);border-color:var(--line-strong)}.kpi-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.12);flex:0 0 auto}.kpi-icon svg{width:24px;height:24px}.kpi-blue .kpi-icon{background:linear-gradient(145deg,#2563eb,#60a5fa)}.kpi-green .kpi-icon{background:linear-gradient(145deg,#0ea86d,#34d399)}.kpi-orange .kpi-icon{background:linear-gradient(145deg,#f59e0b,#fb923c)}.kpi-purple .kpi-icon{background:linear-gradient(145deg,#7c3aed,#a78bfa)}.kpi-blue:after{background:var(--brand-soft)}.kpi-green:after{background:var(--green-soft)}.kpi-orange:after{background:var(--orange-soft)}.kpi-purple:after{background:var(--purple-soft)}.kpi-label{font-size:10px;font-weight:900;letter-spacing:.65px;color:var(--muted)}.kpi-value{font-size:29px;line-height:1.1;font-weight:900;margin-top:4px;letter-spacing:-.6px}.kpi-text{font-size:20px}.kpi-money{font-size:22px}.kpi-meta{font-size:11px;color:var(--muted);margin-top:7px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.card-title{font-size:16px;font-weight:880}.card-subtitle{font-size:11px;color:var(--muted);margin-top:3px}.card-body{padding:20px}.panel-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft)}.panel-icon svg{width:19px;height:19px}.google-panel-icon{background:var(--surface-2)}.content-panel-grid{grid-template-columns:minmax(0,1.7fr) minmax(340px,.78fr);align-items:start}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-card{position:sticky;top:calc(var(--topbar) + 18px)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:left;padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-2)}.clickable-row{cursor:pointer}.entity-name{font-weight:820}.entity-sub{font-size:11px;color:var(--muted);margin-top:2px}.entity-with-icon{display:flex;align-items:center;gap:11px}.entity-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.entity-icon svg{width:19px;height:19px}.entity-blue{background:var(--brand-soft);color:var(--brand)}.entity-green{background:var(--green-soft);color:var(--green)}.table-avatar{width:36px;height:36px}.code,.badge{display:inline-flex;padding:4px 8px;border-radius:8px;background:var(--surface-3);border:1px solid var(--line);font-size:10px;font-weight:800}.badge-google{background:var(--brand-soft);color:var(--brand)}.auth-badges{display:flex;gap:5px}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:850}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-active,.status-ready_batch,.status-forwarded,.status-archived{background:var(--green-soft);color:var(--green)}.status-inactive{background:var(--gray-soft);color:var(--gray)}.status-warning,.status-new,.status-to_decision{background:var(--orange-soft);color:var(--orange)}.status-awaiting_manager{background:var(--brand-soft);color:var(--brand)}.status-held,.status-discrepancy{background:var(--red-soft);color:var(--red)}.status-outside{background:var(--purple-soft);color:var(--purple)}.table-actions,.table-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.table-actions form{margin:0}.mini-search{height:38px;min-width:230px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--surface)}.mini-search svg{width:16px;height:16px;color:var(--muted)}.mini-search input{border:0;padding:0;background:transparent;box-shadow:none}.mini-search input:focus{box-shadow:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:830}.field small{color:var(--muted);font-size:10px}input,select,textarea{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none;font:inherit;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}textarea{min-height:94px;resize:vertical}.check-row{display:flex;align-items:center;gap:9px}.check-row input{width:17px;height:17px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px;padding-top:17px;border-top:1px solid var(--line)}.inline-form{margin-top:16px}.alert{padding:13px 15px;border-radius:11px;border:1px solid;margin-bottom:16px}.alert-success{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 25%,transparent);color:var(--green)}.alert-warning{background:var(--orange-soft);border-color:color-mix(in srgb,var(--orange) 25%,transparent);color:var(--orange)}.alert-danger{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 25%,transparent);color:var(--red)}.empty{padding:48px 22px;text-align:center}.empty-icon{width:58px;height:58px;margin:0 auto 13px;border-radius:16px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.empty-icon svg{width:27px;height:27px}.empty h3{margin:0 0 6px;font-size:17px}.empty p{margin:0 auto 17px;max-width:560px;color:var(--muted)}.config-metrics{display:grid;gap:0}.config-metrics>div,.detail-list>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.config-metrics>div:last-child,.detail-list>div:last-child{border-bottom:0}.config-metrics span,.detail-list span{color:var(--muted);font-size:11px}.config-metrics strong,.detail-list strong{text-align:right}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:10px;padding-bottom:15px}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);margin:5px auto 0}.timeline-content{font-size:12px}.timeline-meta{font-size:10px;color:var(--muted);margin-top:3px}.weekday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekday-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:11px;font-weight:750;cursor:pointer}.weekday-option input{width:16px;height:16px}.path-box{padding:11px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-2);font-family:Consolas,monospace;font-size:11px;word-break:break-all}.section-note{padding:12px 14px;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 10px 10px 0}.project-check-grid{display:grid;gap:9px}.project-check{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.project-check input{width:17px;height:17px}.project-check span{display:grid}.project-check small{color:var(--muted)}.google-status-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.filter-card{margin-bottom:14px}.filter-grid{display:grid;gap:12px}.primary-filters{grid-template-columns:1.25fr .85fr .75fr .75fr 1.1fr}.advanced-filters{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:14px;display:none}.advanced-filters.open{display:grid}.filter-search-field{min-width:0}.input-icon{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--surface)}.input-icon svg{width:16px;height:16px;color:var(--muted)}.input-icon input{border:0;box-shadow:none;padding-left:0}.input-icon input:focus{box-shadow:none}.quick-periods{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}.quick-periods span{font-size:10px;color:var(--muted);font-weight:800}.quick-periods button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:99px;padding:6px 9px;font-size:10px;cursor:pointer}.quick-periods button:hover{border-color:var(--brand);color:var(--brand)}.filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.filter-chip{padding:6px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:10px}.invoices-layout{grid-template-columns:minmax(0,1fr) 260px}.saved-views-card{align-self:start;position:sticky;top:calc(var(--topbar) + 18px)}.saved-view-list{display:grid;gap:8px}.saved-view{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px}.saved-view a{flex:1;text-decoration:none;font-weight:750;font-size:11px}.saved-view form{margin:0}.saved-view button{border:0;background:none;color:var(--red);font-size:18px;cursor:pointer}.drawer{position:fixed;inset:0;z-index:80;display:none}.drawer.open{display:block}.drawer-backdrop,.modal-backdrop{position:absolute;inset:0;background:rgba(8,17,31,.48);backdrop-filter:blur(2px)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(570px,96vw);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:19px;border-bottom:1px solid var(--line)}.drawer-body{padding:20px;overflow:auto}.modal{position:fixed;inset:0;z-index:90;display:none}.modal.open{display:grid;place-items:center}.modal-card{position:relative;width:min(470px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.invoice-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr)}.document-preview{min-height:610px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,.85fr) minmax(560px,1.15fr);background:var(--surface)}.login-panel{padding:48px clamp(34px,7vw,95px);display:flex;align-items:center}.login-form{max-width:420px;width:100%;margin:auto}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:38px}.login-form h2{font-size:30px;margin:0 0 8px}.login-form>p{color:var(--muted);margin:0 0 25px}.login-form .field{margin-bottom:15px}.login-form form>.btn{width:100%;padding:12px}.login-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin:16px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}.login-note{margin-top:22px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:16px}.login-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b1b37,#173f7e 58%,#2563eb);color:#fff;padding:64px;display:flex;align-items:flex-end}.login-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}.login-hero:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-120px;top:-120px;background:radial-gradient(circle,rgba(167,139,250,.35),transparent 65%)}.login-hero-content{position:relative;z-index:2;max-width:620px}.hero-badge{display:inline-flex;padding:7px 10px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);font-size:11px}.login-hero h1{font-size:43px;line-height:1.06;letter-spacing:-1.2px;margin:18px 0}.login-hero p{font-size:16px;color:#dbeafe;max-width:560px}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.hero-metrics div{padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08)}.hero-metrics strong{display:block;font-size:22px}.hero-metrics span{font-size:10px;color:#dbeafe}.toggle-target{display:none}.toggle-target.visible{display:flex}
body.sidebar-collapsed .app-shell{grid-template-columns:84px minmax(0,1fr)}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-link span,body.sidebar-collapsed .nav-section,body.sidebar-collapsed .sidebar-card,body.sidebar-collapsed .sidebar-footer{display:none}body.sidebar-collapsed .brand-row{justify-content:center;flex-wrap:wrap}body.sidebar-collapsed .brand{justify-content:center}body.sidebar-collapsed .nav-link{justify-content:center}body.sidebar-collapsed .nav-link.active:after{right:-14px}.sidebar-collapsed-preload body .app-shell{grid-template-columns:84px minmax(0,1fr)}
@media(max-width:1380px){.advanced-filters{grid-template-columns:repeat(3,1fr)}.primary-filters{grid-template-columns:1.2fr .9fr .75fr .75fr}.filter-search-field{grid-column:1/-1}.content-panel-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr)}}
@media(max-width:1120px){.grid-kpi{grid-template-columns:repeat(2,1fr)}.content-panel-grid,.dashboard-grid,.settings-grid,.invoice-detail-grid{grid-template-columns:1fr}.sticky-card,.saved-views-card{position:static}.invoices-layout{grid-template-columns:1fr}.primary-filters{grid-template-columns:repeat(2,1fr)}.filter-search-field{grid-column:1/-1}}
@media(max-width:850px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:left .22s;box-shadow:20px 0 60px rgba(0,0,0,.25)}body.sidebar-open .sidebar{left:0}body.sidebar-collapsed .app-shell{display:block}.mobile-menu{display:grid}.sidebar-collapse{display:none}.topbar{padding:0 14px}.global-search{width:min(410px,55vw)}.user-meta{display:none}main{padding:22px 15px 40px}.login-shell{grid-template-columns:1fr}.login-hero{display:none}.advanced-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid-kpi{grid-template-columns:1fr}.kpi{min-height:110px}.topbar-right .notification-button,.topbar-right>a.icon-btn{display:none}.global-search{width:calc(100vw - 170px)}.search-hint{display:none}.page-head{flex-direction:column}.head-actions{width:100%}.head-actions .btn{flex:1}.primary-filters,.advanced-filters,.form-grid{grid-template-columns:1fr}.field.full,.filter-search-field{grid-column:auto}.card-head,.card-body{padding:15px}.data-table th,.data-table td{padding:11px 9px}.weekday-grid{grid-template-columns:1fr}.google-status-row{align-items:stretch;flex-direction:column}.filter-actions{flex-direction:column}.filter-actions .btn{width:100%}.hero-metrics{grid-template-columns:1fr}.drawer-panel{width:100vw}}
/* alpha2.1 — główny folder roboczy i opcjonalne załączniki */
.status-needs_review,.status-ready_review,.status-needs_review{background:var(--orange-soft);color:var(--orange)}
.status-extracted,.status-linked{background:var(--green-soft);color:var(--green)}
.status-needs_ocr{background:var(--purple-soft);color:var(--purple)}
.status-duplicate_exact,.status-duplicate_business{background:var(--gray-soft);color:var(--gray)}
.status-error{background:var(--red-soft);color:var(--red)}
.upload-zone{min-height:260px;border:2px dashed var(--line-strong);border-radius:16px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;cursor:pointer;transition:.18s;margin-top:18px}
.upload-zone:hover{border-color:var(--brand);background:var(--brand-soft)}
.upload-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-zone-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand),var(--brand-2));box-shadow:0 12px 28px var(--brand-glow);margin-bottom:14px}
.upload-zone-icon svg{width:28px;height:28px}.upload-zone strong{font-size:17px}.upload-zone span{color:var(--muted);font-size:12px;margin-top:7px}
.pdf-frame{display:block;width:100%;height:720px;border:0;background:#d7dce5;border-radius:0 0 var(--radius) var(--radius)}
.image-preview{display:grid;place-items:center;min-height:620px;padding:18px;background:#202938}.image-preview img{max-width:100%;max-height:760px;object-fit:contain;box-shadow:0 15px 45px rgba(0,0,0,.28)}
.raw-text{display:none;white-space:pre-wrap;word-break:break-word;max-height:520px;overflow:auto;margin:0;padding:20px;background:var(--surface-2);color:var(--text);font:12px/1.5 Consolas,"Courier New",monospace;border-radius:0 0 var(--radius) var(--radius)}
.raw-text.visible{display:block}.hash-value{font-family:Consolas,monospace;font-size:11px}
button[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
@media(max-width:1120px){.pdf-frame{height:660px}}
@media(max-width:560px){.pdf-frame{height:70vh}.upload-zone{min-height:220px}}
.upload-zone.dragover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-1px)}

.folder-input-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:9px;align-items:center}.folder-picker-button{width:46px;height:44px;background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}.folder-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.folder-status{display:none;padding:10px 12px;border-radius:9px;font-size:11px;margin-bottom:13px}.folder-status:not(:empty){display:block}.folder-status.ok{background:var(--green-soft);color:var(--green)}.folder-status.error{background:var(--red-soft);color:var(--red)}.folder-tree{display:grid;gap:8px;margin-top:14px}.folder-tree>div{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.folder-tree strong{font-family:Consolas,monospace;font-size:11px;color:var(--brand)}.folder-tree span{font-size:10px;color:var(--muted)}@media(max-width:560px){.folder-tree>div{grid-template-columns:1fr}.folder-actions .btn{width:100%}}


/* alpha2.2 — automatyczna analiza v05.4 i trzy ścieżki wejścia */
.status-queued,.status-processing{background:var(--brand-soft);color:var(--brand)}
.status-non_invoice{background:var(--purple-soft);color:var(--purple)}
.status-cancelled{background:var(--gray-soft);color:var(--gray)}
.monitor-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.monitor-main{display:flex;align-items:center;gap:11px;min-width:0}.monitor-main>div{display:grid;gap:2px}.monitor-main strong{font-size:12px}.monitor-main span{font-size:10px;color:var(--muted)}
.monitor-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 5px var(--gray-soft);background:var(--gray)}.monitor-dot.online{background:var(--green);box-shadow:0 0 0 5px var(--green-soft)}.monitor-dot.offline{background:var(--orange);box-shadow:0 0 0 5px var(--orange-soft)}
.monitor-stats{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:10px;white-space:nowrap}.monitor-stats b{color:var(--text);font-size:13px}
.analysis-cell{min-width:145px;display:grid;gap:4px}.analysis-cell strong{font-size:10px}.analysis-cell small{font-size:9px;color:var(--muted)}
.progress-track{height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--purple));border-radius:99px;min-width:0}
.input-route-list{display:grid;gap:10px}.input-route{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;background:var(--surface-2)}.input-route strong{font-size:11px}.input-route span{font:9px/1.35 Consolas,monospace;color:var(--muted);word-break:break-all}.input-route small{font-size:9px;color:var(--muted)}.route-outside{border-left-color:var(--purple)}.route-confirmed{border-left-color:var(--green)}
.job-list{display:grid;gap:9px}.job-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.job-row:last-child{border-bottom:0;padding-bottom:0}.job-row>div{display:grid;gap:2px;min-width:0}.job-row strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-row span{font-size:9px;color:var(--muted)}.job-percent{font-weight:800;color:var(--brand)!important}
.analysis-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.analysis-summary{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.analysis-summary span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.analysis-summary strong{font-size:16px}.analysis-summary small{font-size:9px;color:var(--muted)}
.compact-list{margin:7px 0 0;padding-left:18px}.compact-list li{margin:3px 0}.path-clip{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engine-diagnostics{display:none;padding:18px}.engine-diagnostics.visible{display:block}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.diagnostic-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.diagnostic-grid span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.diagnostic-grid strong{font-size:10px;white-space:pre-wrap;word-break:break-word}
.workflow-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;margin-bottom:18px;border-radius:12px;border:1px solid var(--line);background:var(--brand-soft);color:var(--brand)}.workflow-banner span{font-size:10px;color:var(--text)}.workflow-banner.confirmed{background:var(--green-soft);color:var(--green)}.workflow-banner.outside{background:var(--purple-soft);color:var(--purple)}
.engine-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.engine-mini>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.engine-mini span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800}.engine-mini strong{font-size:10px}
.input-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.input-suffix input{border-radius:9px 0 0 9px}.input-suffix span{height:42px;display:grid;place-items:center;padding:0 11px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:var(--surface-2);color:var(--muted);font-size:10px}
@media(max-width:1120px){.analysis-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.monitor-strip,.workflow-banner{align-items:flex-start;flex-direction:column}.monitor-stats{width:100%;justify-content:space-between}.analysis-summary-grid,.diagnostic-grid,.engine-mini{grid-template-columns:1fr}}
