:root{--navy:#10253f;--blue:#1677c8;--sky:#eaf5ff;--line:#dbe4ec;--text:#1c2834;--muted:#647383;--green:#157347;--red:#b42318;--amber:#9a6700;--bg:#f4f7fa}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Noto Sans Bengali,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh}.brand{background:#fff;border-radius:10px;padding:10px;margin-bottom:18px}.brand img{display:block;max-width:100%;height:52px;object-fit:contain}.nav a{display:block;padding:10px 12px;border-radius:7px;margin:3px 0;color:#dce9f5;font-size:14px}.nav a:hover,.nav a.active{background:#1d4f78;color:#fff}.content{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:13px 22px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:3}.main{padding:22px}.page-title{font-size:24px;margin:0 0 4px}.subtitle{color:var(--muted);font-size:13px;margin-bottom:18px}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 2px 8px rgba(16,37,63,.04)}.kpi-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:25px;font-weight:700;margin-top:7px}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;padding:9px 13px;font-weight:600;font-size:13px;cursor:pointer;background:#fff}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{border-color:var(--line);color:var(--navy)}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-warning{background:#f3b61f;color:#2f2700}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:#465666;font-size:12px}td.num,th.num{text-align:right}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#edf2f7}.badge.POSTED{background:#dff5e8;color:#11623a}.badge.APPROVED{background:#e5f0ff;color:#145ea8}.badge.DRAFT{background:#f0f1f3;color:#525d68}.badge.SUBMITTED{background:#fff2cc;color:#7a5900}.badge.REVERSED{background:#fde7e4;color:#a32219}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:#425466}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #cbd6df;border-radius:7px;background:#fff;font:inherit}.field.full{grid-column:1/-1}.flash{padding:11px 14px;border-radius:7px;margin-bottom:12px;background:#e7f5ec;color:#145d36;border:1px solid #bfe7cd}.flash.error{background:#fdecea;color:#9b1c14;border-color:#fac7c2}.right{text-align:right}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:950px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.grid-4,.grid-2,.form-grid{grid-template-columns:1fr}.topbar{position:static}}@media print{.sidebar,.topbar,.no-print{display:none!important}.shell{display:block}.main{padding:0}.card{box-shadow:none;border:0}.print-sheet{padding:15mm}body{background:#fff}table{font-size:11px}}.card{overflow-x:auto}.print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--navy);padding-bottom:10px}.print-head img{height:65px;max-width:240px;object-fit:contain}.print-head h2{margin:0}.print-party{margin:18px 0}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px;text-align:center}.signature-grid>div{border-top:1px solid #536575;padding-top:7px}.permission-line{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fbfcfd}.small{font-size:11px;max-width:360px;overflow-wrap:anywhere}tfoot th{background:#eef3f7}@media(max-width:650px){.main{padding:12px}.topbar{padding:10px 12px;align-items:flex-start;gap:8px;flex-direction:column}.btn{padding:8px 10px}.signature-grid{grid-template-columns:1fr;gap:38px}}
.badge.OPEN,.badge.ASSIGNED{background:#fff2cc;color:#7a5900}.badge.COMPLETED,.badge.ACTIVE,.badge.QUEUED{background:#dff5e8;color:#11623a}.badge.HELD_CONFIG_REQUIRED{background:#fde7e4;color:#a32219}.attendance-form .btn{width:100%;margin-top:12px}.attendance-form .location-status{min-height:38px}.card form select,.card form input{max-width:100%}

/* v0.4.0 authentication, service and reporting */
.login-body{margin:0;min-height:100vh;background:#eef2f7;display:grid;place-items:center;font-family:Inter,Arial,sans-serif;color:#172033}.login-wrap{width:min(440px,92vw)}.login-card{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:30px;box-shadow:0 18px 50px rgba(20,35,60,.12)}.login-logo{display:block;max-width:230px;max-height:90px;object-fit:contain;margin:0 auto 18px}.login-card h1{text-align:center;font-size:24px;margin:0 0 8px}.full-btn{width:100%;margin-top:12px}.topbar a{color:inherit;text-decoration:none}.signature-pad{display:block;width:100%;max-width:520px;height:160px;border:1px solid #aeb9c7;border-radius:8px;background:#fff;touch-action:none}.signature-preview{max-width:260px;max-height:100px;object-fit:contain;border-bottom:1px solid #777}.print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #1f3d63;padding-bottom:12px;margin-bottom:18px}.print-header img{max-width:230px;max-height:80px;object-fit:contain}.print-footer{margin-top:24px;border-top:1px solid #bbb;padding-top:8px;font-size:11px;text-align:center;color:#555}.job-card-print h3{margin:16px 0 6px}.small{font-size:12px}.badge.PENDING{background:#fff4cc;color:#765700}.badge.APPROVED{background:#dff7e8;color:#12633a}.badge.SENT{background:#dff7e8;color:#12633a}.badge.PROCESSING{background:#dbeafe;color:#1d4ed8}.badge.FAILED{background:#fee2e2;color:#991b1b}
@media(max-width:700px){.login-card{padding:22px}.signature-grid{grid-template-columns:1fr}.job-card-print .grid{grid-template-columns:1fr}}

/* v0.6.0 core operations expansion */
:root{--primary:#0D47A1;--deep:#182078;--bright:#0097E8;--orange:#FF6F00;--surface:#FFFFFF;--surface-bg:#F3F5F9;--main-text:#1F2937;--secondary:#526887;--border:#E4E8EF;--success:#22C55E;--warning:#F59E0B;--danger:#EF4444}
body{background:var(--surface-bg);color:var(--main-text);font-weight:500}.sidebar{background:var(--deep)}.card{border-color:var(--border);border-radius:16px;box-shadow:0 6px 20px rgba(24,32,120,.06);position:relative}.card:hover{box-shadow:0 10px 28px rgba(13,71,161,.11)}.btn{min-height:44px;font-weight:800}.btn-primary{background:var(--primary)}.page-title{font-weight:800}.field label{font-weight:700}.field input,.field select,.field textarea{font-size:16px;min-height:44px}.mobile-bottom-nav{display:none}.filter-bar{display:flex;gap:12px;align-items:end}.filter-bar .field{min-width:220px;flex:1}.line-items{display:grid;gap:10px;margin-bottom:12px}.line-item{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.7fr) minmax(150px,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:12px;background:#FAFCFF}.totals-grid{margin-top:16px}.task-list{display:grid;gap:12px}.task-card{border-left:5px solid var(--primary)}.task-card.task-overdue{border-left-color:var(--danger)}.task-main{display:flex;justify-content:space-between;gap:16px}.task-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-actions form{display:flex;gap:8px;align-items:center}.permission-override-grid{display:grid;gap:8px}.permission-override-grid .permission-line{display:grid;grid-template-columns:minmax(220px,1fr) auto auto}.badge.HIGH,.badge.URGENT{background:#fee2e2;color:#991b1b}.badge.NORMAL{background:#fff4cc;color:#765700}.badge.LOW{background:#e5f0ff;color:#145ea8}.badge.IN_PROGRESS{background:#dbeafe;color:#1d4ed8}.badge.WAITING{background:#fff4cc;color:#765700}.badge.ARCHIVED,.badge.CANCELLED{background:#f0f1f3;color:#525d68}
@media(max-width:950px){.sidebar{display:none}.main{padding:14px 12px 86px}.topbar{position:sticky;top:0}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--border);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -8px 24px rgba(24,32,120,.10)}.mobile-bottom-nav a{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:800;color:var(--secondary);border-radius:10px}.mobile-bottom-nav a:active{transform:scale(.98);background:#EAF4FF}.line-item{grid-template-columns:1fr}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .field{min-width:0;width:100%}.task-main{flex-direction:column}.task-actions,.task-actions form{align-items:stretch}.task-actions form{flex:1;min-width:100%}.task-actions select{flex:1;min-height:44px}.permission-override-grid .permission-line{grid-template-columns:1fr 70px 70px}table{min-width:760px}.card{overflow-x:auto}.topbar strong{font-size:14px}.topbar span{font-size:12px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.grid-4{grid-template-columns:1fr}.main{padding-left:10px;padding-right:10px}.mobile-bottom-nav a{font-size:11px}.kpi-value{font-size:22px}}

/* v1.2.0 final data architecture, operations and reporting */
.badge.OPEN,.badge.SHIPMENT,.badge.BOOKED{background:#e5f0ff;color:#145ea8}.badge.SHIPPED,.badge.AT_PORT,.badge.CUSTOMS{background:#ede9fe;color:#5b21b6}.badge.RECEIVED,.badge.CLOSED,.badge.APPLIED,.badge.PAID{background:#dcfce7;color:#166534}.badge.DELAYED,.badge.PARTIAL{background:#fff4cc;color:#765700}.badge.CANCELLED{background:#fee2e2;color:#991b1b}.inline-status{display:flex;gap:8px;align-items:center}.inline-status select{min-height:44px;min-width:120px}.agreement-print{max-width:210mm;margin:0 auto;background:#fff}.agreement-print p{line-height:1.65}
@media(max-width:650px){.inline-status{min-width:260px}.inline-status select{flex:1}}

/* v1.2.0 final mobile accessibility and interaction */
body{font-size:15px}.subtitle{font-size:14px}.badge{font-size:12px}.small{font-size:12px}.card:active{transform:scale(.998)}a[href*="route="]:not(.btn):hover{text-decoration-color:var(--bright)}
@media(max-width:412px){body{font-size:15px}.field input,.field select,.field textarea{font-size:16px}.card{border-radius:16px}.btn{min-height:44px}}
@media print{body{font-size:12px}.print-sheet{max-width:210mm;margin:0 auto}.print-header{break-inside:avoid}.print-footer{font-size:10px}}

/* v1.0.1 hotfix: desktop sidebar stays fixed and has its own scroll area */
@media screen and (min-width:951px){
  html,body{height:100%;overflow:hidden}
  .shell{height:100dvh;min-height:100dvh;overflow:hidden}
  .sidebar{
    position:sticky;
    top:0;
    align-self:start;
    height:100dvh;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding:12px 10px;
  }
  .brand{flex:0 0 auto;margin-bottom:9px;padding:8px}
  .brand img{height:44px}
  .nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding:0 4px 18px 0;
  }
  .nav a{
    min-height:36px;
    display:flex;
    align-items:center;
    padding:8px 10px;
    margin:2px 0;
    font-size:13px;
    line-height:1.25;
  }
  .nav::-webkit-scrollbar{width:7px}
  .nav::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
  .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.30);border-radius:999px}
  .nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.48)}
  .content{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .topbar{position:sticky;top:0;z-index:10}
}

/* v2.0 consolidated enterprise additions */
.brand img,.login-logo{object-fit:contain;background:transparent!important}
.brand img{max-width:132px;max-height:70px}.login-logo{max-width:250px;max-height:180px}
.print-header img{object-fit:contain;background:transparent;max-width:170px;max-height:95px}
.print-watermark{position:fixed;inset:38% 10% auto;transform:rotate(-28deg);font-size:72px;font-weight:800;opacity:.06;text-align:center;pointer-events:none}
pre{white-space:pre-wrap;word-break:break-word;background:#f3f5f9;border:1px solid #e4e8ef;border-radius:12px;padding:12px;max-height:320px;overflow:auto}
@media(max-width:720px){.print-watermark{font-size:42px}.brand img{max-width:112px}}

/* v2.1.0 opening data import and configuration readiness */
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.table-scroll{overflow:auto;max-width:100%}.compact-json{display:flex;gap:5px 12px;flex-wrap:wrap;max-width:760px}.compact-json span{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:4px 7px;font-size:12px}.text-danger{color:#b42318;font-weight:700}.text-warning{color:#9a6700;font-weight:700}.step-strip{display:flex;gap:8px;flex-wrap:wrap}.step-strip span{background:#eaf4ff;border:1px solid #cbe3ff;color:#0d47a1;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.import-type-card{border-left:5px solid var(--bright)}.btn[disabled]{opacity:.45;cursor:not-allowed}.badge.VALID{background:#dcfce7;color:#166534}.badge.WARNING,.badge.DUPLICATE{background:#fff4cc;color:#765700}.badge.ERROR{background:#fee2e2;color:#991b1b}.badge.COMMITTED{background:#dcfce7;color:#166534}.badge.ROLLED_BACK{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.grid-3,.grid-5{grid-template-columns:1fr}.button-row>*{width:100%}.compact-json{min-width:650px}}

/* v2.2.0 final cumulative readiness, UAT and mobile report controls */
.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.readiness-card{border:1px solid var(--border);border-left:5px solid var(--warning);border-radius:14px;padding:12px;background:#fff;min-height:88px}.readiness-card.ok{border-left-color:var(--success);background:#f7fff9}.readiness-card.fail{border-left-color:var(--danger);background:#fff8f7}.readiness-card.warning{border-left-color:var(--warning);background:#fffdf5}.readiness-status{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--secondary);margin-bottom:6px}.uat-form{display:grid;grid-template-columns:110px minmax(180px,1fr) auto;gap:7px;min-width:460px}.uat-form select,.uat-form input{min-height:44px}.badge.VERIFIED,.badge.PASS{background:#dcfce7;color:#166534}.badge.FAIL,.badge.BLOCKED{background:#fee2e2;color:#991b1b}.badge.N\/A{background:#f0f1f3;color:#525d68}.badge.CONFIGURED{background:#dcfce7;color:#166534}.badge.DISABLED,.badge.NOT_CONFIGURED{background:#f0f1f3;color:#525d68}.toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.print-sheet table{break-inside:auto}.print-sheet tr{break-inside:avoid;break-after:auto}@page{margin:12mm}.print-footer{break-inside:avoid}
@media(max-width:1100px){.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.readiness-grid{grid-template-columns:1fr}.uat-form{grid-template-columns:1fr;min-width:280px}.toolbar>div:last-child{width:100%}.toolbar>div:last-child .btn{flex:1}.main{max-width:100vw;overflow-x:hidden}.card{max-width:100%}.table-scroll,table{scrollbar-width:thin}.topbar{position:sticky!important}.subtitle{line-height:1.45}.page-title{font-size:22px}}

/* v2.3.0 dashboard-first command center and KPI drill-down */
.dashboard-command-center{max-width:1680px;margin:0 auto}.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:24px;border-radius:20px;background:linear-gradient(135deg,var(--deep),var(--primary) 60%,var(--bright));color:#fff;box-shadow:0 16px 34px rgba(24,32,120,.18);margin-bottom:14px}.dashboard-hero .page-title{font-size:30px;letter-spacing:.01em}.dashboard-hero .subtitle{color:#e7f2ff;margin:4px 0 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bright);margin-bottom:7px}.dashboard-hero .eyebrow{color:#bfe7ff}.dashboard-freshness{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;white-space:nowrap}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 6px rgba(34,197,94,.16)}
.dashboard-filter-panel{border-left:5px solid var(--bright);overflow:visible}.dashboard-filter-grid{display:grid;grid-template-columns:minmax(155px,.8fr) repeat(2,minmax(145px,.7fr)) repeat(2,minmax(180px,1fr)) auto auto;gap:10px;align-items:end}.dashboard-filter-grid .btn{white-space:nowrap}.filter-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.filter-chips span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#eaf4ff;border:1px solid #cbe3ff;color:var(--primary);font-size:12px;font-weight:800}
.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 10px}.dashboard-section-head h2{font-size:18px;margin:0;font-weight:800}.dashboard-section-head p{margin:3px 0 0;color:var(--secondary);font-size:13px}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-kpi-card{position:relative;display:block;min-height:170px;padding:17px 17px 15px 21px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 20px rgba(24,32,120,.06);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboard-kpi-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--primary)}.dashboard-kpi-card:hover{transform:translateY(-2px);border-color:#82c8f4;box-shadow:0 14px 32px rgba(13,71,161,.14)}.dashboard-kpi-card:active{transform:scale(.98);box-shadow:0 8px 20px rgba(13,71,161,.18)}.dashboard-kpi-card.is-navigating{opacity:.72;pointer-events:none}.dashboard-kpi-card.is-navigating .kpi-card-arrow::after{content:"";display:inline-block;width:12px;height:12px;margin-left:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:kpi-spin .7s linear infinite}@keyframes kpi-spin{to{transform:rotate(360deg)}}.dashboard-kpi-card.tone-green::before{background:var(--success)}.dashboard-kpi-card.tone-orange::before{background:var(--orange)}.dashboard-kpi-card.tone-red::before{background:var(--danger)}.dashboard-kpi-card.tone-purple::before{background:#7c3aed}.kpi-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.kpi-card-icon{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:11px;background:#eaf4ff;color:var(--primary);font-size:13px;font-weight:800}.tone-green .kpi-card-icon{background:#e9fbef;color:#15803d}.tone-orange .kpi-card-icon{background:#fff3e7;color:#c45400}.tone-red .kpi-card-icon{background:#fff0ef;color:#c32929}.tone-purple .kpi-card-icon{background:#f1ebff;color:#6d28d9}.kpi-card-arrow{font-size:12px;font-weight:800;color:var(--bright);text-decoration:underline;text-decoration-color:var(--bright);text-underline-offset:4px}.dashboard-kpi-card .kpi-value{font-size:27px;font-weight:800;color:var(--main-text);margin:8px 0 5px;white-space:normal;overflow-wrap:anywhere}.dashboard-kpi-card .kpi-label{font-size:12px;font-weight:800;color:var(--secondary)}.kpi-subtitle{font-size:12px;color:var(--secondary);line-height:1.45}
.dashboard-layout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-top:4px}.dashboard-panel{overflow:visible}.dashboard-panel .dashboard-section-head{margin:0 0 12px}.risk-list,.activity-list{display:grid;gap:8px}.risk-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:52px;padding:9px 11px;border:1px solid var(--border);border-left:5px solid var(--warning);border-radius:12px;background:#fff}.risk-row:hover{border-color:#82c8f4;box-shadow:0 7px 18px rgba(13,71,161,.08)}.risk-row.severity-high,.risk-row.severity-critical{border-left-color:var(--danger)}.risk-row.severity-medium{border-left-color:var(--warning)}.risk-severity{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--danger)}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-action{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfdff;color:var(--primary);font-weight:800}.quick-action:hover{background:#eaf4ff;border-color:#9dd5fa}.activity-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-row:last-child{border-bottom:0}.activity-row div{display:grid;gap:3px}.activity-row span,.activity-row time{font-size:12px;color:var(--secondary)}.empty-state{display:grid;place-items:center;gap:5px;min-height:120px;padding:22px;text-align:center;color:var(--secondary)}.empty-state strong{color:var(--main-text)}
.report-toolbar .eyebrow{margin-bottom:5px}.report-filter-grid{grid-template-columns:repeat(5,minmax(150px,1fr)) auto}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.report-summary-card{border-left:5px solid var(--primary)}.report-summary-card .kpi-value{font-size:22px}.report-table-card{overflow:hidden}.report-table-card .table-scroll{overflow:auto}.report-table-card table{min-width:920px}.report-table-card tbody tr:hover{background:#f5faff}.inline-link{color:var(--bright);font-weight:800;text-decoration:underline;text-underline-offset:3px}.report-footer-meta{padding-top:12px;color:var(--secondary);font-size:12px;font-weight:700}
@media(max-width:1350px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-filter-grid,.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-hero{padding:18px;border-radius:16px}.dashboard-hero .page-title{font-size:24px}.dashboard-freshness{white-space:normal}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-kpi-card{min-height:158px;padding:14px 13px 13px 18px}.dashboard-kpi-card .kpi-value{font-size:22px}.kpi-card-arrow{font-size:11px}.dashboard-filter-grid,.report-filter-grid{grid-template-columns:1fr}.dashboard-filter-grid .btn{width:100%}.risk-row{grid-template-columns:72px minmax(0,1fr);gap:7px}.risk-row>:nth-child(3),.risk-row>:nth-child(4){justify-self:start}.quick-action-grid{grid-template-columns:1fr}.activity-row{flex-direction:column}.report-summary-grid{grid-template-columns:1fr}.report-toolbar>div:last-child{width:100%}.report-toolbar .btn{flex:1}.dashboard-section-head{align-items:flex-start}.dashboard-panel{overflow:hidden}}
@media(max-width:390px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-kpi-card{min-height:145px}.dashboard-hero .page-title{font-size:22px}}
@media print{.dashboard-hero{background:#fff!important;color:#111!important;box-shadow:none;border:1px solid #ddd}.dashboard-hero .subtitle,.dashboard-hero .eyebrow{color:#333!important}.dashboard-kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-kpi-card{box-shadow:none;break-inside:avoid}.dashboard-filter-panel,.quick-action-grid,.kpi-card-arrow{display:none!important}.report-table-card{border:0;box-shadow:none}.report-table-card table{min-width:0}.report-summary-grid{grid-template-columns:repeat(3,1fr)}}

/* v2.4.0 advanced metadata-driven dashboard engine */
.resolution-badge{display:inline-flex;margin-top:10px;padding:6px 10px;border:1px solid #d8e5f6;background:#f4f8ff;border-radius:999px;color:#315b85;font-size:12px;font-weight:800}
.dashboard-hero-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.advanced-filter-grid{grid-template-columns:repeat(6,minmax(145px,1fr))}.saved-filter-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 18px}.saved-filter-strip a{padding:7px 10px;background:#fff;border:1px solid #dce5ef;border-radius:999px;font-weight:700;color:#0d47a1}.metadata-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin:16px 0}.dashboard-panel{min-width:0}.dashboard-panel h2{margin:0}.dashboard-panel p{margin:4px 0 0;color:#526887}.dashboard-chart{padding-top:8px}.chart-bars{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:minmax(90px,1fr) 3fr minmax(72px,auto);gap:10px;align-items:center;font-size:13px}.chart-track{height:12px;background:#edf2f7;border-radius:99px;overflow:hidden}.chart-track i{display:block;height:100%;background:linear-gradient(90deg,#0D47A1,#0097E8);border-radius:99px}.dashboard-widget-list{display:grid;gap:8px}.widget-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e4e8ef;border-radius:12px;background:#f9fbfd}.widget-list-row div{display:grid;gap:3px}.widget-list-row span,.widget-list-row small{color:#526887}.severity-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.severity-critical{background:#fee2e2;color:#991b1b}.severity-high{background:#ffedd5;color:#9a3412}.severity-medium{background:#fef3c7;color:#92400e}.severity-low{background:#dbeafe;color:#1e40af}.severity-information{background:#e0f2fe;color:#075985}.kpi-trend{margin-top:10px;font-size:12px;font-weight:800}.trend-up{color:#15803d}.trend-down{color:#b91c1c}.trend-flat{color:#526887}
.builder-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.builder-sidebar{align-self:start;position:sticky;top:80px}.builder-sidebar h2,.builder-main h2{margin-top:0}.builder-dashboard-link{display:grid;gap:3px;padding:10px;border:1px solid #e4e8ef;border-radius:12px;margin-bottom:8px;color:#1f2937}.builder-dashboard-link.active{border-color:#0097e8;box-shadow:0 0 0 3px rgba(0,151,232,.12);background:#f4faff}.builder-dashboard-link small{color:#526887}.builder-main{display:grid;gap:14px}.builder-header{display:flex;justify-content:space-between;gap:14px;align-items:center}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button-row form{display:flex;gap:8px}.builder-form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;align-items:end}.builder-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.assignment-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e4e8ef}.inline-fields{display:grid;grid-template-columns:100px 1fr;gap:8px}.executive-brief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboard-kpi-card:active{transform:scale(.98)}
@media(max-width:1100px){.advanced-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.builder-form-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.executive-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.advanced-filter-grid,.builder-form-grid{grid-template-columns:1fr 1fr}.builder-grid,.builder-two-column{grid-template-columns:1fr}.builder-sidebar{position:static}.metadata-dashboard-grid{display:block}.metadata-dashboard-grid>.dashboard-panel{margin-bottom:12px}.chart-row{grid-template-columns:90px 1fr}.chart-row strong{grid-column:2}.dashboard-hero-actions{justify-content:flex-start}.executive-brief-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.advanced-filter-grid,.builder-form-grid,.executive-brief-grid{grid-template-columns:1fr}.builder-header{align-items:flex-start;flex-direction:column}.chart-row{grid-template-columns:1fr}.chart-row strong{grid-column:auto}.dashboard-kpi-card{min-height:168px}}
@media print{.builder-sidebar,.dashboard-hero-actions,.saved-filter-strip{display:none!important}.metadata-dashboard-grid{display:block}.dashboard-panel{break-inside:avoid;margin-bottom:10px}}
.saved-filter-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.saved-filter-form input[type=text],.saved-filter-form input:not([type]){min-width:150px}.saved-filter-form label{display:flex;align-items:center;gap:5px;font-weight:700}.dashboard-panel table{width:100%;border-collapse:collapse}.dashboard-panel table th,.dashboard-panel table td{padding:9px 10px;border-bottom:1px solid var(--border,#e4e8ef);text-align:left;vertical-align:top}
@media(max-width:600px){.saved-filter-form{width:100%;margin-left:0}.saved-filter-form input[name=name]{flex:1;min-width:130px}}

/* v2.4.1 Owner navigation and Universal Search hotfix */
.topbar-universal-search{display:flex;align-items:center;gap:8px;flex:1;max-width:560px;margin:0 18px}
.topbar-universal-search input{width:100%;min-width:180px;height:42px;border:1px solid var(--border,#E4E8EF);border-radius:12px;padding:0 14px;background:#fff;color:#1F2937;font-size:15px;font-weight:600}
.universal-search-page-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.universal-search-results{display:grid;gap:10px}
.universal-search-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #E4E8EF;border-radius:14px;background:#fff;color:#1F2937;text-decoration:none;box-shadow:0 4px 16px rgba(24,32,120,.06);transition:.18s ease}
.universal-search-result:hover{border-color:#0097E8;box-shadow:0 10px 26px rgba(13,71,161,.14);transform:translateY(-1px)}
.universal-search-result:active{transform:scale(.98)}
.universal-search-result small{display:block;margin-top:4px;color:#526887}
@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar-universal-search{order:3;max-width:none;width:100%;margin:10px 0 0}.universal-search-page-form{grid-template-columns:1fr}.universal-search-page-form .btn{width:100%}}

/* v2.4.2 Opening Import Owner Commit visibility and mobile action hotfix */
.owner-commit-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:14px 16px;border:1px solid var(--border,#E4E8EF);border-left:6px solid var(--success,#22C55E);border-radius:16px;background:#f7fff9;box-shadow:0 10px 26px rgba(24,32,120,.10);position:sticky;top:74px;z-index:8}
.owner-commit-panel.owner-commit-blocked{border-left-color:var(--danger,#EF4444);background:#fff8f7}
.owner-commit-copy{display:grid;gap:3px}.owner-commit-copy strong{font-size:16px}.owner-commit-copy span{font-size:12px;color:var(--secondary,#526887);font-weight:700}
.owner-commit-panel form{margin:0}.owner-commit-button{min-height:48px;padding:0 18px;font-weight:900;white-space:nowrap}
.owner-commit-bottom{position:static;margin-top:16px}
@media(max-width:760px){.owner-commit-panel{top:auto;bottom:8px;flex-direction:column;align-items:stretch;padding:12px;z-index:20}.owner-commit-panel .btn,.owner-commit-panel form,.owner-commit-panel form button{width:100%}.owner-commit-copy{text-align:center}.owner-commit-bottom{display:none}}
@media print{.owner-commit-panel{display:none!important}}

/* v2.5.0 Organization, Role and Effective Permission Control Center */
.organization-control{max-width:1680px;margin:0 auto}.org-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.org-summary-card{display:grid;gap:4px;min-height:104px;padding:16px;border:1px solid #BBF7D0;border-left:6px solid #22C55E;border-radius:16px;background:#fff;color:#1F2937;text-decoration:none;box-shadow:0 6px 20px rgba(22,101,52,.08);transition:.18s ease}.org-summary-card strong{font-size:28px;color:#166534}.org-summary-card span{font-size:12px;font-weight:800;color:#526887}.org-summary-card:hover{border-color:#22C55E;box-shadow:0 12px 28px rgba(22,101,52,.16);transform:translateY(-1px)}.org-summary-card:active{transform:scale(.98)}.org-tabs{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}.org-tabs a{white-space:nowrap;padding:9px 13px;border:1px solid #E4E8EF;border-radius:999px;background:#fff;color:#526887;font-size:13px;font-weight:800;text-decoration:none}.org-tabs a.active,.org-tabs a:hover{background:#166534;color:#fff;border-color:#166534}.org-form-grid{align-items:start}.org-assignment-form{border-left:6px solid #22C55E}.sensitive-scope-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(120px,1fr));gap:10px;align-items:end;padding:12px;border:1px solid #BBF7D0;border-radius:14px;background:#F0FDF4}.permission-effective-table{max-height:680px}.json-preview{font-size:12px;line-height:1.45}.check-line{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700}.inline-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inline-form input{min-height:42px}.organization-control table tbody tr:hover{background:#F0FDF4}.badge.ALLOW{background:#DCFCE7;color:#166534}.badge.DENY{background:#FEE2E2;color:#991B1B}.badge.PROTECTED{background:#DBEAFE;color:#1E40AF}
@media(max-width:1300px){.org-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sensitive-scope-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:760px){.org-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.org-form-grid{grid-template-columns:1fr}.sensitive-scope-grid{grid-template-columns:1fr 1fr}.organization-control .toolbar{align-items:flex-start}.organization-control .toolbar .btn{width:100%}.org-summary-card{min-height:94px;padding:14px}.org-summary-card strong{font-size:24px}}
@media(max-width:390px){.org-summary-grid,.sensitive-scope-grid{grid-template-columns:1fr}.org-tabs a{padding:8px 11px}}
@media print{.org-tabs,.org-form-grid,.org-assignment-form form{display:none!important}.org-summary-grid{grid-template-columns:repeat(3,1fr)}.org-summary-card{box-shadow:none;break-inside:avoid}}

/* v2.6.1 Engineer Field Operations and GPS Attendance lock hotfix */
.attendance-toolbar-links{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.attendance-summary-grid{margin:14px 0}.attendance-summary-grid .card{border-left:5px solid var(--primary)}
.kpi-value.compact{font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.attendance-action-grid{align-items:start}.attendance-form{border-top:5px solid var(--bright)}
.attendance-consent{align-items:flex-start;margin:14px 0;padding:11px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;line-height:1.45}
.attendance-consent input{margin-top:3px;flex:0 0 auto}
.attendance-privacy-note{margin-top:14px;border-left:5px solid #7c3aed;background:#faf8ff;line-height:1.55}
.attendance-review-form{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:7px;min-width:360px}
.attendance-review-form input{min-height:42px}
.badge.INSIDE,.badge.PRESENT,.badge.FIELD_DUTY,.badge.APPROVED,.badge.COMPLETED{background:#dcfce7;color:#166534}
.badge.OUTSIDE,.badge.REVIEW_REQUIRED,.badge.REFERENCE_MISSING,.badge.LEGACY_UNVERIFIED,.badge.PENDING,.badge.LATE{background:#fef3c7;color:#92400e}
.badge.REJECTED{background:#fee2e2;color:#991b1b}
@media(max-width:760px){
  .attendance-toolbar-links{justify-content:flex-start;width:100%}
  .attendance-toolbar-links .btn{flex:1}
  .attendance-action-grid{grid-template-columns:1fr}
  .attendance-review-form{grid-template-columns:1fr;min-width:260px}
  .attendance-review-form .btn{width:100%}
}
@media print{.attendance-toolbar-links,.attendance-action-grid,.attendance-privacy-note,.attendance-review-form{display:none!important}}

/* v2.7.0 Engineer Service, Warranty, Repair Logistics and Notifications */
.notification-list{display:grid;gap:10px}.notification-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}.notification-item.unread{border-left:6px solid var(--bright);background:#f5fbff}.notification-item h3{margin:7px 0 3px;font-size:15px}.notification-item p{margin:0 0 6px}.notification-item>div:last-child{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.notification-item form{margin:0}.badge.ON_TRACK,.badge.MET,.badge.VALID,.badge.AUTHORIZED_EXCEPTION,.badge.ISSUED,.badge.REPAIR_OPENED,.badge.RESOLVED,.badge.CLOSED{background:#dcfce7;color:#166534}.badge.BREACHED,.badge.CANCELLED,.badge.EXPIRED,.badge.NOT_FOUND{background:#fee2e2;color:#991b1b}.badge.WAITING_PARTS,.badge.WAITING_CUSTOMER,.badge.PAUSED,.badge.PENDING_EVIDENCE,.badge.REQUESTED,.badge.PARTIALLY_ISSUED{background:#fef3c7;color:#92400e}.badge.EN_ROUTE,.badge.ON_SITE,.badge.IN_PROGRESS,.badge.ASSIGNED,.badge.UNDER_REVIEW,.badge.REGISTERED,.badge.OFFICE_RECEIVED,.badge.DIAGNOSED,.badge.PACKED,.badge.HANDED_TO_LOGISTICS,.badge.IN_TRANSIT_TO_SUPPLIER,.badge.SUPPLIER_RECEIVED,.badge.UNDER_INSPECTION,.badge.UNDER_REPAIR,.badge.READY_TO_RETURN,.badge.IN_TRANSIT_TO_BANGLADESH,.badge.CUSTOMS_OFFICE_RECEIVED,.badge.TESTED,.badge.RETURNED_TO_CUSTOMER{background:#dbeafe;color:#1e40af}
@media(max-width:760px){.notification-item{flex-direction:column}.notification-item>div:last-child,.notification-item .btn{width:100%}.notification-item>div:last-child .btn{width:auto}}

/* v2.9.1 CSRF/PWA recovery and unified corporate print standard */
body.print-document{background:#fff;color:#172033}
.print-sheet{width:min(210mm,100%);max-width:210mm;margin:0 auto;padding:12mm;background:#fff;overflow:visible!important;color:#172033}
.corporate-print-header.print-header{display:block!important;width:100%;margin:0 0 16px;padding:0;border:0;text-align:initial;overflow:visible}
.corporate-masthead{display:grid;grid-template-columns:34mm minmax(0,1fr);align-items:center;gap:8mm;width:100%;min-width:0;padding-bottom:9px}
.corporate-logo-cell{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.corporate-logo-cell .corporate-logo{display:block;width:100%;max-width:34mm;max-height:24mm;object-fit:contain;object-position:left center}
.corporate-company-cell{min-width:0;text-align:right;line-height:1.35;overflow-wrap:anywhere}
.corporate-company-name{font-size:19px;font-weight:900;letter-spacing:.01em;color:#10253f}
.corporate-legal-name{font-size:12px;font-weight:800;color:#34465a}
.corporate-slogan{margin-top:2px;font-size:11px;font-weight:800;color:#0d47a1}
.corporate-address,.corporate-contact,.corporate-legal{font-size:10px;color:#34465a}
.corporate-address{margin-top:3px}
.corporate-document-heading{width:100%;padding:9px 8px 8px;border-top:2px solid #10253f;border-bottom:1px solid #9aa9b8;text-align:center}
.corporate-document-heading h1{margin:0;font-size:20px;line-height:1.2;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#10253f}
.corporate-document-reference{margin-top:4px;font-size:11px;font-weight:800;color:#425466;overflow-wrap:anywhere}
.corporate-party-grid.print-party{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);gap:18px;margin:14px 0 18px;padding:11px 12px;border:1px solid #b8c4d0;border-radius:6px;background:#fff;text-align:left}
.corporate-party-cell,.corporate-meta-cell{min-width:0;font-size:11px;line-height:1.48;overflow-wrap:anywhere}
.corporate-block-label{margin-bottom:3px;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#526887}
.corporate-party-name{font-size:14px;font-weight:900;color:#172033}
.corporate-party-address{max-width:115mm}
.corporate-meta-cell{border-left:1px solid #d5dde5;padding-left:14px}
.corporate-meta-row{display:grid;grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr);gap:8px;padding:2px 0}
.corporate-meta-row span{color:#526887}
.corporate-meta-row strong{text-align:right;color:#172033}
.corporate-document-table{width:100%;min-width:0!important;table-layout:auto;border:1px solid #aeb9c5;font-size:11px}
.corporate-document-table th,.corporate-document-table td{padding:7px 8px;border:1px solid #cbd4dc;overflow-wrap:anywhere}
.corporate-document-table thead th{background:#edf2f7;color:#24374c;font-weight:900}
.corporate-document-table tfoot th{background:#f4f7fa}
.corporate-notes{margin-top:14px;padding:10px 12px;border:1px solid #d5dde5;border-radius:6px;font-size:11px;line-height:1.5}
.corporate-notes p{margin:5px 0 9px}
.corporate-summary-strip{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px solid #d5dde5;background:#f8fafc;font-size:11px}
.job-card-section{min-height:56px;margin:12px 0;padding:9px 11px;border:1px solid #d5dde5;border-radius:6px}
.job-card-section h3{margin:0 0 5px}
.job-card-section p{margin:0;line-height:1.5}
.amount-in-words{margin-top:18px;font-size:12px}
.print-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:7px;border-top:1px solid #9aa9b8;font-size:9px;text-align:left;color:#52606d}
.print-footer span:last-child{margin-left:auto}
.csrf-refresh-message{position:fixed;left:50%;bottom:18px;z-index:1000;transform:translateX(-50%);width:min(520px,calc(100vw - 24px));padding:11px 14px;border:1px solid #fac7c2;border-radius:8px;background:#fdecea;color:#9b1c14;font-weight:700;box-shadow:0 12px 30px rgba(16,37,63,.2)}

@media screen and (max-width:700px){
  body.print-document{width:100%;min-width:0;overflow-x:hidden}
  .print-sheet,.card.print-sheet{width:100%;max-width:none;margin:0;padding:12px;border:0;border-radius:0;box-shadow:none;overflow:visible!important}
  .corporate-masthead{grid-template-columns:88px minmax(0,1fr);gap:10px;padding-bottom:8px}
  .corporate-logo-cell .corporate-logo{max-width:88px;max-height:58px}
  .corporate-company-name{font-size:14px}
  .corporate-legal-name,.corporate-slogan{font-size:9px}
  .corporate-address,.corporate-contact,.corporate-legal{font-size:8px;line-height:1.35}
  .corporate-document-heading{padding:8px 5px 7px}
  .corporate-document-heading h1{font-size:17px;letter-spacing:.045em}
  .corporate-document-reference{font-size:9px}
  .corporate-party-grid.print-party{grid-template-columns:1fr;gap:8px;padding:9px;margin:12px 0}
  .corporate-meta-cell{border-top:1px solid #d5dde5;border-left:0;padding:8px 0 0}
  .corporate-meta-row strong{text-align:left}
  .corporate-document-table,.print-sheet table{width:100%;min-width:0!important;font-size:9px;table-layout:auto}
  .corporate-document-table th,.corporate-document-table td,.print-sheet th,.print-sheet td{padding:6px 4px}
  .signature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:42px;font-size:9px}
  .print-footer{font-size:8px}
}

@media print{
  html,body,body.print-document{width:auto!important;min-width:0!important;background:#fff!important}
  .print-sheet,.card.print-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .corporate-print-header,.corporate-masthead,.corporate-document-heading,.corporate-party-grid,.corporate-summary-strip,.signature-grid,.print-footer{break-inside:avoid}
  .corporate-document-table,.print-sheet table{min-width:0!important;width:100%!important}
  .corporate-document-table thead{display:table-header-group}
  .corporate-document-table tfoot{display:table-footer-group}
  .corporate-document-table tr{break-inside:avoid}
  .corporate-masthead{grid-template-columns:34mm minmax(0,1fr)}
  .signature-grid{grid-template-columns:repeat(3,1fr)}
  .print-footer{font-size:8.5px}
}

/* v4.0.0 Universal Entry, Ledger, Stock and Profit Report Center */
.universal-report-center{max-width:1720px;margin:0 auto}
.report-module-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.report-module-group{overflow:hidden;border:1px solid #dbe3ec;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(16,37,63,.07)}
.report-module-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#153b68;color:#fff;font-size:12px;letter-spacing:.06em}
.report-module-heading span{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:99px;background:rgba(255,255,255,.16)}
.report-module-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.report-module-link{display:grid;gap:4px;min-height:76px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff;color:#172033;text-decoration:none;transition:.17s ease}
.report-module-link small{color:#526887;line-height:1.35}
.report-module-link:hover,.report-module-link.active{border-color:#0097e8;background:#eef8ff;box-shadow:0 6px 16px rgba(0,151,232,.12)}
.report-module-link.active{border-left:5px solid #0097e8}
.universal-report-filter{border-top:5px solid #0097e8;overflow:visible}
.universal-report-filter .report-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;align-items:end}
.universal-report-filter .report-search-field{grid-column:span 2}
.report-kpis .card{border-left:5px solid #153b68}
.report-result-card{max-width:none;width:100%;padding:18px}
.report-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}
.report-result-heading h3{margin:0 0 4px}
.report-result-card .table-scroll{width:100%;overflow:auto}
.report-result-card table{min-width:1040px}
.saved-report-list{display:grid;gap:8px}
.saved-report-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff}
.saved-report-row>a{display:grid;gap:3px;color:#153b68;text-decoration:none}
.saved-report-row small{color:#526887}
.saved-report-row form{margin:0}
@media(max-width:1250px){
  .universal-report-filter .report-filter-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}
}
@media(max-width:800px){
  .report-module-groups{grid-template-columns:1fr}
  .universal-report-filter .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .universal-report-filter .report-search-field{grid-column:1/-1}
  .report-result-card{padding:12px}
}
@media(max-width:520px){
  .report-module-links,.universal-report-filter .report-filter-grid{grid-template-columns:1fr}
  .universal-report-filter .report-search-field{grid-column:auto}
  .report-result-heading,.saved-report-row{align-items:flex-start;flex-direction:column}
  .saved-report-row form,.saved-report-row .btn{width:100%}
}
@media print{
  .report-result-card{width:100%;max-width:none;padding:0}
  .report-result-card table{min-width:0;font-size:8.5px}
  .report-result-heading{break-inside:avoid}
}

/* v4.1.0 foundation: flexible module catalog, record actions and redacted history */
.module-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.module-catalog-card{padding:0;overflow:hidden}
.module-catalog-items{display:grid}
.module-catalog-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid #e2e8f0}
.module-catalog-item:last-child{border-bottom:0}
.module-catalog-item p{margin:4px 0 0;color:#526887;font-size:12px;line-height:1.4}
.module-catalog-actions,.record-action-set{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.module-catalog-actions{justify-content:flex-end;min-width:220px}
.flexible-report-table .record-action-set{min-width:250px}
.flexible-report-table .record-action-set .btn{padding:6px 8px;font-size:11px}
.record-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 0 20px;border:1px solid #dbe3ec;background:#dbe3ec}
.record-detail-field{display:grid;align-content:start;gap:5px;min-height:72px;padding:11px;background:#fff;overflow-wrap:anywhere}
.record-detail-field span:first-child{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#526887}
.record-archive-card{margin-top:14px;border-left:5px solid #b42318}
.record-history-list{display:grid;gap:12px}
.record-history-event{border-left:5px solid #153b68}
.history-field-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.history-field-chips span{padding:4px 8px;border-radius:99px;background:#eef4fa;color:#153b68;font-size:11px;font-weight:800}
.history-snapshots pre{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;border:1px solid #dbe3ec;border-radius:8px;background:#f8fafc;font-size:10px}
@media(max-width:980px){
  .module-catalog-grid{grid-template-columns:1fr}
  .record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .module-catalog-item{align-items:flex-start;flex-direction:column}
  .module-catalog-actions{justify-content:flex-start;min-width:0;width:100%}
  .module-catalog-actions .btn{flex:1}
  .record-detail-grid{grid-template-columns:1fr}
}

/* v4.2.0 settings-driven custom module builder */
.nav-section-label{
  margin:14px 12px 5px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#9fc4ec;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.module-studio-layout{align-items:start}
.module-studio-section{margin-top:14px}
.module-option-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border:1px solid #dbe3ec;
  border-radius:10px;
  background:#f8fafc;
}
.module-option-grid label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  color:#253b59;
  font-size:12px;
  font-weight:700;
}
.module-field-form{padding-top:6px}
.custom-module-record-form{margin-bottom:14px;border-top:4px solid #0d47a1}
.custom-module-report-filter{margin-bottom:14px}
.custom-module-saved-views{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}
.saved-view-create{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.saved-view-create input{min-width:220px}
.numeric-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.custom-module-kpis{margin-bottom:14px}
.custom-module-report-result{max-width:none;width:100%}
.custom-module-report-result table{min-width:880px}
.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.record-detail-field.full{grid-column:1/-1}
@media(max-width:900px){
  .module-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .module-option-grid{grid-template-columns:1fr}
  .custom-module-saved-views,.saved-view-create{align-items:stretch;flex-direction:column}
  .custom-module-saved-views .btn,.saved-view-create input,.saved-view-create select,.saved-view-create .btn{width:100%;min-width:0}
}
@media print{
  .custom-module-report-filter,.custom-module-kpis{display:none!important}
  .custom-module-report-result table{min-width:0;font-size:9px}
}

/* v4.0.2 final print isolation: print only the report/document, never app chrome. */
@media print{
  html,body,body.print-document{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body{
    margin:0!important;
    padding:0!important;
  }
  .sidebar,
  .topbar,
  .mobile-bottom-nav,
  .no-print,
  .print-excluded,
  .csrf-refresh-message{
    display:none!important;
  }
  .shell,
  .content,
  .main{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.is-printing-report .print-sheet,
  body.print-document .print-sheet,
  body.is-printing-report .card.print-sheet{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    break-before:auto;
    break-after:auto;
  }
  .print-sheet table{
    max-width:100%!important;
  }
}

/* v4.3.0 category navigation: permission-safe compact modules with hover preview and click lock */
.app-header-stack{
  position:sticky;
  top:0;
  z-index:30;
  background:#fff;
  box-shadow:0 5px 18px rgba(16,37,63,.06);
}
.app-header-stack .topbar{
  position:static;
  z-index:auto;
  gap:12px;
}
.topbar-identity{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
}
.topbar-user{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.module-menu-toggle{display:none}
.module-category-bar{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:54px;
  padding:7px 16px 9px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  border-top:1px solid #edf1f5;
  border-bottom:1px solid var(--border);
  background:#fff;
}
.module-category-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:7px 11px;
  border:1px solid #dbe3ec;
  border-radius:10px;
  background:#f8fafc;
  color:#31445b;
  font:inherit;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.module-category-button small{
  display:grid;
  place-items:center;
  min-width:23px;
  height:23px;
  padding:0 6px;
  border-radius:99px;
  background:#e8eef5;
  color:#526887;
  font-size:10px;
  font-weight:900;
}
.module-category-button:hover,
.module-category-button:focus-visible{
  border-color:#82c8f4;
  background:#eef8ff;
  color:#0d47a1;
  outline:none;
}
.module-category-button.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
  box-shadow:0 6px 16px rgba(13,71,161,.20);
}
.module-category-button.active small{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.module-category-button:active{transform:scale(.98)}
.sidebar-mobile-head{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.sidebar-close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.sidebar-tools{
  flex:0 0 auto;
  display:grid;
  gap:5px;
  margin:0 3px 9px 0;
}
.sidebar-tools label{
  color:#b9d1ec;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sidebar-tools input{
  width:100%;
  min-height:40px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:10px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font:inherit;
  font-size:13px;
  outline:none;
}
.sidebar-tools input::placeholder{color:#b9cbe0}
.sidebar-tools input:focus{
  border-color:#7dd3fc;
  box-shadow:0 0 0 3px rgba(125,211,252,.16);
}
.nav-category-panel[hidden],
.nav-quick-section[hidden],
.nav-search-empty[hidden],
.nav-drawer-backdrop[hidden]{display:none!important}
.nav-category-heading{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 2px 8px 0;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:#25318a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(0,0,0,.14);
}
.nav-category-heading small{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:99px;
  background:rgba(255,255,255,.14);
  color:#dce9f5;
  font-size:10px;
}
.nav-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  gap:4px;
  align-items:center;
  margin:2px 0;
  border-radius:9px;
}
.nav .nav-link-row .nav-module-link{
  min-width:0;
  margin:0;
}
.nav .nav-link-row .nav-module-link span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-link-row.active{background:#1d4f78}
.nav-favorite-toggle{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#9fc4ec;
  font-size:18px;
  cursor:pointer;
}
.nav-favorite-toggle:hover,
.nav-favorite-toggle:focus-visible{
  background:rgba(255,255,255,.12);
  color:#fff;
  outline:none;
}
.nav-favorite-toggle[aria-pressed="true"]{color:#ffbf47}
.nav-quick-section{
  margin-bottom:8px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nav-quick-link{
  display:block;
  padding:7px 10px;
  border-radius:7px;
  color:#dce9f5;
  font-size:12px;
}
.nav-quick-link:hover{background:#1d4f78;color:#fff}
.nav-search-empty{
  margin:12px 3px;
  padding:16px 10px;
  border:1px dashed rgba(255,255,255,.25);
  border-radius:10px;
  color:#b9cbe0;
  text-align:center;
  font-size:12px;
}
.nav-drawer-backdrop{display:none}

@media screen and (min-width:951px){
  .shell{grid-template-columns:270px minmax(0,1fr)}
  .sidebar{padding:12px 10px}
  .brand img{max-width:148px}
}

@media(max-width:950px){
  .shell{display:block}
  .content{min-height:100vh}
  .sidebar{
    display:flex!important;
    position:fixed!important;
    inset:0 auto 0 0;
    z-index:70;
    width:min(340px,88vw);
    height:100dvh!important;
    padding:12px 10px!important;
    transform:translateX(-104%);
    transition:transform .2s ease;
    box-shadow:16px 0 38px rgba(8,15,45,.30);
  }
  body.nav-drawer-open{overflow:hidden}
  body.nav-drawer-open .sidebar{transform:translateX(0)}
  .sidebar-mobile-head{display:flex}
  .sidebar .brand{margin-bottom:9px}
  .sidebar .nav{
    display:block;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
  }
  .sidebar .nav a{white-space:normal}
  .nav-drawer-backdrop{
    position:fixed;
    inset:0;
    z-index:65;
    display:block;
    width:100%;
    height:100%;
    border:0;
    background:rgba(4,13,35,.56);
    cursor:pointer;
  }
  .module-menu-toggle{display:inline-flex}
  .app-header-stack{position:sticky;top:0}
  .app-header-stack .topbar{position:static!important}
  .topbar-identity{
    width:100%;
    min-width:0;
  }
  .topbar-identity strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar-user{justify-content:flex-start}
  .module-category-bar{
    min-height:50px;
    padding:6px 10px 8px;
  }
  .module-category-button{min-height:36px;padding:6px 9px}
  .mobile-bottom-nav{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))}
}

@media(max-width:650px){
  .topbar-identity{align-items:flex-start}
  .topbar-identity strong{padding-top:5px}
  .topbar-user{width:100%}
  .topbar-user>span{width:100%}
}

@media print{
  .app-header-stack,
  .module-category-bar,
  .nav-drawer-backdrop{
    display:none!important;
  }
}

/* v4.3.0 production repair: sales entry, invoice records and mobile drawer */
.sales-entry-form{max-width:1500px;margin:0 auto;padding:0;overflow:visible}
.sales-entry-section{padding:18px;border-bottom:1px solid var(--border)}
.sales-entry-section:last-of-type{border-bottom:0}
.sales-entry-section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sales-entry-section-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:99px;background:var(--primary);color:#fff;font-size:13px;font-weight:900}
.sales-entry-section-title>div{display:grid;gap:2px}
.sales-entry-section-title small{color:var(--secondary)}
.sales-entry-header-grid{grid-template-columns:2fr repeat(3,minmax(150px,1fr))}
.party-balance-line{margin-top:6px;color:var(--secondary);font-size:12px;font-weight:800}
.party-balance-line.cash-only{color:#9b1c14}
.sales-line-item{grid-template-columns:minmax(250px,2fr) minmax(100px,.55fr) minmax(130px,.75fr) minmax(120px,.65fr) auto}
.sales-line-total-field output{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:10px;border:1px solid #cbd6df;border-radius:7px;background:#f8fafc;font-weight:900;color:var(--primary)}
.sales-total-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:18px;align-items:start}
.sales-total-card{display:grid;gap:8px;padding:14px;border:1px solid #cbd6df;border-radius:12px;background:#f8fafc}
.sales-total-card>div{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid #dbe3ec}
.sales-total-card>div:last-child{border-bottom:0}
.sales-total-card .grand{margin-top:2px;padding:11px 9px;border-radius:9px;background:var(--deep);color:#fff;font-size:16px}
.sales-total-card .due strong{color:#b42318}
.sales-entry-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:16px 18px;background:#f8fafc;border-radius:0 0 16px 16px}
.sales-entry-permission-note{padding:0 18px 16px;text-align:right}
.invoice-record-filter{overflow:visible}
.invoice-record-filter .report-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px;align-items:end}
.invoice-record-filter .report-search-field{grid-column:span 2}
.invoice-record-kpis{margin:14px 0}
.invoice-record-result{max-width:none}
.invoice-record-result table{min-width:1050px}
.invoice-party-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.invoice-party-summary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}
.invoice-party-summary span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary)}
.invoice-party-summary small{color:var(--secondary)}
.invoice-detail-kpis{margin-bottom:14px}
.invoice-status-value{display:flex;align-items:center;min-height:34px;font-size:16px}
.complete-sale-card{margin-top:14px;border-left:5px solid var(--success);overflow:visible}
.invoice-view-actions{display:flex;gap:7px;flex-wrap:wrap}
.invoice-print-half{max-width:148mm}
.invoice-print-pad{max-width:190mm;padding:7mm}
body.keyboard-open .mobile-bottom-nav{display:none!important}
body.keyboard-open .main{padding-bottom:18px!important}
.module-catalog-toolbar{align-items:flex-end}
.module-catalog-controls{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(0,2fr);gap:14px;align-items:end;margin-bottom:14px;overflow:visible}
.module-group-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.module-group-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;color:#31445b;font-size:11px;font-weight:850;white-space:nowrap}
.module-group-tabs a span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#e8eef5;font-size:9px}
.module-group-tabs a.active{border-color:var(--primary);background:var(--primary);color:#fff}
.module-group-tabs a.active span{background:rgba(255,255,255,.18)}
.module-hierarchy{display:grid;gap:14px}
.module-hierarchy-section{padding:0;overflow:hidden}
.module-hierarchy-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:linear-gradient(120deg,#182078,#0d47a1);color:#fff}
.module-hierarchy-heading>div{display:grid;gap:3px}
.module-hierarchy-heading small{color:#cfe7ff}
.module-hierarchy-heading>span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:rgba(255,255,255,.17);font-weight:900}
.module-hierarchy-columns{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(125px,.7fr));gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:#f8fafc;color:var(--secondary);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.module-hierarchy-columns span:not(:first-child){text-align:center}
.module-hierarchy-row{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(125px,.7fr));gap:8px;align-items:stretch;padding:9px 12px;border-bottom:1px solid var(--border)}
.module-hierarchy-row:last-child{border-bottom:0}
.module-hierarchy-name{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;padding:7px 4px}
.module-hierarchy-name>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eaf4ff;color:var(--primary);font-size:10px;font-weight:900}
.module-hierarchy-name p{margin:3px 0 0;color:var(--secondary);font-size:11px;line-height:1.35}
.module-lane{display:grid;place-items:center;align-content:center;gap:3px;min-height:58px;padding:8px;border:1px solid var(--border);border-radius:9px;text-align:center;transition:.15s ease}
.module-lane small{font-size:9px;font-weight:900;letter-spacing:.08em}
.module-lane strong{font-size:11px}
.module-lane-entry{border-color:#b7e4cf;background:#f2fff8;color:#12633a}
.module-lane-record{border-color:#ffd59e;background:#fff9ef;color:#8a4b00}
.module-lane-report{border-color:#cfc5ff;background:#f7f5ff;color:#5b21b6}
.module-lane:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(16,37,63,.10)}

@media(max-width:1100px){
  .sales-entry-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sales-line-item{grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(100px,.7fr)) auto}
  .invoice-record-filter .report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .module-catalog-controls{grid-template-columns:1fr}
}
@media(max-width:760px){
  .sales-entry-form{border-radius:14px}
  .sales-entry-section{padding:14px 12px}
  .sales-entry-header-grid,.sales-total-layout,.invoice-party-summary{grid-template-columns:1fr}
  .sales-line-item{grid-template-columns:1fr}
  .sales-line-total-field output{justify-content:flex-start}
  .sales-entry-actions{position:sticky;bottom:0;z-index:12;display:grid;grid-template-columns:1fr;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(16,37,63,.12)}
  .sales-entry-actions .btn{width:100%}
  .sales-entry-permission-note{text-align:left}
  .invoice-record-filter .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-record-filter .report-search-field{grid-column:1/-1}
  .invoice-view-actions{width:100%}
  .invoice-view-actions .btn{flex:1 1 105px}
  .module-hierarchy-columns{display:none}
  .module-hierarchy-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .module-hierarchy-name{grid-column:1/-1}
  .module-lane{min-height:62px}
}
@media(max-width:520px){
  .invoice-record-filter .report-filter-grid{grid-template-columns:1fr}
  .invoice-record-filter .report-search-field{grid-column:auto}
}
@media(max-width:950px){
  .sidebar{flex-direction:column!important}
}
@media print{
  @page{size:A4 portrait;margin:10mm}
  .invoice-print-half{width:148mm!important;max-width:148mm!important;font-size:9px}
  .invoice-print-half .corporate-company-name{font-size:15px}
  .invoice-print-half .corporate-party-grid{margin:8px 0 10px;padding:7px}
  .invoice-print-half .corporate-document-table th,
  .invoice-print-half .corporate-document-table td{padding:4px 5px}
  .invoice-print-half .signature-grid{margin-top:30px}
  .invoice-print-pad{width:100%!important;max-width:none!important;padding:5mm!important}
}

/* v4.3.0 operational repair: compact mobile navigation and invoice entry */
.cash-sale-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid #bfdbfe;
  border-left:6px solid var(--bright);
  border-radius:14px;
  background:#f7fbff;
}
.cash-sale-panel.is-required{
  border-color:#86efac;
  border-left-color:var(--success);
  background:#f4fff7;
}
.cash-sale-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.cash-sale-heading h3{margin:0 0 4px}
.cash-sale-heading p{margin:0;color:var(--secondary);font-size:13px}
.cash-sale-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:8px 11px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  font-weight:800;
  white-space:nowrap;
}
.cash-sale-toggle input{width:18px;height:18px}
.invoice-total-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.invoice-total-preview>div{
  display:grid;
  gap:4px;
  min-height:74px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.invoice-total-preview span{
  color:var(--secondary);
  font-size:11px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.invoice-total-preview strong{font-size:20px;color:var(--primary)}
.invoice-total-preview .invoice-due strong{color:var(--danger)}
.invoice-total-preview .invoice-due.is-paid strong{color:var(--success)}
.customer-balance-note{
  display:block;
  margin-top:6px;
  color:var(--secondary);
  font-size:12px;
  font-weight:700;
}
.cash-sale-fields[hidden]{display:none!important}
.invoice-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}
.invoice-status-grid{margin:14px 0}
.invoice-status-grid .card{border-left:5px solid var(--primary)}
.half-a4{max-width:210mm;min-height:132mm;margin:0 auto}
.delivery-challan .corporate-document-table th.num,
.delivery-challan .corporate-document-table td.num{text-align:center}

@media(max-width:950px){
  .sidebar{
    flex-direction:column!important;
    align-items:stretch!important;
    width:min(310px,86vw);
    max-width:86vw;
  }
  .sidebar-mobile-head,
  .sidebar .brand,
  .sidebar-tools,
  .sidebar .nav{
    width:100%;
    min-width:0;
  }
  .sidebar-mobile-head,
  .sidebar .brand,
  .sidebar-tools{flex:0 0 auto}
  .sidebar .brand{
    display:flex;
    justify-content:center;
    padding:8px;
  }
  .sidebar .brand img{width:auto;max-width:132px}
  body.nav-drawer-open .mobile-bottom-nav{visibility:hidden}
  .main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .field input,
  .field select,
  .field textarea{scroll-margin-bottom:150px}
  body.form-field-active .mobile-bottom-nav{
    pointer-events:none;
    transform:translateY(120%);
    opacity:0;
  }
  .mobile-bottom-nav{transition:transform .18s ease,opacity .18s ease}
}

@media(max-width:700px){
  .cash-sale-heading{flex-direction:column}
  .cash-sale-toggle{width:100%;white-space:normal}
  .invoice-total-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-actions,.invoice-actions .btn{width:100%}
}

@media(max-width:390px){
  .invoice-total-preview{grid-template-columns:1fr}
}

@media print{
  .cash-sale-panel,
  .invoice-total-preview,
  .invoice-actions{break-inside:avoid}
  .half-a4{
    width:100%!important;
    min-height:0!important;
    padding:7mm!important;
    font-size:10px!important;
  }
}

/* v4.3.1 click-only module buttons and screen-first reporting */
.module-button-menu[hidden],
.module-button-panel[hidden],
.module-button-workspace-card[hidden],
.report-library-button[hidden],
.report-library-group[hidden]{display:none!important}
.module-button-menu{
  padding:12px 16px 15px;
  border-bottom:1px solid var(--border);
  background:#fff;
  box-shadow:0 14px 28px rgba(16,37,63,.13);
}
.module-button-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.module-button-menu-head>div{display:grid;gap:2px}
.module-button-menu-head small{font-size:9px;font-weight:900;letter-spacing:.11em;color:var(--secondary)}
.module-button-menu-head strong{font-size:15px;color:var(--deep)}
.module-button-menu-close{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#f8fafc;
  color:var(--deep);
  font-size:23px;
  cursor:pointer;
}
.module-button-panel{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  max-height:42vh;
  overflow:auto;
  padding:2px;
}
.module-button-link{
  display:grid;
  gap:4px;
  min-height:66px;
  padding:11px 12px;
  border:1px solid #dbe3ec;
  border-radius:11px;
  background:#f8fbff;
  color:#172033;
  transition:.15s ease;
}
.module-button-link strong{font-size:13px}
.module-button-link small{color:var(--secondary);font-size:10px;font-weight:800}
.module-button-link:hover,
.module-button-link:focus-visible{
  border-color:var(--bright);
  background:#eaf6ff;
  box-shadow:0 7px 17px rgba(13,71,161,.12);
  outline:none;
  transform:translateY(-1px);
}
.module-button-link.active{border-color:var(--primary);border-left:5px solid var(--primary);background:#edf6ff}

.module-button-workspace-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.module-button-workspace-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 14px rgba(16,37,63,.05);
}
.module-button-workspace-copy{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.module-button-workspace-copy>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf4ff;color:var(--primary);font-size:10px;font-weight:900}
.module-button-workspace-copy p{margin:4px 0 0;color:var(--secondary);font-size:12px;line-height:1.4}
.module-button-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.module-action-button{display:grid;place-items:center;align-content:center;gap:3px;min-height:62px;padding:8px;border:1px solid var(--border);border-radius:10px;text-align:center;transition:.15s ease}
.module-action-button small{font-size:9px;font-weight:900;letter-spacing:.08em}
.module-action-button strong{font-size:11px}
.module-action-button.action-entry{border-color:#b7e4cf;background:#f2fff8;color:#12633a}
.module-action-button.action-record{border-color:#ffd59e;background:#fff9ef;color:#8a4b00}
.module-action-button.action-report{border-color:#cfc5ff;background:#f7f5ff;color:#5b21b6}
.module-action-button:hover,.module-action-button:focus-visible{transform:translateY(-1px);box-shadow:0 7px 16px rgba(16,37,63,.11);outline:none}

.report-library-controls{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(190px,.8fr));gap:12px;align-items:end;margin-bottom:14px;overflow:visible}
.report-library-rule{display:grid;gap:3px;min-height:66px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#f8fafc}
.report-library-rule strong{color:var(--primary)}
.report-library-rule span{color:var(--secondary);font-size:11px}
.report-library-groups{display:grid;gap:14px}
.report-library-group{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(16,37,63,.06)}
.report-library-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:linear-gradient(120deg,#182078,#0d47a1);color:#fff}
.report-library-group>header>div{display:grid;gap:2px}
.report-library-group>header small{color:#cfe7ff;font-size:10px}
.report-library-group>header>span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:rgba(255,255,255,.17);font-weight:900}
.report-library-button-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px}
.report-library-button{display:grid;align-content:start;gap:6px;min-height:116px;padding:13px;border:1px solid #dbe3ec;border-radius:12px;background:#fbfdff;color:#172033;transition:.16s ease}
.report-library-button strong{font-size:13px;color:var(--deep)}
.report-library-button small{color:var(--secondary);font-size:11px;line-height:1.4}
.report-library-button span{align-self:end;margin-top:auto;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.04em}
.report-library-button:hover,.report-library-button:focus-visible{border-color:var(--bright);background:#eef8ff;box-shadow:0 9px 22px rgba(0,151,232,.13);outline:none;transform:translateY(-1px)}
.saved-report-library{margin-top:14px}
.report-library-count{padding:11px 3px;text-align:right;font-size:11px}
.report-filter-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}
.report-run-prompt{display:flex;align-items:center;gap:13px;margin-top:14px;border-left:6px solid var(--bright);overflow:visible}
.report-run-prompt>strong{color:var(--deep)}
.report-run-prompt-icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:99px;background:var(--primary);color:#fff;font-size:18px;font-weight:900}
.report-run-prompt>div:last-child{display:grid;gap:4px}
.report-run-prompt span{color:var(--secondary);font-size:12px}
.report-result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:13px;background:#f3f9ff}
.report-result-actions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.report-result-actions>div:first-child{display:grid;gap:3px}
.report-result-actions span{color:var(--secondary);font-size:11px}
.report-kpis{margin-bottom:14px}
.report-workspace-card{max-width:none;width:100%;padding:16px;overflow:auto}
.report-workspace-card .table-scroll{width:100%;overflow:auto}
.report-workspace-card table{min-width:1040px}
.report-print-preview-page{max-width:1200px;margin:0 auto}
.report-print-document{width:min(210mm,100%);max-width:210mm;margin:0 auto}

.business-configuration-form{display:grid;gap:0}
.business-module-group{margin:14px 0 0;padding:12px;border:1px solid var(--border);border-radius:13px;background:#fbfdff}
.business-module-group legend{padding:0 8px;color:var(--primary);font-weight:850}
.business-module-choice{align-items:flex-start;padding:12px;border:1px solid #dbe3ec;border-radius:11px;background:#fff}
.business-module-choice>span{display:grid;gap:4px}
.business-module-choice small{display:block;color:var(--secondary);font-weight:500;line-height:1.35}
.business-module-choice input{margin-top:3px}

@media(max-width:1120px){
  .module-button-workspace-list{grid-template-columns:1fr}
  .report-library-button-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-library-controls{grid-template-columns:1fr 1fr}
  .report-library-controls>.field{grid-column:1/-1}
}
@media(max-width:760px){
  .module-button-menu{padding:10px 11px 12px}
  .module-button-panel{grid-template-columns:repeat(2,minmax(0,1fr));max-height:55vh}
  .module-button-link{min-height:62px;padding:9px}
  .module-button-workspace-list{padding:9px}
  .module-button-actions{grid-template-columns:1fr}
  .module-action-button{min-height:54px}
  .report-library-controls{grid-template-columns:1fr}
  .report-library-controls>.field{grid-column:auto}
  .report-library-button-list{grid-template-columns:1fr}
  .report-result-actions{align-items:stretch;flex-direction:column}
  .report-result-actions>div:last-child,.report-result-actions .btn{width:100%}
  .report-filter-actions,.report-filter-actions .btn{width:100%}
  .report-run-prompt{align-items:flex-start}
}
@media(max-width:430px){.module-button-panel{grid-template-columns:1fr}}
@media print{
  .module-button-menu,
  .mobile-bottom-nav,
  .print-excluded{display:none!important}
  .report-print-preview-page{max-width:none}
  .report-print-document{width:100%!important;max-width:none!important}
}

.kpi-link{display:block;color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.kpi-link:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.12)}
