*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#202124;font:13px Roboto,Arial,sans-serif;display:flex;min-width:1180px}.sb{width:240px;min-width:240px;background:#fff;border-right:1px solid #dadce0;min-height:100vh;overflow:auto}.brand{padding:22px 20px;border-bottom:1px solid #edf0f5}.brand strong{display:block;font-size:15px}.brand small,.muted{color:#5f6368}.sec{padding:18px 20px 8px;color:#6b7280;text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.04em}.mi{display:flex;gap:8px;align-items:center;padding:11px 20px;color:#333;text-decoration:none;border-bottom:1px solid #f1f3f4}.mi.on,summary.mi:hover,.mi:hover{background:#edf4ff;color:#1a73e8}.sub{padding:6px 0 10px;background:#fafbfc}.si{display:block;padding:8px 20px 8px 48px;color:#30343b;text-decoration:none;font-weight:700}.si.on,.si:hover{color:#1a73e8;background:#eef5ff}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.main{flex:1;padding:18px 28px 80px;max-width:1180px}.top{height:34px;display:flex;gap:12px;align-items:center;color:#5f6368}.top a{margin-left:auto;color:#1a73e8;text-decoration:none}.flash{padding:12px 14px;border-radius:10px;margin:8px 0;background:#e6f4ea}.flash.err{background:#fce8e6}.tabs{display:flex;gap:4px;background:#fff;border:1px solid #e8eaed;padding:0 12px;margin:0 0 14px;min-height:44px;align-items:center}.tabs a{padding:13px 14px;color:#202124;text-decoration:none;font-weight:700;border-bottom:2px solid transparent}.tabs a.active{color:#1a73e8;border-color:#1a73e8}.hero{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.10)}.hero.compact{padding:20px 22px}.eyebrow{text-transform:uppercase;color:#5f6368;font-size:11px;font-weight:800;letter-spacing:.04em}.hero h1{font-size:28px;margin:6px 0;color:#202124}.hero p{max-width:760px;color:#5f6368;line-height:1.55;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dadce0;border-radius:8px;padding:10px 14px;background:#fff;color:#1a73e8;text-decoration:none;font-weight:800;cursor:pointer}.btn.primary,.primary{background:#1a73e8;color:#fff;border-color:#1a73e8}.btn.small{padding:6px 10px;font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px}.kpis article,.aw-stat{background:#fff;border:1px solid #e8eaed;border-top:3px solid #1a73e8;border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(60,64,67,.08)}.kpis small{display:block;color:#5f6368;text-transform:uppercase;font-weight:800}.kpis b{display:block;font-size:28px;margin:8px 0}.kpis span{color:#5f6368}.card{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.08)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.steps a{background:#f8fafc;border:1px solid #e8eaed;border-radius:12px;padding:14px;color:#1a73e8;text-decoration:none;font-weight:800}.filters,.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline input,.inline select,.filters select,input,select{height:42px;border:1px solid #dadce0;border-radius:8px;padding:0 12px;background:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #edf0f5;padding:12px}th{font-size:11px;text-transform:uppercase;color:#5f6368}.login{max-width:360px;margin:10vh auto;background:#fff;border:1px solid #ddd;border-radius:16px;padding:24px}.login form{display:grid;gap:12px}.err{color:#b3261e}@media(max-width:900px){body{min-width:1180px}.main{padding-right:24px}.hero h1{font-size:26px}}
textarea{min-height:86px;border:1px solid #dadce0;border-radius:8px;padding:10px 12px;background:#fff;font:13px Roboto,Arial,sans-serif;width:100%}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8f0fe;color:#174ea6;font-size:11px;font-weight:800;text-transform:uppercase}.total{font-size:24px;font-weight:900;color:#202124}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#5f6368}.mt{margin-top:10px}.grid2 .card{margin-bottom:14px}.tablecard tr:hover td{background:#f8fbff}.card h2{margin-top:0}.hero .btn{white-space:nowrap}.inline textarea{flex-basis:100%;max-width:640px}select,input{max-width:260px}

.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 18px}.formgrid h3{grid-column:1/-1;margin:0}.formgrid label{display:grid;gap:4px;font-size:12px;font-weight:700}.formgrid input{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.formgrid button{align-self:end}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.stat span{display:block;color:#5f6368;font-size:11px;font-weight:800;text-transform:uppercase}.stat strong{display:block;font-size:24px;margin-top:4px}.hero.compact{padding:16px}.mt{margin-top:10px}@media(max-width:900px){.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.imp{margin:12px 0;padding:12px 14px;border:1px solid #fbbc04;background:#fff8e1;border-radius:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#3c4043;font-size:13px}.imp b{color:#b06000}.imp form{margin-left:auto}.imp button{border:1px solid #b06000;background:#fff;color:#b06000;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}
.stat a{display:block;text-decoration:none;color:inherit}.stat a:hover strong{color:#1a73e8}.stat em{display:block;margin-top:6px;color:#1a73e8;font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase}.stats{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.dash-hero{background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.10)}.dash-hero h1{font-size:32px;margin:6px 0 4px}.dash-hero p{margin:0;color:#5f6368;max-width:760px;line-height:1.55}.hero-actions{display:flex;gap:10px;align-items:center}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.dash-kpis a{display:block;background:#fff;border:1px solid #e8eaed;border-top:4px solid #1a73e8;border-radius:16px;padding:18px;text-decoration:none;color:#202124;box-shadow:0 1px 3px rgba(60,64,67,.08)}.dash-kpis small{display:block;color:#5f6368;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.dash-kpis b{display:block;font-size:31px;line-height:1;margin:12px 0 8px}.dash-kpis span{color:#5f6368}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h2{margin:0}.card-head p{margin:4px 0 0;color:#5f6368}.pill,.ok{background:#e8f0fe;color:#174ea6;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-decoration:none}.ok{background:#e6f4ea;color:#137333}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.insight-grid article{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:14px}.mini-head{display:flex;justify-content:space-between;color:#5f6368}.mini-head b{color:#202124}.chartbox{height:210px;margin-top:12px;background:#fff;border:1px solid #eef1f5;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#5f6368}.ai-list{display:grid;gap:10px}.ai-list button{border:1px solid #e8eaed;background:#f8fafc;border-radius:12px;padding:14px;text-align:left;cursor:pointer}.ai-list button:hover{border-color:#1a73e8;background:#f3f8ff}.ai-list b{display:block}.ai-list span{display:block;color:#5f6368;margin-top:4px}.empty{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:24px}.empty p{color:#5f6368}.empty a{color:#1a73e8;font-weight:900;text-decoration:none}.onboarding{border-top:4px solid #fbbc04}.onboard-head{display:flex;justify-content:space-between;align-items:center}.onboard-head span{background:#fff8e1;color:#7a4f00;border:1px solid #fde293;border-radius:999px;padding:8px 12px;font-weight:800}.bar{height:10px;border-radius:999px;background:#e8eaed;overflow:hidden;margin:14px 0}.bar i{display:block;height:100%;background:linear-gradient(90deg,#1a73e8,#fbbc04);border-radius:999px}.bar .w0{width:0}.bar .w1{width:20%}.bar .w2{width:40%}.bar .w3{width:60%}.bar .w4{width:80%}.bar .w5{width:100%}.ask-ai{display:flex;align-items:center;gap:12px;background:#f8fbff;border:1px solid #d8e7ff;border-radius:16px;padding:14px;margin:14px 0}.ask-ai em{font-style:normal;color:#5f6368;flex:1}.launch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.launch-grid a{display:block;background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:18px;color:#202124;text-decoration:none;min-height:150px;box-shadow:0 1px 2px rgba(60,64,67,.06)}.launch-grid a:hover{border-color:#1a73e8;box-shadow:0 4px 12px rgba(26,115,232,.10)}.launch-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef5ff;margin-bottom:10px}.launch-grid b{display:block;margin-bottom:6px}.launch-grid em{display:block;color:#5f6368;font-style:normal;line-height:1.45;min-height:44px}.launch-grid i{display:block;margin-top:14px;color:#1a73e8;font-style:normal;font-weight:900}.launch-grid .upgrade{background:#fff8e1;border-color:#fde293}.orders-panel table a{color:#1a73e8;text-decoration:none;font-weight:900}@media(max-width:900px){.dash-kpis,.launch-grid{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:1fr}.dash-hero{align-items:flex-start}.hero-actions{flex-direction:column}}
.erp-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.erp-nav a{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 12px;text-align:center;text-decoration:none;color:#202124;transition:border-color .12s,box-shadow .12s;display:block}.erp-nav a:hover{border-color:#1a73e8;box-shadow:0 3px 10px rgba(26,115,232,.12)}.erp-nav .ni{font-size:22px;display:block;margin-bottom:6px}.erp-nav b{display:block;font-size:12px;font-weight:800;color:#202124}.erp-nav small{display:block;color:#5f6368;font-size:10px;margin-top:2px;line-height:1.3}.erp-flag-bar{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;background:#fff;border:1px solid #e8eaed;border-radius:12px;margin-bottom:12px;align-items:center}.erp-flag-bar form{margin:0}.efb{padding:4px 12px;font-size:11px;font-weight:700;border-radius:20px;cursor:pointer;border:1.5px solid #dadce0;background:#f8fafc;color:#80868b;font-family:inherit}.efb.on{border-color:#137333;background:#e6f4ea;color:#137333}.aging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.ag{border-radius:12px;padding:16px 14px;text-align:center;border:1px solid transparent}.ag .aa{font-size:20px;font-weight:800;display:block;line-height:1}.ag .al{font-size:10px;font-weight:700;display:block;margin-top:5px;text-transform:uppercase;letter-spacing:.03em}.ag.a0{background:#e6f4ea;border-color:#c8e6c9}.ag.a0 .aa{color:#137333}.ag.a0 .al{color:#0d7a3e}.ag.a1{background:#fff8e1;border-color:#ffe082}.ag.a1 .aa{color:#b06000}.ag.a1 .al{color:#b06000}.ag.a2{background:#fff3e0;border-color:#ffcc80}.ag.a2 .aa{color:#e65100}.ag.a2 .al{color:#e65100}.ag.a3{background:#fce8e6;border-color:#f5c6c2}.ag.a3 .aa{color:#b3261e}.ag.a3 .al{color:#b3261e}.erp-2col{display:grid;grid-template-columns:1fr 1.4fr;gap:22px;align-items:start}.erp-panel{background:#f8fafc;border:1px solid #e8eaed;border-radius:12px;padding:16px;margin-bottom:14px}.erp-panel h3{margin:0 0 12px;font-size:13px;color:#202124}.erp-conn{border:1px solid #e8eaed;border-radius:12px;padding:14px;margin-bottom:10px;background:#fff}.erp-conn.live{border-left:4px solid #1a73e8}.erp-conn.ok{border-left:4px solid #137333}.erp-conn.err{border-left:4px solid #b3261e}.erp-conn .ec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.erp-conn .ec-name{font-weight:800;font-size:14px}.erp-conn .ec-meta{font-size:11px;color:#5f6368;line-height:1.6}.po-flow{display:flex;gap:3px;align-items:center;margin:10px 0;flex-wrap:wrap}.po-step{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;background:#f0f4f9;color:#80868b;border:1px solid #e8eaed}.po-step.cur{background:#e8f0fe;color:#1a73e8;border-color:#1a73e8}.po-step.done{background:#e6f4ea;color:#137333;border-color:#137333}.po-step.bad{background:#fce8e6;color:#b3261e;border-color:#b3261e}.po-step .arr{color:#dadce0;margin-left:3px}.erp-page-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #edf0f5}.erp-page-hd h2{margin:0;font-size:18px}.erp-page-hd .hd-sub{color:#5f6368;font-size:12px;margin-top:2px}.rpt-grid{display:grid;gap:10px}.rpt-row{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid #e8eaed;border-radius:12px;background:#fff;text-decoration:none;color:#202124;transition:border-color .12s,box-shadow .12s}.rpt-row:hover{border-color:#1a73e8;box-shadow:0 3px 10px rgba(26,115,232,.10)}.rpt-row .ri{font-size:26px;width:40px;text-align:center}.rpt-row .rt{flex:1}.rpt-row b{display:block;font-weight:800;font-size:13px}.rpt-row small{display:block;color:#5f6368;font-size:11px;margin-top:2px}.lt{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px}.lt.a{background:#e8f0fe;color:#1a73e8}.lt.i{background:#e6f4ea;color:#137333}.lt.k{background:#fce8e6;color:#b3261e}.lt.b{background:#fff8e1;color:#b06000}.lt.e{background:#f0f4ff;color:#5f6368}.erp-empty{padding:32px;text-align:center;color:#80868b;border:1px dashed #dadce0;border-radius:12px;background:#fafbfc}.badge.err{background:#fce8e6;color:#b3261e}
.check-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:13px}.check-row:last-child{border-bottom:none}.check-row span{font-size:16px;flex-shrink:0;width:20px}.check-row.ok span{color:#137333}.check-row.warn span{color:#b06000}.check-row.err span{color:#b3261e}.check-row b{display:block}.check-row small{display:block;color:#5f6368;margin-top:2px}.tab-nav{display:flex;gap:4px;margin:12px 0 16px;border-bottom:1px solid #e8eaed;padding-bottom:0}.tab-nav a{padding:8px 14px;font-size:13px;font-weight:700;color:#5f6368;text-decoration:none;border-radius:8px 8px 0 0;border:1px solid transparent;border-bottom:none;margin-bottom:-1px}.tab-nav a.on{background:#fff;border-color:#e8eaed;color:#1a73e8;border-bottom-color:#fff}.tab-nav a:hover{color:#1a73e8}.btn-group-v{display:flex;flex-direction:column;gap:8px}.btn-group-v form,.btn-group-h form{margin:0}.btn-group-h{display:flex;flex-wrap:wrap;gap:8px}.warn-row td{background:#fff8e1}.inline{display:inline-block;margin:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0}.kpis article{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:14px}.kpis small{display:block;color:#5f6368;font-size:11px;font-weight:800;text-transform:uppercase}.kpis b{display:block;font-size:24px;margin:6px 0 4px}.kpis span{font-size:12px;color:#5f6368}.hero.compact h1{font-size:22px;margin:4px 0}.hero.compact p{color:#5f6368}
.ai-layout{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start;margin-top:12px}.ai-sidenav{background:#fff;border:1px solid #e8eaed;border-radius:14px;overflow:hidden;position:sticky;top:14px}.ai-sidenav .ai-snav-head{padding:12px 14px;background:#1a1f2e;color:#fff}.ai-snav-group{padding:8px 0 4px}.ai-snav-group-label{padding:6px 14px 3px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#9aa0ac}.ai-snav-item{display:flex;align-items:center;gap:8px;padding:9px 14px;text-decoration:none;color:#30343b;border-left:3px solid transparent;transition:background .1s,border-color .1s}.ai-snav-item:hover{background:#f0f4ff;color:#1a73e8}.ai-snav-item.active,.ai-snav-item.on{background:#eef5ff;color:#1a73e8;border-left-color:#1a73e8;font-weight:700}.ai-snav-icon{font-size:15px;width:22px;text-align:center;flex-shrink:0}.ai-snav-label{font-size:12px;font-weight:700}.ai-snav-badge{margin-left:auto;font-size:10px;font-weight:800;padding:2px 6px;border-radius:999px;background:#e8f0fe;color:#174ea6}.ai-snav-badge.warn{background:#fce8e6;color:#b3261e}.ai-snav-badge.ok{background:#e6f4ea;color:#137333}.ai-content{min-width:0}@media(max-width:1100px){.ai-layout{grid-template-columns:1fr}.ai-sidenav{position:static}}
.ai-page-header{margin-bottom:18px}.ai-title{font-size:22px;font-weight:900;margin:0 0 4px;color:#202124}.ai-subtitle{color:#5f6368;margin:0;font-size:13px}
.ai-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px}.ai-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 14px;text-align:center;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-kpi-icon{font-size:22px;margin-bottom:6px}.ai-kpi-val{font-size:26px;font-weight:900;color:#202124;line-height:1}.ai-kpi-label{font-size:11px;color:#5f6368;font-weight:700;text-transform:uppercase;margin-top:4px}.ai-kpi--green{border-top:3px solid #137333}.ai-kpi--green .ai-kpi-val{color:#137333}.ai-kpi--orange{border-top:3px solid #e97900}.ai-kpi--orange .ai-kpi-val{color:#e97900}.ai-kpi--blue{border-top:3px solid #1a73e8}.ai-kpi--blue .ai-kpi-val{color:#1a73e8}.ai-kpi--dim{opacity:.6}
.ai-insights-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px;margin-bottom:18px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-insights-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ai-insights-header h3{margin:0;font-size:14px;flex:1}.ai-insight-spark{font-size:18px;color:#1a73e8}.ai-insight-count{font-size:11px;color:#5f6368;font-weight:700;background:#f0f4ff;border-radius:999px;padding:2px 8px}.ai-insights-list{display:grid;gap:6px}.ai-insight{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#202124;background:#f8fafc;border:1px solid #edf0f5;transition:border-color .1s}.ai-insight:hover{border-color:#1a73e8;background:#f0f7ff}.ai-insight--ok .ai-insight-dot{background:#137333}.ai-insight--warn .ai-insight-dot{background:#e97900}.ai-insight--err .ai-insight-dot{background:#b3261e}.ai-insight--info .ai-insight-dot{background:#1a73e8}.ai-insight--tip .ai-insight-dot{background:#7c4dff}.ai-insight-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ai-insight-text{flex:1;font-size:12px}.ai-insight-arrow{color:#9aa0ac;font-size:14px}
.ai-section-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#5f6368;margin:20px 0 10px}
.ai-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:18px}.ai-quick-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-quick-icon{font-size:24px;flex-shrink:0}.ai-quick-body{flex:1;text-align:left}.ai-quick-body strong{display:block;font-size:13px;margin-bottom:2px}.ai-quick-body small{color:#5f6368;font-size:11px}.ai-quick-btn{padding:7px 14px;border-radius:8px;background:#1a73e8;color:#fff;border:none;font-weight:800;cursor:pointer;font-size:12px;white-space:nowrap}
.ai-activity{display:grid;gap:6px;margin-bottom:18px}.ai-activity-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #edf0f5;border-radius:10px}.ai-act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#dadce0}.ai-act-dot--ok,.ai-act-dot--blocked{background:#137333}.ai-act-dot--failed,.ai-act-dot--err{background:#b3261e}.ai-act-dot--warn{background:#e97900}.ai-act-type{flex:1;font-size:12px;font-weight:700}.ai-act-time{font-size:11px;color:#9aa0ac;font-family:ui-monospace,monospace}
.ai-jobs-launch{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:18px}.ai-job-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-job-icon{font-size:24px;flex-shrink:0}.ai-job-body{flex:1;text-align:left}.ai-job-body strong{display:block;font-size:12px;margin-bottom:2px}.ai-job-body small{color:#5f6368;font-size:11px}
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0f5}.data-table th{font-size:11px;text-transform:uppercase;color:#5f6368;font-weight:800;background:#fafbfc}.data-table tbody tr:hover td{background:#f8fbff}.data-table .warn-row td{background:#fff8e1}
.ai-empty{padding:32px;text-align:center;color:#80868b;border:1px dashed #dadce0;border-radius:14px;background:#fafbfc;margin-bottom:14px}.ai-empty a{display:inline-block;margin-top:12px}.ai-empty-small{padding:12px;text-align:center;color:#80868b;font-size:12px}
.ai-sec-score{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px;margin-bottom:18px}.ai-sec-score-bar{height:10px;background:#e8eaed;border-radius:999px;overflow:hidden;margin-bottom:10px}.ai-sec-score-fill{height:100%;background:linear-gradient(90deg,#1a73e8,#137333);border-radius:999px;transition:width .4s}.ai-sec-score-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ai-sec-score-meta strong{font-size:14px}.ai-sec-score-meta span{color:#5f6368;font-size:12px}
.ai-guards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:14px}.ai-guard-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-guard-card.ai-guard--block{border-left:4px solid #b3261e}.ai-guard-card.ai-guard--enforce{border-left:4px solid #e97900}.ai-guard-card.ai-guard--monitor{border-left:4px solid #1a73e8}.ai-guard-name{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ai-guard-icon{font-size:18px}.ai-guard-name strong{font-size:13px}.ai-guard-modes{display:flex;gap:6px}.ai-guard-radio{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:20px;border:1px solid #e8eaed;cursor:pointer;font-size:11px;font-weight:700;color:#5f6368}.ai-guard-radio.active,.ai-guard-radio input:checked+*{color:#1a73e8}.ai-guard-radio input{display:none}
.ai-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:18px}.ai-analysis-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-analysis-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf0f5}.ai-analysis-header>div{flex:1}.ai-analysis-header>div strong{display:block;font-size:13px}.ai-analysis-header>div small{display:block;color:#5f6368;font-size:11px;margin-top:2px}.ai-issue-list{display:grid;gap:6px}.ai-issue-row{display:flex;align-items:center;gap:10px;padding:8px;background:#f8fafc;border-radius:8px}.ai-issue-name{flex:1}.ai-issue-name small{display:block;color:#9aa0ac;font-size:11px;font-family:ui-monospace,monospace}.ai-issue-tags{display:flex;flex-wrap:wrap;gap:4px}.ai-issue-tag{padding:2px 7px;border-radius:999px;background:#fff0e0;color:#b06000;font-size:10px;font-weight:800}
.ai-stat-rows{display:grid;gap:6px}.ai-stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f0f4f8;font-size:12px}.ai-stat-row:last-child{border-bottom:none}.ai-stat-row span{color:#5f6368}.text-warn{color:#e97900}
.ai-alert-group{margin-bottom:10px}.ai-alert-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;padding:2px 6px;border-radius:4px;display:inline-block}.ai-alert-label--err{background:#fce8e6;color:#b3261e}.ai-alert-label--warn{background:#fff8e1;color:#b06000}
.ai-run-list{display:grid;gap:10px;margin-bottom:14px}.ai-run-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(60,64,67,.06)}.ai-run-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ai-run-header strong{font-size:13px}.ai-run-header small{color:#9aa0ac;font-size:11px}.ai-run-status{font-size:12px;color:#5f6368;margin-bottom:6px}.ai-run-recs{margin:0;padding:0 0 0 18px;font-size:12px;color:#5f6368;line-height:1.7}
.ai-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:14px}.ai-app-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(60,64,67,.08);display:flex;flex-direction:column;gap:10px}.ai-app-card--installed{border-color:#137333}.ai-app-top{display:flex;gap:12px;align-items:flex-start}.ai-app-icon{font-size:32px;flex-shrink:0}.ai-app-info{flex:1}.ai-app-info strong{display:block;font-size:14px;margin-bottom:4px}.ai-app-meta{display:flex;gap:6px;align-items:center}.ai-app-benefit{font-size:11px;font-weight:800;color:#137333;background:#e6f4ea;border-radius:8px;padding:4px 8px;white-space:nowrap}.ai-app-desc{font-size:12px;color:#5f6368;margin:0;line-height:1.5}.ai-app-mounts{display:flex;flex-wrap:wrap;gap:4px}.ai-mount-tag{padding:2px 7px;font-size:10px;font-weight:800;background:#f0f4ff;color:#1a73e8;border-radius:999px}.ai-app-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid #edf0f5;margin-top:auto}
.ai-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}@media(max-width:900px){.ai-two-col{grid-template-columns:1fr}.ai-analysis-grid{grid-template-columns:1fr}}
.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:4px;color:#5f6368}.input{display:block;width:100%;max-width:100%;height:38px;border:1px solid #dadce0;border-radius:8px;padding:0 12px;background:#fff;font:13px Roboto,Arial,sans-serif;box-sizing:border-box}.input:focus{outline:none;border-color:#1a73e8}textarea.input{height:auto;min-height:80px;padding:10px 12px}
.btn-sm{padding:6px 11px;font-size:11px;border-radius:7px}.btn-primary{background:#1a73e8;color:#fff;border-color:#1a73e8}.btn-primary:hover{background:#1557b0}.btn-danger{background:#b3261e;color:#fff;border-color:#b3261e}.badge.warn,.badge.info{background:#fff8e1;color:#b06000}.badge.info{background:#e8f0fe;color:#174ea6}.badge.ok{background:#e6f4ea;color:#137333}.badge.err{background:#fce8e6;color:#b3261e}
.ai-mount-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ai-mount-item{padding:8px 10px;background:#f8fafc;border-radius:8px;border:1px solid #edf0f5}.ai-mount-item strong{display:block;font-size:12px;font-family:ui-monospace,monospace;color:#1a73e8}.ai-mount-item small{display:block;font-size:11px;color:#5f6368;margin-top:2px}
.ai-webhook-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f5}.ai-webhook-row:last-child{border-bottom:none}.ai-webhook-name strong{display:block;font-size:13px}.ai-webhook-name small{display:block;color:#9aa0ac}
.ai-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-top:6px}.ai-chk{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.ai-chk input{width:14px;height:14px;margin:0}
.ai-provider-list{display:grid;gap:8px}.ai-provider-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f8fafc;border-radius:8px;border:1px solid #edf0f5}.ai-provider-name strong{display:block;font-size:12px}.ai-provider-name small{font-size:11px;color:#5f6368}
.ai-wf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:14px}.ai-wf-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(60,64,67,.06);display:flex;flex-direction:column;gap:10px}.ai-wf-card--active{border-color:#137333;background:#f6fdf8}.ai-wf-top{display:flex;align-items:center;gap:10px}.ai-wf-icon{font-size:22px;flex-shrink:0}.ai-wf-meta{flex:1}.ai-wf-meta strong{display:block;font-size:13px}.ai-wf-trigger{font-size:10px;color:#5f6368;background:#f0f4f8;padding:2px 6px;border-radius:4px;display:inline-block;margin-top:3px}.ai-wf-desc{font-size:12px;color:#5f6368;margin:0;line-height:1.5}.ai-wf-active-label{font-size:12px;color:#137333;font-weight:700}
/* ─── Reports page (rpt-*) ─── */
.rpt-page{padding-bottom:40px}
.rpt-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:22px 26px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.08);flex-wrap:wrap}
.rpt-hdr h1{font-size:28px;margin:6px 0 4px}.rpt-hdr p{margin:0;color:#5f6368;font-size:13px}
.rpt-hdr-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.rpt-tabs{display:flex;gap:0;background:#fff;border:1px solid #e8eaed;border-radius:12px;margin-bottom:14px;overflow:hidden}
.rpt-tabs a{padding:11px 18px;font-size:13px;font-weight:700;color:#5f6368;text-decoration:none;border-right:1px solid #f0f3f6;transition:background .1s,color .1s}
.rpt-tabs a:last-child{border-right:none}
.rpt-tabs a.on,.rpt-tabs a:hover{background:#eef5ff;color:#1a73e8}
.rpt-tabs a.on{color:#1a73e8;font-weight:800}
/* KPIs */
.rpt-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.rpt-kpi{background:#fff;border:1px solid #e8eaed;border-top:3px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.rpt-kpi--blue{border-top-color:#1a73e8}.rpt-kpi--green{border-top-color:#137333}.rpt-kpi--warn{border-top-color:#f59e0b}
.rpt-kpi>span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:8px}
.rpt-kpi>strong{display:block;font-size:24px;font-weight:900;color:#0f172a;line-height:1;margin-bottom:4px}
.rpt-kpi em{font-style:normal;font-size:11px;color:#94a3b8}.rpt-kpi em a{color:#1a73e8;text-decoration:none;font-weight:700}
/* Charts */
.rpt-charts{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:14px}
.rpt-chart-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:18px 20px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.rpt-chart-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.rpt-chart-hd b{display:block;font-size:13px;font-weight:800;color:#0f172a}
.rpt-chart-hd span{display:block;font-size:11px;color:#94a3b8;margin-top:2px}
.rpt-link{font-size:11px;font-weight:800;color:#1a73e8;text-decoration:none;white-space:nowrap}
/* Bar chart */
.rpt-bars{display:flex;align-items:flex-end;gap:6px;height:130px;padding:0 2px}
.rpt-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:default}
.rpt-bar-val{font-size:9px;color:#64748b;font-weight:700;white-space:nowrap}
.rpt-bar{width:100%;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#60a5fa,#1d4ed8);transition:filter .15s}
.rpt-bar:hover,.rpt-bar-col:hover .rpt-bar{filter:brightness(1.1)}
.rpt-bar--cur{background:linear-gradient(180deg,#34d399,#059669)}
.rpt-bar-lbl{font-size:10px;color:#94a3b8;font-weight:600}
.rpt-bar-sub{font-size:9px;color:#cbd5e1}
/* Sparkline */
.rpt-spark{display:flex;align-items:flex-end;gap:3px;height:80px;padding:0 2px}
.rpt-spark-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:default}
.rpt-spark-bar{width:100%;border-radius:3px 3px 0 0;background:#3b82f6;opacity:.8;transition:opacity .12s}
.rpt-spark-col:hover .rpt-spark-bar{opacity:1}
.rpt-spark-lbl{font-size:8px;color:#cbd5e1}
.rpt-baseline{height:1px;background:#e2e8f0;margin:0 2px 4px}
.rpt-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;color:#94a3b8;text-align:center;gap:6px}
.rpt-chart-empty span{font-size:32px;opacity:.4}.rpt-chart-empty b{font-size:13px;color:#64748b}.rpt-chart-empty p{font-size:12px;margin:0}
/* Bottom grid */
.rpt-grid3{display:grid;grid-template-columns:1fr 300px;gap:14px}
.rpt-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.rpt-panel-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rpt-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}.rpt-panel-hd span{font-size:11px;color:#94a3b8}
/* Table */
.rpt-table{width:100%;border-collapse:collapse}
.rpt-table th{font-size:10px;text-transform:uppercase;color:#94a3b8;font-weight:800;padding:6px 10px;border-bottom:1px solid #edf0f5;text-align:left}
.rpt-table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;font-size:12px}
.rpt-table tr:last-child td{border-bottom:none}
.rpt-table tbody tr:hover td{background:#f8fbff}
.rpt-rank{color:#94a3b8;font-weight:700;font-size:11px;width:24px}
.rpt-muted{color:#94a3b8;font-size:11px}
.rpt-share-wrap{display:inline-block;width:80px;height:5px;background:#e2e8f0;border-radius:999px;overflow:hidden;vertical-align:middle}
.rpt-share-fill{height:100%;background:#3b82f6;border-radius:999px}
.rpt-share-pct{font-size:10px;color:#94a3b8;margin-left:6px}
/* Export buttons */
.rpt-export-btn{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f8fafc;border:1px solid #edf0f5;border-radius:8px;font-size:12px;font-weight:700;color:#374151;text-decoration:none}
.rpt-export-btn:hover{background:#eef5ff;border-color:#c7d7f7;color:#1a73e8}
.rpt-empty-sm{padding:20px;text-align:center;color:#94a3b8;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:1100px){.rpt-kpis{grid-template-columns:repeat(3,1fr)}.rpt-charts{grid-template-columns:1fr}.rpt-grid3{grid-template-columns:1fr}}
@media(max-width:900px){.rpt-kpis{grid-template-columns:repeat(2,1fr)}.rpt-tabs{overflow-x:auto}.rpt-tabs a{white-space:nowrap}}
/* ─── Analytics card (da-*) ─── */
.da-card{padding:22px 24px}
.da-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.da-title{margin:0;font-size:18px;font-weight:900;color:#0f172a}
.da-sub{display:block;color:#64748b;font-size:12px;margin-top:3px}
.da-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.da-pill-sm{padding:5px 11px;font-size:11px;font-weight:800;background:#f1f5f9;color:#475569;border-radius:999px;text-decoration:none;border:1px solid #e2e8f0;white-space:nowrap}
.da-pill-sm:hover{background:#e8f0fe;color:#1a73e8;border-color:#c7d7f7}
.da-btn-full{padding:7px 14px;background:#1a73e8;color:#fff;font-size:12px;font-weight:800;border-radius:9px;text-decoration:none;white-space:nowrap;box-shadow:0 1px 4px rgba(26,115,232,.25)}
.da-btn-full:hover{background:#1557b0}
/* Metrics row */
.da-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.da-metric{background:#f8fafc;border:1px solid #edf0f5;border-radius:12px;padding:12px 14px}
.da-metric>span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:7px}
.da-metric>strong{display:block;font-size:22px;font-weight:900;color:#0f172a;line-height:1;margin-bottom:4px}
.da-metric em{font-style:normal;font-size:11px}
.da-metric--trend{border-top:2px solid #e2e8f0}
.da-up{color:#16a34a}.da-down{color:#dc2626}.da-flat{color:#94a3b8}
/* Charts grid */
.da-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
.da-chart-wrap,.da-status-wrap{background:#f8fafc;border:1px solid #edf0f5;border-radius:14px;padding:14px 16px}
.da-chart-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.da-chart-hd b{font-size:12px;font-weight:800;color:#374151}
.da-chart-hd span{font-size:11px;color:#94a3b8}
/* Bar chart */
.da-bars-area{height:118px;display:flex;align-items:flex-end;gap:5px;padding:0 2px}
.da-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:default}
.da-bar-val{font-size:9px;color:#64748b;font-weight:700;white-space:nowrap;line-height:1}
.da-bar{width:100%;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#60a5fa,#1d4ed8);transition:filter .14s}
.da-bar:hover,.da-bar-col:hover .da-bar{filter:brightness(1.12)}
.da-bar--cur{background:linear-gradient(180deg,#34d399,#059669)}
.da-bar-lbl{font-size:10px;color:#94a3b8;font-weight:600}
.da-baseline{height:1px;background:#e2e8f0;margin:0 2px 2px}
.da-bars-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:120px;color:#94a3b8;text-align:center;gap:5px}
.da-empty-icon{font-size:28px;display:block;opacity:.5}
.da-bars-empty b,.da-status-empty b{font-size:13px;color:#64748b}
.da-bars-empty span,.da-status-empty span{font-size:12px}
.da-empty-link{margin-top:4px;font-size:11px;font-weight:800;color:#1a73e8;text-decoration:none}
/* Status list */
.da-status-list{display:flex;flex-direction:column;gap:9px}
.da-status-row{display:flex;align-items:center;gap:9px}
.da-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.da-status-name{flex:1;font-size:12px;color:#374151;font-weight:600;white-space:nowrap}
.da-status-bar-wrap{width:72px;height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden;flex-shrink:0}
.da-status-bar-fill{height:100%;border-radius:999px;transition:width .3s}
.da-status-cnt{width:24px;text-align:right;font-size:12px;font-weight:900;color:#374151}
.da-status-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;color:#94a3b8;text-align:center;gap:5px}
/* Stock alert */
.da-stock-alert{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:9px 12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:9px;font-size:12px;color:#92400e;text-decoration:none}
.da-stock-alert:hover{background:#fef3c7}.da-stock-alert b{display:block;font-weight:800}
.da-stock-alert em{display:block;font-style:normal;margin-top:3px;font-size:11px;color:#78350f}
.da-stock-cnt{background:#fef3c7;border-radius:4px;padding:0 4px;font-weight:700}
@media(max-width:1100px){.da-grid{grid-template-columns:1fr}.da-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.da-metrics{grid-template-columns:repeat(2,1fr)}.da-header{flex-direction:column}.da-header-actions{width:100%}}
/* ─── Welcome banner ─── */
.welcome-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#eef5ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:16px;padding:16px 20px;margin-bottom:14px}.welcome-banner span{font-size:28px;flex-shrink:0}.welcome-banner b{display:block;font-size:15px;font-weight:800;color:#1e3a5f;margin-bottom:2px}.welcome-banner em{font-style:normal;color:#64748b;font-size:12px}
/* ─── Sidebar improvements (issue #10) ─── */
.sec{padding:18px 20px 6px;color:#6b7280;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.06em;border-top:1px solid #f0f3f6;margin-top:6px}.sec:first-of-type{border-top:none;margin-top:0}.mi{display:flex;gap:8px;align-items:center;padding:10px 18px;color:#374151;text-decoration:none;font-size:13px;font-weight:600}.mi b{font-weight:700;font-size:13px}
/* ─── AI last-action strip ─── */
.ai-last-action{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #edf0f5;border-radius:8px;margin-bottom:12px;font-size:12px;color:#374151}.ai-last-dot{width:8px;height:8px;border-radius:50%;background:#dadce0;flex-shrink:0}.ai-last-dot--ok{background:#22c55e}
/* ─── Orders page (ord-*) ─── */
.ord-page{padding-bottom:40px}
.ord-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:22px 26px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.08);flex-wrap:wrap}
.ord-hdr h1{font-size:28px;margin:6px 0 4px}.ord-hdr p{margin:0;color:#5f6368;font-size:13px}
.ord-hdr-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.ord-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.ord-kpi{background:#fff;border:1px solid #e8eaed;border-top:3px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.ord-kpi--blue{border-top-color:#1a73e8}.ord-kpi--green{border-top-color:#137333}.ord-kpi--warn{border-top-color:#f59e0b}
.ord-kpi>span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:8px}
.ord-kpi>strong{display:block;font-size:26px;font-weight:900;color:#0f172a;line-height:1;margin-bottom:4px}
.ord-kpi em{font-style:normal;font-size:11px;color:#94a3b8}
.ord-pipeline{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ord-pipe-card{flex:1;min-width:80px;background:var(--pbg,#f8fafc);border:1.5px solid transparent;border-radius:12px;padding:12px 14px;text-align:center;text-decoration:none;transition:border-color .12s,box-shadow .12s}
.ord-pipe-card:hover{border-color:var(--pcol,#374151);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ord-pipe-card.ord-pipe-active{border-color:var(--pcol,#374151)}
.ord-pipe-card strong{display:block;font-size:22px;font-weight:900;color:var(--pcol,#374151);line-height:1.1}
.ord-pipe-card span{display:block;font-size:11px;color:var(--pcol,#374151);margin-top:2px}
.ord-pipe-card em{display:block;font-size:10px;color:var(--pcol,#374151);opacity:.55;margin-top:1px;font-style:normal}
.ord-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:12px 16px;margin-bottom:14px}
.ord-search{flex:1;min-width:200px;border:1px solid #dadce0;border-radius:8px;padding:8px 12px;font-size:13px;outline:none;transition:border-color .15s}
.ord-search:focus{border-color:#1a73e8}
.ord-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(60,64,67,.06);margin-bottom:14px}
.ord-table-hd{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #edf0f5}
.ord-table-hd b{font-size:13px;font-weight:800;color:#0f172a}
.ord-tag{background:#e2e8f0;color:#475569;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.ord-table{width:100%;border-collapse:collapse}
.ord-table th{font-size:10px;text-transform:uppercase;color:#94a3b8;font-weight:800;padding:8px 14px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}
.ord-table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;font-size:12px;vertical-align:middle}
.ord-table tr:last-child td{border-bottom:none}
.ord-table tbody tr:hover td{background:#f8fbff}
.ord-link{color:#1a73e8;font-weight:800;text-decoration:none;font-size:13px}.ord-link:hover{text-decoration:underline}
.ord-muted{color:#94a3b8;font-size:11px}
.ord-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.ord-pay{font-size:11px;color:#94a3b8;font-weight:600}.ord-pay--ok{color:#15803d;font-weight:800}
.ord-more{padding:12px 18px;text-align:center;font-size:12px;color:#94a3b8;border-top:1px solid #f1f5f9}
.ord-more a{color:#1a73e8;font-weight:700;text-decoration:none}
.ord-empty{padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.ord-empty span{font-size:40px;opacity:.35}.ord-empty b{font-size:15px;color:#374151}.ord-empty p{font-size:13px;color:#94a3b8;margin:0}
.ord-quickform{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 20px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.ord-quickform-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.ord-quickform-hd b{font-size:13px;font-weight:800;color:#0f172a}.ord-quickform-hd span{font-size:11px;color:#94a3b8}
.ord-quickform-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ord-quickform-row input,.ord-quickform-row select{border:1px solid #dadce0;border-radius:8px;padding:8px 10px;font-size:12px}
.ord-quickform-row input[type=number]{width:110px}.ord-quickform-row input[name=note]{flex:1;min-width:160px}
@media(max-width:900px){.ord-kpis{grid-template-columns:repeat(2,1fr)}.ord-pipeline{overflow-x:auto;flex-wrap:nowrap}.ord-pipe-card{min-width:80px;flex-shrink:0}}
/* ─── Customers page (cst-*) ─── */
.cst-page{padding-bottom:40px}
.cst-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:22px 26px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.08);flex-wrap:wrap}
.cst-hdr h1{font-size:28px;margin:6px 0 4px}.cst-hdr p{margin:0;color:#5f6368;font-size:13px}
.cst-hdr-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.cst-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.cst-kpi{background:#fff;border:1px solid #e8eaed;border-top:3px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.cst-kpi--blue{border-top-color:#1a73e8}.cst-kpi--green{border-top-color:#137333}
.cst-kpi>span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:8px}
.cst-kpi>strong{display:block;font-size:26px;font-weight:900;color:#0f172a;line-height:1;margin-bottom:4px}
.cst-kpi em{font-style:normal;font-size:11px;color:#94a3b8}
.cst-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:12px 16px;margin-bottom:14px}
.cst-search{flex:1;min-width:200px;border:1px solid #dadce0;border-radius:8px;padding:8px 12px;font-size:13px;outline:none;transition:border-color .15s}.cst-search:focus{border-color:#1a73e8}
/* overflow:hidden stond hier voor de afgeronde hoeken, maar knipte op /admin/customers zes van de
   negen kolommen weg (tabel 823px in een ouder van 334px, scrollWidth bleef 420 — dus onbereikbaar,
   niet alleen onzichtbaar). overflow-x:auto houdt de hoeken net zo goed rond, want ook een
   schuifcontainer klipt naar de border-radius; alleen mag je er nu wél naartoe schuiven. */
.cst-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:0 1px 3px rgba(60,64,67,.06);margin-bottom:14px}
.cst-table-hd{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #edf0f5}
.cst-table-hd b{font-size:13px;font-weight:800;color:#0f172a}
.cst-table{width:100%;border-collapse:collapse}
.cst-table th{font-size:10px;text-transform:uppercase;color:#94a3b8;font-weight:800;padding:8px 14px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}
.cst-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:12px;vertical-align:middle}
.cst-table tr:last-child td{border-bottom:none}.cst-table tbody tr:hover td{background:#f8fbff}
.cst-id{color:#94a3b8;font-size:11px;font-weight:700;width:32px}
.cst-role{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;background:#f1f5f9;color:#64748b}
.cst-role--b2b{background:#ede9fe;color:#5b21b6}
.cst-status{display:inline-block;font-size:11px;font-weight:700;color:#94a3b8}.cst-status--ok{color:#15803d}
.cst-orders-link{color:#1a73e8;font-weight:700;text-decoration:none;font-size:12px}.cst-orders-link:hover{text-decoration:underline}
.cst-empty{padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.cst-empty span{font-size:40px;opacity:.35}.cst-empty b{font-size:15px;color:#374151}.cst-empty p{font-size:13px;color:#94a3b8;margin:0}
.cst-actions-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cst-action-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;text-decoration:none;transition:border-color .12s,box-shadow .12s;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.cst-action-card:hover{border-color:#1a73e8;box-shadow:0 2px 8px rgba(26,115,232,.12)}
.cst-action-card span{font-size:24px;flex-shrink:0}
.cst-action-card b{display:block;font-size:12px;font-weight:800;color:#0f172a;margin-bottom:2px}
.cst-action-card em{display:block;font-size:11px;color:#94a3b8;font-style:normal}
@media(max-width:900px){.cst-kpis,.cst-actions-row{grid-template-columns:repeat(2,1fr)}}
/* ─── Catalog page (cat-*) ─── */
.cat-page{padding-bottom:40px}
.cat-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:22px 26px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,64,67,.08);flex-wrap:wrap}
.cat-hdr h1{font-size:28px;margin:6px 0 4px}.cat-hdr p{margin:0;color:#5f6368;font-size:13px}
.cat-hdr-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.cat-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.cat-kpi{background:#fff;border:1px solid #e8eaed;border-top:3px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:0 1px 3px rgba(60,64,67,.06)}
.cat-kpi--green{border-top-color:#137333}.cat-kpi--warn{border-top-color:#f59e0b}.cat-kpi--red{border-top-color:#dc2626}.cat-kpi--blue{border-top-color:#1a73e8}
.cat-kpi>span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:8px}
.cat-kpi>strong{display:block;font-size:24px;font-weight:900;color:#0f172a;line-height:1;margin-bottom:4px}
.cat-kpi em{font-style:normal;font-size:11px;color:#94a3b8}
/* PIM bar */
.cat-pim-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:10px 16px;margin-bottom:14px}
.cat-pim-bar>span{font-size:11px;font-weight:700;color:#64748b;flex-shrink:0}
.cat-pim-btn{padding:3px 10px;font-size:11px;border-radius:20px;border:1.5px solid #cbd5e1;background:#f8fafc;color:#94a3b8;cursor:pointer;font-weight:600;transition:all .12s}
.cat-pim-btn--on{border-color:#22c55e;background:#f0fdf4;color:#15803d}
/* Filter */
.cat-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:12px 16px;margin-bottom:14px}
.cat-search{flex:1;min-width:200px;border:1px solid #dadce0;border-radius:8px;padding:8px 12px;font-size:13px;outline:none;transition:border-color .15s}
.cat-search:focus{border-color:#1a73e8}
/* Table card */
.cat-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(60,64,67,.06);margin-bottom:14px}
.cat-table-hd{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #edf0f5}
.cat-table-hd b{font-size:13px;font-weight:800;color:#0f172a}
.cat-table{width:100%;border-collapse:collapse}
.cat-table th{font-size:10px;text-transform:uppercase;color:#94a3b8;font-weight:800;padding:8px 14px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}
.cat-table td{padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:12px;vertical-align:middle}
.cat-table tr:last-child td{border-bottom:none}
.cat-table tbody tr:hover td{background:#f8fbff}
.cat-id{color:#94a3b8;font-size:11px;font-weight:700}
.cat-name-cell{display:flex;align-items:center;gap:10px}
.cat-thumb{width:36px;height:36px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid #e2e8f0}
.cat-thumb img{width:100%;height:100%;object-fit:cover}
.cat-thumb-emoji,.cat-thumb-ph{font-size:18px}
.cat-name{display:block;font-size:13px;font-weight:700;color:#0f172a}
.cat-sale-badge{display:inline-block;padding:1px 6px;background:#fef2f2;color:#dc2626;border-radius:4px;font-size:9px;font-weight:900;margin-left:4px;vertical-align:middle}
.cat-sku{font-size:11px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:ui-monospace,monospace}
.cat-cmp{color:#94a3b8;font-size:11px;font-style:normal}
.cat-zero{color:#dc2626;font-weight:700;font-size:12px}
.cat-margin{display:inline-block;font-size:11px;font-weight:700;color:#374151;padding:2px 7px;background:#f1f5f9;border-radius:999px}
.cat-margin--low{background:#fef3c7;color:#92400e}.cat-margin--hi{background:#dcfce7;color:#15803d}
.cat-stock{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}
.cat-stock--ok{background:#dcfce7;color:#15803d}
.cat-stock--low{background:#fef3c7;color:#b45309}
.cat-stock--out{background:#fee2e2;color:#b91c1c}
.cat-alert-dot{font-size:12px;margin-left:3px}
.cat-muted{color:#94a3b8;font-size:11px}
.cat-status-form{margin:0}
.cat-status-sel{border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-size:11px;font-weight:700;cursor:pointer;background:#fff}
.cat-status-sel--active{border-color:#22c55e;color:#15803d;background:#f0fdf4}
.cat-status-sel--draft{border-color:#e2e8f0;color:#64748b}
.cat-status-sel--archived{border-color:#e2e8f0;color:#94a3b8}
.cat-empty{padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.cat-empty span{font-size:40px;opacity:.35}.cat-empty b{font-size:15px;color:#374151}.cat-empty p{font-size:13px;color:#94a3b8;margin:0}
/* Editor panel */
.cat-editor{background:#fff;border:1px solid #e8eaed;border-radius:16px;box-shadow:0 1px 3px rgba(60,64,67,.06);overflow:hidden}
.cat-editor-summary{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;user-select:none}
.cat-editor-summary::-webkit-details-marker{display:none}
.cat-editor summary:hover{background:#f8fafc}
.cat-editor-summary span{font-size:20px;flex-shrink:0}
.cat-editor-summary b{font-size:14px;font-weight:800;color:#0f172a;flex-shrink:0}
.cat-editor-summary em{font-size:12px;color:#94a3b8;font-style:normal}
.cat-editor-body{border-top:1px solid #edf0f5;padding:20px}
.cat-editor-tabs{display:flex;gap:0;margin-bottom:18px;border-bottom:2px solid #e8eaed}
.cat-editor-tab{padding:8px 16px;font-size:12px;font-weight:700;color:#64748b;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .12s}
.cat-editor-tab:hover{color:#1a73e8}.cat-editor-tab.active{color:#1a73e8;border-bottom-color:#1a73e8}
.cat-editor-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:1100px){.cat-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.cat-kpis{grid-template-columns:repeat(2,1fr)}.cat-editor-form{grid-template-columns:1fr}}
/* ─── Launch grid: optional pre-step ─── */
.launch-optional{border-style:dashed!important;opacity:.8}.launch-optional:hover{opacity:1}
/* ─── Command palette ─── */
.cmdpal{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;pointer-events:none;opacity:0;transition:opacity .14s}.cmdpal.open{pointer-events:auto;opacity:1}.cmdpal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}.cmdpal-box{position:relative;width:100%;max-width:560px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(15,23,42,.22);overflow:hidden}.cmdpal-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e8eaed}.cmdpal-input span{font-size:16px;color:#94a3b8;flex-shrink:0}.cmdpal-input input{flex:1;border:none;outline:none;font:15px Roboto,Arial,sans-serif;color:#202124;background:transparent}.cmdpal-list{list-style:none;margin:0;padding:6px 0;max-height:380px;overflow-y:auto}.cmdpal-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;color:#202124;text-decoration:none}.cmdpal-item:hover,.cmdpal-item.active{background:#eef5ff;color:#1a73e8}.cmdpal-item span{font-size:16px;width:22px;text-align:center;flex-shrink:0}.cmdpal-item strong{display:block;font-size:13px;font-weight:700}.cmdpal-item small{display:block;font-size:11px;color:#94a3b8;margin-top:1px}.cmdpal-section{padding:6px 16px 3px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.cmdpal-hint{display:flex;gap:14px;padding:10px 16px;border-top:1px solid #f0f3f6;font-size:11px;color:#94a3b8}.cmdpal-hint kbd{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:10px;color:#475569}

/* ─── Stock page (stk-*) ─── */
.stk-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.stk-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.stk-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.stk-hdr p{font-size:13px;color:#64748b;margin:0}.stk-hdr-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.stk-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.stk-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;text-decoration:none;color:#0f172a;transition:box-shadow .12s;display:flex;flex-direction:column;gap:2px}
.stk-kpi:hover{box-shadow:0 2px 8px rgba(60,64,67,.12);transform:translateY(-1px)}
.stk-kpi--active{border-color:#1a73e8;background:#eef5ff}
.stk-kpi--green{border-top:3px solid #16a34a}.stk-kpi--green strong{color:#16a34a}
.stk-kpi--warn{border-top:3px solid #d97706}.stk-kpi--warn strong{color:#d97706}
.stk-kpi--red{border-top:3px solid #dc2626}.stk-kpi--red strong{color:#dc2626}
.stk-kpi--blue{border-top:3px solid #1a73e8}.stk-kpi--blue strong{color:#1a73e8}
.stk-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.stk-kpi strong{font-size:26px;font-weight:900;line-height:1.1}
.stk-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
/* Alert bar */
.stk-alert-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.stk-alert-pill{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;text-decoration:none}
.stk-alert-pill--red{background:#fee2e2;color:#dc2626}
.stk-alert-pill--warn{background:#fef3c7;color:#d97706}
.stk-alert-hint{font-size:11px;color:#92400e;margin-left:4px}
/* Filter bar */
.stk-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.stk-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.stk-filter-pills{display:flex;gap:4px}
.stk-fpill{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.stk-fpill:hover,.stk-fpill--on{background:#1a73e8;color:#fff}
.stk-fpill--green.stk-fpill--on{background:#16a34a}
.stk-fpill--warn.stk-fpill--on{background:#d97706}
.stk-fpill--red.stk-fpill--on{background:#dc2626}
/* Table card */
.stk-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden;margin-bottom:14px}
.stk-table-hd{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.stk-table{width:100%;border-collapse:collapse;font-size:13px}
.stk-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.stk-table td{padding:10px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.stk-table tbody tr:hover{background:#fafbfc}
.stk-row--out td{background:#fff8f8!important}.stk-row--low td{background:#fffdf0!important}
.stk-name-cell{display:flex;align-items:center;gap:10px}.stk-name-cell b{font-size:13px;color:#0f172a}
/* Badges */
.stk-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}
.stk-s--ok{background:#f0fdf4;color:#16a34a;border:1px solid #86efac}
.stk-s--low{background:#fffbeb;color:#d97706;border:1px solid #fcd34d}
.stk-s--out{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}
.stk-min-warn{font-size:14px;margin-left:4px;cursor:help}
.stk-muted{color:#94a3b8;font-size:12px}
.stk-value{font-size:12px;font-weight:600;color:#374151}
.stk-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}
.stk-status--active{background:#f0fdf4;color:#16a34a}
.stk-status--draft{background:#f1f5f9;color:#64748b}
.stk-status--archived{background:#fee2e2;color:#dc2626}
/* Mutation form */
.stk-mutform{display:flex;gap:4px;align-items:center}
.stk-delta{width:64px;padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px}
.stk-reason{flex:1;min-width:80px;padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px}
/* Empty state */
.stk-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.stk-empty span{font-size:40px;opacity:.4}
.stk-empty b{font-size:15px;color:#374151}.stk-empty p{font-size:13px;color:#94a3b8;margin:0}
/* Bottom grid */
.stk-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.stk-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px}
.stk-panel-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.stk-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.stk-panel-hd span{font-size:11px;color:#94a3b8}
/* Bulk form */
.stk-bulk-form{width:100%}
.stk-bulk-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.stk-bulk-sel{flex:2;min-width:180px;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:12px}
.stk-bulk-delta{width:80px;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:12px}
.stk-bulk-reason{flex:2;min-width:140px;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:12px}
.stk-hint{font-size:11px;color:#94a3b8;margin:8px 0 0}
/* Reorder list */
.stk-reorder-list{display:flex;flex-direction:column;gap:8px}
.stk-reorder-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:8px}
.stk-reorder-row>span{font-size:16px;flex-shrink:0}
.stk-reorder-row>div{flex:1;min-width:0}.stk-reorder-row>div b{display:block;font-size:12px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Log table */
.stk-log-table{width:100%;border-collapse:collapse;font-size:12px}
.stk-log-table th{padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;border-bottom:1px solid #f0f3f6}
.stk-log-table td{padding:8px 10px;border-bottom:1px solid #f8fafc}
.stk-delta-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}
.stk-delta-badge--pos{background:#f0fdf4;color:#16a34a}
.stk-delta-badge--neg{background:#fef2f2;color:#dc2626}
@media(max-width:1100px){.stk-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.stk-kpis{grid-template-columns:repeat(2,1fr)}.stk-bottom-grid{grid-template-columns:1fr}}
@media(max-width:640px){.stk-hdr{flex-direction:column}.stk-table{font-size:11px}}

/* ─── Warehouses page (whs-*) ─── */
.whs-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.whs-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.whs-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.whs-hdr p{font-size:13px;color:#64748b;margin:0}.whs-hdr-acts{display:flex;gap:8px;flex-shrink:0}
/* KPIs */
.whs-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.whs-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.whs-kpi--green{border-top:3px solid #16a34a}.whs-kpi--green strong{color:#16a34a}
.whs-kpi--blue{border-top:3px solid #1a73e8}.whs-kpi--blue strong{color:#1a73e8}
.whs-kpi--purple{border-top:3px solid #7c3aed}.whs-kpi--purple strong{color:#7c3aed}
.whs-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.whs-kpi strong{font-size:26px;font-weight:900;line-height:1.1}
.whs-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
/* Layout */
.whs-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
/* Warehouse card */
.whs-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:18px;margin-bottom:12px;transition:box-shadow .12s}
.whs-card:hover{box-shadow:0 2px 10px rgba(60,64,67,.10)}
.whs-card--default{border-color:#16a34a;border-width:2px}
.whs-card-hdr{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px}
.whs-card-icon{font-size:28px;flex-shrink:0;line-height:1}
.whs-card-title{flex:1}.whs-card-title b{font-size:15px;font-weight:800;color:#0f172a;display:block;margin-bottom:4px}
.whs-card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.whs-card-stats{display:flex;flex-direction:column;gap:2px;text-align:right;font-size:11px;color:#64748b;flex-shrink:0}
.whs-type-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#f1f5f9;color:#475569}
.whs-type--main{background:#eff6ff;color:#1d4ed8}
.whs-type--dropship{background:#f0fdf4;color:#16a34a}
.whs-type--returns{background:#fef3c7;color:#d97706}
.whs-type--overflow{background:#fdf4ff;color:#7c3aed}
.whs-def-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#f0fdf4;color:#15803d}
.whs-card-addr{font-size:12px;color:#64748b;margin-bottom:8px;padding:8px 10px;background:#f8fafc;border-radius:8px}
.whs-card-contact{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#475569;margin-bottom:10px}
.whs-card-actions{display:flex;gap:6px;flex-wrap:wrap}
/* Empty state */
.whs-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.whs-empty span{font-size:40px;opacity:.4}.whs-empty b{font-size:15px;color:#374151}.whs-empty p{font-size:13px;color:#94a3b8;margin:0}
/* Side panel */
.whs-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.whs-panel-hd{margin-bottom:12px}.whs-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
/* Form */
.whs-form{display:flex;flex-direction:column;gap:10px}
.whs-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151}
.whs-label input,.whs-label select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.whs-label--inline{flex-direction:row;align-items:center;gap:8px}
.whs-submit{margin-top:4px;width:100%}
/* Type list */
.whs-type-list{display:flex;flex-direction:column;gap:6px}
.whs-type-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}
.whs-type-row>span:first-child{font-size:18px;width:24px;flex-shrink:0}
.whs-type-row>span:nth-child(2){flex:1}
.whs-type-count{font-weight:700;color:#0f172a;background:#f1f5f9;padding:2px 8px;border-radius:10px;font-size:12px}
/* Links nav */
.whs-links{display:flex;flex-direction:column;gap:6px}
.whs-links a{display:block;padding:8px 12px;border-radius:8px;font-size:13px;color:#374151;text-decoration:none;transition:background .1s}
.whs-links a:hover{background:#f1f5f9;color:#1a73e8}
@media(max-width:1000px){.whs-layout{grid-template-columns:1fr}.whs-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.whs-kpis{grid-template-columns:repeat(2,1fr)}.whs-hdr{flex-direction:column}}

/* ─── WMS page (wms-*) ─── */
.wms-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.wms-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.wms-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.wms-hdr p{font-size:13px;color:#64748b;margin:0}
.wms-hdr-acts{display:flex;gap:8px;flex-shrink:0}
/* Pipeline */
.wms-pipeline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:18px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:12px 16px}
.wms-stage{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:10px;text-decoration:none;color:#374151;transition:background .12s;min-width:72px;text-align:center}
.wms-stage:hover{background:#f1f5f9}
.wms-stage--on{background:#eef5ff!important;outline:2px solid #1a73e8}
.wms-stage-num{font-size:22px;font-weight:900;line-height:1}
.wms-stage-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.wms-stage--pending .wms-stage-num{color:#94a3b8}
.wms-stage--picking .wms-stage-num{color:#d97706}
.wms-stage--packed  .wms-stage-num{color:#7c3aed}
.wms-stage--shipped .wms-stage-num{color:#16a34a}
.wms-stage--cancelled .wms-stage-num{color:#dc2626}
.wms-stage--all .wms-stage-num{color:#0f172a}
.wms-arrow{font-size:16px;color:#cbd5e1;flex-shrink:0}
/* Layout */
.wms-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
/* Filter */
.wms-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.wms-search{flex:1;min-width:160px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.wms-filter-pills{display:flex;gap:4px;flex-wrap:wrap}
.wms-fpill{padding:5px 11px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.wms-fpill:hover,.wms-fpill--on{background:#1a73e8;color:#fff}
.wms-fpill--pending.wms-fpill--on{background:#94a3b8}
.wms-fpill--picking.wms-fpill--on{background:#d97706}
.wms-fpill--picked.wms-fpill--on{background:#2563eb}
.wms-fpill--packed.wms-fpill--on{background:#7c3aed}
.wms-fpill--shipped.wms-fpill--on{background:#16a34a}
/* Table card */
.wms-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.wms-table-hd{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.wms-tag{background:#eef5ff;color:#1a73e8;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}
.wms-table{width:100%;border-collapse:collapse;font-size:13px}
.wms-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.wms-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.wms-table tbody tr:hover{background:#fafbfc}
.wms-id-link{font-weight:700;color:#1a73e8;text-decoration:none}
.wms-ord-link{color:#374151;text-decoration:none;font-weight:600}.wms-ord-link:hover{color:#1a73e8}
.wms-cust{font-size:12px;color:#64748b;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wms-items-cell{font-size:12px;font-weight:600;color:#374151}
.wms-prog-cell{min-width:100px}
.wms-prog-bar{height:6px;background:#f1f5f9;border-radius:3px;margin-bottom:3px;overflow:hidden}
.wms-prog-fill{height:6px;border-radius:3px;transition:width .3s}
.wms-prog-txt{font-size:10px;color:#94a3b8}
.wms-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid transparent}
.wms-row-acts{display:flex;gap:4px;flex-wrap:wrap}
.wms-muted{font-size:11px;color:#94a3b8}
.wms-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
/* Empty */
.wms-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.wms-empty span{font-size:40px;opacity:.4}.wms-empty b{font-size:15px;color:#374151}.wms-empty p{font-size:13px;color:#94a3b8;margin:0}
/* Side panel */
.wms-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.wms-panel-hd{margin-bottom:12px}.wms-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.wms-hint{font-size:12px;color:#64748b;margin:0 0 10px}
.wms-create-form{display:flex;flex-direction:column;gap:8px}
.wms-order-sel,.wms-order-input{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;width:100%}
.wms-create-btn{width:100%}
.wms-divider{text-align:center;font-size:11px;color:#94a3b8;margin:10px 0;position:relative}
.wms-divider::before,.wms-divider::after{content:'';position:absolute;top:50%;width:35%;height:1px;background:#e8eaed}
.wms-divider::before{left:0}.wms-divider::after{right:0}
/* Legend */
.wms-legend{display:flex;flex-direction:column;gap:8px}
.wms-legend-row{display:flex;align-items:flex-start;gap:10px}
.wms-leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}
.wms-legend-row b{display:block;font-size:12px;font-weight:700;color:#0f172a}
.wms-legend-row span{font-size:11px;color:#64748b}
@media(max-width:1000px){.wms-layout{grid-template-columns:1fr}}
@media(max-width:700px){.wms-hdr{flex-direction:column}.wms-pipeline{gap:4px}.wms-stage{min-width:58px;padding:6px 8px}}

/* ─── Suppliers page (sup-*) ─── */
.sup-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.sup-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.sup-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.sup-hdr p{font-size:13px;color:#64748b;margin:0}
.sup-hdr-acts{display:flex;gap:8px;flex-shrink:0}
/* KPIs */
.sup-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.sup-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.sup-kpi--green{border-top:3px solid #16a34a}.sup-kpi--green strong{color:#16a34a}
.sup-kpi--blue{border-top:3px solid #1a73e8}.sup-kpi--blue strong{color:#1a73e8}
.sup-kpi--warn{border-top:3px solid #d97706}.sup-kpi--warn strong{color:#d97706}
.sup-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.sup-kpi strong{font-size:26px;font-weight:900;line-height:1.1}
.sup-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
/* Layout */
.sup-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
/* Filter */
.sup-filter{display:flex;gap:8px;margin-bottom:12px}
.sup-search{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.sup-count-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;color:#374151}
.sup-tag{background:#eef5ff;color:#1a73e8;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}
/* Supplier card */
.sup-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:10px;transition:box-shadow .12s}
.sup-card:hover{box-shadow:0 2px 10px rgba(60,64,67,.09)}
.sup-card--inactive{opacity:.65}
.sup-card--empty{padding:0}
/* Card header */
.sup-card-hdr{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.sup-card-icon{font-size:26px;flex-shrink:0;line-height:1;margin-top:2px}
.sup-card-info{flex:1}.sup-card-info b{font-size:14px;font-weight:800;color:#0f172a;display:block;margin-bottom:4px}
.sup-card-meta{display:flex;gap:5px;flex-wrap:wrap}
.sup-card-actions{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap}
/* Badges */
.sup-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700}
.sup-badge--active{background:#f0fdf4;color:#16a34a}
.sup-badge--inactive{background:#f1f5f9;color:#64748b}
.sup-badge--po{background:#eff6ff;color:#1d4ed8}
/* Card grid */
.sup-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}
.sup-field{display:flex;flex-direction:column;gap:2px}
.sup-field>span:first-child{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}
.sup-field>span:last-child,.sup-link{font-size:12px;color:#374151}
.sup-link{text-decoration:none;color:#1a73e8}.sup-link:hover{text-decoration:underline}
/* Notes */
.sup-notes{font-size:11px;color:#64748b;background:#f8fafc;border-radius:8px;padding:8px 10px;line-height:1.5}
/* Empty */
.sup-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.sup-empty span{font-size:40px;opacity:.4}.sup-empty b{font-size:15px;color:#374151}.sup-empty p{font-size:13px;color:#94a3b8;margin:0}
.sup-more{text-align:center;font-size:11px;color:#94a3b8;padding:12px 0}
/* Side panel */
.sup-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.sup-panel--alert{border-color:#fcd34d;background:#fffbeb}
.sup-panel-hd{margin-bottom:12px}.sup-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
/* Form */
.sup-form{display:flex;flex-direction:column;gap:10px}
.sup-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151}
.sup-label input,.sup-label textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit}
.sup-label textarea{resize:vertical}
.sup-submit{width:100%;margin-top:4px}
/* Alert rows */
.sup-alert-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #e8eaed;margin-bottom:6px;text-decoration:none;color:#0f172a;transition:box-shadow .12s}
.sup-alert-row:hover{box-shadow:0 1px 6px rgba(60,64,67,.12)}
.sup-alert-row>span:first-child{font-size:20px;flex-shrink:0}
.sup-alert-row>div{flex:1}.sup-alert-row b{display:block;font-size:12px;font-weight:700}.sup-alert-row span:not(.sup-alert-arrow){font-size:11px;color:#64748b}
.sup-alert-arrow{font-size:14px;color:#94a3b8;flex-shrink:0}
@media(max-width:1000px){.sup-layout{grid-template-columns:1fr}.sup-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sup-hdr{flex-direction:column}.sup-card-grid{grid-template-columns:1fr}.sup-filter{flex-direction:column}}

/* ─── Tax page (tax-*) ─── */
.tax-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.tax-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.tax-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.tax-hdr p{font-size:13px;color:#64748b;margin:0}
.tax-hdr-acts{display:flex;gap:8px;flex-shrink:0}
/* KPIs */
.tax-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.tax-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.tax-kpi--blue{border-top:3px solid #1a73e8}.tax-kpi--blue strong{color:#1a73e8}
.tax-kpi--green{border-top:3px solid #16a34a}.tax-kpi--green strong{color:#16a34a}
.tax-kpi--warn{border-top:3px solid #d97706}.tax-kpi--warn strong{color:#d97706}
.tax-kpi--muted{border-top:3px solid #94a3b8}.tax-kpi--muted strong{color:#64748b}
.tax-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.tax-kpi strong{font-size:26px;font-weight:900;line-height:1.1}
.tax-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
/* OSS banner */
.tax-oss-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:14px;font-size:13px;color:#1e40af}
.tax-oss-icon{font-size:22px;flex-shrink:0}
.tax-oss-banner b{color:#1d4ed8}
.tax-oss-banner>div{flex:1}
.tax-oss-hint{padding:10px 14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;font-size:12px;color:#92400e;margin-bottom:14px}
.tax-link{color:#b45309;font-weight:700}
/* Layout */
.tax-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
/* Country block */
.tax-country-block{background:#fff;border:1px solid #e8eaed;border-radius:14px;overflow:hidden;margin-bottom:12px}
.tax-country-hd{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #f0f3f6}
.tax-country-flag{font-size:18px;width:28px;text-align:center}
.tax-country-hd b{font-size:13px;font-weight:800;color:#0f172a;flex:1}
.tax-country-count{font-size:11px;color:#94a3b8}
/* Table */
.tax-table{width:100%;border-collapse:collapse;font-size:13px}
.tax-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;border-bottom:1px solid #f0f3f6}
.tax-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.tax-table tbody tr:last-child td{border-bottom:none}
.tax-row--inactive{opacity:.5}
/* Rate badges */
.tax-rate-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:800}
.tax-rate--standard{background:#eff6ff;color:#1d4ed8}
.tax-rate--reduced{background:#f0fdf4;color:#16a34a}
.tax-rate--super_reduced{background:#f0fdf4;color:#15803d}
.tax-rate--zero{background:#f8fafc;color:#64748b}
.tax-rate--exempt{background:#f1f5f9;color:#64748b}
.tax-muted{font-size:11px;color:#94a3b8}
.tax-yes{color:#16a34a;font-weight:700}
.tax-active-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#f0fdf4;color:#16a34a}
.tax-inactive-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#f1f5f9;color:#64748b}
/* Empty */
.tax-empty-card{background:#fff;border:1px solid #e8eaed;border-radius:14px}
.tax-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.tax-empty span{font-size:40px;opacity:.4}.tax-empty b{font-size:15px;color:#374151}.tax-empty p{font-size:13px;color:#94a3b8;margin:0}
/* Side panel */
.tax-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.tax-panel-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.tax-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.tax-panel-hd span{font-size:11px;color:#94a3b8}
/* Presets */
.tax-presets{display:flex;gap:5px;flex-wrap:wrap}
.tax-preset-btn{padding:5px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:12px;font-weight:700;color:#1d4ed8;cursor:pointer;transition:all .1s}
.tax-preset-btn:hover{background:#dbeafe;border-color:#93c5fd}
/* Form */
.tax-form{display:flex;flex-direction:column;gap:10px}
.tax-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151}
.tax-label input,.tax-label select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.tax-submit{width:100%;margin-top:4px}
@media(max-width:1100px){.tax-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.tax-layout{grid-template-columns:1fr}.tax-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tax-hdr{flex-direction:column}}

/* ─── ERP page (erp-pg-*) ─── */
.erp-pg{max-width:1400px;margin:0 auto;padding:0 0 40px}
.erp-pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.erp-pg-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.erp-pg-hdr p{font-size:13px;color:#64748b;margin:0}
.erp-pg-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.erp-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.erp-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.erp-kpi--green{border-top:3px solid #16a34a}.erp-kpi--green strong{color:#16a34a}
.erp-kpi--blue{border-top:3px solid #1a73e8}.erp-kpi--blue strong{color:#1a73e8}
.erp-kpi--warn{border-top:3px solid #d97706}.erp-kpi--warn strong{color:#d97706}
.erp-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.erp-kpi strong{font-size:24px;font-weight:900;line-height:1.1}
.erp-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
.erp-kpi-link{color:#1a73e8;font-weight:700;font-size:10px;text-decoration:none}
/* Module flags */
.erp-flag-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.erp-flag-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-right:2px;flex-shrink:0}
.erp-flag-btn{padding:5px 11px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;transition:all .12s}
.erp-flag-btn--on{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.erp-flag-btn:hover{background:#e2e8f0}
/* Module nav */
.erp-modnav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.erp-modcard{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px;text-decoration:none;color:#0f172a;transition:box-shadow .12s;position:relative}
.erp-modcard:hover{box-shadow:0 2px 10px rgba(60,64,67,.10);transform:translateY(-1px)}
.erp-modcard>span:first-child{font-size:24px;flex-shrink:0;line-height:1}
.erp-modcard b{display:block;font-size:13px;font-weight:800;color:#0f172a;margin-bottom:2px}
.erp-modcard small{font-size:11px;color:#94a3b8}
.erp-modcard-alert{position:absolute;top:10px;right:10px;background:#fef3c7;color:#d97706;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:800}
.erp-modcard-alert--blue{background:#eff6ff;color:#1d4ed8}
/* Aging strip */
.erp-aging-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:12px 16px;margin-bottom:14px}
.erp-aging-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;flex-shrink:0}
.erp-aging-cell{display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:8px;min-width:90px}
.erp-aging-cell b{font-size:15px;font-weight:800}
.erp-aging-cell span{font-size:10px;color:#64748b;margin-top:1px;text-align:center}
.erp-aging--ok{background:#f0fdf4}.erp-aging--ok b{color:#16a34a}
.erp-aging--warn{background:#fffbeb}.erp-aging--warn b{color:#d97706}
.erp-aging--red{background:#fff7ed}.erp-aging--red b{color:#ea580c}
.erp-aging--crit{background:#fef2f2}.erp-aging--crit b{color:#dc2626}
/* Layout */
.erp-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.erp-section-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.erp-section-hd b{font-size:13px;font-weight:800;color:#0f172a}
/* Connection cards */
.erp-conn-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px;margin-bottom:10px}
.erp-conn-card.erp-conn--ok{border-left:4px solid #16a34a}
.erp-conn-card.erp-conn--warn{border-left:4px solid #d97706}
.erp-conn-card.erp-conn--err{border-left:4px solid #dc2626}
.erp-conn-hdr{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.erp-conn-icon{font-size:24px;flex-shrink:0}
.erp-conn-info{flex:1}.erp-conn-info b{font-size:14px;font-weight:800;color:#0f172a;display:block;margin-bottom:4px}
.erp-conn-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.erp-status-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700}
.erp-status--active{background:#f0fdf4;color:#16a34a}
.erp-status--inactive{background:#f1f5f9;color:#64748b}
.erp-status--ok{background:#f0fdf4;color:#16a34a}
.erp-status--warn{background:#fffbeb;color:#d97706}
.erp-sync-sel{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;margin-right:4px}
.erp-conn-details{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}
.erp-conn-details code{font-size:11px;color:#374151;background:#f8fafc;padding:1px 5px;border-radius:3px}
/* Config card */
.erp-config-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:18px}
.erp-config-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.erp-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151}
.erp-label--full{grid-column:1/-1}
.erp-label input,.erp-label select,.erp-label textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit}
.erp-label textarea{resize:vertical}
.erp-opt{font-weight:400;color:#94a3b8}
.erp-scope-box{grid-column:1/-1;background:#f8fafc;border:1px solid #e8eaed;border-radius:10px;padding:12px}
.erp-scope-lbl{margin:0 0 8px;font-size:11px;font-weight:800;color:#5f6368;text-transform:uppercase;letter-spacing:.04em}
.erp-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.erp-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:#374151;cursor:pointer}
.erp-config-btns{grid-column:1/-1;display:flex;gap:8px}
/* Side panel */
.erp-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.erp-panel-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.erp-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.erp-refresh{font-size:11px;color:#1a73e8;text-decoration:none}
/* Log list */
.erp-log-list{display:flex;flex-direction:column;gap:0}
.erp-log-row{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #f0f3f6}
.erp-log-row:last-child{border-bottom:none}
.erp-log-row.erp-log--err{background:#fff8f8;border-radius:6px;padding:8px}
.erp-log-ev{font-size:11px;color:#374151;background:#f1f5f9;padding:1px 6px;border-radius:3px;display:inline-block;margin-bottom:1px}
.erp-log-detail{font-size:11px;color:#64748b}
.erp-log-ts{font-size:10px;color:#94a3b8}
.erp-muted{font-size:12px;color:#94a3b8}
@media(max-width:1200px){.erp-modnav{grid-template-columns:repeat(3,1fr)}.erp-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.erp-layout{grid-template-columns:1fr}.erp-modnav{grid-template-columns:repeat(2,1fr)}.erp-kpis{grid-template-columns:repeat(2,1fr)}.erp-config-form{grid-template-columns:1fr}}
@media(max-width:600px){.erp-pg-hdr{flex-direction:column}.erp-modnav{grid-template-columns:1fr}}

/* ─── Ledger page (ldg-*) ─── */
.ldg-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.ldg-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.ldg-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.ldg-hdr p{font-size:13px;color:#64748b;margin:0}
.ldg-hdr-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.ldg-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.ldg-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.ldg-kpi--green{border-top:3px solid #16a34a}.ldg-kpi--green strong{color:#16a34a}
.ldg-kpi--warn{border-top:3px solid #d97706}.ldg-kpi--warn strong{color:#d97706}
.ldg-kpi--blue{border-top:3px solid #1a73e8}.ldg-kpi--blue strong{color:#1a73e8}
.ldg-kpi--muted{border-top:3px solid #94a3b8}.ldg-kpi--muted strong{color:#94a3b8}
.ldg-kpi span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.ldg-kpi strong{font-size:24px;font-weight:900;line-height:1.1}
.ldg-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
/* Layout */
.ldg-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}
/* Card */
.ldg-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.ldg-card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #f0f3f6;flex-wrap:wrap}
.ldg-card-hd b{font-size:14px;font-weight:800;color:#0f172a}
.ldg-default-tag{font-size:10px;color:#94a3b8;background:#f8fafc;padding:2px 8px;border-radius:10px}
/* Account groups */
.ldg-acct-group{padding:12px 18px;border-bottom:1px solid #f8fafc}
.ldg-acct-group:last-child{border-bottom:none}
.ldg-acct-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
/* Tables */
.ldg-table{width:100%;border-collapse:collapse;font-size:13px}
.ldg-table th{padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;border-bottom:1px solid #f0f3f6}
.ldg-table td{padding:8px 10px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.ldg-table tbody tr:last-child td{border-bottom:none}
.ldg-table tbody tr:hover{background:#fafbfc}
.ldg-je-table .ldg-table th,.ldg-je-table .ldg-table td{padding:8px 12px}
.ldg-code{font-size:11px;font-weight:800;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#374151}
.ldg-muted{font-size:11px;color:#94a3b8}
.ldg-nowrap{white-space:nowrap}
.ldg-desc{font-size:12px;color:#374151}
.ldg-amount{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap}
/* Balance colors */
.ldg-bal{font-size:12px;font-weight:700;text-align:right}
.ldg-bal--pos{color:#16a34a}.ldg-bal--neg{color:#dc2626}.ldg-bal--zero{color:#94a3b8}
/* Status badges */
.ldg-status-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700}
.ldg-status--geboekt{background:#f0fdf4;color:#16a34a}
.ldg-status--concept{background:#fffbeb;color:#d97706}
.ldg-row--concept td{background:#fffdf5!important}
/* JE filters */
.ldg-je-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ldg-filter-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ldg-search{padding:6px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:12px;min-width:180px}
.ldg-filter-pills{display:flex;gap:4px}
.ldg-fpill{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.ldg-fpill:hover,.ldg-fpill--on{background:#1a73e8;color:#fff}
.ldg-fpill--ok.ldg-fpill--on{background:#16a34a}
.ldg-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
/* Empty */
.ldg-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}
.ldg-empty span{font-size:36px;opacity:.4}.ldg-empty b{font-size:14px;color:#374151}.ldg-empty p{font-size:12px;color:#94a3b8;margin:0}
/* Side panel */
.ldg-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.ldg-panel-hd{margin-bottom:12px}.ldg-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.ldg-form{display:flex;flex-direction:column;gap:9px}
.ldg-label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#374151}
.ldg-label input,.ldg-label select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.ldg-submit{margin-top:4px;width:100%}
.ldg-hint{font-size:11px;color:#64748b;margin:0 0 10px;padding:8px 10px;background:#f8fafc;border-radius:8px}
@media(max-width:1100px){.ldg-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ldg-layout{grid-template-columns:1fr}.ldg-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ldg-hdr{flex-direction:column}.ldg-filter-form{flex-direction:column;align-items:flex-start}}

/* ─── Payables page (pay-*) ─── */
.pay-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.pay-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.pay-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.pay-hdr p{font-size:13px;color:#64748b;margin:0}
.pay-hdr-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.pay-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.pay-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.pay-kpi span{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.pay-kpi strong{font-size:20px;font-weight:900;line-height:1.1}
.pay-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
.pay-kpi--warn{border-top:3px solid #d97706}.pay-kpi--warn strong{color:#d97706}
.pay-kpi--ok{border-top:3px solid #16a34a}.pay-kpi--ok strong{color:#16a34a}
.pay-kpi--l30{border-top:3px solid #f59e0b}.pay-kpi--l30 strong{color:#d97706}
.pay-kpi--l60{border-top:3px solid #ea580c}.pay-kpi--l60 strong{color:#ea580c}
.pay-kpi--crit{border-top:3px solid #dc2626}.pay-kpi--crit strong{color:#dc2626}
.pay-kpi--paid{border-top:3px solid #1a73e8}.pay-kpi--paid strong{color:#1a73e8}
/* Alert */
.pay-alert{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin-bottom:14px;font-size:13px;color:#991b1b;flex-wrap:wrap}
.pay-alert-link{color:#dc2626;font-weight:700;margin-left:4px;text-decoration:none}
/* Layout */
.pay-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
/* Filter */
.pay-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pay-search{flex:1;min-width:180px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.pay-filter-pills{display:flex;gap:4px;flex-wrap:wrap}
.pay-fpill{padding:5px 11px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.pay-fpill:hover,.pay-fpill--on{background:#1a73e8;color:#fff}
.pay-fpill--overdue.pay-fpill--on{background:#dc2626}
.pay-fpill--betaald.pay-fpill--on{background:#16a34a}
.pay-fpill--goedgekeurd.pay-fpill--on{background:#2563eb}
/* Table card */
.pay-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.pay-table-hd{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.pay-tag{padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700;border:1px solid transparent}
.pay-table{width:100%;border-collapse:collapse;font-size:13px}
.pay-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.pay-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.pay-table tbody tr:hover{background:#fafbfc}
.pay-row--overdue td{background:#fff8f8!important}
.pay-inv-code{font-size:11px;font-weight:800;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#374151}
.pay-sup-name{font-size:12px;font-weight:600;color:#374151;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pay-amount{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap}
.pay-muted{font-size:11px;color:#94a3b8;white-space:nowrap}
.pay-due{font-size:12px;color:#374151;white-space:nowrap}
.pay-due--late{color:#dc2626;font-weight:700}
.pay-days-badge{background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;margin-left:4px}
.pay-status-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}
.pay-pay-form{display:flex;gap:4px;align-items:center}
.pay-date-input{padding:4px 7px;border:1px solid #d1d5db;border-radius:6px;font-size:11px;width:108px}
.pay-paid-on{font-size:11px;color:#16a34a;font-weight:600}
.pay-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
/* Empty */
.pay-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}
.pay-empty span{font-size:36px;opacity:.4}.pay-empty b{font-size:14px;color:#374151}.pay-empty p{font-size:12px;color:#94a3b8;margin:0}
/* Side panel */
.pay-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.pay-panel-hd{margin-bottom:12px}.pay-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.pay-form{display:flex;flex-direction:column;gap:9px}
.pay-label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#374151}
.pay-label input,.pay-label select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.pay-submit{width:100%;margin-top:4px}
@media(max-width:1200px){.pay-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pay-layout{grid-template-columns:1fr}.pay-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pay-hdr{flex-direction:column}.pay-table{font-size:11px}}

/* ─── Purchase orders page (po-pg-*) ─── */
.po-pg{max-width:1400px;margin:0 auto;padding:0 0 40px}
.po-pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.po-pg-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.po-pg-hdr p{font-size:13px;color:#64748b;margin:0}
.po-pg-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.po-pg-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.po-pg-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.po-pg-kpi span{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.po-pg-kpi strong{font-size:20px;font-weight:900;line-height:1.1}
.po-pg-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
.po-pg-kpi--muted{border-top:3px solid #94a3b8}.po-pg-kpi--muted strong{color:#64748b}
.po-pg-kpi--blue{border-top:3px solid #2563eb}.po-pg-kpi--blue strong{color:#2563eb}
.po-pg-kpi--green{border-top:3px solid #16a34a}.po-pg-kpi--green strong{color:#16a34a}
.po-pg-kpi--purple{border-top:3px solid #7c3aed}.po-pg-kpi--purple strong{color:#7c3aed}
.po-pg-kpi--warn{border-top:3px solid #d97706}.po-pg-kpi--warn strong{color:#d97706}
.po-pg-kpi--total{border-top:3px solid #1a73e8}.po-pg-kpi--total strong{color:#1a73e8}
/* Pipeline */
.po-pg-pipeline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e8eaed;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.po-pg-stage{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 14px;border-radius:10px;border:2px solid #e8eaed;background:#fff;text-decoration:none;transition:all .12s;min-width:80px;cursor:pointer}
.po-pg-stage:hover{border-color:#1a73e8;background:#eff6ff}
.po-pg-stage--on{font-weight:700}
.po-pg-stage--cancelled{border-style:dashed;opacity:.7}
.po-pg-stage-count{font-size:18px;font-weight:900;color:#0f172a;line-height:1}
.po-pg-stage-lbl{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.po-pg-arrow{color:#d1d5db;font-size:14px;padding:0 2px}
.po-pg-clear{margin-left:8px;font-size:11px;color:#dc2626;text-decoration:none;font-weight:700;padding:4px 8px;border-radius:6px;background:#fee2e2}
/* Layout */
.po-pg-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
/* Filter */
.po-pg-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.po-pg-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
/* Table */
.po-pg-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.po-pg-table-hd{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.po-pg-badge{padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700}
.po-pg-table{width:100%;border-collapse:collapse;font-size:13px}
.po-pg-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.po-pg-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.po-pg-table tbody tr:hover{background:#fafbfc}
.po-pg-row--late td{background:#fff8f8!important}
.po-pg-po-code{font-size:11px;font-weight:800;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#374151}
.po-pg-sup{font-size:12px;font-weight:600;color:#374151;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.po-pg-amount{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap}
.po-pg-muted{font-size:11px;color:#94a3b8;white-space:nowrap}
.po-pg-expected{font-size:12px;color:#374151;white-space:nowrap}
.po-pg-expected--late{color:#dc2626;font-weight:700}
.po-pg-late-badge{background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;margin-left:4px}
.po-pg-status-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}
.po-pg-upd-form{display:inline-flex}
.po-pg-done{font-size:11px;color:#16a34a;font-weight:600}
.po-pg-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
/* Empty */
.po-pg-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}
.po-pg-empty span{font-size:36px;opacity:.4}.po-pg-empty b{font-size:14px;color:#374151}.po-pg-empty p{font-size:12px;color:#94a3b8;margin:0}
/* Side panel */
.po-pg-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.po-pg-panel-hd{margin-bottom:12px}.po-pg-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.po-pg-form{display:flex;flex-direction:column;gap:9px}
.po-pg-label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#374151}
.po-pg-label input,.po-pg-label select,.po-pg-label textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.po-pg-hint{font-size:10px;font-weight:400;color:#94a3b8}
.po-pg-check{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151;cursor:pointer}
.po-pg-submit{width:100%;margin-top:4px}
/* Legenda */
.po-pg-legenda{display:flex;flex-direction:column;gap:7px}
.po-pg-leg-row{display:flex;align-items:center;gap:8px;font-size:12px}
.po-pg-leg-row b{color:#374151;min-width:80px}
.po-pg-leg-row span{color:#64748b;font-size:11px}
.po-pg-leg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
@media(max-width:1200px){.po-pg-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.po-pg-layout{grid-template-columns:1fr}.po-pg-kpis{grid-template-columns:repeat(2,1fr)}.po-pg-pipeline{gap:4px}}
@media(max-width:600px){.po-pg-hdr{flex-direction:column}.po-pg-table{font-size:11px}.po-pg-kpis{grid-template-columns:repeat(2,1fr)}}

/* ─── Receivables / AR page (ar-*) ─── */
.ar-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.ar-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.ar-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}.ar-hdr p{font-size:13px;color:#64748b;margin:0}
.ar-hdr-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
/* KPIs */
.ar-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.ar-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ar-kpi span{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.ar-kpi strong{font-size:20px;font-weight:900;line-height:1.1}
.ar-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
.ar-kpi--warn{border-top:3px solid #d97706}.ar-kpi--warn strong{color:#d97706}
.ar-kpi--ok{border-top:3px solid #16a34a}.ar-kpi--ok strong{color:#16a34a}
.ar-kpi--l14{border-top:3px solid #f59e0b}.ar-kpi--l14 strong{color:#d97706}
.ar-kpi--l30{border-top:3px solid #ea580c}.ar-kpi--l30 strong{color:#ea580c}
.ar-kpi--crit{border-top:3px solid #dc2626}.ar-kpi--crit strong{color:#dc2626}
.ar-kpi--paid{border-top:3px solid #1a73e8}.ar-kpi--paid strong{color:#1a73e8}
/* Alert */
.ar-alert{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin-bottom:10px;font-size:13px;color:#991b1b;flex-wrap:wrap}
.ar-alert-link{color:#dc2626;font-weight:700;margin-left:4px;text-decoration:none}
/* Aging bar */
.ar-aging-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;margin-bottom:4px;gap:1px}
.ar-aging-seg{height:100%;border-radius:2px;transition:width .3s}
.ar-aging-seg--ok{background:#16a34a}
.ar-aging-seg--l14{background:#f59e0b}
.ar-aging-seg--l30{background:#ea580c}
.ar-aging-seg--crit{background:#dc2626}
.ar-aging-legend{display:flex;gap:12px;font-size:11px;color:#64748b;margin-bottom:14px;align-items:center;flex-wrap:wrap}
.ar-al-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
/* Layout */
.ar-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
/* Filter */
.ar-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ar-search{flex:1;min-width:180px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.ar-filter-pills{display:flex;gap:4px;flex-wrap:wrap}
.ar-fpill{padding:5px 11px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.ar-fpill:hover,.ar-fpill--on{background:#1a73e8;color:#fff}
.ar-fpill--overdue.ar-fpill--on{background:#dc2626}
.ar-fpill--paid.ar-fpill--on{background:#16a34a}
/* Table card */
.ar-table-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.ar-table-hd{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.ar-tag{padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700}
.ar-table{width:100%;border-collapse:collapse;font-size:13px}
.ar-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.ar-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.ar-table tbody tr:hover{background:#fafbfc}
.ar-row--overdue td{background:#fff8f8!important}
.ar-inv-code{font-size:11px;font-weight:800;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#374151}
.ar-order-link{font-weight:800;color:#1a73e8;text-decoration:none;font-size:13px}
.ar-customer{max-width:160px}
.ar-cust-name{font-size:12px;font-weight:600;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ar-cust-email{font-size:10px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ar-amount{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap}
.ar-muted{font-size:11px;color:#94a3b8;white-space:nowrap}
.ar-due{font-size:12px;color:#374151;white-space:nowrap}
.ar-due--late{color:#dc2626;font-weight:700}
.ar-days-badge{background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;margin-left:4px}
.ar-status-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid transparent;white-space:nowrap}
.ar-actions{display:flex;gap:4px;align-items:center}
.ar-btn-remind{background:#fef3c7;color:#d97706;border-color:#fde68a}
.ar-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
/* Empty */
.ar-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}
.ar-empty span{font-size:36px;opacity:.4}.ar-empty b{font-size:14px;color:#374151}.ar-empty p{font-size:12px;color:#94a3b8;margin:0}
/* Side panel */
.ar-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.ar-panel-hd{margin-bottom:10px}.ar-panel-hd b{font-size:13px;font-weight:800;color:#0f172a}
.ar-hint{font-size:11px;color:#64748b;margin:0 0 10px}
.ar-form{display:flex;flex-direction:column;gap:9px}
.ar-label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#374151}
.ar-label input,.ar-label select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.ar-submit{width:100%;margin-top:4px}
/* Stat list */
.ar-stat-list{display:flex;flex-direction:column;gap:8px}
.ar-stat-row{display:flex;align-items:center;gap:8px;font-size:13px}
.ar-stat-row span:not(.ar-stat-dot){flex:1;color:#374151}
.ar-stat-row b{font-weight:800;color:#0f172a}
.ar-stat-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
@media(max-width:1200px){.ar-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ar-layout{grid-template-columns:1fr}.ar-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ar-hdr{flex-direction:column}.ar-table{font-size:11px}}

/* ─── Shared admin page base (adm-*) ─── */
.adm-page{max-width:1400px;margin:0 auto;padding:0 0 40px}
.adm-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.adm-hdr h1{font-size:24px;font-weight:900;color:#0f172a;margin:0 0 4px}
.adm-hdr p{font-size:13px;color:#64748b;margin:0}
.adm-hdr-acts{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.adm-kpi{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.adm-kpi span{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.adm-kpi strong{font-size:20px;font-weight:900;line-height:1.1;color:#0f172a}
.adm-kpi em{font-size:10px;color:#94a3b8;font-style:normal}
.adm-kpi--blue{border-top:3px solid #1a73e8}.adm-kpi--blue strong{color:#1a73e8}
.adm-kpi--green{border-top:3px solid #16a34a}.adm-kpi--green strong{color:#16a34a}
.adm-kpi--warn{border-top:3px solid #d97706}.adm-kpi--warn strong{color:#d97706}
.adm-kpi--red{border-top:3px solid #dc2626}.adm-kpi--red strong{color:#dc2626}
.adm-kpi--purple{border-top:3px solid #7c3aed}.adm-kpi--purple strong{color:#7c3aed}
.adm-kpi--muted{border-top:3px solid #94a3b8}.adm-kpi--muted strong{color:#64748b}
.adm-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
.adm-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden;margin-bottom:12px}
.adm-card-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px;border-bottom:1px solid #f0f3f6;font-size:13px;font-weight:700;color:#374151}
.adm-panel{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.adm-panel-hd{margin-bottom:11px;font-size:13px;font-weight:800;color:#0f172a}
.adm-table{width:100%;border-collapse:collapse;font-size:13px}
.adm-table th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f0f3f6;white-space:nowrap}
.adm-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;vertical-align:middle}
.adm-table tbody tr:hover{background:#fafbfc}
.adm-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.adm-search{flex:1;min-width:180px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}
.adm-pills{display:flex;gap:4px;flex-wrap:wrap}
.adm-pill{padding:5px 11px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;background:#f1f5f9;color:#475569;transition:all .12s}
.adm-pill:hover,.adm-pill--on{background:#1a73e8;color:#fff}
.adm-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid transparent}
.adm-form{display:flex;flex-direction:column;gap:9px}
.adm-label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#374151}
.adm-label input,.adm-label select,.adm-label textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;width:100%;box-sizing:border-box}
.adm-hint{font-size:11px;color:#64748b;margin:0 0 8px}
.adm-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}
.adm-empty span{font-size:36px;opacity:.4}.adm-empty b{font-size:14px;color:#374151}.adm-empty p{font-size:12px;color:#94a3b8;margin:0}
.adm-more{padding:10px 18px;font-size:11px;color:#94a3b8;text-align:center;border-top:1px solid #f0f3f6}
.adm-muted{font-size:11px;color:#94a3b8}
.adm-code{font-size:11px;font-weight:800;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#374151}
.adm-alert{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin-bottom:12px;font-size:13px;color:#991b1b}
.adm-alert--blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.adm-alert--green{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.adm-alert--warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
@media(max-width:900px){.adm-layout{grid-template-columns:1fr}}
@media(max-width:600px){.adm-hdr{flex-direction:column}}

/* ── adm-* extended utilities ──────────────────────────────── */
.adm-2col{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
@media(max-width:900px){.adm-2col{grid-template-columns:1fr}}
.adm-months-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:16px 0}
.adm-month-col{display:flex;flex-direction:column;align-items:center;gap:4px}
.adm-month-bar-wrap{height:80px;display:flex;align-items:flex-end;width:100%}
.adm-month-bar{width:100%;background:var(--acc,#2563eb);border-radius:4px 4px 0 0;min-height:4px;transition:height .3s}
.adm-month-lbl{font-size:10px;color:#64748b;text-align:center}
.adm-month-rev{font-size:11px;font-weight:600;color:#1e293b;text-align:center}
.adm-month-cnt{font-size:10px;color:#94a3b8;text-align:center}
.adm-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:12px}
.adm-app-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px}
.adm-app-hd{display:flex;justify-content:space-between;align-items:center}
.adm-app-desc{font-size:12px;color:#64748b;margin:0;flex:1}
.adm-app-meta{display:flex;gap:8px;align-items:center}
.adm-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:8px 0}
.adm-quick-card{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:14px;text-align:center;text-decoration:none;color:#1e293b;display:flex;flex-direction:column;gap:4px;transition:background .15s}
.adm-quick-card:hover{background:#e2e8f0}
.adm-quick-card span{font-size:22px}
.adm-quick-card b{font-size:12px}
.adm-quick-card small{font-size:10px;color:#94a3b8}
.adm-notif-list{display:flex;flex-direction:column;gap:0}
.adm-notif{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f5f9}
.adm-notif--read{opacity:.65}
.adm-notif-icon{font-size:18px;flex-shrink:0;margin-top:2px}
.adm-notif-body{flex:1;min-width:0}
.adm-notif-body b{display:block;font-size:13px;margin-bottom:2px}
.adm-notif-body p{font-size:12px;color:#64748b;margin:0 0 4px}
.adm-mini-bar{height:3px;background:#e2e8f0;border-radius:2px;margin-top:4px;overflow:hidden}
.adm-mini-bar div{height:100%;background:#2563eb;border-radius:2px}
.adm-code-block{background:#1e293b;color:#e2e8f0;border-radius:6px;padding:12px;font-size:11px;font-family:monospace;overflow-x:auto;word-break:break-all}
.adm-row--warn td{background:#fef3c710}
.adm-tr{text-align:right}
.adm-tr-bold td{font-weight:700;border-top:2px solid #e2e8f0}
.text-red{color:#dc2626}
.text-purple{color:#7c3aed}
.adm-kpi--red{border-color:#fca5a5;background:#fef2f2}
.adm-kpi--red strong{color:#dc2626}
.adm-kpi--purple{border-color:#d8b4fe;background:#faf5ff}
.adm-kpi--purple strong{color:#7c3aed}
.adm-badge--warn{background:#fef3c7;color:#d97706;border:1px solid #fde68a}
.adm-hint{font-size:12px;color:#64748b;margin:0 0 12px}
.adm-check{flex-direction:row!important;align-items:center;gap:8px;cursor:pointer}
.adm-check input[type=checkbox]{margin:0;width:14px;height:14px}


/* ═══════════════════════════════════════════════════════════════
   SUPERADMIN SP-* STYLES — compact110
   ═══════════════════════════════════════════════════════════════ */

/* Base page */
.sp-page{max-width:1400px;margin:0 auto;padding:0 0 48px}

/* Header */
.sp-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 0 20px;flex-wrap:wrap}
.sp-hdr h1{margin:4px 0 6px;font-size:22px;font-weight:700;color:#0f172a}
.sp-hdr p{margin:0;font-size:13px;color:#64748b;max-width:560px}
.sp-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7c3aed}
.sp-hdr-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start;padding-top:4px}

/* KPI strip */
.sp-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.sp-kpi{flex:1;min-width:120px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.sp-kpi span{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.sp-kpi strong{font-size:22px;font-weight:700;color:#0f172a;line-height:1.1}
.sp-kpi em{font-size:11px;font-style:normal;color:#94a3b8}
.sp-kpi-link{color:#7c3aed;text-decoration:none;font-size:11px}
.sp-kpi-link:hover{text-decoration:underline}
.sp-kpi--blue{border-top:3px solid #2563eb}
.sp-kpi--blue strong{color:#2563eb}
.sp-kpi--green{border-top:3px solid #16a34a}
.sp-kpi--green strong{color:#16a34a}
.sp-kpi--purple{border-top:3px solid #7c3aed}
.sp-kpi--purple strong{color:#7c3aed}
.sp-kpi--red{border-top:3px solid #dc2626}
.sp-kpi--red strong{color:#dc2626}
.sp-kpi--warn{border-top:3px solid #d97706}
.sp-kpi--warn strong{color:#d97706}
.sp-kpi--muted{border-top:3px solid #e2e8f0}

/* Layout grid */
.sp-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
@media(max-width:900px){.sp-layout{grid-template-columns:1fr}}

/* Cards */
.sp-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:14px}
.sp-card-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#fafafa;font-size:13px}
.sp-card-hd b{font-weight:600;color:#0f172a}

/* Sidebar panels */
.sp-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.sp-panel--purple{border-left:4px solid #7c3aed;background:linear-gradient(90deg,#faf5ff 0%,#fff 100%)}
.sp-panel-hd{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:10px}

/* Table */
.sp-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sp-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.sp-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}
.sp-table tr:last-child td{border-bottom:none}
.sp-table tr:hover td{background:#fafafa}

/* Badges */
.sp-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;border:1px solid transparent}
.sp-badge--green{background:#dcfce7;color:#16a34a;border-color:#bbf7d0}
.sp-badge--red{background:#fee2e2;color:#dc2626;border-color:#fecaca}
.sp-badge--warn{background:#fef3c7;color:#d97706;border-color:#fde68a}
.sp-badge--blue{background:#dbeafe;color:#2563eb;border-color:#bfdbfe}
.sp-badge--purple{background:#ede9fe;color:#7c3aed;border-color:#ddd6fe}
.sp-badge--gray{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}
.sp-badge--critical{background:#7f1d1d;color:#fff;border-color:#991b1b}

/* Forms */
.sp-form{display:flex;flex-direction:column;gap:10px}
.sp-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:#374151}
.sp-label input,.sp-label select,.sp-label textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;background:#fff;transition:border .15s}
.sp-label input:focus,.sp-label select:focus,.sp-label textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe}
.sp-form-submit{margin-top:4px}
.sp-form-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7c3aed;padding-top:4px;border-top:1px solid #f1f5f9}
.sp-check{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151;cursor:pointer}
.sp-check input{accent-color:#7c3aed;width:14px;height:14px}
.sp-select-sm{padding:4px 6px;font-size:12px;border:1px solid #d1d5db;border-radius:4px}

/* Alerts */
.sp-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px}
.sp-alert--green{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
.sp-alert--red{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
.sp-alert--warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.sp-alert--blue{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}

/* Filter / search */
.sp-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}
.sp-search{flex:1;min-width:200px;padding:7px 11px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}
.sp-filter-pills{display:flex;gap:6px;flex-wrap:wrap}
.sp-pill{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569;text-decoration:none;border:1px solid transparent;transition:all .12s}
.sp-pill:hover{background:#e2e8f0}
.sp-pill--on{background:#ede9fe;color:#7c3aed;border-color:#c4b5fd}
.sp-pill--red{color:#dc2626}
.sp-pill--red.sp-pill--on{background:#fee2e2;border-color:#fca5a5}

/* Nav links */
.sp-nav-links{display:flex;flex-direction:column;gap:4px}
.sp-nav-links a{display:block;padding:5px 8px;border-radius:6px;font-size:12.5px;color:#374151;text-decoration:none;transition:background .1s}
.sp-nav-links a:hover{background:#f1f5f9;color:#7c3aed}

/* Misc */
.sp-empty{text-align:center;padding:32px 16px;color:#64748b}
.sp-empty span{display:block;font-size:32px;margin-bottom:8px}
.sp-empty b{display:block;font-size:14px;color:#374151;margin-bottom:4px}
.sp-empty p{margin:0;font-size:12px}
.sp-more{padding:8px 16px;font-size:12px;color:#94a3b8;text-align:center;border-top:1px solid #f1f5f9}
.sp-more-row{padding:10px 16px;text-align:right;font-size:12px}
.sp-more-row a{color:#7c3aed;text-decoration:none;font-weight:500}
.sp-muted{color:#94a3b8;font-size:12px}
.sp-code{font-family:ui-monospace,monospace;font-size:11.5px;background:#f8fafc;padding:1px 5px;border-radius:3px;border:1px solid #e2e8f0;color:#334155}

/* Health grid */
.sp-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:16px}
.sp-health-card{padding:10px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff}
.sp-health-card--ok{border-left:3px solid #16a34a}
.sp-health-card--warn{border-left:3px solid #d97706}
.sp-health-card--error{border-left:3px solid #dc2626}
.sp-health-name{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:3px}
.sp-health-status{font-size:11px;color:#64748b}
.sp-health-card--ok .sp-health-status{color:#16a34a}
.sp-health-card--error .sp-health-status{color:#dc2626}

/* Search bar (super_search) */
.sp-search-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px}
.sp-search-form{display:flex;flex-direction:column;gap:12px}
.sp-search-wrap{display:flex;align-items:center;gap:8px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:4px 4px 4px 14px;transition:border .15s}
.sp-search-wrap:focus-within{border-color:#7c3aed;background:#faf5ff}
.sp-search-icon{font-size:16px;flex-shrink:0}
.sp-search-input{flex:1;border:none;background:transparent;font-size:15px;padding:8px 4px;outline:none;color:#0f172a}
.sp-search-btn{border-radius:6px}
.sp-search-scopes{display:flex;gap:16px;flex-wrap:wrap}
.sp-scope-opt{display:flex;align-items:center;gap:5px;font-size:12px;color:#374151;cursor:pointer}
.sp-scope-opt input{accent-color:#7c3aed}

/* Provision steps */
.sp-provision-steps{display:flex;align-items:center;gap:0;margin-bottom:20px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #f1f5f9}
.sp-provision-step{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8;padding:0 12px;position:relative}
.sp-provision-step:not(:last-child)::after{content:'→';position:absolute;right:-4px;color:#cbd5e1}
.sp-provision-step--active{color:#7c3aed;font-weight:600}
.sp-step-num{width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.sp-provision-step--active .sp-step-num{background:#7c3aed;color:#fff}

/* Stat list */
.sp-stat-list{display:flex;flex-direction:column;gap:6px}
.sp-stat-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;padding:4px 0;border-bottom:1px solid #f1f5f9}
.sp-stat-row:last-child{border-bottom:none}

/* ─── Navigation & Widgets pages (adm-* extensions) ─── */
.adm-inline-form{display:inline}
.adm-badge--green{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}
.adm-badge--muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}

/* ─── "Nieuw vandaag" badge (aangemaakt < 24 uur geleden) ─── */
.badge-nieuw{display:inline-block;padding:1px 7px;border-radius:999px;background:#dcfce7;color:#15803d;border:1px solid #86efac;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;margin-left:5px;white-space:nowrap}

/* ─────────────────────────────────────────────────────────────────────────────────────────────
   TABELLEN DIE BREDER ZIJN DAN HUN KADER — 2026-08-02

   Gemeten aanleiding: op /admin/customers is de tabel 823px breed in een ouder van 334px, en
   document.scrollWidth blijft op 420. Zes van de negen kolommen (Rol, Status, Orders, Omzet,
   Lid sinds, acties) zijn daardoor op een telefoon niet alleen onzichtbaar maar ONBEREIKBAAR —
   er valt niet naartoe te scrollen. Op /admin/ai geldt hetzelfde voor Detail, Tokens en Tijdstip.
   Dat is geen opmaakkwestie maar dataverlies: het scherm toont minder dan het zelf heeft gerenderd.

   WAAROM VIJF NAMEN IN EEN SELECTOR STAAN. In de sjablonen zijn vijf verschillende
   wrapper-classes bedacht — adm-table-container (16 sjablonen), table-responsive (11),
   adm-table-wrapper (8), adm-table-responsive (8), wsapp-scroll (2). Geteld op 2026-08-02 had
   GEEN ENKELE daarvan ook maar één CSS-regel achter zich. Vijf keer heeft iemand de container in
   de HTML gezet, de naam de belofte laten doen, en de CSS nooit geschreven. Ze staan hier alle
   vijf omdat de sjablonen hernoemen 45 bestanden raakt zonder dat er iets aan verbetert; de
   belofte inlossen kost één regel. Nieuwe schermen: gebruik .adm-table-responsive.

   overflow-x en niet overflow: alleen horizontaal schuiven. overflow:hidden is precies wat de
   kolommen hierboven wegknipte.
   ───────────────────────────────────────────────────────────────────────────────────────────── */
.adm-table-responsive,
.adm-table-container,
.adm-table-wrapper,
.table-responsive,
.wsapp-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Een klas voor de tabellen ZONDER wrapper — 351 van de 599 (geteld 2026-08-02), waarvan er 242
   in een <div> zonder class zitten (228 met alleen een inline style). Die zijn met geen enkele
   selector te vangen zonder ook alles te raken waar het niet nodig is.

   Hier stond eerst een :has()-regel op .card/.adm-section. Die dekte 189 van de 599 en was op twee
   manieren mis: hij liet 59% liggen, én hij maakte óók een schuifcontainer van kaders waar de tabel
   prima paste. Dat laatste is niet gratis: overflow-x:auto zet overflow-y impliciet ook op auto, dus
   elk uitklapmenu binnen zo'n kader kan ingesloten raken. Verbreden naar div:has(> table) zou dat
   risico van 189 naar 599 gevallen vergroten om een probleem op te lossen dat maar in een handvol
   daarvan bestaat.

   CSS kan niet weten of een tabel breder is dan zijn ouder; de browser wel. Daarom zet het script
   onderaan templates/layout_admin.php deze class alleen op ouders waar dat GEMETEN het geval is,
   en haalt hem er bij een schermdraai weer af. Zo raakt hij per definitie niets wat niet al kapot
   was. Deze class hoort dus bij dat script en wordt verder nergens met de hand gezet. */
.wsio-schuifbaar{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
