:root{
  --accent:#5b4b8a;
  --accent-strong:#483970;
  --accent-soft:#f0edf8;
  --blue:#2563a6;
  --blue-soft:#edf5fc;
  --success:#287a55;
  --success-soft:#eaf6ef;
  --warning:#9a6a14;
  --warning-soft:#fff7e6;
  --danger:#b54747;
  --danger-soft:#fdf0f0;
  --ink:#20242a;
  --ink-soft:#4f5965;
  --muted:#7a8491;
  --border:#dfe3e8;
  --border-soft:#edf0f2;
  --bg:#f5f6f8;
  --surface:#fff;
  --surface-alt:#fafbfc;
  --sidebar:#252330;
  --sidebar-muted:#aaa7b5;
  --shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.05);
  --shadow-float:0 14px 44px rgba(20,24,34,.14);
  --radius:10px;
  --radius-lg:14px;
  --navy:var(--accent-strong);
  --navy-2:var(--accent);
  --teal:#3b7f87;
  --green:var(--success);
  --red:var(--danger);
  --gold:#b78a2b;
  --line:var(--border);
  --card:var(--surface);
}

/* V3.58 executive reporting center */
.executive-report{display:grid;gap:18px}.executive-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.executive-report-kpis article{position:relative;overflow:hidden;min-height:118px;padding:18px;border:1px solid #dce5ef;border-radius:18px;background:linear-gradient(145deg,#fff,#f6f9fc);box-shadow:0 8px 24px rgba(18,52,82,.06)}.executive-report-kpis article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#c99a45,#1b789d)}.executive-report-kpis span,.executive-report-kpis small{display:block;color:#64748b}.executive-report-kpis strong{display:block;margin:10px 0 6px;color:#123452;font-size:1.55rem}.report-validation{display:inline-flex;margin-top:8px;padding:6px 10px;border-radius:999px;background:#e9f8ef;color:#167348;font-size:.78rem;font-weight:800}.report-validation.invalid{background:#fff0ee;color:#b42318}.report-module{break-inside:avoid}.report-distribution{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.report-distribution span{padding:6px 9px;border:1px solid #dce5ef;border-radius:999px;background:#f8fafc;color:#334155;font-size:.75rem;font-weight:700}.report-two-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.report-footer{display:flex;justify-content:space-between;padding:14px 4px;border-top:1px solid #dce5ef;color:#64748b;font-size:.78rem}
@media(max-width:1100px){.executive-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-two-columns{grid-template-columns:1fr}}
@media(max-width:650px){.executive-report-kpis{grid-template-columns:1fr}.report-filters{width:100%}.report-filters label{flex:1}}

@media print{
  @page{size:A4 landscape;margin:9mm}
  body.printing-executive-report{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-executive-report>*:not(.app-shell){display:none!important}
  body.printing-executive-report .app-sidebar,body.printing-executive-report .topbar,body.printing-executive-report .report-hero,body.printing-executive-report .toast,body.printing-executive-report dialog{display:none!important}
  body.printing-executive-report .app-shell,body.printing-executive-report .app-main,body.printing-executive-report .content,body.printing-executive-report #view-reports,body.printing-executive-report #printArea{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
  body.printing-executive-report .view:not(#view-reports){display:none!important}
  body.printing-executive-report .report-title{padding:12px 16px;background:#123452!important;color:#fff!important;border-radius:10px}
  body.printing-executive-report .report-title *{color:#fff!important}
  body.printing-executive-report .executive-report-kpis{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
  body.printing-executive-report .executive-report-kpis article{min-height:0;padding:9px;border-radius:8px;box-shadow:none}
  body.printing-executive-report .executive-report-kpis strong{font-size:14px;margin:4px 0}
  body.printing-executive-report .executive-report-kpis span,body.printing-executive-report .executive-report-kpis small{font-size:8px}
  body.printing-executive-report .panel{box-shadow:none!important;border:1px solid #ccd7e4!important;border-radius:8px!important;margin:0 0 8px!important;padding:8px!important;break-inside:avoid}
  body.printing-executive-report .panel-head{margin-bottom:5px}body.printing-executive-report .panel-head h3{font-size:12px;margin:0}
  body.printing-executive-report table{font-size:7px}body.printing-executive-report th{background:#17365d!important;color:#fff!important;padding:5px}body.printing-executive-report td{padding:4px}
  body.printing-executive-report thead{display:table-header-group}.report-two-columns{grid-template-columns:1.35fr .65fr;gap:8px}.report-footer{font-size:7px}
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}
.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--sidebar);color:#fff;border-left:1px solid rgba(255,255,255,.04);overflow:auto;padding:0 12px 14px;z-index:30}
.brand{height:76px;display:flex;align-items:center;gap:11px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}
.brand-mark{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#7464a4,var(--accent));box-shadow:0 5px 14px rgba(0,0,0,.18);font-size:19px;font-weight:800;color:#fff}
.brand strong,.brand span{display:block}.brand strong{font-size:15px;font-weight:800}.brand span{margin-top:2px;font-size:11px;color:#a9a6b4;letter-spacing:.015em;font-weight:600}
.sidebar nav{display:flex;flex-direction:column;gap:3px;padding-top:13px}
.nav-section-label{padding:14px 13px 5px;color:#898594;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nav-item{position:relative;width:100%;border:0;background:transparent;color:#c9c6d1;border-radius:7px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:right;cursor:pointer;font-size:13px;font-weight:700;transition:background .15s,color .15s}
.nav-item span{width:21px;text-align:center;font-size:16px;color:#aaa6b7}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item:hover span{color:#fff}.nav-item.active{background:#fff;color:#373143;box-shadow:0 4px 14px rgba(0,0,0,.16)}.nav-item.active span{color:var(--accent)}.nav-item.active:before{content:"";position:absolute;right:-12px;width:3px;height:23px;border-radius:0 4px 4px 0;background:#9d8ed0}
.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.035)}
.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:10px}.sidebar-foot small{font-size:9px;margin-top:2px;color:#8c8997}.live-dot{width:8px;height:8px;border-radius:50%;background:#51b87c;box-shadow:0 0 0 4px rgba(81,184,124,.12)}
.workspace{width:100%;min-width:0;max-width:none;margin:0;padding:0 28px 24px}
.topbar{height:76px;margin:0 -28px 22px;padding:0 28px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}
.topbar-title{min-width:0}.eyebrow{margin:0 0 3px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.025em}.breadcrumb-sep{color:#adb4bd;margin:0 4px}.topbar h1{margin:0;font-size:24px;line-height:1.3;font-weight:800;color:#1f2933}.subtitle{margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.icon-button,.avatar{width:36px;height:36px;border-radius:7px;display:grid;place-items:center}.icon-button{border:1px solid var(--border);background:#fff;color:#4d5661;cursor:pointer;font-size:17px}.icon-button:hover{background:#f7f7f9;border-color:#c8cdd4}.avatar{background:var(--accent);color:#fff;font-weight:700;font-size:13px}.bot-pill{height:36px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:#fff;display:flex;align-items:center;gap:7px;color:#525b66;font-size:10px}.bot-pill span{width:7px;height:7px;border-radius:50%;background:#a4abb3}.bot-pill.online span{background:#35a66a;box-shadow:0 0 0 3px rgba(53,166,106,.12)}.bot-pill.offline span{background:var(--danger)}
.view{display:none}.view.active{display:block}.hidden{display:none!important}
.hero-panel,.crm-hero,.recruitment-hero{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:none;position:relative;overflow:hidden}
.hero-panel:before,.crm-hero:before,.recruitment-hero:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--accent)}
.hero-panel:after{display:none}.hero-panel h2,.crm-hero h2,.recruitment-hero h2{margin:2px 0 5px;font-size:23px;font-weight:800;color:var(--ink)}.hero-panel p,.crm-hero p,.recruitment-hero p{margin:0;color:var(--muted);font-size:12px;font-weight:600}.hero-kicker{color:var(--accent);font-weight:800;font-size:10px;letter-spacing:.06em}.hero-score,.crm-hero-badge,.recruitment-hero-badge{min-width:130px;padding:12px 18px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--ink);text-align:center}.hero-score strong,.hero-score span,.crm-hero-badge strong,.crm-hero-badge span,.recruitment-hero-badge strong,.recruitment-hero-badge span{display:block}.hero-score strong,.crm-hero-badge strong,.recruitment-hero-badge strong{font-size:25px;line-height:1.1;color:var(--accent);font-weight:700}.hero-score span,.crm-hero-badge span,.recruitment-hero-badge span{margin-top:4px;font-size:9px;color:var(--muted);opacity:1}
.kpi-grid,.customer-kpis,.mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.kpi-card,.customer-kpis article,.mini-kpis article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px 15px;box-shadow:none;min-width:0}.kpi-card{display:flex;align-items:center;gap:11px}.kpi-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-size:16px;font-weight:800;flex:0 0 auto}.kpi-icon.teal{background:#eaf5f4;color:#397f7a}.kpi-icon.gold{background:#fff5df;color:#9b741e}.kpi-icon.blue{background:var(--blue-soft);color:var(--blue)}.kpi-icon.green{background:var(--success-soft);color:var(--success)}.kpi-card span,.kpi-card strong,.kpi-card small,.customer-kpis span,.customer-kpis strong,.customer-kpis small,.mini-kpis span,.mini-kpis strong{display:block}.kpi-card span,.customer-kpis span,.mini-kpis span{color:#5f6975;font-size:11px;font-weight:700}.kpi-card strong,.customer-kpis strong,.mini-kpis strong{color:#222833;font-size:24px;line-height:1.2;margin:3px 0;font-weight:800}.kpi-card small,.customer-kpis small{color:#9aa2ab;font-size:8px}.customer-kpis article{background:linear-gradient(180deg,#fff,#fcfcfd)}
.content-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-bottom:12px}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:none;margin-bottom:12px}.panel:hover{border-color:#d4d8de}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.panel h2,.panel h3{margin:0;color:#242a32;font-weight:800}.panel h2{font-size:20px}.panel h3{font-size:17px}.panel-head small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.period-chip{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fafbfc;color:#7d8792;font-size:8px}.text-button{border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:700;cursor:pointer;padding:4px}.text-button:hover{text-decoration:underline}
.stage-list{display:grid;gap:10px}.stage-row{display:grid;grid-template-columns:120px 1fr 35px;gap:10px;align-items:center;font-size:10px}.stage-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5f6975}.stage-track{height:6px;background:#eef0f3;border-radius:10px;overflow:hidden}.stage-bar{height:100%;border-radius:10px;background:var(--accent);min-width:4px}.stage-value{text-align:left;font-weight:700;color:#4c5560}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid button{min-height:76px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:11px 12px;text-align:right;color:var(--ink);cursor:pointer;transition:.15s}.quick-grid button:hover{background:#faf9fc;border-color:#cfc9df;box-shadow:0 3px 10px rgba(44,35,63,.06)}.quick-grid span{display:block;color:var(--accent);font-size:16px}.quick-grid b,.quick-grid small{display:block}.quick-grid b{margin:4px 0 2px;font-size:10px}.quick-grid small{font-size:8px;color:var(--muted)}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--border-soft);border-radius:7px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}th,td{padding:11px 12px;text-align:right;border-bottom:1px solid var(--border-soft);font-size:12px;font-weight:600;vertical-align:middle}th{position:sticky;top:0;z-index:2;background:#f7f8fa;color:#4f5965;font-size:11px;font-weight:800;white-space:nowrap;border-bottom-color:#dfe3e8}tbody tr:nth-child(even){background:#fcfcfd}tbody tr:hover{background:#f7f5fb}tbody tr:last-child td{border-bottom:0}td strong{color:#252b33}.money{font-weight:700;font-variant-numeric:tabular-nums}
.status-badge,.customer-status,.recruitment-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:5px;font-size:8px;font-weight:700;white-space:nowrap;border:1px solid transparent}.status-approved,.customer-status.active,.recruitment-completed,.recruitment-arrived,.recruitment-handed_over{background:var(--success-soft);color:var(--success);border-color:#d5eadf}.status-pending,.recruitment-waiting_mediation{background:var(--warning-soft);color:var(--warning);border-color:#f0dfb7}.status-rejected,.recruitment-cancelled,.recruitment-refunded{background:var(--danger-soft);color:var(--danger);border-color:#efd5d5}.customer-status.inactive{background:#f1f3f5;color:#6d7782}.recruitment-mediation_issued{background:var(--blue-soft);color:var(--blue)}.recruitment-invoiced,.recruitment-paid,.recruitment-partially_paid{background:var(--accent-soft);color:var(--accent)}
.section-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-actions>div{display:flex;gap:7px;align-items:center}.segmented{display:flex;background:#eceef1;border-radius:7px;padding:3px}.segmented button{border:0;background:transparent;border-radius:5px;padding:7px 13px;color:#68727e;font-size:10px;font-weight:600;cursor:pointer}.segmented button.active{background:#fff;color:#2e3440;box-shadow:0 1px 3px rgba(16,24,40,.08)}
 .button{min-height:34px;border:1px solid transparent;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:650;cursor:pointer;transition:.15s}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{background:#fff;border-color:#cfd4da;color:#3f4853}.button.secondary:hover,.button.ghost:hover{background:#f6f7f8}.button.success{background:var(--success);border-color:var(--success);color:#fff}.button.danger{background:#fff;border-color:#e1baba;color:var(--danger)}.button.small{min-height:27px;padding:4px 8px;font-size:8px}.button+ .button{margin-right:4px}.button.ghost{background:#fff;border:1px solid var(--border);color:#4a5561}.action-cell{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:170px}
.filters,.report-filters,.compact-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.filters input,.filters select,.compact-actions input[type="search"],.report-filters input,input[type="search"],input[type="text"],input[type="date"],input[type="number"],input[type="tel"],select,textarea{height:34px;border:1px solid #cfd4da;border-radius:6px;background:#fff;color:#333b45;padding:0 11px;outline:none;font-size:12px;font-weight:600;transition:border-color .15s,box-shadow .15s}.filters input:focus,.filters select:focus,input:focus,select:focus,textarea:focus{border-color:#8c7db7;box-shadow:0 0 0 3px rgba(91,75,138,.1)}.filters input::placeholder,input::placeholder{color:#a0a7af}.filters input{min-width:190px}.filters select{min-width:128px}.compact-actions input[type="search"]{min-width:240px}.cv-ai-status{display:inline-flex;align-items:center;min-height:34px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:#fafbfc;color:#737d88;font-size:9px;white-space:nowrap}.cv-ai-status.ready{color:var(--success);background:var(--success-soft);border-color:#d4eadd;font-weight:700}.cv-mode{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:8px;font-weight:700}.low-confidence{font-weight:700;color:var(--warning)}
.worker-filter-area{display:grid;gap:8px;justify-items:end}.worker-quick-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.worker-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#5b6672;padding:6px 9px;font-size:9px;font-weight:650;cursor:pointer}.worker-filter-chip b{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:4px;background:#f0f2f4;color:#55616d;font-size:8px}.worker-filter-chip:hover{background:#f8f8fa}.worker-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.worker-filter-chip.active b{background:rgba(255,255,255,.18);color:#fff}.worker-filter-chip.due-soon.active{background:var(--warning);border-color:var(--warning)}
.rental-alerts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.rental-alert-card{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border);background:#fff;border-radius:8px}.rental-alert-card>span{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;font-size:14px;font-weight:800;background:#f1f3f5;color:#66717d}.rental-alert-card div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 9px;flex:1}.rental-alert-card b{font-size:10px}.rental-alert-card strong{font-size:19px;justify-self:end}.rental-alert-card small{grid-column:1/-1;color:#818b96;font-size:8px}.rental-alert-card.today{border-color:#e9d9ae;background:#fffdf7}.rental-alert-card.today>span{background:#fff2cc;color:#886315}.rental-alert-card.overdue{background:#fff}.rental-alert-card.overdue.has-overdue{border-color:#ebc5c5;background:#fff8f8}.rental-alert-card.overdue.has-overdue>span{background:#f9dddd;color:#a13d3d}
.worker-return,.contract-return{white-space:nowrap;font-weight:700;color:#66717c}.worker-return.due-soon,.contract-return.due-soon{color:var(--warning);background:#fffaf0}.worker-return.overdue,.contract-return.overdue{color:var(--danger);background:#fff5f5}.returned-meta{display:grid;gap:1px;white-space:nowrap}.returned-meta b{font-size:9px}.returned-meta small{font-size:8px;color:#818b95}
.recruitment-panel{min-height:460px}.recruitment-panel-head,.customers-panel-head,.workers-panel-head{align-items:flex-start}.recruitment-filters{max-width:920px}.recruitment-filters input{min-width:245px}.recruitment-table{min-width:1600px}.crm-panel{min-height:410px}.crm-filters{min-width:420px}.crm-customers-table{min-width:1120px}.rental-customers-table{min-width:1030px}.workers-table{min-width:1900px}.employee-messages-table{min-width:920px}.cv-preview-table{min-width:1150px}.cv-preview-table input,.cv-preview-table select{min-width:120px;width:100%;height:32px}.cv-preview-table td:first-child{min-width:175px}.customer-subline{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cards-grid>*{border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.big-status{display:flex;align-items:center;gap:10px;margin:18px 0}.big-status>span{width:12px;height:12px;border-radius:50%;background:#a7afb7}.big-status strong,.big-status small{display:block}.big-status small{color:var(--muted);font-size:9px}.control-actions{display:flex;gap:7px;flex-wrap:wrap}.help-text{color:var(--muted);font-size:9px}.check-list{padding:0;margin:14px 0 0;list-style:none;display:grid;gap:9px}.check-list li:before{content:"✓";color:var(--success);font-weight:800;margin-left:7px}
.report-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.report-filters label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:8px}.report-title{display:flex;justify-content:space-between;align-items:flex-end;margin:18px 0 12px}.report-title span{color:var(--accent);font-size:9px;font-weight:700}.report-title h2{margin:2px 0 0;font-size:20px}.report-title p{margin:0;color:var(--muted);font-size:9px}
.modal{width:min(760px,calc(100vw - 32px));max-height:88vh;border:0;border-radius:12px;padding:0;box-shadow:var(--shadow-float);color:var(--ink);overflow:auto}.modal::backdrop{background:rgba(24,27,35,.48);backdrop-filter:blur(1px)}.modal form{padding:20px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--border-soft)}.modal-head h2{margin:0;font-size:21px;font-weight:800}.modal-close{width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#5f6873;cursor:pointer;font-size:18px}.modal-summary{margin:13px 0;padding:10px 12px;border-radius:7px;background:#f8f7fb;border:1px solid #e4e0ee;font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#4d5763}.field textarea{height:auto;min-height:76px;padding-top:8px;resize:vertical}.form-error{min-height:16px;color:var(--danger);font-size:9px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:13px;border-top:1px solid var(--border-soft)}
.skeleton{height:9px;width:45%;border-radius:5px;background:linear-gradient(90deg,#eef0f2,#f8f9fa,#eef0f2);background-size:200% 100%;animation:shimmer 1.2s infinite}.skeleton.wide{width:90%}.skeleton.medium{width:65%}@keyframes shimmer{to{background-position:-200% 0}}.toast{position:fixed;left:22px;bottom:22px;z-index:100;background:#2b2832;color:#fff;padding:10px 13px;border-radius:7px;font-size:10px;box-shadow:var(--shadow-float);opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}footer{padding:10px 2px 0;color:#959da6;font-size:8px;display:flex;justify-content:space-between}
@media(max-width:1180px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:0 8px 12px}.brand{justify-content:center;padding:0}.brand>div:last-child,.nav-section-label,.nav-item{font-size:0}.nav-item{justify-content:center;padding:10px}.nav-item span{font-size:17px}.nav-item.active:before{right:-8px}.sidebar-foot{display:none}.kpi-grid,.customer-kpis,.mini-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;height:58px;z-index:50;padding:5px 8px;background:#282631;overflow:hidden}.brand,.sidebar-foot,.nav-section-label{display:none}.sidebar nav{padding:0;display:flex;flex-direction:row;overflow-x:auto;gap:4px}.nav-item{min-width:46px;width:46px;height:46px;border-radius:7px}.nav-item.active:before{right:0;left:0;bottom:-5px;top:auto;width:auto;height:2px}.workspace{padding:0 12px 72px}.topbar{height:66px;margin:0 -12px 16px;padding:0 12px}.topbar h1{font-size:17px}.subtitle{display:none}.bot-pill{display:none}.hero-panel,.crm-hero,.recruitment-hero{padding:15px;align-items:flex-start}.hero-score,.crm-hero-badge,.recruitment-hero-badge{min-width:90px;padding:8px 10px}.hero-score strong,.crm-hero-badge strong,.recruitment-hero-badge strong{font-size:20px}.kpi-grid,.customer-kpis,.mini-kpis{grid-template-columns:1fr 1fr;gap:7px}.kpi-card,.customer-kpis article,.mini-kpis article{padding:11px}.kpi-card{display:block}.kpi-icon{margin-bottom:7px}.section-actions,.panel-head,.report-hero{align-items:stretch;flex-direction:column}.section-actions>div,.filters,.compact-actions,.report-filters{width:100%;justify-content:flex-start}.filters input,.filters select,.compact-actions input[type="search"]{min-width:0;flex:1}.worker-filter-area{width:100%;justify-items:stretch}.worker-quick-filters{justify-content:flex-start}.quick-grid{grid-template-columns:1fr}.rental-alerts{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal form{padding:15px}footer{display:block;line-height:1.9}}
@media print{body{background:#fff}.sidebar,.topbar,footer,.toast,.report-hero,.report-filters,.view:not(#view-reports){display:none!important}.app-shell{display:block}.workspace{padding:0;max-width:none}.view#view-reports{display:block!important}.print-area{display:block}.panel{box-shadow:none;border-color:#d5d5d5;break-inside:avoid}.report-title{border-bottom:2px solid #333}.mini-kpis article{break-inside:avoid}table{min-width:0}th,td{font-size:8px;padding:7px} .button{display:none}}


/* ENTERPRISE TYPOGRAPHY V2 — clearer Arabic-first typography */
body,button,input,select,textarea,table{font-family:Tahoma,"Segoe UI",Arial,sans-serif}
button,.button,.text-button{font-weight:800}
.panel-head small,.help-text,.customer-subline,.returned-meta small,.kpi-card small,.customer-kpis small{font-size:10px;font-weight:600}
.status-badge,.customer-status,.recruitment-status,.cv-ai-status,.cv-mode,.worker-filter-chip{font-size:10px;font-weight:800}
.quick-grid b{font-size:12px;font-weight:800}.quick-grid small{font-size:10px;font-weight:600}
.stage-row{font-size:11px;font-weight:600}.stage-name{font-weight:700}.stage-value{font-weight:800}
.modal-summary,.form-error{font-size:11px;font-weight:600}
.report-title span{font-size:10px;font-weight:800}.report-title h2{font-size:23px;font-weight:800}.report-title p{font-size:11px;font-weight:600}
footer{font-size:9px;font-weight:600}

/* V3.9 enterprise accounting refinements */
.statement-head{align-items:flex-end}.statement-controls{padding:18px 20px;margin-bottom:16px}.statement-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(135px,1fr)) auto;gap:12px;align-items:end}.statement-filter-grid label{display:grid;gap:7px;font-weight:750;font-size:11px;color:#43536a}.statement-filter-grid input,.statement-filter-grid select{min-height:44px;border:1px solid #d8e2ec;border-radius:10px;background:#fff;padding:0 12px;color:#1d2b3d}.statement-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.statement-summary article{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:18px 20px;box-shadow:0 8px 28px rgba(23,43,67,.05)}.statement-summary small{display:block;color:#718096;font-weight:700;margin-bottom:8px}.statement-summary strong{font-size:23px;color:#16263b}.statement-summary em{display:block;margin-top:5px;font-style:normal;color:#66758a;font-size:10px}.statement-card{overflow:hidden}.statement-customer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e4ebf2;background:linear-gradient(180deg,#fff,#fbfdff)}.statement-customer-head h3{margin:4px 0;font-size:19px}.statement-customer-head small{color:#6e7c8d}.statement-table{min-width:1120px}.statement-table th{background:#f5f8fb;color:#506077}.statement-table td{vertical-align:middle}.statement-table .amount-cell{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.mono-account{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;color:#0d6fa6}.coa-table tbody tr:hover{background:#f7fbfe}.coa-table td:nth-child(2){font-weight:750}.coa-table td:nth-child(6){color:#52647a}.modal[data-variant="coa-enterprise"] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal[data-variant="coa-enterprise"] .modal-summary{background:#eef7fc;border:1px solid #cae4f2;color:#31566d}.modal[data-variant="coa-enterprise"] select,.modal[data-variant="coa-enterprise"] input{border-radius:11px;min-height:47px}
@media(max-width:1050px){.statement-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statement-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.statement-filter-grid,.statement-summary{grid-template-columns:1fr}.statement-customer-head{align-items:flex-start;flex-direction:column}}
@media print{.sidebar,.topbar,.statement-controls,.statement-head .control-chip,.statement-customer-head .button{display:none!important}#view-customer-ledger{display:block!important}.workspace{margin:0!important}.statement-card,.statement-summary article{box-shadow:none!important;border-color:#bbb!important}}

/* V3.11 Accounting ledger + payroll interaction */
.coa-clickable{cursor:pointer;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.coa-clickable:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(15,23,42,.06)}
.ledger-modal{width:min(1280px,94vw);max-width:1280px}.ledger-modal form{min-height:620px}.ledger-scope{margin:.35rem 0 0;color:var(--muted,#64748b)}.ledger-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 24px}.ledger-kpis article{border:1px solid #dbe5ef;border-radius:16px;padding:16px;background:#f8fbff}.ledger-kpis span{display:block;color:#64748b;font-size:.82rem}.ledger-kpis strong{display:block;margin-top:5px;font-size:1.35rem}.ledger-table-wrap{margin:0 24px;max-height:430px;border:1px solid #dbe5ef;border-radius:16px}.ledger-table-wrap table{min-width:1000px}
@media(max-width:760px){.ledger-kpis{grid-template-columns:1fr}.ledger-modal{width:98vw}}


/* v3.13 CFO accounting presentation */
.executive-coa tbody tr{transition:background .18s ease,border-color .18s ease}.executive-coa tbody tr:hover{background:#f5f8fc}.coa-account-cell{min-width:360px}.coa-tree-node{display:flex;align-items:center;gap:10px;padding-inline-start:calc(var(--coa-depth,0)*24px)}.coa-tree-toggle{width:30px;height:30px;border:1px solid #ccd6e3;border-radius:8px;background:white;font-size:20px;cursor:pointer;transition:transform .2s ease,background .2s ease}.coa-tree-toggle:hover{background:#eef4fb}.coa-tree-spacer{display:inline-block;width:30px}.coa-account-title{display:flex;flex-direction:column;gap:3px}.coa-account-title strong{font-size:14px}.coa-account-title small,.coa-balance small{font-size:11px;color:#7b8798}.coa-parent .coa-account-title strong{font-weight:800}.coa-level-1{background:#f2f6fb}.coa-level-1 .coa-account-title strong{font-size:16px}.coa-level-2 .coa-account-title strong{font-size:15px}.coa-balance{text-align:left;white-space:nowrap}.coa-balance strong{display:block;font-size:15px;font-variant-numeric:tabular-nums}.journal-page-form{padding:24px}.journal-header-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.journal-header-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#40506a}.journal-header-grid .span-2{grid-column:span 2}.journal-header-grid input,.journal-header-grid select,.journal-composer-table input,.journal-composer-table select{width:100%;min-height:44px;border:1px solid #d4dde9;border-radius:9px;padding:8px 10px;background:#fff}.journal-lines-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 12px}.journal-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:stretch;margin-top:20px;padding-top:20px;border-top:1px solid #e0e6ee}.journal-totals article,.ledger-executive-summary article{border:1px solid #dce4ee;border-radius:12px;padding:14px;background:#f8fafc}.journal-totals article span,.ledger-executive-summary article span{display:block;color:#758196;font-size:12px}.journal-totals article strong,.ledger-executive-summary article strong{display:block;margin-top:6px;font-size:18px}.ledger-executive-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 22px}.ledger-modal{width:min(1400px,96vw)}.ledger-source-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3fa;font-size:11px}.journal-composer-table td:nth-child(3),.journal-composer-table td:nth-child(4){width:150px}@media(max-width:900px){.journal-header-grid{grid-template-columns:1fr 1fr}.ledger-executive-summary{grid-template-columns:1fr 1fr}.coa-account-cell{min-width:260px}}@media print{body:has(#ledgerAccountModal[open])>*:not(#ledgerAccountModal){display:none!important}#ledgerAccountModal[open]{position:static!important;display:block!important;width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important}.modal-close,.modal-actions{display:none!important}}
cd /mnt/data/v314_work && npm run check

.clickable-row{cursor:pointer;transition:background-color .18s ease}.clickable-row:hover{background:#f4f8ff}.audit-note{border-right:4px solid #2c6ed5;line-height:1.9}.hidden{display:none!important}@media print{.sidebar,.topbar,.compact-actions,button{display:none!important}#view-account-ledger{display:block!important}.main{margin:0!important}.panel{box-shadow:none!important;border:0!important}.table-wrap{overflow:visible!important}}

/* V3.16 CFO finance hierarchy / legal entity / controlling polish */
.legal-entity-tree{display:grid;gap:14px}.legal-company-card{border:1px solid #dce5ef;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);overflow:hidden}.legal-company-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e8eef5}.legal-company-head>div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}.legal-company-head b{font-size:16px}.legal-company-head small{grid-column:2;color:#7a8798}.legal-branch-list{display:grid;padding:8px}.legal-branch-item{border:0;background:transparent;padding:11px 12px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;text-align:right;cursor:pointer;color:#27364b}.legal-branch-item:hover{background:#eef5fc}.legal-branch-item span:first-child{display:flex;flex-direction:column;gap:3px}.legal-branch-item small{color:#8290a3;font-size:11px}.legal-branch-item span:last-child{font-size:11px;color:#1474b8}
.coa-company-divider td{padding:12px 0 7px!important;border:0!important;background:transparent!important}.coa-company-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(100deg,#13243b,#224a70);color:#fff;border-radius:14px;padding:13px 16px;box-shadow:0 8px 22px rgba(18,40,65,.12)}.coa-company-banner>div:first-child{display:flex;align-items:center;gap:10px}.coa-company-banner>div:first-child span{font-size:9px;letter-spacing:.12em;color:#bcd0e4}.coa-company-banner strong{font-size:15px}.coa-company-branches{display:flex;gap:7px;flex-wrap:wrap}.coa-company-branches>span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 9px;font-size:11px}.coa-company-branches small{margin-inline-start:5px;color:#c9d9e9}.coa-account-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:right;padding:0;font:inherit}.coa-account-link:hover strong{color:#1474b8;text-decoration:underline;text-underline-offset:3px}.inline-account-link{border:0;background:transparent;color:#0d6fae;font-weight:700;cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}.inline-account-link:hover{color:#094f7d}
.journal-composer-table select.jc-cost-center{min-width:180px}.source-document-link{display:inline-flex}.muted{color:#7f8b9a}
@media print{.app-sidebar,.app-header,.compact-actions,.button{display:none!important}.view{display:block!important}.panel,.enterprise-section-head,.finance-kpis article{box-shadow:none!important;border-color:#d5dbe4!important}.table-wrap{overflow:visible!important}}

/* V3.17 dedicated maids module */
.nav-submodule{margin:2px 0}.nav-submodule>summary{list-style:none;cursor:pointer;padding:8px 14px;color:#c8d3e2;font-weight:700;font-size:11px;display:flex;justify-content:space-between;align-items:center}.nav-submodule>summary::-webkit-details-marker{display:none}.nav-submodule-items{display:grid;gap:2px;padding:0 8px 4px}.nav-submodule-items .nav-item{padding-inline-start:24px;font-size:10px}.nav-submodule:not([open]) .nav-submodule-items{display:none}

/* V3.19 Recruitment contract worker + arrival controls */
.recruitment-worker-cell{min-width:170px}.recruitment-worker-cell strong,.recruitment-worker-cell small{display:block}.button.tiny{padding:4px 8px;margin-top:5px;font-size:11px}.recruitment-arrival-cell{min-width:145px}.arrival-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #bdd6f2;background:#eef6ff;color:#155f9f;border-radius:999px;padding:7px 10px;font-weight:800;white-space:nowrap;cursor:pointer}.arrival-chip.arrived{background:#edf9f1;border-color:#b9e4c8;color:#1f7a43;cursor:default}.arrival-chip.scheduled:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(20,83,135,.12)}

/* V3.26 dedicated IAM pages */
.user-editor-card{padding:24px}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-form-grid>label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#3d4b5f}.user-form-grid input,.user-form-grid select{min-height:46px;border:1px solid #d6dee8;border-radius:10px;padding:9px 12px;background:#fff}.permission-section-title{margin:24px 0 12px;padding-top:18px;border-top:1px solid #e5eaf0;display:flex;justify-content:space-between}.permission-section-title b,.permission-section-title small{display:block}.permission-section-title small{margin-top:4px;color:#7a8798}.role-card-grid,.branch-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-card,.branch-access-grid label{display:flex;gap:10px;align-items:flex-start;border:1px solid #dce4ed;border-radius:12px;padding:13px;background:#fbfdff;cursor:pointer}.role-card:hover,.branch-access-grid label:hover{border-color:#9fc0de;background:#f5faff}.role-card b,.role-card small,.branch-access-grid b,.branch-access-grid small{display:block}.role-card small,.branch-access-grid small{color:#758295;font-size:11px;margin-top:3px}.scope-all{display:flex;align-items:center;gap:8px;font-weight:800;margin:8px 0 12px}.page-action-bar{display:flex;gap:10px;justify-content:flex-start;margin-top:24px;padding-top:18px;border-top:1px solid #e5eaf0}.permission-groups{display:grid;gap:14px}.permission-module-card{background:#fff;border:1px solid #dce4ed;border-radius:14px;overflow:hidden}.permission-module-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;background:#f7faff;border-bottom:1px solid #e7edf4}.permission-module-head strong,.permission-module-head small{display:block}.permission-module-head small{color:#7b8797;margin-top:3px}.permission-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.permission-action{display:flex;gap:9px;align-items:flex-start;padding:13px 14px;border-inline-end:1px solid #edf1f5;border-bottom:1px solid #edf1f5;cursor:pointer}.permission-action:hover{background:#fafcff}.permission-action b,.permission-action small{display:block}.permission-action small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#8a96a6;margin-top:3px}.permission-employee-row{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:12px;align-items:end}.permission-employee-row label{display:flex;flex-direction:column;gap:6px}.permission-employee-row input{min-height:44px;border:1px solid #d6dee8;border-radius:10px;padding:8px 11px}.permission-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dce4ed;border-radius:10px;padding:8px 16px;min-height:44px}.permission-summary strong{font-size:20px;color:#176fa7}.permission-summary span{font-size:10px;color:#7c8898}@media(max-width:1000px){.role-card-grid,.branch-access-grid{grid-template-columns:repeat(2,1fr)}.permission-action-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.user-form-grid,.role-card-grid,.branch-access-grid,.permission-action-grid,.permission-employee-row{grid-template-columns:1fr}}
/* V3.29 Customer Master & Subledger */
.enterprise-customer-master{min-width:1500px}
.customer-name-link,.account-number-link{border:0;background:transparent;color:#075f7d;font-weight:800;cursor:pointer;padding:0;text-align:right;font:inherit}
.customer-name-link:hover,.account-number-link:hover{text-decoration:underline;color:#034e68}
.customer-balance{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 10px;border-radius:8px;font-weight:800;font-size:12px;direction:rtl}
.customer-balance.debit{background:#eaf3ff;color:#1556a0}.customer-balance.credit{background:#e8f8ef;color:#167449}.customer-balance.zero{background:#f2f5f8;color:#65758a}
.customer-row-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:260px}

/* V3.30 Document Management + dedicated customer page */
.nav-standalone{width:100%;margin:4px 0 10px!important;justify-content:flex-start!important;gap:10px!important}
.customer-create-panel{max-width:1180px;margin-inline:auto}
.customer-page-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.customer-page-form .full{grid-column:1/-1}
.customer-page-form .field{display:flex;flex-direction:column;gap:8px}
.customer-page-form input,.customer-page-form select,.customer-page-form textarea{width:100%;border:1px solid #d5dfeb;border-radius:12px;padding:13px 14px;background:#fff;font:inherit;color:#172238}
.customer-page-form textarea{resize:vertical}
.attachment-dropzone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1.5px dashed #9db8d3;border-radius:16px;background:#f7fbff}
.attachment-dropzone>div:first-child{display:flex;flex-direction:column;gap:5px}.attachment-dropzone small{color:#718096}
.pending-file-list{display:flex;flex-wrap:wrap;gap:8px;flex:1}.pending-file-chip{background:#e8f2ff;border:1px solid #c7def8;border-radius:999px;padding:7px 11px;font-size:12px;color:#24496f}
.form-actions{display:flex;gap:10px;justify-content:flex-start;padding-top:6px}
.document-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.document-kpis article{background:#fff;border:1px solid #dce4ee;border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(28,47,74,.04)}.document-kpis small{display:block;color:#708096;margin-bottom:8px}.document-kpis strong{font-size:24px;color:#162b44}
.documents-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.document-tree-panel{align-self:start;position:sticky;top:92px}.document-folder-list{display:flex;flex-direction:column;gap:7px}.document-folder{border:1px solid transparent;background:#f6f8fb;border-radius:12px;padding:11px 12px;text-align:right;display:grid;grid-template-columns:22px 1fr;gap:2px 8px;cursor:pointer;color:#33455b}.document-folder b{font-size:13px}.document-folder small{grid-column:2;color:#8b98a8;font-size:10px}.document-folder.active{background:#eaf3ff;border-color:#9cc6f2;color:#0c5da8}
.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.documents-empty{grid-column:1/-1;text-align:center;padding:55px 20px;color:#7a8796;background:#f8fafc;border-radius:14px;border:1px dashed #d6dee8}.document-card{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:15px;background:#fff;border:1px solid #dde5ef;border-radius:14px;min-height:130px}.document-card-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#102a43;color:#fff;font-weight:800;font-size:12px}.document-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.document-card-body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172b43}.document-card-body span{color:#2673b8;font-size:12px}.document-card-body small{color:#758398;font-size:11px}.document-card-actions{grid-column:1/-1;display:flex;gap:8px;border-top:1px solid #edf1f6;padding-top:10px}
@media(max-width:900px){.customer-page-form{grid-template-columns:1fr}.documents-layout{grid-template-columns:1fr}.document-tree-panel{position:static}.document-kpis{grid-template-columns:repeat(2,1fr)}.attachment-dropzone{flex-direction:column;align-items:stretch}}
@media print{#pageAttachmentsButton{display:none!important}}


/* V3.32 — Enterprise Motion, Arabic Typography, KPI color system, Document Center redesign */
:root{
  --motion-fast:160ms;
  --motion-base:260ms;
  --motion-slow:420ms;
  --ease-enter:cubic-bezier(.2,.82,.2,1);
  --ease-exit:cubic-bezier(.4,0,1,1);
  --kpi-blue:#2563eb;
  --kpi-cyan:#0891b2;
  --kpi-green:#059669;
  --kpi-amber:#d97706;
  --kpi-violet:#7c3aed;
  --kpi-red:#dc2626;
}
body,button,input,select,textarea,table{
  font-family:"IBM Plex Sans Arabic","DIN Next Arabic","Noto Kufi Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}
body{font-size:15.5px;font-weight:600;letter-spacing:-.012em}
h1,h2,h3,h4,.topbar h1,.panel h2,.panel h3,.hero-panel h2,.enterprise-section-head h2,.document-center-header h2{
  font-weight:900!important;letter-spacing:-.035em;
}
.topbar h1{font-size:26px!important}
.subtitle,.hero-panel p,.enterprise-section-head p,.document-center-header p{font-size:12.5px!important;font-weight:650}
button,.nav-item,.nav-module summary{font-weight:800}
input,select,textarea{font-weight:650}

/* Global motion */
html{scroll-behavior:smooth}
.workspace{transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}
.workspace.page-transitioning{opacity:.45;transform:translateY(5px)}
.view.active{animation:erpPageIn var(--motion-base) var(--ease-enter) both}
@keyframes erpPageIn{from{opacity:0;transform:translateY(10px) scale(.997)}to{opacity:1;transform:none}}
::view-transition-old(root){animation:erpViewOut 130ms ease both}
::view-transition-new(root){animation:erpViewIn 240ms var(--ease-enter) both}
@keyframes erpViewOut{to{opacity:.5;transform:translateY(-3px)}}
@keyframes erpViewIn{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel,.hero-panel,.crm-hero,.recruitment-hero,.enterprise-section-head,.document-card,.kpi-card,.customer-kpis article,.mini-kpis article,.finance-kpis article{
  transition:transform var(--motion-base) var(--ease-enter),box-shadow var(--motion-base) var(--ease-enter),border-color var(--motion-base) ease,background var(--motion-base) ease;
}
.panel:hover,.document-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(24,49,78,.07);border-color:#cbd8e6}
.button,.icon-button,.quick-grid button,.document-folder,.nav-item,.nav-module summary{
  transition:transform var(--motion-fast) var(--ease-enter),background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease!important;
}
.button:active,.icon-button:active,.quick-grid button:active{transform:scale(.975)}
.modal[open]{animation:modalPop var(--motion-base) var(--ease-enter) both}
@keyframes modalPop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.modal::backdrop{animation:backdropIn 220ms ease both}
@keyframes backdropIn{from{opacity:0}to{opacity:1}}

/* Smooth single-open sidebar accordion */
.sidebar .nav-module{overflow:clip}
.sidebar .nav-module-items{
  max-height:0!important;opacity:0!important;transform:translateY(-8px)!important;
  padding-top:0!important;padding-bottom:0!important;
  transition:max-height var(--motion-slow) var(--ease-enter),opacity 220ms ease,transform var(--motion-base) var(--ease-enter),padding var(--motion-base) ease!important;
}
.sidebar .nav-module[open].nav-expanded>.nav-module-items{
  max-height:560px!important;opacity:1!important;transform:translateY(0)!important;
  padding-top:5px!important;padding-bottom:7px!important;
}
.sidebar .nav-module[open]>summary{background:rgba(255,255,255,.055);color:#fff}
.sidebar .nav-module[open]>summary i{transform:rotate(180deg)}

/* Color-coded KPI system */
.kpi-card,.customer-kpis article,.mini-kpis article,.finance-kpis article,.document-kpis article{
  position:relative;overflow:hidden;border:1px solid rgba(208,220,234,.9)!important;
  box-shadow:0 6px 18px rgba(23,46,72,.045)!important;
}
.kpi-card::after,.customer-kpis article::after,.mini-kpis article::after,.finance-kpis article::after,.document-kpis article::after{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;border-radius:4px;background:var(--kpi-blue);
}
.kpi-card:nth-child(1),.customer-kpis article:nth-child(1),.mini-kpis article:nth-child(1),.finance-kpis article:nth-child(1),.document-kpis article:nth-child(1){background:linear-gradient(135deg,#fff,#eef5ff)}
.kpi-card:nth-child(1)::after,.customer-kpis article:nth-child(1)::after,.mini-kpis article:nth-child(1)::after,.finance-kpis article:nth-child(1)::after,.document-kpis article:nth-child(1)::after{background:var(--kpi-blue)}
.kpi-card:nth-child(2),.customer-kpis article:nth-child(2),.mini-kpis article:nth-child(2),.finance-kpis article:nth-child(2),.document-kpis article:nth-child(2){background:linear-gradient(135deg,#fff,#ecfdf8)}
.kpi-card:nth-child(2)::after,.customer-kpis article:nth-child(2)::after,.mini-kpis article:nth-child(2)::after,.finance-kpis article:nth-child(2)::after,.document-kpis article:nth-child(2)::after{background:var(--kpi-green)}
.kpi-card:nth-child(3),.customer-kpis article:nth-child(3),.mini-kpis article:nth-child(3),.finance-kpis article:nth-child(3),.document-kpis article:nth-child(3){background:linear-gradient(135deg,#fff,#fff8e8)}
.kpi-card:nth-child(3)::after,.customer-kpis article:nth-child(3)::after,.mini-kpis article:nth-child(3)::after,.finance-kpis article:nth-child(3)::after,.document-kpis article:nth-child(3)::after{background:var(--kpi-amber)}
.kpi-card:nth-child(4),.customer-kpis article:nth-child(4),.mini-kpis article:nth-child(4),.finance-kpis article:nth-child(4),.document-kpis article:nth-child(4){background:linear-gradient(135deg,#fff,#f5f0ff)}
.kpi-card:nth-child(4)::after,.customer-kpis article:nth-child(4)::after,.mini-kpis article:nth-child(4)::after,.finance-kpis article:nth-child(4)::after,.document-kpis article:nth-child(4)::after{background:var(--kpi-violet)}
.kpi-card strong,.customer-kpis strong,.mini-kpis strong,.finance-kpis strong,.document-kpis strong{font-weight:900!important}

/* Document center: library-first, no oversized top stack */
.document-center-shell{display:grid;gap:16px}
.document-center-header{
  background:linear-gradient(135deg,#132b42 0%,#1d4d6a 55%,#257aa0 100%);
  color:#fff;border-radius:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  box-shadow:0 16px 38px rgba(18,49,71,.14);
}
.document-center-header .eyebrow{color:#aee4ff}.document-center-header h2{margin:2px 0 6px;font-size:26px}.document-center-header p{margin:0;color:#d8edf7}
.document-center-header .button.secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28)}
.document-center-header .button.primary{background:#fff;color:#17405a;border-color:#fff}
.document-workspace{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:16px;align-items:start}
.document-side{display:grid;gap:14px;position:sticky;top:72px}
.document-main{display:grid;gap:16px;min-width:0}
.document-kpis-vertical{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important}
.document-kpis-vertical article{min-height:104px;padding:14px!important;border-radius:14px!important}
.document-kpis-vertical small{font-size:10px!important}.document-kpis-vertical strong{font-size:21px!important}.document-kpis-vertical span{display:block;color:#8190a2;font-size:9.5px;margin-top:4px}
.document-tree-panel{position:static!important;margin:0!important;max-height:calc(100vh - 310px);overflow:auto}
.document-library,.document-bundles-panel{margin:0!important;border-radius:16px!important}
.document-library-head{align-items:center}
.documents-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr))!important}
.document-card{border-radius:16px!important;min-height:138px!important;box-shadow:0 5px 16px rgba(26,48,77,.035)}
.document-card-icon{background:linear-gradient(135deg,#173652,#286e91)!important}
.document-bundle-card{background:linear-gradient(135deg,#fff,#f4f9ff)}
.document-folder{border-radius:10px!important}
.document-folder.active{box-shadow:inset -3px 0 0 #2384bd;background:#eaf7fd!important}

/* More legible enterprise tables */
thead th{font-size:11px!important;font-weight:900!important}
tbody td{font-size:11.5px!important;font-weight:650!important}
.panel h3{font-size:18px!important}
.panel-head small{font-size:10px!important}

/* Motion accessibility */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(max-width:1050px){
  .document-workspace{grid-template-columns:1fr}
  .document-side{position:static}
  .document-kpis-vertical{grid-template-columns:repeat(4,1fr)!important}
  .document-tree-panel{max-height:none}
}
@media(max-width:700px){
  .document-center-header{align-items:stretch;flex-direction:column}
  .document-kpis-vertical{grid-template-columns:1fr 1fr!important}
}


/* V3.33 — High-refresh motion engine. GPU-friendly transforms/opacity only where possible. */
:root{
  --motion-xfast:120ms;
  --motion-fast:180ms;
  --motion-base:320ms;
  --motion-slow:440ms;
  --ease-fluid:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:auto}
body{overflow-x:hidden}
.workspace,.view,.sidebar,.nav-module-items,.nav-item,.button,.panel,.modal,.document-card,.document-folder{
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.view{contain:layout paint style}
.view.active{animation:none!important}
.view.erp-entering{will-change:transform,opacity;animation:erpFluidEnter var(--motion-base) var(--ease-fluid) both}
@keyframes erpFluidEnter{0%{opacity:0;transform:translate3d(0,14px,0) scale(.994)}55%{opacity:.96}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.workspace{transition:none!important}
.workspace.page-transitioning{opacity:1!important;transform:none!important}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
.button,.icon-button,.quick-grid button,.document-folder,.nav-item,.nav-module>summary{
  will-change:transform,background-color,box-shadow;
  transform:translateZ(0);
  transition:transform var(--motion-fast) var(--ease-spring),background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) var(--ease-fluid)!important;
}
.button:hover,.icon-button:hover,.quick-grid button:hover{transform:translate3d(0,-1px,0)}
.button:active,.icon-button:active,.quick-grid button:active{transform:translate3d(0,0,0) scale(.985)}
.panel,.hero-panel,.crm-hero,.recruitment-hero,.enterprise-section-head,.document-card,.kpi-card,.customer-kpis article,.mini-kpis article,.finance-kpis article{
  will-change:transform,box-shadow;
  transform:translateZ(0);
  transition:transform 260ms var(--ease-fluid),box-shadow 260ms var(--ease-fluid),border-color 220ms ease!important;
}
.panel:hover,.document-card:hover{transform:translate3d(0,-2px,0);box-shadow:0 14px 36px rgba(24,49,78,.08)}

/* Sidebar native details no longer animate via max-height. JS Web Animations drives exact measured height. */
.sidebar .nav-module{overflow:hidden}
.sidebar .nav-module-items{
  max-height:none!important;
  opacity:1!important;
  transform:none!important;
  padding-top:5px!important;
  padding-bottom:7px!important;
  overflow:hidden;
  will-change:height,opacity,transform;
}
.sidebar .nav-module:not([open])>.nav-module-items{display:none}
.sidebar .nav-module>summary i{transition:transform 300ms var(--ease-fluid)!important}
.sidebar .nav-module[open]>summary i{transform:rotate(180deg)}

.modal[open]{animation:erpModalFluid 280ms var(--ease-spring) both!important;will-change:transform,opacity}
@keyframes erpModalFluid{from{opacity:0;transform:translate3d(0,16px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.modal::backdrop{animation:erpBackdropFluid 220ms ease both!important}@keyframes erpBackdropFluid{from{opacity:0}to{opacity:1}}

/* Document center taxonomy */
.document-folder{position:relative}
.document-folder[data-system="1"]::after{content:"System";font-size:8px;color:#7c8da3;justify-self:end}
.document-tree-panel{max-height:calc(100vh - 130px);overflow:auto;scrollbar-width:thin}
.documents-grid{align-items:stretch}
.document-card{content-visibility:auto;contain-intrinsic-size:140px}

@media(prefers-reduced-motion:reduce){
  .view.erp-entering,.modal[open]{animation:none!important}
  .button,.icon-button,.quick-grid button,.document-folder,.nav-item,.nav-module>summary,.panel,.document-card{transition:none!important}
}


/* V3.33 micro-interactions */
.button,.icon-button,.nav-item,.nav-module>summary{position:relative;overflow:hidden;isolation:isolate}
.erp-ripple{position:absolute;border-radius:50%;background:currentColor;pointer-events:none;z-index:0;transform:scale(.08);opacity:.18}
.button>*:not(.erp-ripple),.icon-button>*:not(.erp-ripple),.nav-item>*:not(.erp-ripple),.nav-module>summary>*:not(.erp-ripple){position:relative;z-index:1}
.table-wrap{scroll-behavior:smooth;overscroll-behavior:contain}
.sidebar{scroll-behavior:smooth;overscroll-behavior:contain}
.document-folder small{color:#8a98aa;font-size:9px}

/* V3.34 — In-app document viewer + executive financial report pages */
.document-viewer-shell{padding:0;overflow:hidden;background:#111827;min-height:calc(100vh - 190px)}
.document-viewer-canvas{min-height:calc(100vh - 210px);display:grid;place-items:center;background:linear-gradient(145deg,#0f172a,#1e293b)}
.document-view-frame{width:100%;height:calc(100vh - 210px);border:0;background:#fff}
.document-view-image{max-width:96%;max-height:calc(100vh - 235px);object-fit:contain;border-radius:14px;box-shadow:0 28px 70px rgba(0,0,0,.36);background:#fff}
.executive-report-page{--er-blue:#193b69;--er-sky:#2878d0;--er-gold:#c89942;--er-green:#159a72;--er-ink:#14243a;--er-muted:#6b7a90;max-width:1500px;margin:0 auto;padding:18px 22px 40px;background:linear-gradient(180deg,#edf4fb 0,#f8fafc 360px,#f8fafc 100%);min-height:100vh}
.executive-report-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:24px;background:radial-gradient(circle at 12% 0%,rgba(66,153,225,.34),transparent 36%),linear-gradient(135deg,#10243e 0%,#173f68 54%,#215d8e 100%);color:#fff;box-shadow:0 22px 60px rgba(15,35,63,.2);position:relative;overflow:hidden}.executive-report-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:340px;height:340px;border-radius:50%;border:54px solid rgba(255,255,255,.055)}
.executive-brand{display:flex;gap:16px;align-items:center;z-index:1}.executive-logo{width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#fff,#e9f1fb);color:#17365d;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 10px 32px rgba(0,0,0,.16)}.executive-brand p{margin:0 0 3px;letter-spacing:.12em;font-size:11px;color:#b9d5ee}.executive-brand h1{font-size:30px;margin:0 0 6px;font-weight:900}.executive-brand span{font-size:13px;color:#e6f2fb}
.report-actions{display:flex;gap:10px;z-index:2}.report-actions .ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
.executive-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin:18px 0}.executive-kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.exec-kpi{padding:17px 18px;border-radius:18px;background:#fff;border:1px solid #dce6f1;box-shadow:0 9px 28px rgba(36,61,89,.07);position:relative;overflow:hidden}.exec-kpi:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2878d0,#5aa5ec)}.exec-kpi:nth-child(2):before{background:linear-gradient(90deg,#159a72,#35c59a)}.exec-kpi:nth-child(3):before{background:linear-gradient(90deg,#c89942,#edbd62)}.exec-kpi:nth-child(4):before{background:linear-gradient(90deg,#7c5ce7,#aa8cf3)}.exec-kpi:nth-child(5):before{background:linear-gradient(90deg,#e15c63,#f29186)}.exec-kpi:nth-child(6):before{background:linear-gradient(90deg,#147c9d,#42b6d8)}.exec-kpi span{display:block;color:#8a98ab;font-size:10px;text-transform:uppercase}.exec-kpi b{display:block;color:#27394f;margin:5px 0;font-size:13px}.exec-kpi strong{font-size:20px;color:#13243a;font-variant-numeric:tabular-nums}
.executive-visual-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}.executive-card{background:rgba(255,255,255,.96);border:1px solid #dce6f1;border-radius:22px;padding:20px;box-shadow:0 10px 32px rgba(37,61,90,.065)}.executive-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.executive-card-head small,.executive-insight>small{font-size:10px;color:#2878d0;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.executive-card h3{margin:3px 0 0;font-size:18px;color:#182b43}.executive-insight{background:linear-gradient(145deg,#193b69,#1c567f);color:#fff}.executive-insight h3{color:#fff}.executive-insight p{color:#d9e7f5;line-height:2;font-size:13px}.insight-ribbon{margin-top:22px;padding:12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:800;letter-spacing:.08em}
.donut-layout{display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:center}.exec-donut{width:205px;height:205px;transform:rotate(-90deg)}.exec-donut text{transform:rotate(90deg);transform-origin:60px 60px;fill:#18334e}.donut-title{font-size:16px;font-weight:900}.donut-sub{font-size:7px}.exec-legend{display:grid;gap:9px}.exec-legend-item{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #eef2f7;padding-bottom:7px;font-size:12px}.exec-legend-item i{width:10px;height:10px;border-radius:4px;background:#2563eb}.exec-legend-item i[data-c="1"]{background:#0ea5e9}.exec-legend-item i[data-c="2"]{background:#10b981}.exec-legend-item i[data-c="3"]{background:#f59e0b}.exec-legend-item i[data-c="4"]{background:#8b5cf6}.exec-legend-item i[data-c="5"]{background:#ef4444}.exec-legend-item i[data-c="6"]{background:#14b8a6}.exec-legend-item strong{font-variant-numeric:tabular-nums;color:#263c54}
.exec-trend{width:100%;height:215px}.exec-trend .chart-label{font-size:10px;fill:#697b91}.exec-bars{display:grid;gap:12px}.exec-bar-row{display:grid;grid-template-columns:100px 1fr 100px;gap:9px;align-items:center;font-size:11px}.exec-bar-row>div{height:9px;background:#e9eff6;border-radius:999px;overflow:hidden}.exec-bar-row i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#4ea5ee);border-radius:999px}.exec-bar-row strong{text-align:left;font-size:10px;color:#31465e}.report-table table{font-size:11px}.report-table th{background:#173b65;color:#fff;padding:11px}.report-table td{padding:10px;border-bottom:1px solid #e7edf4}.report-level-1 td{font-weight:900;background:#edf4fb}.report-level-2 td{font-weight:800;background:#f7faff}.report-level-3 td:nth-child(2){padding-inline-start:24px}.report-level-4 td:nth-child(2){padding-inline-start:38px}.report-level-5 td:nth-child(2){padding-inline-start:52px}.executive-report-footer{margin:18px 4px 0;border-top:1px solid #dce5ef;padding-top:12px;color:#8290a2;font-size:10px;text-align:center}.report-empty{display:grid;place-items:center;height:180px;color:#7d8ba0;background:#f7f9fc;border-radius:16px}
@media(max-width:1050px){.executive-kpi-grid,.executive-kpi-grid.five{grid-template-columns:repeat(2,1fr)}.executive-visual-grid{grid-template-columns:1fr}.donut-layout{grid-template-columns:1fr}.exec-donut{margin:auto}}
@media print{.sidebar,.topbar,.no-print,footer:not(.executive-report-footer){display:none!important}.app-shell{display:block!important}.main{margin:0!important;width:100%!important}.view.active{display:block!important}.executive-report-page{max-width:none;padding:0;background:#fff}.executive-report-hero{box-shadow:none;border-radius:14px}.executive-card,.exec-kpi{box-shadow:none;break-inside:avoid}.executive-visual-grid{break-inside:avoid}.report-table tr{break-inside:avoid}@page{size:A4 landscape;margin:8mm}}

/* V3.35 Recruitment Request 360° + COA scroll usability */
.coa-panel{overflow:hidden}
.coa-panel>.table-wrap{max-height:calc(100vh - 315px);min-height:420px;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;border-radius:14px}
.coa-panel>.table-wrap thead th{position:sticky;top:0;z-index:5;background:#f6f9fc;box-shadow:0 1px 0 #dfe7ef}
.coa-panel>.table-wrap::-webkit-scrollbar,.recruitment-table-wrap::-webkit-scrollbar,.request-mini-ledger::-webkit-scrollbar{width:10px;height:10px}
.coa-panel>.table-wrap::-webkit-scrollbar-thumb,.recruitment-table-wrap::-webkit-scrollbar-thumb,.request-mini-ledger::-webkit-scrollbar-thumb{background:#9aaec3;border-radius:20px;border:2px solid #edf2f7}
.coa-panel>.table-wrap::-webkit-scrollbar-track,.recruitment-table-wrap::-webkit-scrollbar-track,.request-mini-ledger::-webkit-scrollbar-track{background:#edf2f7}
.recruitment-table-v335{min-width:1780px}.recruitment-paid{color:#147a4d;font-weight:850}.request-balance-chip{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:7px 10px;border-radius:999px;font-weight:900;white-space:nowrap}.request-balance-chip.debit{background:#fff0ed;color:#b8472d;border:1px solid #ffd5cb}.request-balance-chip.credit{background:#eaf8f0;color:#14744a;border:1px solid #c9ead8}.request-balance-chip.zero{background:#edf3f8;color:#5d6c7b;border:1px solid #dae3eb}
.recruitment-360-head{background:linear-gradient(125deg,#f8fbff,#eef6ff);border-color:#cfe0f2}
.request-360-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.request-360-kpis article{position:relative;overflow:hidden;border-radius:18px;padding:19px 20px;border:1px solid transparent;box-shadow:0 10px 28px rgba(18,45,72,.06)}.request-360-kpis article:after{content:"";position:absolute;inset-inline-end:-24px;top:-32px;width:105px;height:105px;border-radius:50%;background:currentColor;opacity:.07}.request-360-kpis small,.request-360-kpis span{display:block}.request-360-kpis small{font-weight:850;opacity:.72}.request-360-kpis strong{display:block;font-size:25px;margin:7px 0 5px}.request-360-kpis span{font-size:11px;opacity:.72}.kpi-tone-blue{background:linear-gradient(135deg,#eff6ff,#ffffff);color:#1659a7;border-color:#d8e9ff!important}.kpi-tone-green{background:linear-gradient(135deg,#ecfbf3,#ffffff);color:#14734c;border-color:#d1efdf!important}.kpi-tone-amber{background:linear-gradient(135deg,#fff8e9,#ffffff);color:#9a6300;border-color:#f4e2b8!important}.kpi-tone-purple{background:linear-gradient(135deg,#f5efff,#ffffff);color:#6b42a8;border-color:#e5d8fa!important}
.request-360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.request-info-card{min-width:0}.request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 20px}.request-fact{background:#f8fafc;border:1px solid #e4eaf1;border-radius:12px;padding:12px 14px;min-width:0}.request-fact span{display:block;color:#748297;font-size:10px;font-weight:800;margin-bottom:5px}.request-fact strong{display:block;color:#1b2b40;font-size:14px;overflow-wrap:anywhere}.request-fact.danger{background:#fff4f2;border-color:#ffd9d1}.request-fact.danger strong{color:#b44530}.request-fact.success{background:#effaf4;border-color:#cfead9}.request-fact.success strong{color:#14744a}.request-fact.warning{background:#fff9ed;border-color:#f2e0b5}.request-mini-ledger{margin:0 20px 20px;max-height:250px;border:1px solid #e4eaf1;border-radius:12px;overflow:auto}.request-mini-ledger table{min-width:760px}.request-empty-state{padding:18px;border:1px dashed #cdd9e6;border-radius:12px;background:#fbfdff}.request-empty-state strong,.request-empty-state small{display:block}.request-empty-state small{margin-top:6px;color:#758396;line-height:1.8}
.request-documents-panel{padding-bottom:20px}.request-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 20px}.request-folder{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid #dfe7ef;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);padding:16px;min-width:0}.request-folder-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#163e68;color:#fff;font-weight:900}.request-folder h4{margin:2px 0 4px;font-size:15px}.request-folder small{color:#7b8797;line-height:1.6}.request-folder-files{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #edf1f5;min-height:34px}.request-file-chip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid #d8e2ec;background:#fff;border-radius:10px;padding:7px 9px;max-width:100%;cursor:pointer;text-align:right}.request-file-chip:hover{border-color:#9cbfe0;background:#f6fbff}.request-file-chip span{font-size:9px;font-weight:900;color:#176fa7}.request-file-chip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-file-chip small{font-size:9px;white-space:nowrap}.request-folder-empty{color:#8a96a5!important}
@media(max-width:1100px){.request-360-kpis{grid-template-columns:repeat(2,1fr)}.request-360-grid{grid-template-columns:1fr}.request-folder-grid{grid-template-columns:1fr}.coa-panel>.table-wrap{max-height:calc(100vh - 280px)}}
@media(max-width:650px){.request-360-kpis{grid-template-columns:1fr}.request-facts{grid-template-columns:1fr}.request-folder{grid-template-columns:auto 1fr}.request-folder .button{grid-column:1/-1}}

/* V3.36 Recruitment Operations cleanup */
.recruitment-panel{min-height:0;display:flex;flex-direction:column}
.recruitment-table-wrap{height:clamp(430px,calc(100vh - 305px),720px)!important;max-height:none!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;border:1px solid var(--line,#dce4ec);border-radius:16px;background:#fff;position:relative;-webkit-overflow-scrolling:touch}
.recruitment-table-wrap table{margin:0}.recruitment-table-wrap thead th{position:sticky;top:0;z-index:9;background:#f5f8fb;box-shadow:0 1px 0 #dce4ec;font-size:13px;font-weight:900;white-space:nowrap}
.recruitment-table-v336{min-width:1640px}.recruitment-table-v336 td{vertical-align:middle;padding-top:15px;padding-bottom:15px;font-size:13px}.recruitment-table-v336 td strong{font-size:14px;font-weight:900;color:#172b43}.recruitment-table-v336 .customer-subline{display:block;margin-top:5px;color:#76879a;font-weight:700;font-size:11px}
.request-contract-chip{display:inline-flex;padding:6px 9px;border-radius:10px;background:#eef4ff;color:#265ca8;font-weight:900;white-space:nowrap}.request-mediation-chip{display:inline-flex;padding:6px 9px;border-radius:10px;background:#f4efff;color:#6846a6;font-weight:900;white-space:nowrap}
.employee-branch-stack{display:grid;gap:4px}.employee-branch-stack strong{font-size:13px!important}.employee-branch-stack small{color:#6f8092;font-weight:800}
.request-timeline{display:grid;gap:10px;max-height:320px;overflow:auto;padding-inline-end:4px}.request-timeline-item{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:11px 13px;background:#f8fafc;border:1px solid #e2e9f0;border-radius:13px}.request-timeline-item time{font-weight:900;color:#66778a}.request-timeline-item strong{font-weight:900}.request-timeline-item small{display:block;color:#738397;margin-top:4px}.request-360-audit-grid{margin-top:14px}
.country-setting-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.country-setting-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;background:#f5f8fc;border:1px solid #dce5ee;border-radius:999px;font-weight:900}.country-setting-chip button{border:0;background:transparent;color:#ba4735;cursor:pointer;font-weight:900}.recruitment-country-settings{margin-bottom:16px}
@media(max-width:900px){.recruitment-table-wrap{height:calc(100vh - 275px)!important}.request-timeline-item{grid-template-columns:1fr}.recruitment-table-v336{min-width:1450px}}

/* V3.60 recruitment register: natural page flow + ten-row pagination */
.recruitment-register{display:grid;gap:16px;padding:0;background:transparent;border:0;box-shadow:none;min-height:0}
.recruitment-register>.panel-head{padding:20px;border:1px solid var(--line,#dce4ec);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,52,82,.05)}
.recruitment-register .recruitment-table-wrap{height:auto!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto;scrollbar-gutter:auto;border:0;border-radius:0;background:transparent}
.recruitment-register .recruitment-table{width:100%;min-width:0;margin:0;background:#fff;border:1px solid var(--line,#dce4ec);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(18,52,82,.05)}
.recruitment-register .recruitment-table thead th{position:static;top:auto}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line,#dce4ec);border-radius:16px;background:#fff;color:var(--muted);font-weight:800}
.table-pagination>div,.pagination-pages{display:flex;align-items:center;gap:7px}.pagination-page{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #d7e0ea;border-radius:10px;background:#fff;color:#334155;font-weight:900;cursor:pointer}.pagination-page:hover{border-color:#2878c8;color:#1767b7}.pagination-page.active{border-color:#216bd4;background:#216bd4;color:#fff;box-shadow:0 5px 14px rgba(33,107,212,.24)}
@media(max-width:900px){.recruitment-register .recruitment-table-wrap{height:auto!important;overflow:visible!important}.recruitment-register .recruitment-table-v336{min-width:1400px}.table-pagination{align-items:stretch;flex-direction:column}.table-pagination>div{justify-content:center}}

/* V3.37 — collapsible workspace sidebar + in-place document preview */
.app-shell{--erp-sidebar-width:278px;grid-template-columns:var(--erp-sidebar-width) minmax(0,1fr);transition:grid-template-columns .34s cubic-bezier(.22,1,.36,1)}
.app-shell .sidebar{transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,width .34s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.app-shell.sidebar-collapsed{--erp-sidebar-width:0px}
.app-shell.sidebar-collapsed .sidebar{transform:translate3d(105%,0,0);opacity:0;pointer-events:none;width:0;padding-left:0;padding-right:0;border:0;overflow:hidden}
.app-shell.sidebar-collapsed .workspace{width:100%;max-width:none}
.sidebar-toggle-button{font-size:18px;font-weight:900}
.document-quick-view{width:min(1220px,94vw);height:min(900px,90vh);padding:0;border:0;border-radius:20px;overflow:hidden;box-shadow:0 30px 90px rgba(15,30,50,.30);background:#f4f7fb}
.document-quick-view::backdrop{background:rgba(12,25,42,.62);backdrop-filter:blur(7px)}
.document-quick-head{height:76px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-bottom:1px solid #dce5ef}
.document-quick-head h3{margin:3px 0 0;font-size:20px;font-weight:900}.document-quick-head small{color:#718096;font-weight:750}
.document-quick-canvas{height:calc(90vh - 76px);min-height:420px;padding:12px;display:grid;place-items:center;overflow:auto}
.document-quick-canvas iframe{width:100%;height:100%;min-height:620px;border:0;border-radius:12px;background:#fff}
.document-quick-canvas img{display:block;max-width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.12)}
@media(max-width:760px){.app-shell.sidebar-collapsed{display:block}.document-quick-view{width:98vw;height:94vh}.document-quick-canvas{height:calc(94vh - 76px)}}

/* V3.38 — Enterprise recruitment invoice */
.invoice-page-shell{max-width:1180px;margin:24px auto;background:#fff;border:1px solid #dce5ef;border-radius:24px;overflow:hidden;box-shadow:0 18px 55px rgba(30,52,78,.11);color:#16283f}
.invoice-brand-header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px 34px;background:linear-gradient(135deg,#102b46 0%,#174d70 58%,#1b7190 100%);color:#fff;position:relative;overflow:hidden}
.invoice-brand-header:after{content:"";position:absolute;inset:auto -70px -110px auto;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07)}
.invoice-brand{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.invoice-brand h2{margin:2px 0 4px;font-size:25px;font-weight:950}.invoice-brand p,.invoice-brand small{margin:0;color:#d7e9f3;font-weight:750}
.invoice-logo-mark{width:62px;height:62px;border-radius:17px;background:#fff;display:grid;grid-template-columns:repeat(2,15px);grid-auto-rows:15px;gap:6px;place-content:center;box-shadow:0 8px 24px rgba(0,0,0,.16)}.invoice-logo-mark i{display:block;background:#c99a45;border-radius:3px}.invoice-logo-mark i:nth-child(2),.invoice-logo-mark i:nth-child(3){background:#183d60}
.invoice-title-block{text-align:left;position:relative;z-index:1}.invoice-title-block span{font-size:13px;font-weight:850;color:#cde5f0}.invoice-title-block h1{margin:4px 0;font-size:31px;letter-spacing:.5px;font-weight:950}.invoice-title-block p{margin:0;display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:850}
.invoice-meta-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe7ef;border-bottom:1px solid #dfe7ef}.invoice-meta-band>div{background:#f8fafc;padding:16px 20px}.invoice-meta-band small,.invoice-party-grid small{display:block;color:#718197;font-size:11px;font-weight:800;margin-bottom:5px}.invoice-meta-band strong{font-size:14px;font-weight:950}
.invoice-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 34px}.invoice-party-grid article{border:1px solid #e0e7ef;border-radius:16px;padding:17px 19px;background:linear-gradient(180deg,#fff,#f9fbfd)}.invoice-party-grid h3{margin:3px 0 7px;font-size:18px;font-weight:950}.invoice-party-grid p{margin:0;color:#68798e;line-height:1.8;font-weight:700}
.invoice-lines-card{padding:0 34px 24px}.invoice-lines-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dce5ef;border-radius:16px;overflow:hidden}.invoice-lines-table th{background:#173d61;color:#fff;padding:12px 13px;font-size:12px;font-weight:900}.invoice-lines-table td{padding:13px;border-bottom:1px solid #e9eef4;font-size:13px}.invoice-lines-table tr:last-child td{border-bottom:0}.invoice-lines-table .amount-cell{text-align:left;font-variant-numeric:tabular-nums;font-weight:850}
.invoice-bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:0 34px 24px}.invoice-workflow-card,.invoice-totals-card,.invoice-advance-card{border:1px solid #dfe7ef;border-radius:16px;padding:18px;background:#fbfcfe}.invoice-workflow-card h3,.invoice-advance-card h3{margin:0 0 13px;font-size:15px;font-weight:950}.invoice-status-list{display:grid;gap:9px}.invoice-status-list>div{display:flex;justify-content:space-between;gap:16px;padding:9px 11px;background:#fff;border:1px solid #e8edf3;border-radius:10px}.invoice-status-list span{color:#75849a;font-weight:750}.invoice-status-list b{font-weight:900;color:#183d60}
.invoice-totals-card{display:grid;gap:10px}.invoice-totals-card>div{display:flex;justify-content:space-between;gap:16px;padding:9px 2px;border-bottom:1px dashed #dfe6ed}.invoice-totals-card>div:last-child{border-bottom:0}.invoice-totals-card span{color:#68798d;font-weight:800}.invoice-totals-card b{font-size:15px;font-weight:950}.invoice-totals-card .grand{margin-top:2px;padding:14px;border:0;border-radius:12px;background:linear-gradient(135deg,#143957,#17698c);color:#fff}.invoice-totals-card .grand span{color:#dbeaf1}.invoice-totals-card .grand b{font-size:21px}
.invoice-advance-card{margin:0 34px 24px;background:#fffaf0;border-color:#f0d59c}.invoice-footer{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:18px 34px;background:#f5f8fb;border-top:1px solid #dde5ed}.invoice-footer strong{display:block;font-size:14px}.invoice-footer small,.invoice-footer span{display:block;color:#77869a;font-size:10px;margin-top:4px}.invoice-page-actions{max-width:1180px;margin:0 auto 30px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:820px){.invoice-brand-header,.invoice-footer{align-items:flex-start;flex-direction:column}.invoice-title-block{text-align:right}.invoice-meta-band{grid-template-columns:repeat(2,1fr)}.invoice-party-grid,.invoice-bottom-grid{grid-template-columns:1fr}.invoice-party-grid,.invoice-lines-card,.invoice-bottom-grid{padding-left:16px;padding-right:16px}.invoice-advance-card{margin-left:16px;margin-right:16px}.invoice-lines-card{overflow:auto}.invoice-lines-table{min-width:760px}}
@media print{body{background:#fff!important}.topbar,.sidebar,.no-print,.toast,#documentQuickView{display:none!important}.app-shell,.workspace,.workspace-main{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.view{display:none!important}.view#view-recruitment-invoice{display:block!important}.invoice-page-shell{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}.invoice-brand-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-meta-band,.invoice-lines-table th,.invoice-totals-card .grand{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:10mm}}
/* V3.39 — budget & aging alert visibility */
#view-expenses .status-badge.danger{background:#fff1f2;color:#b42318;border:1px solid #fecdd3;font-weight:800}
#view-expenses .status-badge.warning{background:#fff7ed;color:#b54708;border:1px solid #fed7aa;font-weight:800}
#view-expenses .status-badge.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;font-weight:800}
#view-expenses .status-badge.pending{background:#fffaeb;color:#b54708;border:1px solid #fedf89;font-weight:800}
#view-expenses .budget-hero{background:linear-gradient(135deg,#0b1f3a 0%,#123b61 55%,#0f766e 100%)}
#view-expenses .table-wrap{max-height:430px;overflow:auto;scrollbar-gutter:stable}
#view-expenses thead th{position:sticky;top:0;z-index:2}

/* V3.40 Financial reporting suite */
.receipt-hero{background:linear-gradient(135deg,#063c35 0%,#0b6b5d 55%,#0e8b79 100%)}
.finance-statements-hero{margin-bottom:18px;border-radius:26px;overflow:hidden;box-shadow:0 22px 55px rgba(11,35,52,.16)}
.finance-statements-hero .report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.finance-statements-hero select,.finance-statements-hero input{min-height:42px;border:1px solid rgba(255,255,255,.24);border-radius:12px;padding:0 12px;background:rgba(255,255,255,.95)}
.finance-bar-chart{display:grid;gap:16px;padding:12px 2px}
.finance-bar-row{display:grid;grid-template-columns:minmax(105px,150px) 1fr minmax(110px,auto);gap:12px;align-items:center;font-weight:700}
.finance-bar-row>span{color:var(--muted,#667085)}
.finance-bar-track{height:16px;background:#eef2f6;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.08)}
.finance-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#176b87,#33a6b8);transform-origin:right center;animation:financeBarIn .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes financeBarIn{from{transform:scaleX(.08);opacity:.25}to{transform:scaleX(1);opacity:1}}
.statement-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.statement-tabs button{border:0;background:#edf2f7;color:#344054;border-radius:999px;padding:11px 18px;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.statement-tabs button:hover{transform:translateY(-2px)}
.statement-tabs button.active{background:#123f5a;color:white;box-shadow:0 10px 25px rgba(18,63,90,.22)}
.statement-panel{border-radius:24px}
.statement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.statement-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.statement-grid h4{font-size:1.1rem;margin:0 0 10px;color:#15364b}
.financial-statement-table table{min-width:100%}.financial-statement-table th{background:#f2f6f8;color:#17394d;font-weight:900}.financial-statement-table td{font-weight:650}
.financial-statement-table .number-cell{text-align:left;font-variant-numeric:tabular-nums;font-weight:800}
.statement-total td{background:#eaf3f5!important;font-weight:900!important;border-top:2px solid #b7d4db}
.statement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.statement-summary span,.cashflow-cards article{padding:16px;border-radius:18px;background:linear-gradient(145deg,#f8fafc,#eef5f7);border:1px solid #e0eaed}.statement-summary b,.cashflow-cards strong{display:block;margin-top:7px;font-size:1.25rem;color:#123f5a}.statement-summary .primary{background:linear-gradient(145deg,#0d5665,#16758a);color:white}.statement-summary .primary b{color:white}
.cashflow-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.cashflow-cards article:nth-child(1){background:linear-gradient(145deg,#e8f7ef,#d8f0e3)}.cashflow-cards article:nth-child(2){background:linear-gradient(145deg,#edf2ff,#e2e9ff)}.cashflow-cards article:nth-child(3){background:linear-gradient(145deg,#fff3e4,#ffe8c7)}.cashflow-cards article:nth-child(4){background:linear-gradient(145deg,#e7f4f8,#d6ebf2)}
@media(max-width:1000px){.statement-grid,.statement-grid.three{grid-template-columns:1fr}.statement-summary,.cashflow-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{#view-financial-statements .statement-tabs,#view-financial-statements .report-actions{display:none!important}#view-financial-statements .panel{box-shadow:none;border:1px solid #d8e0e5}.finance-bar-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V3.40.1 — financial statements reliability hotfix */
.statement-empty-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;padding:36px;border:1px dashed #cbd7e6;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f4f8fc)}
.statement-empty-state strong{font-size:1.15rem;color:#183b5b}.statement-empty-state p{margin:0;color:#6b7d90;max-width:680px}.finance-statements-hero .report-actions select#fsCompany{min-width:180px;font-weight:800}

/* V3.41 — standalone financial statements module */
.financial-statement-launcher{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:16px;margin:22px 0}.financial-statement-launcher button{border:1px solid #dce6f2;background:linear-gradient(145deg,#fff,#f5f9fe);border-radius:22px;padding:24px;text-align:right;cursor:pointer;box-shadow:0 14px 34px rgba(25,57,91,.08);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease}.financial-statement-launcher button:hover{transform:translate3d(0,-5px,0);box-shadow:0 20px 42px rgba(25,57,91,.14);border-color:#a9c7eb}.financial-statement-launcher span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e9f2ff;color:#1768c8;font-weight:900;margin-bottom:18px}.financial-statement-launcher strong{display:block;font-size:19px;color:#17263c;margin-bottom:8px}.financial-statement-launcher small{display:block;line-height:1.8;color:#718096}.financial-statements-module>summary{background:linear-gradient(135deg,rgba(49,116,211,.16),rgba(46,182,148,.10))}.financial-statement-view .statement-panel{min-height:360px}.financial-statement-view .statement-panel [data-role="fs-body"]{overflow:auto;max-height:calc(100vh - 430px);min-height:250px}.financial-statement-view .statement-panel table thead th{position:sticky;top:0;z-index:2;background:#f4f8fd}@media(max-width:1250px){.financial-statement-launcher{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:700px){.financial-statement-launcher{grid-template-columns:1fr}}

/* V3.44 — statement-specific executive financial reporting */
.financial-statement-view{--fs-ink:#13293d;--fs-muted:#6f8193;--fs-line:#dfe8ef;--fs-soft:#f6f9fb;--fs-accent:#117a8b}
.financial-statement-view .finance-statements-hero{margin-bottom:16px}
.fs-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}
.fs-kpi-grid article{min-height:132px;padding:20px 22px;border:1px solid var(--fs-line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(27,55,78,.055);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.fs-kpi-grid article:before{content:"";position:absolute;inset-inline-start:0;top:20px;bottom:20px;width:4px;border-radius:999px;background:linear-gradient(180deg,#117a8b,#38a7b6)}
.fs-kpi-grid span{font-size:.86rem;font-weight:800;color:var(--fs-muted);margin-bottom:10px}
.fs-kpi-grid strong{font-size:1.6rem;line-height:1.2;color:var(--fs-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-kpi-grid small{margin-top:9px;color:#8b99a8;line-height:1.5}
.fs-kpi-grid article.is-balanced{background:linear-gradient(145deg,#ffffff,#f1faf7);border-color:#c9e9dc}
.fs-kpi-grid article.is-balanced:before{background:#1a8f65}.fs-kpi-grid article.is-balanced small{color:#167451;font-weight:800}
.fs-kpi-grid article.is-unbalanced{background:linear-gradient(145deg,#fff,#fff7f4);border-color:#f1d0c6}.fs-kpi-grid article.is-unbalanced:before{background:#c75b3b}.fs-kpi-grid article.is-unbalanced small{color:#a5482f;font-weight:800}
.fs-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.fs-chart-card{min-height:260px;background:#fff;border:1px solid var(--fs-line);border-radius:22px;padding:20px 22px;box-shadow:0 12px 30px rgba(27,55,78,.055)}
.fs-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid #edf2f6;margin-bottom:10px}
.fs-chart-head small{display:block;color:#1681a3;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.fs-chart-head h3{margin:0;color:var(--fs-ink);font-size:1.1rem}.fs-chart-head>span{font-size:.75rem;color:#7e8e9e;background:#f3f7fa;border:1px solid #e2eaf0;padding:7px 10px;border-radius:999px;white-space:nowrap}
.financial-statement-view .finance-bar-chart{min-height:160px;align-content:center;padding:10px 0}.financial-statement-view .finance-bar-row{grid-template-columns:minmax(115px,170px) 1fr minmax(115px,auto);min-height:34px}.financial-statement-view .finance-bar-track{height:10px;background:#edf3f6;box-shadow:none}.financial-statement-view .finance-bar-track i{background:linear-gradient(90deg,#176f84,#2ea5b5)}.financial-statement-view .finance-bar-row.negative .finance-bar-track i{background:linear-gradient(90deg,#8c6570,#c27d7d)}
.finance-chart-zero{min-height:150px;display:grid;place-items:center;align-content:center;text-align:center;gap:5px;color:#8594a3}.finance-chart-zero-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f0f5f8;border:1px solid #e0e9ee;font-size:1.1rem;font-weight:900;color:#60778a;margin-bottom:4px}.finance-chart-zero strong{color:#526779}.finance-chart-zero span{font-size:.78rem;max-width:330px;line-height:1.6}
.financial-statement-view .statement-panel{padding:0;overflow:hidden;background:#fff;border:1px solid var(--fs-line);box-shadow:0 12px 34px rgba(27,55,78,.055)}.financial-statement-view .statement-panel>.panel-head{padding:22px 24px;border-bottom:1px solid #e9eff3;margin:0}.financial-statement-view .statement-panel>[data-role="fs-body"]{padding:20px;max-height:none;overflow:visible;min-height:250px}
.financial-statement-view .statement-grid{align-items:stretch}.statement-section-card{border:1px solid #e2eaf0;border-radius:18px;background:#fff;overflow:hidden;min-width:0}.statement-section-card .financial-statement-table{border:0;border-radius:0}.statement-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#f8fafc;border-bottom:1px solid #e7eef3}.statement-section-title h4{margin:0!important;font-size:1rem!important}.statement-section-title strong{color:#123f5a;font-size:1.02rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.financial-statement-table{border:1px solid #e1e9ef;border-radius:16px;overflow:auto}.financial-statement-table table{border-collapse:separate;border-spacing:0;width:100%}.financial-statement-table th{padding:13px 15px!important;background:#f5f8fa!important;border-bottom:1px solid #dce6ec;color:#40566a!important;font-size:.78rem}.financial-statement-table td{padding:13px 15px!important;border-bottom:1px solid #eef2f5;color:#263d50;font-size:.86rem}.financial-statement-table tbody tr:last-child td{border-bottom:0}.financial-statement-table .number-cell{white-space:nowrap;color:#163d54}
.statement-zero-row td{height:128px!important;background:#fff!important}.statement-zero-inline{display:grid;place-items:center;align-content:center;gap:6px;color:#8796a4;text-align:center}.statement-zero-inline strong{font-size:1.15rem;color:#526b7d;font-variant-numeric:tabular-nums}.statement-zero-inline span{font-size:.8rem}
.financial-statement-view .statement-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.financial-statement-view .statement-summary span{min-height:94px;display:flex;flex-direction:column;justify-content:center;background:#f8fafb;border-color:#e1e9ef}.financial-statement-view .statement-summary b{font-size:1.12rem}
.position-equation{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(190px,.65fr);align-items:stretch;gap:12px;padding:14px;border-radius:20px;border:1px solid #dde7ed;background:#f7fafb}.position-equation>div{padding:15px 17px;border-radius:15px;background:#fff;border:1px solid #e3ebef;display:flex;flex-direction:column;justify-content:center}.position-equation span{font-size:.78rem;color:#788998;font-weight:800}.position-equation strong{margin-top:6px;color:#163d54;font-size:1.15rem}.equation-mark{align-self:center;color:#78909e;font-size:1.35rem}.position-equation .equation-status{background:#eef8f5}.position-equation .equation-status small{margin-top:5px;color:#167451;font-weight:900}.position-equation.unbalanced .equation-status{background:#fff4ef;border-color:#f0d1c7}.position-equation.unbalanced .equation-status small{color:#a5482f}
.financial-statement-view .cashflow-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.financial-statement-view .cashflow-cards article{min-height:96px;display:flex;flex-direction:column;justify-content:center;background:#f8fafb!important;border-color:#e1e9ef}.financial-statement-view .cashflow-cards strong{font-size:1.12rem}
@media(max-width:1180px){.fs-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-chart-grid{grid-template-columns:1fr}.financial-statement-view .statement-grid.three{grid-template-columns:1fr}.position-equation{grid-template-columns:1fr}.equation-mark{display:none}}
@media(max-width:720px){.fs-kpi-grid{grid-template-columns:1fr}.financial-statement-view .statement-panel>[data-role="fs-body"]{padding:12px}.financial-statement-view .cashflow-cards,.financial-statement-view .statement-summary{grid-template-columns:1fr}.financial-statement-view .finance-bar-row{grid-template-columns:1fr;gap:6px}.financial-statement-view .finance-bar-row strong{text-align:right}.fs-chart-head{flex-direction:column}.fs-chart-card{padding:16px}}
@media print{.financial-statement-view .report-actions{display:none!important}.financial-statement-view .finance-statements-hero,.financial-statement-view .fs-kpi-grid article,.financial-statement-view .fs-chart-card,.financial-statement-view .statement-panel{box-shadow:none!important}.financial-statement-view .fs-chart-grid{break-inside:avoid}.financial-statement-view .statement-panel>[data-role="fs-body"]{overflow:visible!important;max-height:none!important}}

/* V3.45 — Professional classified financial statements */
.official-statement-sheet{max-width:1380px;margin:0 auto;direction:rtl;color:#183247}.statement-period-caption{display:flex;align-items:center;justify-content:flex-start;min-height:42px;padding:0 4px 14px;color:#778999;font-size:.82rem;font-weight:800;border-bottom:1px solid #e9eff3;margin-bottom:18px}.position-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.position-column{min-width:0;display:flex;flex-direction:column;gap:16px}.position-column-title{padding:15px 18px;border-radius:14px;background:#173f56;color:#fff;font-size:1.05rem;font-weight:950;letter-spacing:.01em}.statement-major-section{border:1px solid #dee8ee;border-radius:18px;overflow:hidden;background:#fff}.statement-major-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;background:#f6f9fb;border-bottom:1px solid #e2eaef}.statement-major-head small{display:block;color:#8b9aa8;font-size:.62rem;font-weight:900;letter-spacing:.08em;margin-bottom:3px}.statement-major-head h4{margin:0!important;color:#1b3c52;font-size:.98rem!important}.statement-major-head>strong{font-size:1rem;color:#123f5a;white-space:nowrap}.statement-major-body{padding:10px 12px 4px}.statement-subsection{margin-bottom:10px;border:1px solid #edf1f4;border-radius:13px;overflow:hidden;background:#fff}.statement-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;background:#fbfcfd;border-bottom:1px solid #eef2f4;font-size:.82rem;font-weight:900;color:#3c5669}.statement-subsection-head strong{color:#173e55;white-space:nowrap}.statement-subsection .financial-statement-table{border:0;border-radius:0}.statement-subsection .financial-statement-table th{display:none}.statement-subsection .financial-statement-table td{padding:9px 12px!important;font-size:.81rem}.statement-subsection .financial-statement-table td:first-child{display:flex;gap:9px;align-items:center}.statement-account-code{display:inline-flex;min-width:54px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#8a9baa;font-size:.7rem}.statement-major-total{display:flex;justify-content:space-between;gap:14px;padding:12px 18px;background:#f1f6f8;border-top:1px solid #dce7ec;color:#173f56;font-weight:950}.statement-zero-block{min-height:72px;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;border:1px dashed #dbe5ea;border-radius:12px;background:#fbfcfd;color:#8a9aa7}.statement-zero-block strong{color:#385469;font-size:.95rem}.statement-zero-block span{font-size:.76rem}.official-statement-sheet .statement-grand-total{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:16px;background:#153f55;color:#fff;font-weight:950;font-size:1rem}.official-statement-sheet .statement-grand-total strong{font-size:1.2rem;white-space:nowrap}.official-statement-sheet .statement-calculated-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid #dde8ed;border-radius:14px;background:#f5f9fa;color:#193d52;font-weight:950}.official-statement-sheet .statement-calculated-line strong{white-space:nowrap;font-size:1.03rem}.income-statement-sheet{display:flex;flex-direction:column;gap:12px;max-width:980px}.income-line-section{border:1px solid #dfe8ed;border-radius:16px;overflow:hidden;background:#fff}.income-line-title{display:flex;justify-content:space-between;gap:18px;padding:14px 17px;background:#f7fafb;border-bottom:1px solid #e6edf1}.income-line-title h4{margin:0!important;font-size:.94rem!important;color:#244559}.income-line-title strong{white-space:nowrap;color:#173f56}.income-line-section.deduction .income-line-title{background:#fbf8f8}.cashflow-sheet{display:flex;flex-direction:column;gap:13px;max-width:1020px}.cashflow-section{border:1px solid #dfe8ed;border-radius:16px;overflow:hidden}.cashflow-section-head{display:flex;justify-content:space-between;gap:18px;padding:15px 17px;background:#f7fafb;border-bottom:1px solid #e6edf1}.cashflow-section-head h4{margin:0!important;font-size:.94rem!important;color:#244559}.cashflow-section-head strong{color:#173f56}.cashflow-section .financial-statement-table{border:0;border-radius:0}.cashflow-section .financial-statement-table th{display:none}.equity-sheet{max-width:1100px}.trial-balance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.trial-balance-summary span{display:flex;flex-direction:column;gap:6px;padding:13px 15px;border:1px solid #e0e8ed;border-radius:13px;background:#f8fafb;color:#718391;font-size:.73rem;font-weight:850}.trial-balance-summary b{color:#173f56;font-size:.95rem}.financial-statement-view .position-equation{margin-top:20px}.financial-statement-view .position-equation.balanced{border-color:#bbdcd2;background:#f4faf8}.financial-statement-view .position-equation.unbalanced{border-color:#ecd1d1;background:#fff8f8}.financial-statement-view [data-role="fs-balance-card"].is-balanced{border-color:#b9dbd1}.financial-statement-view [data-role="fs-balance-card"].is-unbalanced{border-color:#e9caca;background:#fff9f9}.financial-statement-view .statement-zero-row td{height:74px}.financial-statement-view .statement-zero-inline{display:flex;align-items:center;justify-content:center;gap:9px;flex-direction:column;color:#8a9aa7}.financial-statement-view .statement-zero-inline strong{color:#385469}.financial-statement-view .financial-statement-table .statement-total td{font-weight:950;background:#f2f6f8;color:#173e55;border-top:2px solid #d8e4e9}
@media(max-width:1050px){.position-columns{grid-template-columns:1fr}.trial-balance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.trial-balance-summary{grid-template-columns:1fr}.statement-major-head,.statement-major-total,.income-line-title,.cashflow-section-head,.official-statement-sheet .statement-calculated-line,.official-statement-sheet .statement-grand-total{align-items:flex-start;flex-direction:column}.statement-major-head>strong,.income-line-title strong,.cashflow-section-head strong{align-self:flex-end}}
@media print{.official-statement-sheet{max-width:none}.position-columns{grid-template-columns:1fr 1fr;gap:12px}.statement-major-section,.income-line-section,.cashflow-section{break-inside:avoid}.statement-subsection{break-inside:avoid}.official-statement-sheet .statement-grand-total{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V3.46 — live GL linkage, deterministic classification and reconciliation */
.fs-integration-banner{max-width:1380px;margin:0 auto 16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 16px;border:1px solid #d7e7e1;border-radius:16px;background:linear-gradient(145deg,#f8fcfb,#eef8f5);color:#264b42}
.fs-integration-banner.warn{border-color:#ecd8bb;background:linear-gradient(145deg,#fffdf9,#fff7eb);color:#795824}
.fs-integration-banner>div:first-child{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:3px 8px}.fs-integration-banner>div:first-child small{grid-column:2;color:#71867f;font-weight:700}.fs-live-dot{width:9px;height:9px;border-radius:50%;background:#28a17a;box-shadow:0 0 0 5px rgba(40,161,122,.11)}
.fs-integrity-metric{min-width:130px;padding:8px 12px;border-inline-start:1px solid rgba(89,126,114,.16);display:flex;flex-direction:column;gap:3px}.fs-integrity-metric span{font-size:.67rem;color:#81928c;font-weight:800}.fs-integrity-metric b{font-size:.84rem;color:#1f4e42;white-space:nowrap}
.cash-reconciliation{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 16px;border-radius:13px;border:1px solid #dbe8e3;background:#f5faf8;color:#31584e}.cash-reconciliation strong{font-variant-numeric:tabular-nums}.cash-reconciliation small{font-weight:900;color:#268063}.cash-reconciliation.unbalanced{border-color:#eccdcd;background:#fff7f7;color:#744444}.cash-reconciliation.unbalanced small{color:#ad4141}
@media(max-width:780px){.fs-integration-banner{grid-template-columns:1fr}.fs-integrity-metric{border-inline-start:0;border-top:1px solid rgba(89,126,114,.16);padding-inline:0}.cash-reconciliation{grid-template-columns:1fr}.cash-reconciliation strong,.cash-reconciliation small{justify-self:end}}
@media print{.fs-integration-banner{box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cash-reconciliation{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V3.49 — branch + business-line financial analytics */
.fs-analysis-section{max-width:1380px;margin:22px auto 0;border:1px solid #dce6ee;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 28px rgba(31,55,77,.06)}
.fs-oracle-summary{border:1px solid #d9e5eb;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 28px rgba(31,55,77,.055);margin-bottom:8px}.fs-margin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e6edf1;border-bottom:1px solid #e0e9ee}.fs-margin-grid article{padding:16px 18px;background:#f8fafb;display:flex;flex-direction:column;gap:7px}.fs-margin-grid span{font-size:.74rem;font-weight:850;color:#748694}.fs-margin-grid strong{font-size:1.15rem;color:#173f56;font-variant-numeric:tabular-nums}.fs-oracle-summary .financial-statement-table{border:0;border-radius:0;margin:0}.fs-variance strong,.fs-variance small{display:block;white-space:nowrap}.fs-variance small{margin-top:3px;font-size:.68rem}.fs-variance.favorable{color:#157451}.fs-variance.unfavorable{color:#b14737}.fs-variance.neutral{color:#7a8a96}.fs-comparison-caption{padding:10px 14px;background:#f4f7f9;border-top:1px solid #e3eaee;color:#748694;font-size:.7rem;font-weight:750}
.fs-analysis-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e8eef3;background:linear-gradient(180deg,#fbfdff,#f7fafc)}
.fs-analysis-head small{display:block;color:#0d82a4;font-weight:900;letter-spacing:.08em;font-size:11px}.fs-analysis-head h4{margin:4px 0 0;font-size:20px;color:#183247}.fs-analysis-head>span{font-size:12px;font-weight:800;color:#728596}
.fs-analysis-section .statement-table-wrap{margin:0;border:0;border-radius:0;box-shadow:none}.fs-analysis-section table th{white-space:nowrap}.fs-analysis-section table td:first-child{min-width:150px}
.fs-unallocated-row{background:#fff9ed!important}.fs-unallocated-row td:first-child{color:#8a5b12}.fs-unallocated-row small{display:block;margin-top:3px;color:#a77a38;font-size:10px;font-weight:800}
@media(max-width:900px){.fs-analysis-head{align-items:flex-start;flex-direction:column}.fs-analysis-section{overflow-x:auto}}
@media(max-width:900px){.fs-margin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-oracle-summary{overflow-x:auto}}
@media print{.fs-analysis-section{box-shadow:none;break-inside:avoid}.fs-unallocated-row{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V3.50 — Recruitment invoice A4 print hardening */
@media print{
  html,body{width:210mm!important;min-width:0!important;overflow:visible!important;background:#fff!important}
  body{font-size:9pt!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .invoice-page-actions{display:none!important}
  #view-recruitment-invoice{width:100%!important;min-width:0!important;overflow:visible!important}
  #view-recruitment-invoice .invoice-page-shell{
    width:196mm!important;max-width:196mm!important;min-width:0!important;margin:0 auto!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
  }
  #view-recruitment-invoice .invoice-brand-header{padding:12mm 9mm 7mm!important;gap:8mm!important;min-height:0!important}
  #view-recruitment-invoice .invoice-logo-mark{width:13mm!important;height:13mm!important;border-radius:3mm!important;grid-template-columns:repeat(2,3mm)!important;grid-auto-rows:3mm!important;gap:1mm!important}
  #view-recruitment-invoice .invoice-logo-mark i{width:3mm!important;height:3mm!important}
  #view-recruitment-invoice .invoice-brand h2{font-size:16pt!important;margin:0!important}
  #view-recruitment-invoice .invoice-brand p,#view-recruitment-invoice .invoice-brand small{font-size:7.5pt!important}
  #view-recruitment-invoice .invoice-title-block h1{font-size:20pt!important;margin:1mm 0!important}
  #view-recruitment-invoice .invoice-title-block span{font-size:8pt!important}
  #view-recruitment-invoice .invoice-title-block p{font-size:7.5pt!important;padding:1mm 2.5mm!important}
  #view-recruitment-invoice .invoice-meta-band{grid-template-columns:repeat(4,1fr)!important}
  #view-recruitment-invoice .invoice-meta-band>div{padding:4mm 5mm!important}
  #view-recruitment-invoice .invoice-meta-band small,#view-recruitment-invoice .invoice-party-grid small{font-size:7pt!important;margin-bottom:1mm!important}
  #view-recruitment-invoice .invoice-meta-band strong{font-size:8.5pt!important}
  #view-recruitment-invoice .invoice-party-grid{grid-template-columns:1fr 1fr!important;gap:4mm!important;padding:5mm 7mm!important}
  #view-recruitment-invoice .invoice-party-grid article{padding:3.5mm 4mm!important;border-radius:2mm!important;break-inside:avoid!important}
  #view-recruitment-invoice .invoice-party-grid h3{font-size:10pt!important;margin:0 0 1mm!important}
  #view-recruitment-invoice .invoice-party-grid p{font-size:7.5pt!important;line-height:1.45!important}
  #view-recruitment-invoice .invoice-lines-card{padding:0 7mm 4mm!important;overflow:visible!important}
  #view-recruitment-invoice .invoice-lines-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-radius:2mm!important;font-size:7pt!important}
  #view-recruitment-invoice .invoice-lines-table th{padding:2.2mm 2mm!important;font-size:6.8pt!important;white-space:normal!important}
  #view-recruitment-invoice .invoice-lines-table td{padding:2.2mm 2mm!important;font-size:7pt!important;white-space:normal!important;word-break:normal!important}
  #view-recruitment-invoice .invoice-lines-table th:nth-child(1),#view-recruitment-invoice .invoice-lines-table td:nth-child(1){width:6%}
  #view-recruitment-invoice .invoice-lines-table th:nth-child(2),#view-recruitment-invoice .invoice-lines-table td:nth-child(2){width:40%}
  #view-recruitment-invoice .invoice-lines-table th:nth-child(3),#view-recruitment-invoice .invoice-lines-table td:nth-child(3){width:16%}
  #view-recruitment-invoice .invoice-lines-table th:nth-child(n+4),#view-recruitment-invoice .invoice-lines-table td:nth-child(n+4){width:12.66%}
  #view-recruitment-invoice .invoice-bottom-grid{grid-template-columns:1fr .82fr!important;gap:4mm!important;padding:0 7mm 4mm!important;break-inside:avoid!important}
  #view-recruitment-invoice .invoice-workflow-card,#view-recruitment-invoice .invoice-totals-card,#view-recruitment-invoice .invoice-advance-card{padding:3.5mm!important;border-radius:2mm!important}
  #view-recruitment-invoice .invoice-workflow-card h3,#view-recruitment-invoice .invoice-advance-card h3{font-size:8.5pt!important;margin:0 0 2mm!important}
  #view-recruitment-invoice .invoice-status-list{gap:1.5mm!important}
  #view-recruitment-invoice .invoice-status-list>div{padding:1.7mm 2mm!important;border-radius:1.5mm!important;font-size:7pt!important}
  #view-recruitment-invoice .invoice-totals-card{gap:1mm!important}
  #view-recruitment-invoice .invoice-totals-card>div{padding:1.5mm 0!important;font-size:7.5pt!important}
  #view-recruitment-invoice .invoice-totals-card b{font-size:8.5pt!important}
  #view-recruitment-invoice .invoice-totals-card .grand{padding:2.5mm!important;border-radius:2mm!important}
  #view-recruitment-invoice .invoice-totals-card .grand b{font-size:13pt!important}
  #view-recruitment-invoice .invoice-advance-card{margin:0 7mm 4mm!important;break-inside:avoid!important}
  #view-recruitment-invoice .invoice-footer{padding:3.5mm 7mm!important;gap:5mm!important;break-inside:avoid!important;font-size:7pt!important}
  #view-recruitment-invoice .invoice-footer strong{font-size:8pt!important}
  #view-recruitment-invoice .invoice-footer small,#view-recruitment-invoice .invoice-footer span{font-size:6.5pt!important;margin-top:.8mm!important}
  #view-recruitment-invoice table,#view-recruitment-invoice tr,#view-recruitment-invoice td,#view-recruitment-invoice th{break-inside:avoid!important}
  @page{size:A4 portrait;margin:7mm!important}
}

/* V3.53 — professional financial document viewer + icon rail sidebar */
@media(min-width:761px){
  .app-shell.sidebar-collapsed{--erp-sidebar-width:72px!important}
  .app-shell.sidebar-collapsed .sidebar{transform:none!important;opacity:1!important;pointer-events:auto!important;width:72px!important;padding:0 8px 14px!important;border:0!important;overflow:visible!important;z-index:60}
  .app-shell.sidebar-collapsed .sidebar .brand{justify-content:center;padding-inline:0}
  .app-shell.sidebar-collapsed .sidebar .brand>div:last-child,.app-shell.sidebar-collapsed .sidebar .nav-section-label,.app-shell.sidebar-collapsed .sidebar .sidebar-foot{display:none!important}
  .app-shell.sidebar-collapsed .sidebar .nav-item{font-size:0!important;justify-content:center!important;min-height:46px;padding:10px 8px!important;white-space:nowrap;overflow:hidden}
  .app-shell.sidebar-collapsed .sidebar .nav-item>span:not(.nav-dot){font-size:19px!important;margin:0!important}
  .app-shell.sidebar-collapsed .sidebar .nav-standalone::before{content:'▣';font-size:19px;line-height:1}
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary{justify-content:center!important;padding:11px 8px!important;min-height:46px}
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary b,.app-shell.sidebar-collapsed .sidebar .nav-module>summary i{display:none!important}
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary span{font-size:19px!important;margin:0!important}
  .app-shell.sidebar-collapsed .sidebar .nav-module-items{display:none!important}
  .app-shell.sidebar-collapsed .workspace{width:100%!important;max-width:none!important;min-width:0}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar{width:278px!important;padding:0 14px 18px!important;box-shadow:-18px 0 40px rgba(15,30,50,.18);background:linear-gradient(180deg,var(--erp-navy,#16243a) 0%,#10192a 100%)}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .brand{justify-content:flex-start;padding-inline:0}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .brand>div:last-child,.app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-section-label,.app-shell.sidebar-collapsed.sidebar-peek .sidebar .sidebar-foot{display:flex!important}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .brand>div:last-child{display:block!important}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-item{font-size:12px!important;justify-content:flex-start!important;padding:10px 12px!important;overflow:visible}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary{justify-content:flex-start!important;padding:10px 12px!important}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary b,.app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary i{display:inline!important}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module-items{display:block!important}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-standalone::before{display:none}
}
.financial-document-dialog{width:min(1180px,94vw);max-height:92vh;padding:0;border:0;border-radius:22px;overflow:hidden;background:#eef3f8;box-shadow:0 32px 100px rgba(15,30,50,.34)}
.financial-document-dialog::backdrop{background:rgba(17,28,43,.64);backdrop-filter:blur(7px)}
.financial-document-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;background:#fff;border-bottom:1px solid #dbe4ee}
.financial-document-toolbar h3{margin:3px 0 0;font-size:21px;font-weight:950;color:#172b43}.financial-document-toolbar small{color:#1883b1;font-weight:900;letter-spacing:.03em}
.financial-document-stage{padding:18px;max-height:calc(92vh - 78px);overflow:auto}
.financial-document-paper{max-width:1020px;margin:0 auto;background:#fff;border:1px solid #dbe4ee;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(30,50,75,.09);color:#172b43}
.financial-document-head{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:26px 30px;background:linear-gradient(135deg,#12324c,#1f6685);color:#fff}
.financial-document-brand{display:flex;align-items:center;gap:14px}.financial-document-logo{width:54px;height:54px;border-radius:15px;background:#fff;color:#1b5875;display:grid;place-items:center;font-size:24px;font-weight:950}.financial-document-brand h2{margin:2px 0 3px;font-size:23px}.financial-document-brand p,.financial-document-brand small{margin:0;color:#d7e8f0;font-weight:700}
.financial-document-number{text-align:left;display:grid;justify-items:start;gap:5px}.financial-document-number>small{color:#d7e8f0}.financial-document-number>strong{font-size:24px;letter-spacing:.02em}
.financial-document-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;background:rgba(255,255,255,.16)}.financial-document-status.is-posted{background:#dff5e9;color:#17663d}.financial-document-status.is-approved{background:#e4efff;color:#235ca5}.financial-document-status.is-reviewed{background:#fff3d8;color:#7d5c14}
.financial-document-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe7ef;border-bottom:1px solid #dfe7ef}.financial-document-meta>div{background:#f8fafc;padding:15px 17px}.financial-document-meta span,.financial-document-audit small{display:block;color:#74849a;font-size:11px;font-weight:800;margin-bottom:5px}.financial-document-meta b{font-size:13px;font-weight:950}
.financial-document-note{margin:20px 28px 4px;padding:13px 15px;border:1px solid #dce6ef;border-radius:12px;background:#f7fafc;line-height:1.8;font-size:13px}
.financial-document-lines{padding:18px 28px}.financial-document-section-title{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:10px}.financial-document-section-title small{color:#1681ae;font-weight:900}.financial-document-section-title h3{margin:2px 0 0;font-size:17px}.financial-document-section-title>span{color:#738397;font-weight:800;font-size:11px}
.financial-document-table-wrap{border:1px solid #dce5ef;border-radius:13px;overflow:auto}.financial-document-table-wrap table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}.financial-document-table-wrap th{position:static;background:#173d61;color:#fff;font-size:11px;padding:10px}.financial-document-table-wrap td{font-size:11.5px;padding:11px 10px;background:#fff}.financial-document-table-wrap .code{font-family:ui-monospace,Consolas,monospace;font-weight:850}.financial-document-table-wrap .money-cell{text-align:left;font-variant-numeric:tabular-nums;font-weight:900}.financial-document-table-wrap .debit{color:#174f7a}.financial-document-table-wrap .credit{color:#7b3e2e}
.financial-document-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 28px 20px}.financial-document-totals article{border:1px solid #dce5ef;border-radius:13px;padding:14px 16px;background:#fbfcfe}.financial-document-totals span{display:block;color:#738397;font-size:11px;font-weight:800}.financial-document-totals strong{display:block;margin-top:5px;font-size:17px}.financial-document-totals small{display:block;margin-top:4px;color:#66768a}.financial-document-totals .balanced{border-color:#bfe7d0;background:#f4fbf7}.financial-document-totals .unbalanced{border-color:#f0c7bf;background:#fff7f5}
.financial-document-audit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 28px 20px;padding:14px;border-top:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1}.financial-document-audit b{font-size:12px}.financial-document-foot{display:flex;justify-content:space-between;gap:12px;padding:13px 28px;background:#f7f9fc;color:#7a899b;font-size:10px;font-weight:750}
@media(max-width:760px){.financial-document-dialog{width:98vw}.financial-document-stage{padding:8px}.financial-document-head{align-items:flex-start;flex-direction:column}.financial-document-meta,.financial-document-totals,.financial-document-audit{grid-template-columns:1fr 1fr}.financial-document-foot{flex-direction:column}.financial-document-number{text-align:right}}
@media print{.financial-document-toolbar{display:none!important}.financial-document-stage{padding:0;max-height:none;overflow:visible}.financial-document-paper{border:0;box-shadow:none;border-radius:0}.financial-document-table-wrap{overflow:visible}.financial-document-table-wrap table{min-width:0}.financial-document-dialog{width:auto;max-height:none;background:#fff}}

/* V3.55 — premium sidebar motion + stronger overlay presence */
@media (min-width:761px){
  .app-shell{
    position:relative;
  }
  .app-shell.sidebar-collapsed .sidebar{
    width:72px!important;
    transition:
      width 430ms cubic-bezier(.16,1,.3,1),
      padding 430ms cubic-bezier(.16,1,.3,1),
      box-shadow 360ms ease,
      background 360ms ease,
      filter 360ms ease!important;
    will-change:width,box-shadow;
  }
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar{
    width:278px!important;
    box-shadow:-28px 0 64px rgba(11,24,43,.28),-7px 0 20px rgba(11,24,43,.13)!important;
    filter:saturate(1.04);
  }

  /* Cinematic overlay behind the floating sidebar. */
  .app-shell.sidebar-collapsed::after{
    content:"";
    position:fixed;
    inset:0 72px 0 0;
    z-index:52;
    pointer-events:none;
    opacity:0;
    background:rgba(12,24,42,.10);
    -webkit-backdrop-filter:blur(0px);
    backdrop-filter:blur(0px);
    transition:
      opacity 310ms cubic-bezier(.2,.8,.2,1),
      backdrop-filter 360ms ease,
      -webkit-backdrop-filter 360ms ease;
  }
  .app-shell.sidebar-collapsed.sidebar-peek::after{
    opacity:1;
    -webkit-backdrop-filter:blur(1.8px);
    backdrop-filter:blur(1.8px);
  }

  /* Animate the information layer instead of letting it pop in. */
  .app-shell.sidebar-collapsed .sidebar .brand>div:last-child,
  .app-shell.sidebar-collapsed .sidebar .nav-section-label,
  .app-shell.sidebar-collapsed .sidebar .sidebar-foot,
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary b,
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary i{
    opacity:0;
    transform:translateX(14px);
    transition:opacity 180ms ease,transform 320ms cubic-bezier(.16,1,.3,1)!important;
  }
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .brand>div:last-child,
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-section-label,
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .sidebar-foot,
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary b,
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary i{
    opacity:1;
    transform:translateX(0);
    transition-delay:90ms!important;
  }

  .app-shell.sidebar-collapsed .sidebar .nav-item,
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary{
    transition:
      padding 360ms cubic-bezier(.16,1,.3,1),
      background-color 180ms ease,
      color 180ms ease,
      transform 220ms ease!important;
  }
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-item,
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar .nav-module>summary{
    transform:translateX(0);
  }
  .app-shell.sidebar-collapsed .sidebar .nav-item:hover,
  .app-shell.sidebar-collapsed .sidebar .nav-module>summary:hover{
    transform:translateX(-2px);
  }

  /* Give the active icon a subtle motion anchor while rail is collapsed. */
  .app-shell.sidebar-collapsed:not(.sidebar-peek) .sidebar .nav-item.active,
  .app-shell.sidebar-collapsed:not(.sidebar-peek) .sidebar .nav-module:has(.nav-item.active)>summary{
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 8px 18px rgba(0,0,0,.10);
  }
}

@media (prefers-reduced-motion:reduce){
  .app-shell.sidebar-collapsed .sidebar,
  .app-shell.sidebar-collapsed::after,
  .app-shell.sidebar-collapsed .sidebar *{
    transition-duration:1ms!important;
    transition-delay:0ms!important;
  }
}

/* V3.64 External Follow-up print */
@media print{
  body.printing-external-follow-up{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-external-follow-up .sidebar,body.printing-external-follow-up .topbar,body.printing-external-follow-up footer,body.printing-external-follow-up .toast,body.printing-external-follow-up dialog,body.printing-external-follow-up .button{display:none!important}
  body.printing-external-follow-up .view{display:none!important}
  body.printing-external-follow-up #view-external-follow-up{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printing-external-follow-up .app-shell,body.printing-external-follow-up .workspace{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printing-external-follow-up .panel{box-shadow:none!important;border:1px solid #ccd7e4!important}
  body.printing-external-follow-up .table-wrap{overflow:visible!important}
  body.printing-external-follow-up table{min-width:0!important;font-size:8px}
  body.printing-external-follow-up th,body.printing-external-follow-up td{padding:6px!important}
  @page{size:A4 landscape;margin:8mm}
}


/* V3.67 External Worker 360 + stage reports */
.external-stage-report-panel{overflow:hidden}
.external-stage-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.external-stage-report-card{border:1px solid #dce6f0;background:linear-gradient(145deg,#fff,#f7fbff);border-radius:16px;padding:18px;text-align:right;display:grid;gap:7px;cursor:pointer;transition:.2s ease;min-height:120px}
.external-stage-report-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,73,125,.10);border-color:#aac8e8}
.external-stage-report-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf4ff;color:#1769aa;font-weight:800}
.external-stage-report-card>b{font-size:15px;color:#17283b}
.external-stage-report-card>small{color:#708198;line-height:1.55}
.external-follow-up-report-sheet{display:none;background:#fff;color:#17283b}
.external-follow-up-report-sheet header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1d6fba;padding-bottom:14px;margin-bottom:10px}
.external-follow-up-report-sheet header small{color:#1d6fba;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.external-follow-up-report-sheet header h2{margin:4px 0;font-size:24px}
.external-follow-up-report-sheet header p,.external-report-meta{margin:0;color:#6d7e91}
.external-report-brand{text-align:left;display:grid;gap:2px}
.external-report-brand b{font-size:24px;color:#1d6fba}
.external-follow-up-report-sheet table{width:100%;border-collapse:collapse;margin-top:14px;font-size:10px}
.external-follow-up-report-sheet th{background:#eef5fb;padding:8px;border:1px solid #d8e3ee}
.external-follow-up-report-sheet td{padding:8px;border:1px solid #e2e9f0}
.external-follow-up-report-sheet footer{margin-top:14px;padding-top:10px;border-top:1px solid #dfe7ef;color:#718197;font-size:9px;text-align:center}

.external-worker-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border:1px solid #dce6f0;border-radius:18px;background:linear-gradient(135deg,#fff,#f7fbff);margin-bottom:16px}
.external-worker-hero h2{margin:4px 0 5px;font-size:25px}
.external-worker-hero p{margin:0;color:#718197}
.external-worker-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.external-worker-kpis article{background:#fff;border:1px solid #dce6f0;border-radius:16px;padding:18px;display:grid;gap:6px}
.external-worker-kpis span{color:#6d7e91;font-size:11px}
.external-worker-kpis strong{font-size:18px;color:#17283b}
.external-worker-kpis small{color:#8291a3}
.external-worker-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;margin-bottom:16px}
.external-worker-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.external-worker-facts>div{padding:13px;border:1px solid #e0e8f0;border-radius:12px;background:#fafcff;display:grid;gap:5px}
.external-worker-facts span{color:#75869a;font-size:11px}
.external-worker-facts b{font-size:14px}
.external-worker-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.external-worker-step{border:1px solid #dce6f0;border-radius:16px;padding:16px;background:#fff;display:grid;gap:13px}
.external-worker-step.completed{border-color:#b8ddca;background:linear-gradient(145deg,#fff,#f4fbf7)}
.external-worker-step.pending{border-color:#eadab8;background:linear-gradient(145deg,#fff,#fffaf2)}
.external-worker-step-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.external-worker-step-head>div{display:grid;gap:3px}
.external-worker-step-head small{font-size:9px;color:#8897a8}
.external-worker-step-head strong{font-size:14px}
.external-worker-step-controls{display:flex;gap:8px}
.external-worker-step-controls select,.external-worker-step-controls input{width:100%;min-height:38px;border:1px solid #d6e1eb;border-radius:9px;background:#fff;padding:7px 9px}
.external-worker-step-meta{color:#7d8c9d;line-height:1.5}

@media(max-width:1100px){
 .external-stage-report-grid,.external-worker-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .external-worker-grid{grid-template-columns:1fr}
 .external-worker-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .external-stage-report-grid,.external-worker-kpis,.external-worker-steps,.external-worker-facts{grid-template-columns:1fr}
 .external-worker-hero{align-items:flex-start;flex-direction:column}
}

@media print{
  body.printing-external-follow-up-report{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-external-follow-up-report .sidebar,
  body.printing-external-follow-up-report .topbar,
  body.printing-external-follow-up-report footer,
  body.printing-external-follow-up-report .toast,
  body.printing-external-follow-up-report dialog,
  body.printing-external-follow-up-report .view>*{display:none!important}
  body.printing-external-follow-up-report .view{display:none!important}
  body.printing-external-follow-up-report #view-external-follow-up{display:block!important}
  body.printing-external-follow-up-report #view-external-follow-up .external-stage-report-panel{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}
  body.printing-external-follow-up-report #view-external-follow-up .external-stage-report-panel>*{display:none!important}
  body.printing-external-follow-up-report #view-external-follow-up .external-follow-up-report-sheet{display:block!important}
  body.printing-external-follow-up-report .app-shell,
  body.printing-external-follow-up-report .workspace{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  @page{size:A4 landscape;margin:9mm}
}

@media print{body.printing-external-follow-up-report #efuReportSheet footer{display:block!important}}


/* V3.68.3 Customer debtors portfolio */
.customer-debtors-overview{display:grid;gap:14px;margin:0 0 18px}
.customer-debtors-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-debtors-kpis article{background:#fff;border:1px solid var(--line,#dbe4ee);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-height:106px}
.customer-debtors-kpis small{color:var(--muted,#64748b);font-weight:700}
.customer-debtors-kpis strong{font-size:1.45rem;color:var(--ink,#0f172a)}
.customer-debtors-kpis em{font-style:normal;font-size:.76rem;color:var(--muted,#64748b)}
.debtors-list-card{overflow:hidden}
.debtors-table .debtor-balance{font-weight:800}
.debtors-table tbody tr{cursor:default}
@media(max-width:980px){.customer-debtors-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.customer-debtors-kpis{grid-template-columns:1fr}}

/* V3.75.1 — Premium rental coverage map editor */
.rental-coverage-editor{padding:22px!important;overflow:visible}
.rental-coverage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px}
.rental-coverage-head h2{font-size:30px;margin:3px 0 7px;color:#152238;letter-spacing:-.4px}
.rental-coverage-head small{display:block;max-width:820px;color:#728096;font-size:13px;line-height:1.8}
.coverage-branch-field{min-width:330px;display:flex;flex-direction:column;gap:8px;font-weight:700;color:#334155}
.coverage-branch-field select{height:46px;border:1px solid #d9e2ef;border-radius:13px;background:#fff;padding:0 14px;font-weight:700;color:#24344a;box-shadow:0 4px 14px rgba(15,37,64,.04)}
.coverage-map-shell{position:relative;border:1px solid #dbe5f0;border-radius:18px;overflow:hidden;background:#eef4f9;box-shadow:0 10px 30px rgba(15,37,64,.07)}
.coverage-map{height:410px;min-height:410px;z-index:1;background:#e9eef3}
.coverage-map .leaflet-control-attribution{font-size:9px;opacity:.72}
.coverage-map-search{position:absolute;z-index:500;left:18px;top:18px;width:min(330px,38%);display:flex;background:rgba(255,255,255,.96);border:1px solid rgba(210,220,232,.95);border-radius:12px;box-shadow:0 10px 25px rgba(15,37,64,.12);overflow:hidden;backdrop-filter:blur(14px)}
.coverage-map-search input{width:100%;height:44px;border:0!important;background:transparent!important;padding:0 14px!important;outline:none;color:#334155}
.coverage-map-search button{width:46px;border:0;background:transparent;color:#3b5d83;font-size:22px;cursor:pointer}
.coverage-map-toolbar{position:absolute;z-index:500;right:18px;top:18px;display:flex;gap:8px;flex-wrap:wrap;max-width:70%;justify-content:flex-start}
.coverage-tool{height:44px;padding:0 15px;border-radius:12px;border:1px solid rgba(209,220,233,.96);background:rgba(255,255,255,.96);color:#334155;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(15,37,64,.09);backdrop-filter:blur(14px);transition:.18s ease;display:inline-flex;align-items:center;gap:7px}
.coverage-tool:hover{transform:translateY(-1px);border-color:#9fb6d5}
.coverage-tool.active{border-color:#2b71d8;color:#1f61bf;background:#f8fbff}
.coverage-tool.primary{background:#1767d1;color:#fff;border-color:#1767d1}
.coverage-tool.danger{color:#d64040}
.coverage-map-legend{position:absolute;z-index:500;left:18px;bottom:16px;background:rgba(255,255,255,.96);border:1px solid #dbe4ee;border-radius:11px;padding:9px 13px;box-shadow:0 8px 20px rgba(15,37,64,.08);display:flex;align-items:center;gap:8px;font-weight:800;color:#405168}
.coverage-map-legend i{width:14px;height:14px;border-radius:50%;display:block;background:#4b9cf5;box-shadow:0 0 0 6px rgba(75,156,245,.15)}
.coverage-summary-strip{display:grid;grid-template-columns:1.25fr .9fr 1fr 1fr .8fr;margin-top:12px;border:1px solid #e1e8f0;border-radius:15px;background:linear-gradient(180deg,#fff,#f9fbfd);overflow:hidden}
.coverage-summary-strip article{padding:14px 16px;text-align:center;border-left:1px solid #e8eef4;display:flex;flex-direction:column;gap:5px;min-width:0}
.coverage-summary-strip article:last-child{border-left:0}
.coverage-summary-strip span{font-size:12px;color:#7a8798;font-weight:700}
.coverage-summary-strip strong{font-size:14px;color:#26364a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coverage-status-toggle{border:0;background:transparent;display:inline-flex;justify-content:center;align-items:center;gap:8px;color:#15934b;font-weight:800;cursor:pointer}
.coverage-status-toggle i{width:38px;height:20px;border-radius:999px;background:#1fb25b;position:relative;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.coverage-status-toggle i:after{content:"";position:absolute;width:16px;height:16px;top:2px;right:2px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}
.coverage-status-toggle:not(.on){color:#8c97a6}.coverage-status-toggle:not(.on) i{background:#c8d0da}.coverage-status-toggle:not(.on) i:after{right:20px}
.coverage-saved-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 10px}
.coverage-saved-head h3{margin:0;color:#1f2e43;font-size:20px}.coverage-saved-head p{margin:4px 0 0;color:#8a96a6;font-size:12px}
.coverage-table-wrap{border:1px solid #e0e7ef;border-radius:14px;overflow:hidden}.coverage-table-wrap table{margin:0}.coverage-table-wrap thead th{background:#f7f9fc;color:#66758a}.coverage-table-wrap tbody tr:hover{background:#fbfdff}
.coverage-kind-badge,.coverage-state-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.coverage-kind-badge.circle{background:#eaf3ff;color:#2470ce}.coverage-kind-badge.polygon{background:#f0edff;color:#6946c7}.coverage-state-badge.on{background:#eaf8ef;color:#178648}.coverage-state-badge.off{background:#f1f3f5;color:#7b8592}
.coverage-actions{display:flex;gap:7px;align-items:center}.coverage-actions .text-button{border:1px solid #dbe4ef;border-radius:9px;padding:7px 10px;background:#fff}
.leaflet-draw-tooltip{direction:rtl;font-family:inherit}.coverage-map .leaflet-popup-content{direction:rtl;text-align:right}
@media(max-width:900px){.rental-coverage-head{flex-direction:column;align-items:stretch}.coverage-branch-field{min-width:0}.coverage-map-toolbar{right:10px;left:10px;max-width:none;top:72px}.coverage-tool{padding:0 10px}.coverage-map-search{left:10px;right:10px;width:auto}.coverage-summary-strip{grid-template-columns:1fr 1fr}.coverage-summary-strip article{border-bottom:1px solid #e8eef4}.coverage-saved-head{align-items:stretch;flex-direction:column}.coverage-map{height:500px}}

/* V3.75.4 Branding + live courier tracking */
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.brand-mark.has-logo{background:#fff;padding:5px}.branding-upload-grid{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}.branding-preview{width:140px;height:140px;border-radius:28px;background:linear-gradient(145deg,#fff,#eef3f8);border:1px solid #dbe4ef;display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 30px rgba(16,35,61,.09)}.branding-preview div{font-size:48px;font-weight:900;color:#17365d}.branding-preview img{width:100%;height:100%;object-fit:contain;padding:12px}.branding-upload-copy p{color:#768395;margin:7px 0 14px}.branding-upload-copy input[type=file]{width:100%;border:1px dashed #cbd7e6;border-radius:14px;padding:14px;background:#f9fbfd}.courier-live-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:16px}.courier-live-map{height:480px;border-radius:20px;overflow:hidden;background:#e8edf3;border:1px solid #dbe4ef}.courier-live-list{display:flex;flex-direction:column;gap:10px;max-height:480px;overflow:auto}.courier-live-card{border:1px solid #dce5ef;border-radius:17px;padding:13px;background:#fff;cursor:pointer}.courier-live-card:hover{border-color:#9bbbe1;box-shadow:0 8px 22px rgba(20,54,89,.08)}.courier-live-card .live-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.courier-live-card b{color:#132b40}.courier-live-card small{display:block;color:#778397;margin-top:4px}.courier-live-dot{width:9px;height:9px;border-radius:50%;background:#1fa66a;box-shadow:0 0 0 4px #e5f7ef}.courier-stale-dot{background:#d39a30;box-shadow:0 0 0 4px #fff3d9}@media(max-width:900px){.courier-live-grid,.branding-upload-grid{grid-template-columns:1fr}.branding-preview{margin:auto}}

/* V3.75.5 branding polish */
.brand-mark{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.12);overflow:hidden}.brand-mark.has-logo{padding:0;background:transparent;border-color:transparent}.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:10px;filter:none}.branding-preview{width:160px;height:160px;border-radius:22px;background:#fff;border:1px solid #dce5ef;box-shadow:0 10px 28px rgba(19,43,64,.08);padding:14px}.branding-preview img{padding:0;object-fit:contain}.branding-upload-copy strong{font-size:18px;color:#132b40}.branding-upload-copy input[type=file]{background:#fff}.coverage-map{min-height:460px}

/* V3.75.6 — Leaflet layout stability on animated/settings views */
.coverage-map-shell,.coverage-map{width:100%;min-width:0}
.coverage-map{position:relative;direction:ltr}
.coverage-map .leaflet-container{width:100%;height:100%}


/* V3.75.7 — Enterprise UI/UX refresh inspired by modern ERP suites */
:root{
  --erp-navy:#0f2742;
  --erp-navy-2:#17385e;
  --erp-blue:#2563a6;
  --erp-blue-strong:#174f87;
  --erp-bg:#f4f7fb;
  --erp-surface:#ffffff;
  --erp-line:#dbe4ee;
  --erp-line-soft:#eaf0f6;
  --erp-text:#17283c;
  --erp-muted:#65758a;
  --erp-shadow:0 8px 24px rgba(19,43,68,.06);
  --erp-shadow-hover:0 12px 30px rgba(19,43,68,.10);
}
html,body{background:var(--erp-bg)!important;color:var(--erp-text)}
body{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;font-size:16px!important;line-height:1.6!important;font-weight:500!important;letter-spacing:0!important}
.app-shell{grid-template-columns:272px minmax(0,1fr)!important;background:var(--erp-bg)}
.sidebar{background:linear-gradient(180deg,#102640 0%,#0d2037 100%)!important;padding:0 14px 18px!important;border-left:1px solid rgba(255,255,255,.06)!important;box-shadow:8px 0 28px rgba(10,28,48,.08)}
.brand{height:96px!important;padding:14px 8px!important;gap:14px!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.brand-mark{width:72px!important;height:58px!important;min-width:72px!important;border-radius:12px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.brand-mark.has-logo{background:transparent!important;border:0!important;padding:0!important}
.brand-mark img{display:block;width:100%!important;height:100%!important;max-width:72px!important;max-height:58px!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;padding:0!important;filter:none!important;background:transparent!important}
.brand-placeholder{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);color:#b9c9db;font-size:20px}
.brand-copy{min-width:0}.brand-copy strong{font-size:16px!important;font-weight:800!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span{font-size:11.5px!important;color:#9fb2c8!important;font-weight:600!important;margin-top:3px!important}
.sidebar nav{gap:5px!important;padding-top:16px!important}.nav-section-label{padding:15px 14px 6px!important;color:#7089a3!important;font-size:10.5px!important;letter-spacing:.06em!important}.nav-item{min-height:45px!important;border-radius:10px!important;padding:11px 13px!important;font-size:13.5px!important;font-weight:700!important;color:#c7d3df!important;gap:11px!important}.nav-item span{font-size:17px!important;color:#8fa5ba!important}.nav-item:hover{background:rgba(255,255,255,.065)!important}.nav-item.active{background:#1c4671!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 6px 16px rgba(3,17,31,.20)!important}.nav-item.active span{color:#fff!important}.nav-item.active:before{display:none!important}.nav-submodule>summary{font-size:12px!important;color:#aebed0!important;padding:10px 14px!important}.sidebar-foot{border-radius:12px!important;background:rgba(255,255,255,.045)!important;padding:13px!important}

.app-main{background:var(--erp-bg)!important;min-width:0}.topbar,.app-header{background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--erp-line)!important;box-shadow:0 1px 0 rgba(16,42,67,.02)!important;backdrop-filter:blur(12px)}
.topbar-title h1,#viewTitle{font-size:30px!important;line-height:1.25!important;font-weight:800!important;color:#14263a!important;letter-spacing:-.02em}.topbar-title .subtitle,#viewSubtitle{font-size:14px!important;color:#6d7c8f!important}.eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:.04em!important;color:#2775b7!important}
.content{padding:24px!important;max-width:none!important}.view{gap:18px!important}.panel,.data-panel,.enterprise-section-head{background:var(--erp-surface)!important;border:1px solid var(--erp-line)!important;border-radius:16px!important;box-shadow:var(--erp-shadow)!important}.panel{padding:22px!important}.panel-head{margin-bottom:18px!important}.panel-head h2,.panel-head h3,.enterprise-section-head h2,.enterprise-section-head h3{color:#182b40!important;font-weight:800!important;letter-spacing:-.01em}.panel-head h2,.enterprise-section-head h2{font-size:24px!important}.panel-head h3,.enterprise-section-head h3{font-size:20px!important}.panel-head small,.panel-head p,.enterprise-section-head p{color:var(--erp-muted)!important;font-size:13px!important}

button,.button{border-radius:10px!important;min-height:40px!important;padding:9px 15px!important;font-weight:750!important;box-shadow:none!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.button.primary,button.primary{background:linear-gradient(180deg,#2876bd,#1e63a3)!important;border-color:#1e63a3!important;color:#fff!important}.button.primary:hover,button.primary:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(37,99,166,.20)!important}.button.ghost,button.ghost{background:#fff!important;border:1px solid #cfdbe7!important;color:#29445f!important}.button.ghost:hover,button.ghost:hover{background:#f7faff!important;border-color:#a9bfd5!important}
input,select,textarea{border:1px solid #cfdbe7!important;border-radius:10px!important;background:#fff!important;color:#1c3047!important;min-height:44px!important;padding:10px 12px!important;box-shadow:0 1px 2px rgba(16,42,67,.02)!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#5b91c3!important;box-shadow:0 0 0 3px rgba(37,99,166,.10)!important}label>span,label{font-weight:700!important;color:#43556a!important}

.table-wrap{border:1px solid var(--erp-line)!important;border-radius:14px!important;overflow:auto!important;background:#fff!important}table{border-collapse:separate!important;border-spacing:0!important;width:100%!important}thead th{position:sticky;top:0;z-index:1;background:#f4f7fb!important;color:#52657a!important;font-size:12.5px!important;font-weight:800!important;padding:13px 14px!important;border-bottom:1px solid #dbe4ee!important;white-space:nowrap}tbody td{font-size:13.5px!important;color:#273b50!important;padding:13px 14px!important;border-bottom:1px solid #edf1f5!important;vertical-align:middle!important}tbody tr:nth-child(even){background:#fbfcfe!important}tbody tr:hover{background:#f3f8fd!important}tbody tr:last-child td{border-bottom:0!important}

.kpi-grid article,.finance-kpis article,.document-kpis article,.executive-report-kpis article{border-radius:16px!important;border:1px solid var(--erp-line)!important;background:#fff!important;box-shadow:var(--erp-shadow)!important}.kpi-grid article:hover,.finance-kpis article:hover,.document-kpis article:hover{box-shadow:var(--erp-shadow-hover)!important;transform:translateY(-1px)}

/* Settings + branding refinement */
.branding-settings{padding:26px!important}.branding-upload-grid{grid-template-columns:210px minmax(0,1fr)!important;gap:30px!important;align-items:center!important}.branding-preview{width:190px!important;height:150px!important;border-radius:18px!important;background:#f8fbfe!important;border:1px solid #d8e3ee!important;box-shadow:0 8px 24px rgba(19,43,64,.06)!important;padding:18px!important}.branding-preview img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:0!important}.branding-preview #brandingPreviewFallback{font-size:0!important}.branding-preview #brandingPreviewFallback:after{content:"◆";font-size:28px;color:#8aa1b8}.branding-upload-copy strong{font-size:20px!important;font-weight:800!important}.branding-upload-copy p{font-size:13px!important;color:#6f7f91!important;max-width:720px}.branding-upload-copy input[type=file]{min-height:52px!important;padding:12px!important;border:1.5px dashed #b7c8da!important;background:#fbfdff!important;border-radius:12px!important}

/* Cleaner section composition */
.compact-actions{gap:9px!important}.form-grid,.filters-grid{gap:14px!important}.status-chip,.badge,.chip{border-radius:999px!important;font-weight:750!important}.enterprise-section-head{padding:20px 22px!important}.report-actions{gap:8px!important}

/* Better information density on wide screens */
@media(min-width:1400px){body{font-size:16px!important}.content{padding:26px 30px!important}.panel{padding:24px!important}.topbar-title h1,#viewTitle{font-size:32px!important}.app-shell{grid-template-columns:284px minmax(0,1fr)!important}.sidebar{padding-inline:15px!important}}
@media(max-width:1050px){.app-shell{grid-template-columns:232px minmax(0,1fr)!important}.branding-upload-grid{grid-template-columns:1fr!important}.branding-preview{margin:auto}.content{padding:18px!important}}


/* V3.76.8 — Customer App Center */
.app-center-head{margin-bottom:18px}.app-center-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.app-center-kpis article{background:#fff;border:1px solid var(--line,#dfe7ef);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(15,34,55,.055)}.app-center-kpis small,.app-center-kpis span{display:block;color:#6b7c8f}.app-center-kpis strong{display:block;font-size:30px;margin:7px 0;color:#0d2b45}.app-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-promo-card{border:1px solid #dfe7ef;border-radius:24px;background:#fff;overflow:hidden}.app-promo-preview{aspect-ratio:16/9;background:linear-gradient(135deg,#f1f6fa,#e8f0f5);display:flex;align-items:center;justify-content:center;overflow:hidden}.app-promo-preview img{width:100%;height:100%;object-fit:cover;display:block}.app-promo-empty{font-weight:800;color:#7a8da0;padding:20px;text-align:center}.app-promo-copy{padding:16px 16px 8px}.app-promo-copy h4{margin:0 0 5px;font-size:17px}.app-promo-copy small{color:#6e7f90}.app-promo-actions{display:flex;gap:8px;padding:10px 16px 16px}.app-promotions-panel{margin-bottom:18px}@media(max-width:980px){.app-promo-grid,.app-center-kpis{grid-template-columns:1fr}}

/* V3.76.9 — App promotion crop workspace */
.app-promo-preview{aspect-ratio:1.7333333333/1!important}.app-promo-crop-modal{width:min(1120px,calc(100vw - 32px));max-width:none}.app-promo-crop-modal::backdrop{background:rgba(6,18,31,.58);backdrop-filter:blur(7px)}.app-promo-crop-shell{padding:24px}.app-promo-crop-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start;margin-top:18px}.app-promo-crop-stage{position:relative;width:100%;max-width:700px;margin:auto;background:#091726;overflow:hidden;box-shadow:0 18px 45px rgba(10,26,42,.18);cursor:grab;touch-action:none;user-select:none}.app-promo-crop-stage:active{cursor:grabbing}.app-promo-crop-stage canvas{display:block;width:100%;aspect-ratio:1.7333333333/1;height:auto;background:#e8eef4}.app-promo-crop-label{position:absolute;right:14px;bottom:14px;border-radius:999px;background:rgba(3,18,31,.74);color:#fff;font-size:11px;font-weight:800;padding:8px 12px;pointer-events:none}.app-promo-crop-controls{background:#f7fafc;border:1px solid #dbe5ef;border-radius:18px;padding:18px;display:grid;gap:13px}.app-promo-crop-controls label{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:#233b51}.app-promo-crop-controls input[type=range]{width:100%;accent-color:#0d2b45}.app-promo-crop-controls small{color:#6d7f90;line-height:1.8}.app-promo-crop-controls .button{width:100%}@media(max-width:860px){.app-promo-crop-workspace{grid-template-columns:1fr}.app-promo-crop-controls{max-width:700px;width:100%;margin:auto}}

/* V3.76.10 — promotion crop fit/cover controls */
.app-promo-fit-group{display:grid;gap:9px}.app-promo-fit-group>span{font-size:12px;font-weight:900;color:#233b51}.app-promo-fit-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid #d8e3ed;background:#eef4f8;border-radius:14px}.app-promo-fit-switch button{border:0;border-radius:10px;background:transparent;color:#667b8f;font-family:inherit;font-weight:900;font-size:11px;padding:10px 8px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.app-promo-fit-switch button:hover{transform:translateY(-1px)}.app-promo-fit-switch button.is-active{background:#fff;color:#0d2b45;box-shadow:0 5px 16px rgba(15,34,55,.09)}
.whatsapp-inbox-panel{overflow:hidden}.wa-workspace{display:grid;grid-template-columns:minmax(280px,34%) 1fr;min-height:620px;border-top:1px solid var(--line,#dfe7ef)}.wa-conversations{border-left:1px solid var(--line,#dfe7ef);overflow:auto;max-height:680px;background:#f8fbfd}.wa-conversation{padding:15px 16px;border-bottom:1px solid #e5edf3;cursor:pointer;transition:.18s ease;background:#fff}.wa-conversation:hover,.wa-conversation.active{background:#eef7fb;transform:translateX(-2px)}.wa-conversation-head{display:flex;justify-content:space-between;gap:10px}.wa-conversation strong{font-size:14px;color:#0d2b45}.wa-conversation small{color:#718395}.wa-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7c8f;margin-top:6px;font-size:12px}.wa-unread{display:inline-flex;min-width:22px;height:22px;border-radius:11px;background:#1a8f63;color:#fff;align-items:center;justify-content:center;font-size:11px;font-weight:900}.wa-chat{display:flex;flex-direction:column;min-width:0}.wa-chat-head{padding:16px 18px;background:#fff;border-bottom:1px solid #e5edf3;font-weight:900;color:#0d2b45}.wa-chat-messages{flex:1;overflow:auto;padding:20px;background:linear-gradient(180deg,#f6fafc,#eef5f8);display:flex;flex-direction:column;gap:10px}.wa-message{max-width:72%;padding:10px 13px;border-radius:16px;box-shadow:0 4px 12px rgba(15,34,55,.05);font-size:13px;line-height:1.7}.wa-message.in{align-self:flex-start;background:#fff;border-bottom-left-radius:5px}.wa-message.out{align-self:flex-end;background:#dff7ec;border-bottom-right-radius:5px}.wa-message-meta{display:block;color:#7e8d9b;font-size:9px;margin-top:4px}.wa-reply{display:flex;gap:10px;padding:14px;background:#fff;border-top:1px solid #e5edf3}.wa-reply input{flex:1}.wa-empty{margin:auto;color:#8091a0}.wa-agent-toggle{transform:scale(1.15)}@media(max-width:900px){.wa-workspace{grid-template-columns:1fr}.wa-conversations{max-height:260px;border-left:0;border-bottom:1px solid #dfe7ef}.wa-chat{min-height:520px}}

/* V3.77.1 WhatsApp price control */
.wa-price-manager{background:linear-gradient(180deg,#fff,#f8fbfd)}.wa-price-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;align-items:end}.wa-price-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#31485d}.wa-price-form input,.wa-price-form select{min-height:46px}.wa-price-form .wa-price-wide{grid-column:span 2}.wa-toggle-label{flex-direction:row!important;align-items:center!important;justify-content:flex-start;min-height:46px;padding:0 8px}.wa-toggle-label input{min-height:auto;width:18px;height:18px}.wa-price-form .button{min-height:46px}@media(max-width:900px){.wa-price-form{grid-template-columns:1fr}.wa-price-form .wa-price-wide{grid-column:auto}}


/* V3.94 customer company-funded payment flow */
.company-funding-list{display:grid;gap:12px}.company-funding-card{border:1px solid #d6dce5;background:#fff;padding:14px}.company-funding-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.company-funding-head div{display:grid;gap:3px}.company-funding-head strong{font-size:15px}.company-funding-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dyn-payment-ref{display:block;margin-top:7px;color:#667085}.dyn-payment-modal-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:24px}.dyn-payment-modal{width:min(720px,96vw);max-height:88vh;overflow:auto;background:#fff;border:1px solid #cfd6df;box-shadow:0 20px 60px rgba(15,23,42,.25);direction:rtl}.dyn-payment-modal-head{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #e5e7eb}.dyn-payment-modal-head h3{margin:4px 0 0;font-size:20px}.dyn-payment-modal-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.dyn-payment-modal-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.dyn-payment-modal-body label{display:grid;gap:6px;font-size:13px;font-weight:600}.dyn-payment-modal-body input,.dyn-payment-modal-body select{height:42px;border:1px solid #c9cfd8;background:#fff;padding:0 10px;font:inherit}.dyn-payment-modal-body p{grid-column:1/-1;margin:4px 0 0;padding:12px;background:#f6f8fb;border-inline-start:3px solid #107c10;font-size:13px}.dyn-payment-modal-actions{display:flex;gap:8px;padding:16px 20px;border-top:1px solid #e5e7eb}@media(max-width:720px){.dyn-payment-modal-body{grid-template-columns:1fr}}

/* V3.95 — make company-funded payments impossible to miss */
.customer-funding-summary,.customer-company-funding-quick{margin-top:14px;border:1px solid #b7c9dc;background:#f8fbff;padding:14px;direction:rtl}.customer-funding-summary-title,.customer-company-funding-quick-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.customer-funding-summary-title strong,.customer-company-funding-quick-title strong{font-size:16px;color:#0f3a5d}.customer-funding-summary-title small,.customer-company-funding-quick-title small{color:#5f6b7a}.customer-company-funding-quick{margin:14px 0}.customer-company-funding-quick-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #e4ebf2}.customer-company-funding-quick-row:first-of-type{border-top:0}.customer-company-funding-quick-row>span{margin-inline-end:auto;font-weight:700;color:#26384a}.recruitment-visible-action.primary[data-action="company-funded-contract-payment"]{background:#107c10!important;border-color:#107c10!important;color:#fff!important}.recruitment-visible-action[data-action="company-funded-note-payment"]{border-color:#107c10!important;color:#0b6a0b!important;background:#fff!important}

/* V3.97.3 — ZATCA B2C simplified invoice QR */
.einvoice-qr-block{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;border-bottom:0!important;padding:12px 2px 0!important;direction:rtl}.einvoice-qr-block img{width:132px;height:132px;object-fit:contain;background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:5px;image-rendering:auto}.einvoice-qr-block span{display:block!important;color:#183d60!important}.einvoice-qr-block strong{display:block;font-size:13px;font-weight:950}.einvoice-qr-block small{display:block;margin-top:5px;color:#718197;font-size:10px;line-height:1.7;font-weight:700;max-width:220px}
@media print{.einvoice-qr-block img{width:30mm!important;height:30mm!important;padding:1.5mm!important;border-radius:2mm!important}.einvoice-qr-block{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}}

/* V3.97.4 — recruitment request stage timeline */
.recruitment-progress-shell{margin:0 0 18px;padding:20px 24px 16px;background:#fff;border:1px solid #e1e8ef;border-radius:16px;box-shadow:0 8px 24px rgba(15,40,70,.05);overflow-x:auto}
.recruitment-progress{direction:rtl;display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));min-width:930px;position:relative;padding:4px 0}
.recruitment-progress:before{content:"";position:absolute;top:27px;right:8.3%;left:8.3%;height:2px;background:#d7dee6;z-index:0}
.recruitment-progress-step{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;color:#68798d}
.recruitment-progress-dot{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#d5d9de;border:4px solid #fff;box-shadow:0 0 0 1px #d5d9de;font-size:17px;font-weight:900;color:#fff}
.recruitment-progress-step strong{font-size:14px;color:#34465a;white-space:nowrap}.recruitment-progress-step small{font-size:11px;max-width:150px;line-height:1.45;color:#8291a2}
.recruitment-progress-step.done .recruitment-progress-dot{background:#39b54a;box-shadow:0 0 0 1px #39b54a}.recruitment-progress-step.done strong{color:#173d25}
.recruitment-progress-step.current .recruitment-progress-dot{background:#c6922f;box-shadow:0 0 0 1px #c6922f}.recruitment-progress-step.current strong{color:#7a5510}
@media(max-width:900px){.recruitment-progress-shell{padding-inline:14px}}
/* V3.97.11 WhatsApp visual flow builder */
.wa-flow-shell{display:grid;grid-template-columns:210px minmax(600px,1fr) 310px;gap:12px;min-height:650px}.wa-flow-palette,.wa-flow-properties,.wa-flow-stage-wrap{background:#fff;border:1px solid #e5e7eb}.wa-flow-palette,.wa-flow-properties{padding:14px}.wa-flow-palette h3,.wa-flow-properties h3{margin:0 0 5px;font-size:14px}.wa-flow-palette p,.wa-flow-properties p{font-size:11px;color:#64748b}.wa-flow-palette button{width:100%;text-align:right;border:1px solid #dbe3ec;background:#f8fafc;padding:9px 10px;margin:4px 0;border-radius:5px;cursor:pointer;font-size:12px}.wa-flow-palette button:hover{background:#eef6ff;border-color:#8bbbe8}.wa-flow-toolbar{height:48px;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid #e5e7eb}.wa-flow-toolbar input{border:0;font-weight:700;min-width:230px}.wa-flow-toolbar span{font-size:11px;color:#64748b}.wa-flow-stage{height:600px;position:relative;overflow:auto;background-color:#f8fafc;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:20px 20px}.wa-flow-stage svg{position:absolute;inset:0;width:2200px;height:1400px;pointer-events:none;overflow:visible}.wa-flow-node{position:absolute;width:205px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 2px 8px #0f172a12;cursor:grab;z-index:2;user-select:none}.wa-flow-node:active{cursor:grabbing}.wa-flow-node.selected{border-color:#0078d4;box-shadow:0 0 0 2px #0078d422}.wa-flow-node-head{padding:8px 12px;border-bottom:1px solid #edf2f7;font-size:10.5px;color:#475569}.wa-flow-node-body{padding:11px 12px;font-size:12px;font-weight:650}.wa-flow-node-foot{display:flex;justify-content:space-between;padding:7px 10px;background:#f8fafc;font-size:10px;color:#64748b}.wa-flow-port{position:absolute;top:50%;width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:#64748b;box-shadow:0 0 0 1px #94a3b8;cursor:crosshair;z-index:5;transform:translateY(-50%)}.wa-flow-port.in{right:-9px}.wa-flow-port.out{left:-9px;background:#0078d4}.wa-flow-port.connecting{box-shadow:0 0 0 4px #0078d433;background:#0078d4}.wa-flow-edge{pointer-events:stroke;cursor:pointer}.wa-flow-edge-hit{pointer-events:stroke;cursor:pointer;stroke:transparent;stroke-width:14}.wa-flow-edge-label{font-size:10px;fill:#475569}.wa-flow-properties label{display:block;font-size:11px;margin:10px 0}.wa-flow-properties input,.wa-flow-properties textarea,.wa-flow-properties select{width:100%;margin-top:4px;border:1px solid #cbd5e1;padding:7px;border-radius:4px}.wa-flow-properties textarea{min-height:90px}.wa-flow-properties .button{width:100%;margin-top:8px}.wa-flow-help{padding:8px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;font-size:10.5px;line-height:1.7;margin:8px 0}.wa-flow-image-preview{width:100%;max-height:150px;object-fit:cover;border:1px solid #e2e8f0;border-radius:5px;margin-top:7px}.wa-flow-upload{display:flex;gap:6px;align-items:center}.wa-flow-upload input{font-size:10px}.wa-flow-edge-list{margin-top:12px;border-top:1px solid #e5e7eb;padding-top:8px}.wa-flow-edge-row{display:flex;align-items:center;gap:5px;padding:5px 0;font-size:10.5px}.wa-flow-edge-row button{border:0;background:transparent;color:#b42318;cursor:pointer}.wa-flow-connecting-banner{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:8;background:#0f172a;color:#fff;padding:7px 12px;border-radius:4px;font-size:11px;box-shadow:0 3px 10px #0002}
@media(max-width:1200px){.wa-flow-shell{grid-template-columns:180px 1fr}.wa-flow-properties{grid-column:1/-1}}


/* V3.97.13 — practical drag-to-connect WhatsApp automation canvas */
.wa-flow-shell{grid-template-columns:190px minmax(720px,1fr) 285px;min-height:720px}
.wa-flow-stage{height:680px;background-color:#fbfcfe;background-image:radial-gradient(#d9e2ec 1px,transparent 1px);background-size:18px 18px;direction:ltr}
.wa-flow-stage svg{width:2600px;height:1800px}
.wa-flow-node{width:220px;border-radius:7px;box-shadow:0 1px 4px #0f172a14;transition:border-color .12s,box-shadow .12s}
.wa-flow-node-head,.wa-flow-node-body,.wa-flow-node-foot{direction:rtl;text-align:right}
.wa-flow-node-body{min-height:42px;display:flex;align-items:center}
.wa-flow-port{width:18px;height:18px;top:50%;border:3px solid #fff;box-shadow:0 0 0 1px #94a3b8;touch-action:none}
.wa-flow-port.in{left:-10px;right:auto;background:#64748b}.wa-flow-port.out{right:-10px;left:auto;background:#0078d4}
.wa-flow-port:hover{transform:translateY(-50%) scale(1.18)}
.wa-flow-edge{stroke:#64748b;stroke-width:2;fill:none}.wa-flow-edge-label{paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;font-size:11px;fill:#334155}
.wa-flow-temp-edge{stroke:#0078d4;stroke-width:2.5;fill:none;stroke-dasharray:6 4;pointer-events:none}
.wa-flow-node.connect-target .wa-flow-port.in{background:#107c10;box-shadow:0 0 0 5px #107c1030}
.wa-flow-connecting-banner{position:sticky;top:10px;width:max-content;margin:10px auto;left:auto;transform:none;direction:rtl}
.wa-flow-toolbar{direction:rtl;flex-wrap:wrap;height:auto;min-height:48px;padding:7px 12px}.wa-flow-toolbar input{direction:rtl}
.wa-flow-palette{max-height:720px;overflow:auto}.wa-flow-palette button{min-height:38px}
.wa-flow-properties{max-height:720px;overflow:auto}
@media(max-width:1200px){.wa-flow-shell{grid-template-columns:170px minmax(620px,1fr)}.wa-flow-properties{grid-column:1/-1;max-height:none}}
/* V3.97.23 WhatsApp reply composer */
.wa-reply textarea{flex:1;min-height:46px;max-height:150px;resize:vertical;border:1px solid #d7e2ea;border-radius:10px;padding:10px 12px;font:inherit;line-height:1.6;background:#fff;color:inherit}.wa-reply textarea:disabled{background:#f4f7f9;color:#8a98a5;cursor:not-allowed}.wa-reply #waReplyStatus{align-self:center;max-width:220px;color:#718395}.wa-reply button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.wa-reply{flex-wrap:wrap}.wa-reply textarea{flex-basis:100%}.wa-reply #waReplyStatus{max-width:none;flex:1 1 100%}}

/* V3.97.24 — iOS-inspired WhatsApp workspace */
.whatsapp-inbox-panel{overflow:hidden;border-radius:18px}
.wa-workspace{direction:ltr;background:#f2f2f7;min-height:680px}
.wa-conversations{direction:rtl;background:#fff;border-left:1px solid rgba(60,60,67,.18);max-height:760px}
.wa-conversation{background:#fff;padding:13px 16px;border-bottom:1px solid rgba(60,60,67,.12);transform:none!important}
.wa-conversation:hover{background:#f7f7fa}.wa-conversation.active{background:#e9f5ff}
.wa-conversation strong{font:600 15px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;color:#000}
.wa-conversation small,.wa-preview{color:#8e8e93}
.wa-chat{direction:rtl;background:#efeae2;min-width:0;position:relative}
.wa-chat-head{min-height:58px;padding:10px 18px;background:rgba(248,248,248,.94);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(60,60,67,.18);color:#000;display:flex;align-items:center;z-index:2}
.wa-chat-head strong{font:600 16px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}.wa-chat-head .customer-subline{color:#8e8e93;margin-top:2px}
.wa-chat-messages{padding:22px 26px 18px;background-color:#efeae2;background-image:radial-gradient(circle at 16px 18px,rgba(112,104,91,.055) 0 1.5px,transparent 1.7px),radial-gradient(circle at 54px 46px,rgba(112,104,91,.04) 0 2px,transparent 2.2px),linear-gradient(35deg,transparent 46%,rgba(112,104,91,.025) 47% 49%,transparent 50%);background-size:72px 72px,96px 96px,110px 110px;gap:4px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}
.wa-message{position:relative;max-width:min(74%,620px);padding:7px 10px 5px;border-radius:18px;box-shadow:0 .5px 1px rgba(0,0,0,.16);font-size:14px;line-height:1.55;color:#111;white-space:pre-wrap;word-break:break-word}
.wa-message.in{align-self:flex-start;background:#fff;border-bottom-left-radius:5px}.wa-message.out{align-self:flex-end;background:#d9fdd3;border-bottom-right-radius:5px}
.wa-message-text{unicode-bidi:plaintext}.wa-message-meta{display:flex;direction:rtl;align-items:center;justify-content:flex-end;gap:4px;color:#7d7d82;font-size:9px;line-height:1.2;margin-top:3px;white-space:nowrap}
.wa-ticks{font-size:11px;letter-spacing:-3px;margin-inline-start:3px;color:#8696a0}.wa-ticks.read{color:#34b7f1}.wa-read-chip{font-size:9px;color:#6e6e73;background:rgba(118,118,128,.12);padding:1px 5px;border-radius:8px}
.wa-reply{direction:ltr;align-items:flex-end;gap:8px;padding:8px 10px 10px;background:rgba(246,246,246,.96);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-top:1px solid rgba(60,60,67,.14)}
.wa-reply textarea{direction:rtl;flex:1;resize:none;min-height:39px;max-height:120px;border:1px solid rgba(60,60,67,.2);border-radius:20px;background:#fff;padding:9px 14px;font:14px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;outline:none;box-shadow:none}.wa-reply textarea:focus{border-color:#34c759}
.wa-reply .button.primary{border-radius:20px;min-width:68px;height:39px;background:#25d366;border-color:#25d366;color:#fff;font-weight:700}.wa-reply small{align-self:center;color:#8e8e93;max-width:220px}
.wa-unread{background:#25d366}

.wa-promotion-manager{overflow:hidden}.wa-promo-grid{display:grid;grid-template-columns:minmax(260px,38%) 1fr;gap:22px;padding:18px}.wa-promo-preview{min-height:220px;border:1px dashed #cbd5df;border-radius:18px;background:#f7f9fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.wa-promo-preview img{width:100%;height:260px;object-fit:cover;display:block}.wa-promo-empty{color:#8a97a5;font-weight:700}.wa-promo-editor{display:grid;gap:12px;align-content:start}.wa-promo-editor label{display:grid;gap:6px;font-weight:700;color:#24384b}.wa-promo-editor input,.wa-promo-editor textarea{width:100%}
@media(max-width:900px){.wa-promo-grid{grid-template-columns:1fr}.wa-chat-messages{min-height:500px;padding:16px 12px}.wa-message{max-width:86%}.wa-reply small{display:none}}

/* V3.97.25: paged WhatsApp history */
.wa-chat-messages{scroll-behavior:auto;overflow-anchor:none}.wa-message{overflow-wrap:anywhere}
/* V3.97.33 WhatsApp reception-forward + 20-message upward lazy history */
.wa-chat-head{justify-content:space-between;gap:14px;flex-wrap:wrap}.wa-chat-title{min-width:220px}.wa-forward-tools{display:grid;grid-template-columns:minmax(190px,260px) auto;gap:7px 9px;align-items:center;margin-inline-start:auto}.wa-forward-tools select{min-height:36px;border:1px solid rgba(60,60,67,.2);border-radius:9px;background:#fff;padding:6px 10px}.wa-forward-tools small{grid-column:1/-1;color:#6e6e73;font-size:10px}.wa-message-selectable{cursor:pointer;transition:box-shadow .14s ease,transform .14s ease,outline-color .14s ease}.wa-message-selectable:hover{box-shadow:0 0 0 2px rgba(0,120,212,.14),0 3px 12px rgba(0,0,0,.08)}.wa-message.selected-for-forward{outline:2px solid #0a66c2;outline-offset:2px;transform:translateY(-1px)}.wa-message.selected-for-forward::after{content:'محددة للتحويل';position:absolute;top:-17px;inset-inline-start:8px;background:#0a66c2;color:#fff;border-radius:999px;padding:1px 7px;font-size:9px;font-weight:700;white-space:nowrap}.wa-chat-messages{overscroll-behavior:contain}.wa-chat-messages::before{content:'مرّر لأعلى لتحميل 20 رسالة أقدم';align-self:center;color:#8e8e93;font-size:10px;min-height:14px}
@media(max-width:900px){.wa-forward-tools{width:100%;grid-template-columns:1fr}.wa-forward-tools small{grid-column:1}.wa-forward-tools .button{width:100%}}

/* V3.97.34 — WhatsApp chat owns its vertical scroll; history loads upward in 20-message pages. */
.whatsapp-inbox-panel .wa-workspace{height:min(680px,calc(100vh - 245px));min-height:520px;overflow:hidden}
.whatsapp-inbox-panel .wa-chat{height:100%;min-height:0;overflow:hidden}
.whatsapp-inbox-panel .wa-chat-head{flex:0 0 auto}
.whatsapp-inbox-panel .wa-chat-messages{flex:1 1 auto;min-height:0;height:0;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.whatsapp-inbox-panel .wa-reply{flex:0 0 auto}
@media(max-width:900px){.whatsapp-inbox-panel .wa-workspace{height:calc(100vh - 210px);min-height:560px}.whatsapp-inbox-panel .wa-chat{min-height:0}.whatsapp-inbox-panel .wa-chat-messages{min-height:0;height:0}}
