/* Happy Manufacturing ERP — Final Review UI
   Visual-only layer. Business workflows remain owned by their existing modules. */
:root{
  --fr-bg:#f4f7fb;--fr-surface:#ffffff;--fr-surface-2:#f8fafc;--fr-ink:#152238;--fr-muted:#65758b;
  --fr-line:#dbe4ef;--fr-line-strong:#c8d5e4;--fr-brand:#e5252a;--fr-brand-dark:#bd1720;
  --fr-navy:#0b1728;--fr-navy-2:#111f33;--fr-blue:#2563eb;--fr-green:#0f9f6e;--fr-amber:#c27a05;
  --fr-shadow:0 12px 34px rgba(20,38,63,.08);--fr-shadow-lg:0 30px 90px rgba(8,20,38,.24);
  --fr-radius:16px;--fr-radius-sm:11px;
}
html{scroll-behavior:smooth}
body{background:var(--fr-bg);color:var(--fr-ink);font-feature-settings:"tnum" 1,"ss01" 1;-webkit-font-smoothing:antialiased}
.app-shell{background:var(--fr-bg)}
.sidebar{background:linear-gradient(180deg,var(--fr-navy) 0%,#0d1b2e 56%,#10213a 100%);border-right:1px solid rgba(255,255,255,.06);box-shadow:12px 0 38px rgba(9,23,43,.08)}
.brand{padding:22px 18px 18px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.brand-mark{box-shadow:0 12px 30px rgba(229,37,42,.28);background:linear-gradient(145deg,#f33c42,#d91d24)}
.brand strong{letter-spacing:-.01em}.brand span{color:#9fb0c6}.brand em{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#e8eef7}
.nav-item{border-radius:11px;margin:3px 10px;padding:11px 12px;color:#c6d2e2;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:hover{background:rgba(255,255,255,.07);color:white;transform:translateX(2px)}
.nav-item.active{background:linear-gradient(90deg,rgba(229,37,42,.26),rgba(229,37,42,.08));color:#fff;box-shadow:inset 3px 0 0 #ff4a4f}
.nav-label{color:#6f829c;letter-spacing:.12em;font-size:10px;margin:17px 20px 7px}
.demo-note{margin:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:12px;padding:12px 13px}.demo-note b{color:#e8eef7}.demo-note span{color:#99acc3}
main{min-width:0}.topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:saturate(145%) blur(14px);border-bottom:1px solid var(--fr-line);padding:0 28px;box-shadow:0 3px 18px rgba(31,51,76,.035)}
.topbar h1{font-size:20px;letter-spacing:-.025em;color:#19263b}.topbar p{color:var(--fr-muted);font-size:12px}
.top-actions{gap:10px}.plant,.erp-version.top-version{border-radius:999px;padding:8px 13px;font-weight:700}.erp-version.top-version{background:#fff0f1;color:#c91c25;border:1px solid #ffd4d7}.plant{background:#f8fafc;border:1px solid var(--fr-line)}.avatar{background:linear-gradient(145deg,#17253a,#0d1728);box-shadow:0 8px 18px rgba(8,19,35,.16)}
.content{padding:26px clamp(18px,2.3vw,34px) 48px;max-width:1680px;margin:0 auto;width:100%}
.section-title{margin-bottom:18px}.section-title h2{font-size:25px;letter-spacing:-.03em;color:#17243a}.section-title p{color:var(--fr-muted);max-width:820px}
.card{border:1px solid var(--fr-line);border-radius:var(--fr-radius);box-shadow:var(--fr-shadow);background:var(--fr-surface);padding:20px}.card-head{gap:18px}.card-head h3{letter-spacing:-.018em;color:#1b2940}.card-head p{color:var(--fr-muted)}
.stats .stat,.stat,.metric{border:1px solid var(--fr-line);border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 7px 22px rgba(24,43,70,.045)}
.btn{border-radius:10px;font-weight:700;letter-spacing:-.005em;min-height:39px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,#ef3036,#db1f26);border-color:#d81d24;box-shadow:0 8px 20px rgba(229,37,42,.17)}.btn-primary:hover:not(:disabled){box-shadow:0 10px 26px rgba(229,37,42,.24)}
.btn-secondary,.btn-ghost{background:#fff;border-color:var(--fr-line-strong);color:#314158}.btn-secondary:hover,.btn-ghost:hover{background:#f8fafc;border-color:#b8c8da}
.field label{color:#56677e;font-size:11px;letter-spacing:.055em;font-weight:800}.field small{color:#74849a}
input,select,textarea{border:1px solid #ccd8e6;border-radius:10px;background:#fff;color:#17243a;min-height:42px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
input:hover,select:hover,textarea:hover{border-color:#afc0d3}input:focus,select:focus,textarea:focus{outline:0;border-color:#4b82e8;box-shadow:0 0 0 3px rgba(37,99,235,.11)}
input[readonly],textarea[readonly],select:disabled,.auto-code{background:#f5f8fb;color:#64748b}
.table-wrap{border:1px solid var(--fr-line);border-radius:13px;overflow:auto;background:#fff}table{border-collapse:separate;border-spacing:0}thead th{position:sticky;top:0;z-index:1;background:#f6f9fc;color:#67788f;font-size:10.5px;letter-spacing:.075em;border-bottom:1px solid var(--fr-line)}tbody tr{transition:background .12s ease}tbody tr:hover{background:#f9fbfd}td{border-bottom-color:#e8eef5}
.badge{border-radius:999px;font-weight:800;letter-spacing:.035em}.callout{border-radius:12px}.bluebox{background:#f2f7ff;border-color:#cfe0ff;color:#27466f}

/* Final-review modal form system */
#erpFinalModalBackdrop{position:fixed;inset:0;z-index:90000;background:rgba(6,16,31,.58);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .16s ease}
body.erp-modal-open #erpFinalModalBackdrop{opacity:1;pointer-events:auto}
body.erp-modal-open{overflow:hidden}
.erp-modal-form-card{position:relative;transition:box-shadow .16s ease,border-color .16s ease}
.erp-modal-form-card:not(.erp-modal-active)>:not(.card-head):not(.erp-form-launcher){display:none!important}
.erp-modal-form-card:not(.erp-modal-active){padding:15px 17px;box-shadow:none;background:linear-gradient(180deg,#fff,#fbfdff)}
.erp-modal-form-card:not(.erp-modal-active) .card-head{margin:0!important;padding:0!important;border:0!important;align-items:center}
.erp-modal-form-card:not(.erp-modal-active) .card-head p{margin-bottom:0}
.erp-form-launcher{display:flex;justify-content:flex-end;align-items:center;margin-top:10px}
.erp-modal-active .erp-form-launcher{display:none!important}
.erp-modal-active.erp-modal-form-card{display:block!important;position:fixed!important;z-index:90010!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(1120px,calc(100vw - 42px))!important;max-width:1120px!important;max-height:calc(100vh - 42px)!important;overflow:auto!important;margin:0!important;padding:22px!important;border:1px solid rgba(206,218,232,.94)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--fr-shadow-lg)!important}
.erp-modal-active.erp-modal-form-card>.card-head{position:sticky;top:-22px;z-index:6;margin:-22px -22px 18px!important;padding:18px 22px 14px!important;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--fr-line)}
.erp-modal-close{appearance:none;border:1px solid var(--fr-line);background:#f8fafc;color:#35445a;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;cursor:pointer;font-size:21px;line-height:1;margin-left:auto;flex:0 0 auto}.erp-modal-close:hover{background:#eef3f8}
.erp-modal-title-row{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.erp-modal-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8290a2;font-weight:800;margin-bottom:3px}
.erp-modal-form-card .form-actions{position:sticky;bottom:-22px;z-index:5;margin:20px -22px -22px!important;padding:14px 22px 18px!important;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--fr-line)}
.erp-modal-form-card.erp-modal-active .table-wrap{max-height:42vh}
.erp-modal-form-card.erp-modal-active .form-grid{gap:14px 16px}
.erp-modal-form-card.erp-modal-active .card{box-shadow:none}
.erp-form-launch-btn{white-space:nowrap}

/* Compact premium launcher for direct-entry forms */
.erp-modal-form-card:not(.erp-modal-active){border-left:3px solid #dce6f2}
.erp-modal-form-card:not(.erp-modal-active):hover{border-color:#c5d5e7;border-left-color:#e5252a;background:#fff}

/* Dashboard refinement */
body[data-erp-view="dashboard"] .content>.card,body[data-erp-view="dashboard"] .grid-2>.card{min-height:120px}

@media(max-width:900px){.topbar{padding:0 16px}.content{padding:18px 12px 36px}.erp-modal-active.erp-modal-form-card{width:calc(100vw - 18px)!important;max-height:calc(100vh - 18px)!important;padding:16px!important;border-radius:15px!important}.erp-modal-active.erp-modal-form-card>.card-head{top:-16px;margin:-16px -16px 14px!important;padding:14px 16px 12px!important}.erp-modal-form-card .form-actions{bottom:-16px;margin:18px -16px -16px!important;padding:12px 16px 14px!important}.form-grid{grid-template-columns:1fr!important}.field.wide,.field.full{grid-column:auto!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Dialogs share an ordered stack; messages remain visible above every layer. */
#erpFormMessage{position:fixed;z-index:2147483647;left:50%;top:24px;transform:translateX(-50%);width:min(680px,90vw);padding:20px;background:#fff;border:2px solid #b42318;border-radius:12px;box-shadow:0 10px 40px #0005;white-space:pre-wrap;display:flex;gap:18px;align-items:center;color:#172b4d}
#erpFormMessage button{margin-left:auto;padding:8px;cursor:pointer}
#toast{z-index:2147483647!important}
[aria-busy="true"]{pointer-events:none;opacity:.85}
