:root{
  --bg:#f3f5f7;--panel:#fff;--ink:#17202a;--muted:#66717e;--line:#dfe4e8;
  --accent:#172b3a;--accent-2:#285570;--danger:#a23a3a;--warn:#8a6419;--ok:#2d6545;
  --radius:12px;--shadow:0 8px 24px rgba(23,32,42,.08);--tap:44px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;background:var(--bg);font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.55rem,4vw,2rem);margin-bottom:0}h2{font-size:1.1rem}h3{font-size:.95rem}.muted{color:var(--muted)}small{display:block;color:var(--muted);font-size:.78rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:.25rem}
.app-shell{min-height:100dvh}.topbar{position:sticky;top:0;z-index:40;height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 14px;gap:12px}.brand{font-size:1.05rem;letter-spacing:.02em}.brand strong{font-weight:800}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.84rem}.topbar-user span{display:none}.topbar-user a{color:var(--muted)}.sidebar{position:fixed;z-index:35;inset:58px auto 0 0;width:min(82vw,280px);background:#132532;color:#dce5eb;transform:translateX(-105%);transition:.18s ease;box-shadow:var(--shadow);overflow:auto}.sidebar.open{transform:none}.sidebar nav{padding:14px}.nav-link{display:block;padding:12px 14px;border-radius:9px;color:#cbd6dc;margin-bottom:2px}.nav-link.active,.nav-link:hover{background:#233e50;color:#fff}.content{padding:18px 14px 60px;max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-only{display:inline-flex}.icon-btn{border:0;background:transparent;min-width:var(--tap);min-height:var(--tap);align-items:center;justify-content:center;font-size:1.4rem;border-radius:8px}.icon-btn:hover{background:#eef2f4}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 2px 8px rgba(23,32,42,.03);margin-bottom:14px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.btn{border:1px solid transparent;border-radius:9px;min-height:var(--tap);padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:650;background:#eef2f4;color:var(--ink)}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:#fff;border-color:var(--line)}.btn.danger{background:#fff0f0;border-color:#e6c5c5;color:var(--danger)}.btn.compact{min-height:34px;padding:5px 9px;font-size:.8rem}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.inline-actions,.action-row,.card-actions{display:flex;flex-wrap:wrap;gap:6px}.action-row{margin-top:16px}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.filters.open{display:grid}.filters .search-field{grid-column:1/-1}label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:650;color:#3d4954}input,select,textarea{width:100%;border:1px solid #cfd7dd;background:#fff;border-radius:8px;padding:10px 11px;min-height:var(--tap);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#5c8198;box-shadow:0 0 0 3px rgba(66,112,140,.12)}input[readonly]{background:#f4f6f7;color:#68727b}.desktop-table-wrap{display:none}.mobile-cards{display:grid;gap:10px}.job-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}.job-card h2{margin:.15rem 0 .3rem}.job-card p{margin-bottom:10px}.card-link{display:block}.card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.8rem;margin:8px 0}.card-actions{margin-top:12px}.card-actions .btn{flex:1 1 auto}.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#edf1f3;color:#40505b}.status-pre_production{background:#eef0f4;color:#465166}.status-production{background:#e7f0f5;color:#285570}.status-revision{background:#fff1da;color:#7b5511}.status-waiting_approval{background:#eee8f7;color:#5f4384}.status-waiting_next_action{background:#f4eddf;color:#6b593a}.status-complete{background:#e5f1e8;color:#2d6545}.status-canceled{background:#f3e5e5;color:#813b3b}.empty-state{background:#fff;border:1px dashed #c9d1d7;border-radius:var(--radius);padding:30px;text-align:center;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}.kpi span{display:block;color:var(--muted);font-size:.78rem}.kpi strong{font-size:1.9rem;line-height:1.1}.kpi.warn{border-color:#e3d7b8}.kpi small{margin-top:5px}.detail-grid{display:grid;grid-template-columns:1fr;gap:0}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:18px 0}.detail-list div{border-top:1px solid var(--line);padding-top:8px}.detail-list dt{color:var(--muted);font-size:.75rem}.detail-list dd{margin:2px 0 0;font-weight:650}.text-block{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.stack-list{display:grid}.stack-row,.simple-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.stack-row:last-child,.simple-row:last-child{border-bottom:0}.right{text-align:right}.responsive-simple-list{display:grid}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:12px;position:relative}.timeline-item time{font-size:.75rem;color:var(--muted)}.timeline-item p{margin:.2rem 0 0;color:var(--muted)}
.modal{border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:#fff}.modal::backdrop{background:rgba(15,25,32,.45)}.modal-card{min-height:100%;display:flex;flex-direction:column}.modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;z-index:2}.modal-head h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:16px;flex:1;overflow:auto}.span-2{grid-column:1/-1}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.service-editor{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid var(--line);background:#fafbfb;border-radius:10px;padding:10px;margin-bottom:8px}.service-editor .service-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-remove{justify-self:end}.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 14px;display:flex;justify-content:flex-end;gap:8px}.confirm-dialog{border:0;border-radius:14px;padding:0;max-width:420px;width:calc(100% - 28px);box-shadow:var(--shadow)}.confirm-dialog::backdrop{background:rgba(15,25,32,.45)}.confirm-inner{padding:18px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.check-row{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500;margin-top:12px}.check-row input{width:auto;min-height:auto}
.toast-host{position:fixed;z-index:100;right:14px;bottom:14px;display:grid;gap:8px;max-width:min(420px,calc(100vw - 28px))}.toast{background:#162833;color:#fff;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow)}.toast.error{background:#8c3535}.alert{background:#eef3f6;border-radius:8px;padding:10px;margin-bottom:12px}.alert.danger{background:#faeaea;color:#7d3030}.auth-body{min-height:100dvh;display:grid;place-items:center;padding:18px;background:#edf1f3}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow);display:grid;gap:14px}.auth-brand{font-size:1.15rem}.auth-card h1{font-size:1.6rem}.muted-link{text-align:center;color:var(--muted);font-size:.85rem}
@media (min-width:720px){.topbar-user span{display:inline}.content{padding:24px 24px 70px}.filters{grid-template-columns:2fr repeat(4,minmax(140px,1fr)) auto}.filters,.filters.open{display:grid}.filters .search-field{grid-column:auto}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modal{width:min(820px,calc(100% - 40px));height:auto;max-height:90dvh;border-radius:14px}.modal-card{min-height:0;max-height:90dvh}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-editor{grid-template-columns:minmax(220px,2fr) minmax(300px,1fr) auto;align-items:end}.service-editor .service-meta{grid-template-columns:repeat(3,minmax(90px,1fr))}.detail-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:980px){.topbar{padding-left:22px}.mobile-only{display:none!important}.sidebar{transform:none;width:220px;box-shadow:none}.content{margin-left:220px;padding:26px 28px 80px}.desktop-table-wrap{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.mobile-cards{display:none}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.data-table th{position:sticky;top:58px;background:#f8fafb;z-index:2;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:10px;border-bottom:1px solid #edf0f2;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table td small{margin-top:3px}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px}.detail-grid .span-2{grid-column:1/-1}.panel{padding:18px}.sidebar nav{padding:16px 12px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.delivery-list{display:grid;gap:8px}.delivery-row{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:10px}.delivery-metrics{display:flex;flex-wrap:wrap;gap:6px}.delivery-metrics span{background:#eef2f4;border-radius:999px;padding:4px 8px;font-size:.72rem}.danger-text{color:var(--danger)!important;background:#fff0f0!important}.delivery-body{padding:16px;overflow:auto;display:grid;gap:15px;flex:1}.delivery-body fieldset{border:1px solid var(--line);border-radius:10px;padding:12px}.delivery-body legend{font-size:.78rem;font-weight:800;color:var(--muted);padding:0 5px}.radio-row{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:36px}.radio-row input,.recipient-grid input{width:auto;min-height:auto}.recipient-grid{display:grid;gap:6px}.recipient-grid .check-row{margin:0;align-items:flex-start}.upload-progress{height:8px;background:#e7ecef;border-radius:99px;overflow:hidden;margin-top:8px}.upload-progress-bar{width:0;height:100%;background:var(--accent-2);transition:width .1s linear}.upload-status{font-size:.8rem;margin-top:6px}.delivery-fields{padding:0}.stepper{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center}.auto-send-box{background:#edf4f7;border:1px solid #d8e5eb;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:.82rem}.auto-send-box.disabled{background:#f5f3ef;border-color:#e5dfd3}.delivery-upload-zone[hidden],.auto-send-box[hidden]{display:none!important}@media(min-width:720px){.delivery-row{grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) auto;align-items:center}.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Billing */
.billing-kpis{margin-bottom:12px}.billing-table td:first-child,.billing-table th:first-child{width:42px;text-align:center}.billing-table input[type=checkbox]{width:auto;min-height:auto}.billing-status-waiting_po{background:#fff1da;color:#7b5511}.billing-status-invoice_pending{background:#e7f0f5;color:#285570}.billing-status-invoice_issued{background:#eee8f7;color:#5f4384}.billing-status-invoice_sent{background:#edf0f4;color:#45556a}.billing-status-paid{background:#e5f1e8;color:#2d6545}.billing-card{display:grid;gap:8px}.billing-money{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.billing-mobile-select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0;flex:1}.invoice-row p{margin:.3rem 0 0;color:var(--muted);font-size:.82rem}.invoice-row .right{min-width:150px}.billing-cards .status-pill{justify-self:start}@media(max-width:719px){.invoice-row{align-items:flex-start}.invoice-row .right{min-width:auto}.billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reports + System Automation */
.report-filters{margin-bottom:12px}.report-client-filter{grid-template-columns:minmax(220px,420px) auto;margin-bottom:14px}.report-client-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:8px}.report-client-heading small{color:var(--muted)}.report-table{min-width:920px}.automation-grid{display:grid;gap:12px}.automation-card{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px;background:#fff}.automation-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.automation-card h3{margin:.15rem 0 0}.automation-schedule{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.mini-stats div{background:#f7f9fa;border-radius:8px;padding:8px}.mini-stats dt{font-size:.7rem;text-transform:uppercase;color:var(--muted);font-weight:800}.mini-stats dd{margin:3px 0 0;font-size:.84rem}.automation-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}@media(min-width:980px){.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters{grid-template-columns:repeat(4,minmax(140px,1fr)) auto}.report-client-filter{display:grid}}

/* Management / edit surfaces */
.assignment-editor{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;background:#fafbfb}.client-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tiny-radio{width:auto!important;min-height:auto!important;margin-left:auto}.complexity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.complexity-card{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:8px}.complexity-card legend{font-weight:800;color:var(--muted)}
@media(max-width:719px){.assignment-editor{grid-template-columns:1fr}.client-link-grid,.complexity-grid{grid-template-columns:1fr}.assignment-editor .btn{justify-self:stretch}}
