/* Helios Stock V28 · Initial release closeout
   UX/UI refinement for the remaining web modules. No business logic changes. */

:root{
  --v28-navy:#17243b;
  --v28-ink:#243148;
  --v28-muted:#738098;
  --v28-line:#e4eaf2;
  --v28-soft:#f7f9fc;
  --v28-blue:#285bd8;
  --v28-blue-soft:#edf3ff;
  --v28-green:#16855b;
  --v28-green-soft:#eaf8f2;
  --v28-amber:#b26a08;
  --v28-amber-soft:#fff7e8;
  --v28-red:#c83b4d;
  --v28-red-soft:#fff0f2;
  --v28-purple:#6d4bd1;
  --v28-shadow:0 10px 26px rgba(15,23,42,.055);
  --v28-shadow-hover:0 15px 34px rgba(15,23,42,.085);
}

/* ---------- Shared remaining-module shell ---------- */
.module-closeout-v28 .content{display:grid;gap:17px}
.module-closeout-v28 .hero-panel{position:relative;overflow:hidden;margin:0;padding:23px 25px;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:linear-gradient(118deg,#14223b 0%,#1d3970 64%,#2a62cb 100%);box-shadow:0 15px 34px rgba(30,64,175,.14)}
.module-closeout-v28 .hero-panel:after{content:"";position:absolute;right:-55px;top:-75px;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.module-closeout-v28 .hero-panel h1{margin:3px 0 5px;color:#fff;font-size:25px;letter-spacing:-.025em}
.module-closeout-v28 .hero-panel p{max-width:760px;margin:0;color:#cbd8ea;font-size:11px;line-height:1.55}
.module-closeout-v28 .hero-panel .hero-kicker{color:#9fc5ff;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.module-closeout-v28 .hero-panel .hero-icon{color:rgba(255,255,255,.14);font-size:58px}
.module-closeout-v28 .card-panel,
.module-closeout-v28 .directory-shell{border:1px solid var(--v28-line);border-radius:17px;background:#fff;box-shadow:var(--v28-shadow)}
.module-closeout-v28 .directory-shell{overflow:hidden}
.module-closeout-v28 .directory-toolbar{min-height:66px;padding:14px 17px;border-bottom:1px solid #edf1f6;background:linear-gradient(180deg,#fff,#fcfdff)}
.module-closeout-v28 .directory-title{gap:10px}
.module-closeout-v28 .directory-title>i,
.module-closeout-v28 .section-heading>div>i{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--v28-blue-soft);color:var(--v28-blue);font-size:14px}
.module-closeout-v28 .directory-title h2,
.module-closeout-v28 .section-heading h2{margin:0;color:var(--v28-ink);font-size:13px;font-weight:850;letter-spacing:-.01em}
.module-closeout-v28 .directory-title span,
.module-closeout-v28 .section-heading p{color:#8b97aa;font-size:9px}
.module-closeout-v28 .section-heading{margin-bottom:13px}
.module-closeout-v28 .directory-table-wrap{padding:0 14px 13px}
.module-closeout-v28 .native-table,
.module-closeout-v28 table.table{margin-bottom:0;font-size:10px}
.module-closeout-v28 .native-table thead th,
.module-closeout-v28 table.table thead th{padding:10px 9px;color:#748197;background:#f8fafc;border-bottom:1px solid #e9eef5;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.module-closeout-v28 .native-table tbody td,
.module-closeout-v28 table.table tbody td{padding:10px 9px;border-color:#edf1f5;vertical-align:middle}
.module-closeout-v28 .native-table tbody tr:hover,
.module-closeout-v28 table.table tbody tr:hover{background:#f8fbff}
.module-closeout-v28 .entity-cell{gap:9px}
.module-closeout-v28 .entity-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#edf3ff;color:#285bd8;font-size:10px;font-weight:900}
.module-closeout-v28 .document-link{color:#26364f;text-decoration:none}
.module-closeout-v28 .document-link:hover{color:var(--v28-blue)}
.module-closeout-v28 .status,
.module-closeout-v28 .physical-status,
.module-closeout-v28 .status-chip{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.035em;white-space:nowrap}
.module-closeout-v28 .btn{min-height:37px;border-radius:10px;font-size:10px;font-weight:800}
.module-closeout-v28 .btn-icon{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:9px}
.module-closeout-v28 .action-group{display:flex;justify-content:flex-end;gap:5px}
.module-closeout-v28 .form-label{margin-bottom:5px;color:#66748b;font-size:8px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.module-closeout-v28 .form-control,
.module-closeout-v28 .form-select{min-height:40px;border-color:#dfe6ef;border-radius:10px;font-size:10px}
.module-closeout-v28 textarea.form-control{min-height:82px}
.module-closeout-v28 .form-control:focus,
.module-closeout-v28 .form-select:focus{border-color:#9ab7f0;box-shadow:0 0 0 3px rgba(40,91,216,.09)}
.module-closeout-v28 .select2-container .select2-selection--single{min-height:40px!important;border-color:#dfe6ef!important;border-radius:10px!important}
.module-closeout-v28 .modal-content{overflow:hidden;border:0;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.18)}
.module-closeout-v28 .modal-header{padding:15px 18px;border-bottom-color:#edf1f5;background:#fbfcfe}
.module-closeout-v28 .modal-body{padding:18px}
.module-closeout-v28 .work-empty{padding:34px 22px;border:1px dashed #d7e0ec;border-radius:14px;background:#fbfcfe}
.module-closeout-v28 .work-empty>span{background:#edf8f3;color:var(--v28-green)}
.module-closeout-v28 code{padding:3px 6px;border-radius:6px;background:#f3f6fa;color:#45546b;font-size:9px}

/* ---------- Generic directory pages: Products / Transfers / legacy counts ---------- */
.module-directory-v28{display:grid;gap:17px}
.module-directory-v28 .directory-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.module-directory-products-v28 .hero-panel{background:linear-gradient(118deg,#15233b,#214478 67%,#3470d8)}
.module-directory-products-v28 .directory-title>i{background:#eef4ff;color:#285bd8}
.module-directory-products-v28 .native-table td:nth-child(6){font-weight:800}
.module-directory-transfers-v28 .hero-panel{background:linear-gradient(118deg,#17263a,#24506c 62%,#247a85)}
.module-directory-transfers-v28 .directory-title>i{background:#e8f8f7;color:#167b7e}
.module-directory-transfers-v28 .native-table td:nth-child(2),
.module-directory-transfers-v28 .native-table td:nth-child(3){font-weight:700;color:#3f4d63}
.module-directory-counts-v28 .hero-panel{background:linear-gradient(118deg,#20213b,#4d3477 62%,#7655c8)}

/* ---------- Transfers / dispatch / receipt ---------- */
.module-transfers-v28 .document-form{display:grid;gap:15px}
.module-transfers-v28 .document-section{padding:18px}
.module-transfers-v28 .document-line{border:1px solid #e6ebf2;border-radius:13px;background:#fbfcfe;box-shadow:none}
.module-transfers-v28 .document-line:hover{border-color:#cad8eb;background:#fff}
.module-transfers-v28 .document-actions{position:sticky;bottom:12px;z-index:8;padding:10px 12px;border:1px solid #dfe7f1;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 10px 28px rgba(15,23,42,.10);backdrop-filter:blur(10px)}
.module-transfers-v28 .document-banner{border-radius:14px;border-color:#dfe7f1;background:#f7faff}
.module-transfers-v28 .guided-scan{border:1px solid #dfe7f1;border-radius:14px;background:#f8fbff}
.module-transfers-v28 .guided-scan>i{background:#eaf2ff;color:#285bd8}
.module-transfers-v28 .operation-card{border-radius:13px;border-color:#e4eaf2}
.module-transfers-v28 .document-detail-hero{background:linear-gradient(118deg,#17263a,#24506c 62%,#247a85)}
.document-detail-page-v28{display:grid;gap:17px}
.document-detail-page-v28 .detail-meta-grid{gap:9px}
.document-detail-page-v28 .detail-meta{border:1px solid #e5ebf2;border-radius:12px;background:#fafcff}

/* ---------- Suppliers ---------- */
.module-suppliers-v28 .supplier-page-v12{display:grid;gap:16px}
.module-suppliers-v28 .supplier-hero-v12{margin:0;border-radius:20px;background:linear-gradient(118deg,#17243a,#25466e 62%,#356bd1);box-shadow:0 15px 34px rgba(30,64,175,.14)}
.module-suppliers-v28 .supplier-hero-v12:after{opacity:.5}
.module-suppliers-v28 .supplier-metrics-v12{gap:10px}
.module-suppliers-v28 .supplier-metrics-v12 article{min-height:84px;border-color:#e4eaf2;border-radius:14px;box-shadow:0 6px 16px rgba(15,23,42,.035)}
.module-suppliers-v28 .supplier-directory-v12{overflow:hidden;border-color:#e4eaf2;border-radius:17px;box-shadow:var(--v28-shadow)}
.module-suppliers-v28 .supplier-directory-header-v12{padding:15px 17px;background:linear-gradient(180deg,#fff,#fcfdff)}
.module-suppliers-v28 .supplier-table-wrap-v12{padding:0 14px 13px}
.module-suppliers-v28 .supplier-table-v12 tbody tr:hover{background:#f8fbff}
.module-suppliers-v28 .supplier-drawer-panel-v12{box-shadow:-22px 0 60px rgba(15,23,42,.18)}

/* ---------- Physical inventory / reconciliation ---------- */
.module-physical-v28 .physical-hero{background:linear-gradient(118deg,#17243b,#245078 64%,#1d7b86)}
.module-physical-v28 .physical-kpis{gap:10px;margin:0}
.module-physical-v28 .physical-kpis .kpi{min-height:88px;padding:13px 14px;border-radius:14px;box-shadow:0 6px 16px rgba(15,23,42,.035)}
.module-physical-v28 .physical-kpis .kpi>i{width:35px;height:35px;border-radius:10px}
.module-physical-v28 .physical-guide{margin:0;padding:16px 18px}
.module-physical-v28 .physical-flow{gap:7px}
.module-physical-v28 .physical-flow span{min-height:52px;padding:9px 10px;border-radius:11px;background:#f8fafc}
.module-physical-v28 .physical-flow b{background:#e9f1ff;color:#285bd8}
.module-physical-v28 .physical-table-progress>div{height:5px;background:#edf1f5}
.module-physical-v28 .physical-table-progress i{background:linear-gradient(90deg,#285bd8,#4f83ee)}
.module-physical-v28 .physical-detail-banner{border-radius:18px;background:linear-gradient(118deg,#17243b,#245078 64%,#1d7b86)}
.module-physical-v28 .physical-approval{border-radius:16px;border-color:#dfe8f1}
.module-physical-v28 .physical-block-alert{border-radius:12px}
.module-physical-v28 .physical-lines .entity-icon{background:#edf3ff;color:#285bd8}

/* ---------- Reports ---------- */
.module-reports-v28 .hero-panel{background:linear-gradient(118deg,#17243b,#273f75 60%,#5b4bbb)}
.module-reports-v28 .control-filters{display:grid;grid-template-columns:150px 150px minmax(230px,1fr) auto auto;align-items:end;gap:9px;margin:0;padding:14px 16px}
.module-reports-v28 .control-filters label{display:block;margin-bottom:5px;color:#6e7b91;font-size:8px;font-weight:900;text-transform:uppercase}
.module-reports-v28 .report-grid{gap:10px;margin:0}
.module-reports-v28 .report-card{min-height:100px;padding:14px;border:1px solid #e4eaf2;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.035)}
.module-reports-v28 .report-card>i{width:35px;height:35px;border-radius:10px;background:#edf3ff;color:#285bd8}
.module-reports-v28 .report-card strong{font-size:18px}
.module-reports-v28 .report-dashboard-grid,
.module-reports-v28 .grid-2{gap:14px;margin-top:0!important}
.module-reports-v28 .composition-list>div{padding:10px 0;border-bottom-color:#edf1f5}
.module-reports-v28 .composition-bar{height:6px;background:#edf1f5}
.module-reports-v28 .composition-bar i{background:linear-gradient(90deg,#285bd8,#775ad8)}
.module-reports-v28 .mover-list>div{padding:9px 0}

/* ---------- Warehouse work ---------- */
.module-work-v28 .work-hero{background:linear-gradient(118deg,#16243a,#254467 60%,#257a78)}
.module-work-v28 .work-summary{gap:9px;margin:0}
.module-work-v28 .work-summary>a{min-height:76px;padding:12px;border:1px solid #e4eaf2;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.module-work-v28 .work-summary>a:hover{border-color:#bfd1ec;box-shadow:var(--v28-shadow-hover);transform:translateY(-1px)}
.module-work-v28 .work-layout{gap:15px}
.module-work-v28 .work-tasks,
.module-work-v28 .quick-lookup,
.module-work-v28 .work-shortcuts{padding:16px}
.module-work-v28 .work-task-list{gap:8px}
.module-work-v28 .work-task{min-height:76px;padding:10px;border:1px solid #e5ebf2;border-radius:13px;background:#fff}
.module-work-v28 .work-task:hover{border-color:#cbd8eb;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.module-work-v28 .work-task-order{border-right-color:#e7ecf3}
.module-work-v28 .work-shortcuts>a{border-radius:11px}
.module-work-v28 .scan-input{border-radius:12px;background:#f8fafc}

/* ---------- Locations ---------- */
.module-locations-v28 .hero-panel{background:linear-gradient(118deg,#17243a,#31486a 62%,#50705f)}
.module-locations-v28 .location-layout{gap:14px}
.module-locations-v28 .warehouse-hero{border-radius:16px;border-color:#dfe7ef;background:linear-gradient(135deg,#f8fbff,#fff)}
.module-locations-v28 .warehouse-hero-stat{border-radius:12px;background:#edf3ff;color:#285bd8}
.module-locations-v28 .location-badge{padding:4px 8px;border-radius:999px;background:#eef4ff;color:#285bd8;font-size:8px;font-weight:850}
.module-locations-v28 .location-layout>.card-panel{padding:17px}

/* ---------- Exceptions ---------- */
.module-exceptions-v28 .exception-hero{background:linear-gradient(118deg,#1d2738,#5d3d46 63%,#9a4f55)}
.module-exceptions-v28 .exception-summary{gap:9px}
.module-exceptions-v28 .exception-summary>div{border:1px solid #e7eaf0;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.module-exceptions-v28 .exception-live-grid{gap:12px}
.module-exceptions-v28 .compact-alert-list>div{border-radius:12px;background:#fafbfc}
.module-exceptions-v28 .exception-records{gap:8px}
.module-exceptions-v28 .exception-record{border:1px solid #e5eaf1;border-radius:12px;background:#fff}
.module-exceptions-v28 .exception-record:hover{border-color:#d4ddea;box-shadow:0 7px 17px rgba(15,23,42,.045)}
.module-exceptions-v28 .exception-severity.CRITICAL,
.module-exceptions-v28 .exception-severity.high{background:var(--v28-red-soft);color:var(--v28-red)}

/* ---------- Cycle counts ---------- */
.module-counts-v28 .hero-panel{background:linear-gradient(118deg,#1d243c,#4d3c77 63%,#7358c4)}
.module-counts-v28 .cycle-guide{padding:13px 15px;border-radius:15px}
.module-counts-v28 .cycle-list{gap:9px}
.module-counts-v28 .cycle-card{padding:12px;border:1px solid #e4e9f1;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.03)}
.module-counts-v28 .cycle-card.is-due{border-color:#edc8ce;background:#fffafb}
.module-counts-v28 .cycle-product .entity-icon{background:#f0ecff;color:#6d4bd1}
.module-counts-v28 .guided-scan{border-radius:12px;background:#f8f7ff}

/* ---------- Replenishment ---------- */
.module-replenishment-v28 .hero-panel{background:linear-gradient(118deg,#17253b,#31516c 60%,#427d67)}
.module-replenishment-v28 .replenishment-filter{margin:0;padding:14px 16px}
.module-replenishment-v28 .replenishment-toolbar{margin-bottom:11px}
.module-replenishment-v28 .replenishment-list{gap:8px}
.module-replenishment-v28 .replenishment-card{padding:11px;border:1px solid #e5eaf1;border-radius:13px;background:#fff}
.module-replenishment-v28 .replenishment-card:hover{border-color:#cdd9e7;box-shadow:0 8px 19px rgba(15,23,42,.05)}
.module-replenishment-v28 .replenishment-check{border-radius:8px}
.module-replenishment-v28 .replenishment-qty.negative{color:var(--v28-red)}

/* ---------- Evidence ---------- */
.module-evidence-v28 .hero-panel{background:linear-gradient(118deg,#17243b,#305071 62%,#3b7893)}
.module-evidence-v28 .evidence-layout{gap:14px}
.module-evidence-v28 .evidence-upload,
.module-evidence-v28 .evidence-list{padding:17px}
.module-evidence-v28 .evidence-drop{min-height:180px;border:1px dashed #bfcde0;border-radius:15px;background:#f8fbff}
.module-evidence-v28 .evidence-drop:hover{border-color:#80a5e8;background:#f3f7ff}
.module-evidence-v28 .evidence-file-icon{border-radius:10px;background:#edf3ff;color:#285bd8}
.module-evidence-v28 .evidence-selected{border-radius:11px;background:#f7f9fc}

/* ---------- Tutorial ---------- */
.module-tutorial-v28 .tutorial-hero{background:linear-gradient(118deg,#17243b,#284373 63%,#355fb3)}
.module-tutorial-v28 .tutorial-toc{border:1px solid #e4eaf2;border-radius:16px;box-shadow:var(--v28-shadow)}
.module-tutorial-v28 .tutorial-section{padding:19px;border:1px solid #e4eaf2;border-radius:17px;background:#fff;box-shadow:var(--v28-shadow)}
.module-tutorial-v28 .tutorial-section-number{background:#edf3ff;color:#285bd8}
.module-tutorial-v28 .tutorial-step,
.module-tutorial-v28 .tutorial-flow-card,
.module-tutorial-v28 .tutorial-purpose{border-radius:13px;border-color:#e5eaf1;background:#fbfcfe}
.module-tutorial-v28 .tutorial-callout{border-radius:13px}
.module-tutorial-v28 .tutorial-faq details{border-radius:11px;border-color:#e5eaf1}

/* ---------- Administration ---------- */
.module-admin-v28 .hero-panel{background:linear-gradient(118deg,#17243b,#273f67 62%,#4f4f86)}
.module-admin-v28 #adminWorkspace{display:grid;gap:13px}
.module-admin-v28 .metric-strip{gap:8px;margin:0}
.module-admin-v28 .metric-mini{min-height:72px;padding:11px 12px;border:1px solid #e4eaf2;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.03)}
.module-admin-v28 .metric-mini span{font-size:8px}
.module-admin-v28 .metric-mini strong{font-size:16px}
.module-admin-v28 .admin-tabs{position:sticky;top:66px;z-index:12;display:flex;gap:5px;overflow:auto;padding:7px;border:1px solid #e0e6ef;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(15,23,42,.06);backdrop-filter:blur(10px)}
.module-admin-v28 .admin-tabs button{min-height:35px;border-radius:9px;font-size:9px;white-space:nowrap}
.module-admin-v28 .admin-section>.card-panel{overflow:hidden}
.module-admin-v28 .admin-section .directory-toolbar{padding:14px 16px}
.module-admin-v28 .setting-card,
.module-admin-v28 .permission-group,
.module-admin-v28 .notification-rule{border-color:#e4eaf2!important;border-radius:13px!important;background:#fbfcfe!important}
.module-admin-v28 .template-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}

/* ---------- Stock documents closeout ---------- */
.module-stock-v28 .hero-panel{background:linear-gradient(118deg,#17243b,#334a70 63%,#496da8)}
.module-stock-v28 .quick-actions{gap:10px;margin:0}
.module-stock-v28 .quick-action{border:1px solid #e4eaf2;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.module-stock-v28 .quick-action:hover{box-shadow:var(--v28-shadow-hover);transform:translateY(-1px)}
.module-stock-v28 .document-section{padding:18px}
.module-stock-v28 .document-line{border-radius:13px;border-color:#e4eaf2;background:#fbfcfe}

/* ---------- Responsive closeout ---------- */
@media(max-width:1200px){
  .module-reports-v28 .control-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-reports-v28 .control-filters .filter-warehouse{grid-column:1/-1}
  .module-closeout-v28 .report-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .module-closeout-v28 .hero-panel{padding:20px}
  .module-closeout-v28 .hero-panel h1{font-size:22px}
  .module-closeout-v28 .hero-icon{display:none}
  .module-closeout-v28 .directory-toolbar{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .module-closeout-v28 .directory-tools{width:100%}
  .module-closeout-v28 .directory-tools .btn{flex:1}
  .module-physical-v28 .physical-flow{overflow:auto;justify-content:flex-start;padding-bottom:3px}
  .module-physical-v28 .physical-flow span{min-width:115px}
  .module-admin-v28 .admin-tabs{top:60px}
}
@media(max-width:640px){
  .module-closeout-v28 .content{gap:13px}
  .module-closeout-v28 .hero-panel{padding:18px;border-radius:16px}
  .module-closeout-v28 .hero-panel h1{font-size:20px}
  .module-closeout-v28 .card-panel,.module-closeout-v28 .directory-shell{border-radius:14px}
  .module-closeout-v28 .directory-toolbar{padding:13px}
  .module-closeout-v28 .directory-table-wrap{padding:0 9px 10px}
  .module-closeout-v28 .btn{min-height:39px}
  .module-transfers-v28 .document-actions{bottom:7px;display:grid;grid-template-columns:1fr 1fr}
  .module-reports-v28 .control-filters{grid-template-columns:1fr}
  .module-reports-v28 .control-filters .filter-warehouse{grid-column:auto}
  .module-closeout-v28 .report-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-work-v28 .work-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-admin-v28 .admin-tabs{margin-inline:-2px}
}
@media(max-width:420px){
  .module-closeout-v28 .report-grid-6{grid-template-columns:1fr}
  .module-work-v28 .work-summary{grid-template-columns:1fr}
}
