:root{--bg:#f4f7fb;--surface:#fff;--surface2:#f8fafc;--line:#e5eaf1;--text:#172033;--muted:#6b7280;--nav:#0f172a;--nav2:#162033;--blue:#2563eb;--blue2:#1d4ed8;--green:#15803d;--amber:#b45309;--red:#b91c1c;--shadow:0 8px 30px rgba(15,23,42,.06);--radius:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--nav),#111827);color:#d7deea;display:flex;flex-direction:column;z-index:40;box-shadow:8px 0 28px rgba(15,23,42,.08)}.brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#3b82f6,#60a5fa);display:grid;place-items:center;color:white;font-weight:900;font-size:19px;box-shadow:0 7px 18px rgba(37,99,235,.3)}.brand strong{display:block;color:#fff;font-size:15px}.brand small{display:block;color:#8290a7;font-size:10px;margin-top:2px;letter-spacing:.04em}.side-nav{padding:14px 10px;overflow:auto;flex:1}.nav-label{padding:14px 10px 7px;color:#68768d;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.side-nav a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#aeb9cb;padding:9px 10px;border-radius:9px;font-size:13px;margin:1px 0;transition:.16s}.side-nav a span{width:20px;text-align:center;color:#7f8da5}.side-nav a:hover{color:#fff;background:rgba(255,255,255,.055)}.side-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(37,99,235,.32),rgba(37,99,235,.12));box-shadow:inset 3px 0 #60a5fa}.side-nav a.active span{color:#93c5fd}.sidebar-footer{min-height:68px;border-top:1px solid rgba(255,255,255,.07);padding:12px 14px;display:grid;grid-template-columns:34px 1fr 24px;gap:9px;align-items:center}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#23314a;color:#fff;font-weight:800}.sidebar-footer b{font-size:12px;color:#fff;display:block}.sidebar-footer small{font-size:10px;color:#7f8da5}.sidebar-footer>a{text-decoration:none;color:#7f8da5}.app-main{margin-left:250px;min-height:100vh;width:calc(100% - 250px);display:flex;flex-direction:column}.topbar{height:64px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.menu-btn{display:none;background:none;border:0;font-size:21px}.top-search{width:min(420px,45vw);height:38px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#94a3b8}.top-search input{border:0;background:transparent;outline:0;width:100%;padding:0;color:var(--text);font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.quick-create{background:#eef4ff;color:#1d4ed8;text-decoration:none;padding:8px 11px;border-radius:8px;font-size:12px;font-weight:700}.date-chip{font-size:11px;color:#64748b;border-left:1px solid var(--line);padding-left:11px}.content{padding:24px;flex:1;max-width:1650px;width:100%;margin:0 auto}.app-footer{display:flex;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--line);font-size:10px;color:#94a3b8;background:#fff}.page-head,.head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:2px 0 20px}.page-head h1,.head h1{font-size:25px;margin:2px 0 5px;letter-spacing:-.025em}.page-head p,.head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.page-actions,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.panel-title,.card h3{margin:0 0 13px;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid #d8dee8;background:#fff;color:#374151;border-radius:8px;text-decoration:none;font-size:11px;font-weight:750;cursor:pointer;transition:.14s}.btn:hover{background:#f8fafc}.btn-primary,.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover,.primary:hover{background:var(--blue2)}.btn-dark{background:#111827;color:#fff;border-color:#111827}.danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.muted{color:var(--muted)}.alert{padding:11px 13px;border-radius:9px;margin:0 0 14px;font-size:12px;border:1px solid}.alert.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.alert.error{background:#fff1f2;color:#991b1b;border-color:#fecaca}.filterbar{display:flex;gap:10px;align-items:flex-end}.filterbar>div{min-width:140px}.filterbar .filter-grow{flex:1}.filter-actions{display:flex;gap:6px}.field label,.filterbar label,label{display:block;margin-bottom:5px;font-size:10px;font-weight:800;color:#526071;text-transform:uppercase;letter-spacing:.035em}.req{color:#dc2626}input,select,textarea{width:100%;border:1px solid #d8dee8;background:#fff;color:#1f2937;border-radius:8px;padding:9px 10px;font:inherit;font-size:12px;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#93b4fc;box-shadow:0 0 0 3px rgba(37,99,235,.08)}textarea{resize:vertical}.form-panel{padding:0;overflow:hidden}.form-section{padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.section-heading h3{margin:0;font-size:14px}.section-heading p{margin:0;color:var(--muted);font-size:11px}.form-grid,.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field.span-2,.span-2{grid-column:span 2}.form-footer{border-top:1px solid var(--line);background:#fafbfc;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.form-footer>div{display:flex;gap:7px}.table-panel{padding:0;overflow:hidden}.table-meta{padding:12px 16px;background:#fafbfc;border-bottom:1px solid var(--line);font-size:10px;color:#7c8798}.table-wrap,.scroll{overflow:auto}.data-table,.table{width:100%;border-collapse:collapse}.data-table th,.table th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#677489;background:#f8fafc;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;white-space:nowrap}.data-table td,.table td{font-size:11px;padding:11px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}.data-table tbody tr:hover,.table tbody tr:hover{background:#fbfdff}.data-table tr:last-child td,.table tr:last-child td{border-bottom:0}.doc-link{color:#1d4ed8;font-weight:800;text-decoration:none}.row-sub{font-size:9px;color:#909bad;margin-top:2px}.num{text-align:right!important;font-variant-numeric:tabular-nums}.actions-col{width:170px}.row-actions{display:flex;gap:5px}.row-actions a{font-size:9px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 7px;text-decoration:none}.row-actions a:hover{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.empty-state{text-align:center!important;color:#94a3b8;padding:34px!important}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:850;letter-spacing:.035em}.pill.ok{background:#e9f9ef;color:#15803d}.pill.warn{background:#fff7e6;color:#a16207}.pill.bad{background:#fff0f0;color:#b91c1c}.view-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.7fr);gap:16px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.detail-item{padding:12px 14px;border-bottom:1px solid #edf0f4}.detail-item:nth-child(odd){border-right:1px solid #edf0f4}.detail-item span{display:block;font-size:9px;color:#7c8798;text-transform:uppercase;font-weight:800;margin-bottom:5px}.detail-item strong{font-size:12px;font-weight:650;line-height:1.55}.meta-list>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f4;padding:9px 0;font-size:10px}.meta-list>div:last-child{border:0}.meta-list span{color:#8792a3}.timeline-modern{margin-top:6px}.timeline-modern>div{position:relative;display:flex;gap:11px;padding:0 0 15px 4px}.timeline-modern>div:before{content:"";position:absolute;left:7px;top:11px;bottom:-2px;width:1px;background:#e2e8f0}.timeline-modern>div:last-child:before{display:none}.timeline-modern i{width:7px;height:7px;border-radius:50%;background:#60a5fa;margin-top:4px;z-index:1;box-shadow:0 0 0 4px #eff6ff}.timeline-modern section b{display:block;font-size:10px}.timeline-modern section span{display:block;font-size:9px;color:#94a3b8;margin-top:2px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setup-group{padding:0;overflow:hidden}.setup-title{padding:15px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.setup-title h3{margin:0;font-size:13px}.setup-title span{font-size:9px;color:#94a3b8}.setup-links a{display:grid;grid-template-columns:34px 1fr 18px;gap:10px;align-items:center;text-decoration:none;padding:10px 14px;border-bottom:1px solid #edf0f4}.setup-links a:last-child{border:0}.setup-links a:hover{background:#f8fbff}.setup-icon{width:29px;height:29px;border-radius:7px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:9px;font-weight:900}.setup-links b{display:block;font-size:11px}.setup-links small{display:block;font-size:9px;color:#94a3b8;margin-top:2px}.setup-links>a>span{color:#94a3b8}.tx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tx-group{padding:0;overflow:hidden}.tx-group>h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5f6d80;padding:13px 15px;margin:0;border-bottom:1px solid var(--line);background:#fafbfc}.tx-link{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;text-decoration:none;border-bottom:1px solid #edf0f4}.tx-link:last-child{border:0}.tx-link:hover{background:#f8fbff}.tx-link b{display:block;font-size:11px}.tx-link small{font-size:9px;color:#94a3b8}.tx-link>span{font-size:9px;color:#3b82f6}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi b{font-size:24px;display:block}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.statline{display:flex;gap:22px;flex-wrap:wrap}.statline div b{display:block;font-size:19px}.section-title{margin:0 0 10px}.right{text-align:right!important}.nowrap{white-space:nowrap}.progress{height:6px;background:#e8edf4;border-radius:7px;overflow:hidden}.progress span{display:block;height:100%;background:#3b82f6}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs a{background:#fff;border:1px solid #dfe5ef;padding:7px 9px;border-radius:7px;text-decoration:none;color:#475569;font-size:10px}.notice{padding:10px 12px;border-left:3px solid #3b82f6;background:#eff6ff;margin:10px 0;font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.toolbar form{display:flex;gap:7px;align-items:end}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.print-actions{display:flex;justify-content:flex-end;gap:7px;margin-bottom:12px}.print-doc{background:#fff;max-width:900px;margin:0 auto;padding:42px 48px;min-height:1050px;box-shadow:var(--shadow);border:1px solid var(--line)}.print-doc>header{display:flex;justify-content:space-between;gap:30px}.print-company{font-size:18px;font-weight:850}.print-title{text-align:right}.print-title h1{margin:0 0 4px;font-size:24px;text-transform:uppercase;letter-spacing:.04em}.print-title b{font-size:12px;color:#2563eb}.print-divider{height:2px;background:#111827;margin:20px 0}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid #dfe3e8}.print-field{min-height:58px;padding:10px 12px;border-bottom:1px solid #e5e7eb}.print-field:nth-child(odd){border-right:1px solid #e5e7eb}.print-field.wide{grid-column:span 2;border-right:0}.print-field span{display:block;text-transform:uppercase;font-size:8px;color:#7b8797;font-weight:800;margin-bottom:5px}.print-field b{font-size:11px;line-height:1.5}.print-doc footer{margin-top:80px;display:flex;justify-content:space-between;font-size:9px;color:#6b7280}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#eff6ff,#f8fafc 42%,#eef2f7)}.login .card{width:420px;max-width:92vw;padding:28px}.login h1{font-size:22px}.login .btn{width:100%}
@media(max-width:1200px){.tx-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.formgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.app-main{margin-left:0;width:100%}.menu-btn{display:block}.top-search{display:none}.content{padding:16px}.setup-grid,.tx-grid,.view-grid,.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.topbar{padding:0 12px}.quick-create,.date-chip{display:none}.page-head,.head{flex-direction:column}.form-grid,.formgrid,.detail-grid,.grid{grid-template-columns:1fr}.field.span-2,.span-2{grid-column:auto}.detail-item:nth-child(odd){border-right:0}.filterbar{display:grid;grid-template-columns:1fr 1fr}.filterbar .filter-grow,.filter-actions{grid-column:span 2}.form-footer{align-items:flex-start;gap:10px;flex-direction:column}.print-doc{padding:20px}.print-grid{grid-template-columns:1fr}.print-field,.print-field:nth-child(odd){border-right:0}.print-field.wide{grid-column:auto}}
@media print{body{background:#fff}.sidebar,.topbar,.app-footer,.no-print,.page-head,.alert{display:none!important}.app-main{margin:0;width:100%}.content{padding:0;max-width:none}.print-doc{border:0;box-shadow:none;min-height:0;padding:10mm 12mm;max-width:none}.panel{box-shadow:none}.print-doc footer{position:fixed;bottom:10mm;left:12mm;right:12mm}}
/* Engineering Core V2 */
.engineering-bar{display:flex;gap:12px;justify-content:space-between;align-items:end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:14px;box-shadow:var(--shadow)}.engineering-bar>div{display:flex;align-items:center;gap:8px}.engineering-bar select{min-width:220px}.inline-form{display:flex;gap:7px;align-items:end}.bom-tree{overflow:auto;max-height:620px}.tree-branch{color:#94a3b8;font-family:monospace}.routing-flow{display:flex;gap:8px;overflow:auto;padding:2px 1px 14px;margin-bottom:8px}.route-card{min-width:245px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;position:relative;display:grid;grid-template-columns:34px 1fr;gap:8px;box-shadow:var(--shadow)}.route-card>i{position:absolute;right:-13px;top:42%;font-style:normal;color:#94a3b8;font-size:18px}.route-seq{width:30px;height:30px;border-radius:8px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;font-size:10px;font-weight:900}.route-card small{display:block;color:#8a96a8;font-size:9px;margin-top:3px}.route-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-top:1px solid #edf0f4;padding-top:8px}.route-metrics span{font-size:8px;color:#94a3b8}.route-metrics b{display:block;color:#334155;font-size:10px;margin-top:2px}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}.image-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.image-gallery img{display:block;width:100%;height:150px;object-fit:contain;background:#f8fafc}.image-gallery figcaption{padding:8px 10px;font-size:10px;color:#64748b}.image-gallery figcaption b{float:right;color:#15803d}.engineering-badge{font-size:8px;padding:2px 5px;border-radius:5px;background:#f1f5f9;color:#475569}
@media(max-width:700px){.engineering-bar,.inline-form{flex-direction:column;align-items:stretch}.engineering-bar>div{align-items:stretch;flex-direction:column}.engineering-bar select{min-width:0}.route-metrics{grid-template-columns:repeat(2,1fr)}}

/* Engineering Experience V5 ------------------------------------------------ */
.engineering-hero{background:linear-gradient(120deg,#102a43 0%,#173f5f 48%,#20639b 100%);color:#fff;border-radius:18px;padding:26px 28px;box-shadow:0 16px 38px rgba(15,42,67,.18)}
.engineering-hero .eyebrow,.engineering-hero p{color:#cfe8ff}.engineering-hero h1{color:#fff}.engineering-hero .btn{border-color:rgba(255,255,255,.28)}
.btn-bright{background:#fff!important;color:#173f5f!important;border-color:#fff!important;font-weight:850}.btn-success{background:#0f9d72!important;color:#fff!important;border-color:#0f9d72!important}.btn-success:hover{background:#0b7f5c!important}
.eng-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.eng-type-card{position:relative;display:grid;grid-template-columns:62px 1fr auto;gap:15px;align-items:center;padding:20px;background:#fff;border:1px solid #e4eaf2;border-radius:16px;text-decoration:none;color:#263445;box-shadow:0 7px 22px rgba(33,53,85,.07);overflow:hidden;transition:.18s transform,.18s box-shadow}.eng-type-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--eng-color,#3b82f6)}.eng-type-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(33,53,85,.13)}.eng-type-icon,.product-mini-icon{display:grid;place-items:center;font-weight:950;background:color-mix(in srgb,var(--eng-color,#3b82f6) 13%,white);color:var(--eng-color,#3b82f6);border:1px solid color-mix(in srgb,var(--eng-color,#3b82f6) 28%,white)}.eng-type-icon{width:54px;height:54px;border-radius:15px;font-size:17px}.eng-type-body span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--eng-color,#3b82f6);font-weight:900}.eng-type-body h3{margin:3px 0 5px;font-size:15px}.eng-type-body p{margin:0;color:#758399;font-size:10px;line-height:1.45}.eng-type-count{text-align:right;min-width:42px}.eng-type-count b{display:block;font-size:22px;color:#25364d}.eng-type-count span{font-size:8px;color:#94a3b8;text-transform:uppercase}.eng-accent-emerald{--eng-color:#0f9d72}.eng-accent-sky{--eng-color:#188bd1}.eng-accent-amber{--eng-color:#e59b16}.eng-accent-violet{--eng-color:#8457d8}.eng-accent-orange{--eng-color:#ef7d20}.eng-accent-indigo{--eng-color:#4f67d8}.eng-accent-rose{--eng-color:#dd4771}.eng-accent-slate{--eng-color:#596579}.eng-accent-cyan{--eng-color:#0897a7}.eng-accent-blue{--eng-color:#377cf6}
.eng-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid #377cf6;background:linear-gradient(90deg,#f0f7ff,#fff)}.eng-callout b,.eng-callout span{display:block}.eng-callout span{font-size:10px;color:#77869a;margin-top:3px}
.engineering-list-head,.engineering-workbench-head{border-radius:16px;padding:20px 22px;color:#fff;box-shadow:0 10px 28px rgba(38,54,77,.13)}.engineering-list-head h1,.engineering-workbench-head h1{color:#fff}.engineering-list-head p,.engineering-workbench-head p,.engineering-list-head .eyebrow,.engineering-workbench-head .eyebrow{color:rgba(255,255,255,.82)}.eng-accent-bg-emerald{background:linear-gradient(120deg,#087a5a,#10a678)}.eng-accent-bg-sky{background:linear-gradient(120deg,#116b9e,#199adf)}.eng-accent-bg-amber{background:linear-gradient(120deg,#b56d05,#e89d1e)}.eng-accent-bg-violet{background:linear-gradient(120deg,#6240ac,#8a5ed6)}.eng-accent-bg-orange{background:linear-gradient(120deg,#b95113,#ef7d20)}.eng-accent-bg-indigo{background:linear-gradient(120deg,#3547a9,#576bdd)}.eng-accent-bg-rose{background:linear-gradient(120deg,#b62e58,#dd4771)}.eng-accent-bg-slate{background:linear-gradient(120deg,#344054,#607089)}.eng-accent-bg-cyan{background:linear-gradient(120deg,#04737f,#0aa3b3)}.eng-accent-bg-blue{background:linear-gradient(120deg,#245fc7,#4389f5)}.title-icon{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:rgba(255,255,255,.17);font-size:12px;vertical-align:middle}
.eng-type-tabs{display:flex;gap:7px;overflow:auto;padding:3px 1px 13px;margin-bottom:3px}.eng-type-tabs a{display:flex;align-items:center;gap:6px;white-space:nowrap;background:#fff;border:1px solid #e3e9f0;border-radius:9px;padding:8px 10px;text-decoration:none;color:#637085;font-size:9px;font-weight:750}.eng-type-tabs a span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#f1f5f9;font-size:8px}.eng-type-tabs a b{background:#eef2f7;color:#708094;border-radius:12px;padding:2px 5px;font-size:8px}.eng-type-tabs a:hover,.eng-type-tabs a.active{border-color:var(--eng-color,#3b82f6);box-shadow:inset 0 -2px 0 var(--eng-color,#3b82f6);color:var(--eng-color,#3b82f6)}
.eng-list-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.eng-list-summary>div{background:#fff;border:1px solid #e4eaf2;border-radius:10px;padding:10px 13px}.eng-list-summary span{display:block;font-size:8px;text-transform:uppercase;color:#8a97a8;font-weight:800}.eng-list-summary b{display:block;font-size:18px;margin-top:3px}.product-cell{display:flex;align-items:center;gap:10px}.product-mini-icon{width:34px;height:34px;border-radius:9px;flex:0 0 34px;font-size:9px}.eng-actions{flex-wrap:wrap}.eng-actions a{font-weight:750}.eng-actions .act-bom{background:#eefcf7;color:#0d7d5d;border-color:#bce9d8}.eng-actions .act-route{background:#eef2ff;color:#4856b9;border-color:#cad1ff}.eng-actions .act-edit{background:#fff8e9;color:#a26807;border-color:#f3dfae}
.eng-workbench-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;box-shadow:0 5px 15px rgba(45,58,83,.06)}.revision-switch span{display:block;font-size:8px;font-weight:850;color:#738196;text-transform:uppercase;margin-bottom:4px}.revision-switch select{min-width:240px;font-weight:750}.quick-revision{display:flex;gap:6px}.quick-revision input:first-of-type{width:90px}
.eng-section-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 15px}.eng-section-nav a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e3e9f0;border-radius:12px;padding:11px 12px;text-decoration:none;color:#66758a;box-shadow:0 4px 12px rgba(44,57,80,.04)}.eng-section-nav a i{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1f5f9;color:#506176;font-style:normal;font-size:14px}.eng-section-nav a b{display:block;font-size:10px}.eng-section-nav a span{display:block;font-size:8px;color:#96a1b1;margin-top:2px}.eng-section-nav a.active{border-color:#8db8ff;background:linear-gradient(135deg,#f2f7ff,#fff);box-shadow:0 6px 18px rgba(55,124,246,.12)}.eng-section-nav a.active i{background:#377cf6;color:#fff}.eng-section-nav a.active b{color:#1f5cc7}
.eng-lock-banner{display:flex;gap:10px;align-items:center;background:linear-gradient(90deg,#fff6db,#fffdf8);border:1px solid #f0d590;border-left:5px solid #e0a51d;border-radius:10px;padding:10px 12px;margin-bottom:13px}.eng-lock-banner b,.eng-lock-banner span{display:block}.eng-lock-banner span{font-size:9px;color:#8a7440;margin-top:2px}.eng-bom-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px}.eng-stat{background:#fff;border:1px solid #e5eaf1;border-radius:11px;padding:11px 13px;border-top:4px solid #3b82f6}.eng-stat span{display:block;color:#8793a5;font-size:8px;text-transform:uppercase;font-weight:850}.eng-stat b{display:block;font-size:17px;margin-top:4px}.eng-stat.emerald{border-top-color:#0f9d72}.eng-stat.indigo{border-top-color:#576bdd}.eng-stat.orange{border-top-color:#ef7d20}.eng-stat.sky{border-top-color:#199adf}
.section-heading.colorful{border-bottom:0;padding-bottom:8px;margin-bottom:8px}.section-kicker{display:block;font-size:8px;color:#377cf6;letter-spacing:.11em;font-weight:900;margin-bottom:3px}.bom-quick-add{border-top:5px solid #0f9d72;background:linear-gradient(180deg,#f6fffb,#fff 42%)}.bom-quick-form,.route-quick-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) 130px 150px 120px 90px auto;gap:9px;align-items:end}.bom-quick-form .field label,.route-quick-form .field label{display:block}.advanced-fields{grid-column:1/-1;border:1px dashed #cfd8e6;border-radius:9px;background:#fbfcfe;padding:8px 10px}.advanced-fields summary{cursor:pointer;color:#4d6078;font-size:9px;font-weight:850}.advanced-fields[open] summary{margin-bottom:9px;color:#245fc7}.bom-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:14px}.bom-direct-panel,.bom-explosion-panel{padding:15px}.template-inline{display:flex;gap:6px;align-items:center}.template-inline select{min-width:210px}.bom-card-list{display:flex;flex-direction:column;gap:8px}.bom-component-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e4e9f0;border-radius:12px;padding:10px;background:#fff;transition:.15s}.bom-component-card:hover{border-color:#a8c9ff;box-shadow:0 6px 18px rgba(55,124,246,.08)}.bom-component-card.editing{border-color:#377cf6;background:#f7faff}.bom-line-no{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eef4ff;color:#2865cf;font-weight:900;font-size:10px}.bom-component-title{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.bom-component-title>a{font-size:12px;font-weight:900;color:#23364f;text-decoration:none}.bom-component-main p{font-size:9px;color:#8794a7;margin:3px 0 6px}.bom-tags{display:flex;gap:5px;flex-wrap:wrap}.bom-tags span{background:#f5f7fa;border:1px solid #ebeff4;padding:3px 5px;border-radius:6px;font-size:8px;color:#728096}.bom-tags b{color:#35465d}.bom-card-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:260px}.bom-card-actions form,.op-actions form,.alternate-list form{margin:0}.mini-action{display:inline-flex;align-items:center;justify-content:center;min-height:27px;border:1px solid #dde4ed;background:#fff;color:#65758a;border-radius:7px;padding:4px 7px;font-size:8px;font-weight:800;text-decoration:none;cursor:pointer;font-family:inherit}.mini-action:hover{background:#f5f8fc}.mini-action.edit{background:#fff7e8;color:#a06a0b;border-color:#edd49c}.mini-action.copy{background:#eff8ff;color:#2273aa;border-color:#c9e7f7}.mini-action.child{background:#eefcf7;color:#0a7b59;border-color:#b9ead8}.mini-action.delete{background:#fff1f1;color:#b83c3c;border-color:#f2c8c8}.bom-inline-editor,.route-editor{border:1px solid #9fc0fb;border-radius:12px;background:#f7faff;padding:12px;margin:-2px 0 5px 58px}.inline-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.inline-editor-head b{color:#245fc7}.inline-editor-head a{text-decoration:none;font-size:9px;color:#64748b}.bom-alternates{margin:0 0 4px 58px;background:#fafcff;border:1px solid #e4eaf2;border-radius:8px;padding:7px 9px}.bom-alternates summary{font-size:9px;font-weight:800;color:#637288;cursor:pointer}.alternate-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #edf1f5;font-size:9px}.alternate-add{display:grid;grid-template-columns:1fr 70px 90px auto auto;gap:6px;align-items:center;padding-top:7px}.alternate-add input,.alternate-add select{padding:6px}.bom-tree-v2{display:flex;flex-direction:column;gap:4px;max-height:650px;overflow:auto}.tree-row{display:grid;grid-template-columns:22px 1fr auto auto;gap:7px;align-items:center;margin-left:calc(var(--level) * 15px);padding:7px 8px;border-radius:7px;background:#f7f9fc;border:1px solid #edf0f5}.tree-row.level-0{background:#eef7ff;border-color:#d6eaff}.tree-row.level-1{background:#effcf7}.tree-row.level-2{background:#fff9eb}.tree-row.level-3{background:#f8f3ff}.tree-connector{color:#8b9bb0}.tree-row b{display:block;font-size:9px}.tree-row small{display:block;color:#8c98aa;font-size:8px;margin-top:2px}.tree-type{font-size:7px;text-transform:uppercase;color:#66758a}.tree-qty{font-size:8px;font-weight:800;white-space:nowrap}.friendly-empty{text-align:center;padding:28px;color:#8592a4}.friendly-empty>div{font-size:28px;color:#afbdd0}.friendly-empty h3{margin:5px 0}.friendly-empty p{font-size:10px}.friendly-empty.small{padding:12px}
.route-quick-add{border-top:5px solid #576bdd;background:linear-gradient(180deg,#f7f8ff,#fff 42%)}.route-quick-form{grid-template-columns:minmax(270px,2fr) 95px minmax(180px,1fr) 105px 105px auto}.routing-flow-v2{display:flex;gap:14px;overflow:auto;padding:7px 3px 16px}.operation-card{position:relative;display:grid;grid-template-columns:43px minmax(190px,1fr);gap:9px;min-width:285px;background:#fff;border:1px solid #dfe6ef;border-top:5px solid #576bdd;border-radius:13px;padding:11px;box-shadow:0 6px 15px rgba(45,56,78,.06)}.operation-card.subcon{border-top-color:#ef7d20}.operation-card.qc{border-top-color:#0f9d72}.operation-card.packing{border-top-color:#8457d8}.op-sequence{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eef0ff;color:#4a5fc6;font-weight:950}.op-main>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px}.op-main>div:first-child b{font-size:11px}.op-main>div:first-child span{font-size:7px;background:#f2f4f8;border-radius:6px;padding:3px 5px;color:#778499}.op-main h4{font-size:10px;margin:4px 0 2px}.op-main p{font-size:8px;color:#8996a8;margin:0}.op-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.op-metrics span{font-size:7px;color:#8c98aa;background:#f8fafc;border-radius:6px;padding:5px}.op-metrics b{display:block;font-size:9px;color:#394b62;margin-top:2px}.op-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:4px;margin-top:5px}.flow-arrow{position:absolute;right:-18px;top:47%;font-style:normal;color:#9eabc0;font-size:17px;z-index:2}.document-workspace{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-card{border-top:5px solid #199adf}.picture-upload{border-top-color:#8457d8}.upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef6ff;color:#377cf6;font-size:19px;float:right}.upload-card>div:nth-child(2) h3{margin-bottom:3px}.upload-card>div:nth-child(2) p{font-size:9px;color:#8a97a8}.colorful-gallery figure{border-top:4px solid #8457d8}.colorful-gallery figcaption span{display:block;font-size:7px;color:#8457d8;font-weight:900}.spec-add-card{border-top:5px solid #0f9d72}.spec-help-card{background:linear-gradient(145deg,#f2fff9,#fff);border-color:#cfeee2}.release-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.release-action-card{border-top:5px solid #377cf6}.release-readiness{border-top:5px solid #0f9d72}.readiness-item{display:grid;grid-template-columns:1fr auto 12px;gap:9px;align-items:center;border-bottom:1px solid #edf1f5;padding:9px 0;font-size:9px}.readiness-item i{width:8px;height:8px;border-radius:50%}.readiness-item i.ready{background:#0f9d72;box-shadow:0 0 0 3px #e3f7f0}.readiness-item i.missing{background:#e1a11c;box-shadow:0 0 0 3px #fff4d7}
@media(max-width:1280px){.eng-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-section-nav{grid-template-columns:repeat(3,1fr)}.bom-workspace{grid-template-columns:1fr}.bom-quick-form{grid-template-columns:2fr 1fr repeat(3,110px) auto}.route-quick-form{grid-template-columns:2fr 90px 1fr 100px 100px auto}.bom-explosion-panel{max-height:none}}
@media(max-width:900px){.eng-type-grid{grid-template-columns:1fr}.eng-section-nav{grid-template-columns:1fr 1fr}.eng-workbench-toolbar,.quick-revision{align-items:stretch;flex-direction:column}.bom-quick-form,.route-quick-form{grid-template-columns:1fr 1fr}.component-field,.advanced-fields{grid-column:1/-1}.bom-component-card{grid-template-columns:42px 1fr}.bom-card-actions{grid-column:1/-1;max-width:none;justify-content:flex-start;margin-left:48px}.document-workspace,.release-grid{grid-template-columns:1fr}.eng-list-summary,.eng-bom-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.eng-section-nav{grid-template-columns:1fr}.eng-list-summary,.eng-bom-summary{grid-template-columns:1fr 1fr}.bom-quick-form,.route-quick-form{grid-template-columns:1fr}.bom-component-card{grid-template-columns:1fr}.bom-line-no{width:32px;height:32px}.bom-card-actions,.bom-inline-editor,.bom-alternates{margin-left:0}.alternate-add{grid-template-columns:1fr 1fr}.eng-type-card{grid-template-columns:52px 1fr}.eng-type-count{grid-column:2;text-align:left}.engineering-hero,.engineering-list-head,.engineering-workbench-head{padding:18px}.tree-row{margin-left:calc(var(--level) * 8px)}}

/* =========================================================
   ERP MODERN COLOR SYSTEM V6
   ========================================================= */
:root{
  --sales:#2563eb;--jobs:#7c3aed;--production:#db2777;--mrp:#ea580c;
  --inventory:#0891b2;--quality:#16a34a;--costing:#ca8a04;--setup:#475569;
  --workflow:#0f766e;--integration:#4f46e5;--admin:#334155;--engineering:#2563eb;
}
.erp-page{background:
  radial-gradient(circle at 92% -10%,rgba(59,130,246,.08),transparent 28%),
  radial-gradient(circle at 25% 110%,rgba(14,165,233,.06),transparent 25%),#f4f7fb}
.erp-page .content{font-size:13px}
.erp-page .panel,.erp-page .card{border-color:#dfe6ef;box-shadow:0 10px 30px rgba(34,52,84,.07)}
.erp-page .page-head h1,.erp-page .head h1{font-size:29px;font-weight:850}
.erp-page .page-head p,.erp-page .head p{font-size:13px;line-height:1.55}
.erp-page .panel-title,.erp-page .card h3,.erp-page .section-heading h3{font-size:16px}
.erp-page label,.erp-page .field label,.erp-page .filterbar label{font-size:11px}
.erp-page input,.erp-page select,.erp-page textarea{font-size:13px;min-height:40px}
.erp-page textarea{min-height:88px}
.erp-page .btn{font-size:12px;min-height:39px;border-radius:10px;padding:0 15px}
.erp-page .data-table th,.erp-page .table th{font-size:10px;padding:12px 14px}
.erp-page .data-table td,.erp-page .table td{font-size:12px;padding:13px 14px}
.erp-page .row-sub{font-size:10px}
.erp-page .pill{font-size:9px;padding:4px 8px}
.erp-page .detail-item span{font-size:10px}.erp-page .detail-item strong{font-size:13px}

/* stronger sidebar module accents */
.side-nav a.nav-engineering span{color:#60a5fa}.side-nav a.nav-sales span{color:#60a5fa}.side-nav a.nav-jobs span{color:#a78bfa}.side-nav a.nav-production span{color:#f472b6}.side-nav a.nav-mrp span{color:#fb923c}.side-nav a.nav-inventory span{color:#22d3ee}.side-nav a.nav-quality span{color:#4ade80}.side-nav a.nav-costing span{color:#facc15}.side-nav a.nav-setup span{color:#94a3b8}.side-nav a.nav-workflow span{color:#2dd4bf}.side-nav a.nav-integration span{color:#818cf8}.side-nav a.nav-admin span{color:#cbd5e1}
.side-nav a.active{box-shadow:inset 4px 0 currentColor,0 5px 15px rgba(0,0,0,.10)}

/* automatic module identity across old screens */
.page-engineering_product,.page-engineering{--module:#2563eb;--module-soft:#eff6ff;--module-line:#bfdbfe}
.page-sales{--module:#2563eb;--module-soft:#eff6ff;--module-line:#bfdbfe}
.page-jobs{--module:#7c3aed;--module-soft:#f5f3ff;--module-line:#ddd6fe}
.page-production{--module:#db2777;--module-soft:#fdf2f8;--module-line:#fbcfe8}
.page-mrp{--module:#ea580c;--module-soft:#fff7ed;--module-line:#fed7aa}
.page-inventory{--module:#0891b2;--module-soft:#ecfeff;--module-line:#a5f3fc}
.page-quality{--module:#16a34a;--module-soft:#f0fdf4;--module-line:#bbf7d0}
.page-costing{--module:#ca8a04;--module-soft:#fefce8;--module-line:#fde68a}
.page-setup,.page-master{--module:#475569;--module-soft:#f8fafc;--module-line:#cbd5e1}
.page-workflow{--module:#0f766e;--module-soft:#f0fdfa;--module-line:#99f6e4}
.page-integration{--module:#4f46e5;--module-soft:#eef2ff;--module-line:#c7d2fe}
.page-admin{--module:#334155;--module-soft:#f8fafc;--module-line:#cbd5e1}
.page-transactions,.page-record,.page-purchasing,.page-delivery,.page-finance,.page-subcontract,.page-rfq{--module:#0f766e;--module-soft:#f0fdfa;--module-line:#99f6e4}
.erp-page[class*="page-"] .page-head,.erp-page[class*="page-"] .head{position:relative;padding:18px 20px;border:1px solid var(--module-line,#dbe4ee);border-radius:16px;background:linear-gradient(135deg,var(--module-soft,#f8fafc),#fff 68%);box-shadow:0 8px 24px rgba(30,41,59,.06)}
.erp-page[class*="page-"] .page-head:before,.erp-page[class*="page-"] .head:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:5px;border-radius:0 5px 5px 0;background:var(--module,#2563eb)}
.erp-page[class*="page-"] .page-head .eyebrow,.erp-page[class*="page-"] .head .eyebrow{color:var(--module,#2563eb)}
.erp-page[class*="page-"] .panel h3,.erp-page[class*="page-"] .card h3{color:#1f2f46}
.erp-page[class*="page-"] .section-heading{border-bottom-color:var(--module-line,#e2e8f0)}
.erp-page[class*="page-"] .table-panel .data-table th,.erp-page[class*="page-"] .table-panel .table th{background:linear-gradient(180deg,var(--module-soft,#f8fafc),#f8fafc);color:#3c4a5d}
.erp-page[class*="page-"] .data-table tbody tr:hover,.erp-page[class*="page-"] .table tbody tr:hover{background:var(--module-soft,#f8fafc)}
.erp-page[class*="page-"] .btn-primary{background:var(--module,#2563eb);border-color:var(--module,#2563eb)}

/* dashboard / transaction / master cards become livelier */
.tx-grid .panel:nth-child(6n+1),.setup-grid .panel:nth-child(6n+1){border-top:5px solid #2563eb}.tx-grid .panel:nth-child(6n+2),.setup-grid .panel:nth-child(6n+2){border-top:5px solid #7c3aed}.tx-grid .panel:nth-child(6n+3),.setup-grid .panel:nth-child(6n+3){border-top:5px solid #db2777}.tx-grid .panel:nth-child(6n+4),.setup-grid .panel:nth-child(6n+4){border-top:5px solid #ea580c}.tx-grid .panel:nth-child(6n+5),.setup-grid .panel:nth-child(6n+5){border-top:5px solid #0891b2}.tx-grid .panel:nth-child(6n+6),.setup-grid .panel:nth-child(6n+6){border-top:5px solid #16a34a}
.setup-links a:hover,.tx-group a:hover{transform:translateX(2px);transition:.15s}

/* =========================================================
   MODERN LOGIN V6
   ========================================================= */
body.login-page{margin:0;min-height:100vh;background:#07111f;color:#eaf2ff;overflow:auto}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);background:
 radial-gradient(circle at 15% 15%,rgba(37,99,235,.34),transparent 30%),
 radial-gradient(circle at 65% 85%,rgba(6,182,212,.20),transparent 30%),
 linear-gradient(145deg,#07111f 0%,#0c1a31 55%,#0c1730 100%)}
.login-showcase{position:relative;display:flex;flex-direction:column;padding:42px 7vw 36px;overflow:hidden}
.login-showcase:before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(147,197,253,.12);border-radius:50%;right:-120px;top:80px;box-shadow:0 0 0 70px rgba(59,130,246,.03),0 0 0 140px rgba(59,130,246,.025)}
.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.login-logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#06b6d4);font-size:24px;font-weight:950;color:#fff;box-shadow:0 12px 30px rgba(37,99,235,.35)}.login-brand b{display:block;font-size:18px;color:#fff}.login-brand small{display:block;margin-top:3px;color:#93a8c4;font-size:11px;letter-spacing:.05em}
.login-copy{position:relative;z-index:1;margin:auto 0 30px;max-width:730px}.login-kicker{display:inline-block;color:#7dd3fc;font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:18px}.login-copy h1{font-size:clamp(46px,5.5vw,78px);line-height:.98;letter-spacing:-.055em;margin:0;color:#fff}.login-copy h1 em{font-style:normal;background:linear-gradient(90deg,#60a5fa,#22d3ee,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.login-copy p{max-width:640px;color:#a8b8cf;font-size:16px;line-height:1.7;margin:24px 0 0}
.login-module-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px}.login-module-grid>div{display:grid;grid-template-columns:42px 1fr;gap:2px 12px;align-items:center;padding:15px 16px;border:1px solid rgba(148,163,184,.15);background:rgba(255,255,255,.045);border-radius:15px;backdrop-filter:blur(8px)}.login-module-grid i{grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(96,165,250,.13);color:#7dd3fc;font-size:20px;font-style:normal}.login-module-grid b{font-size:13px;color:#f8fbff}.login-module-grid span{font-size:10px;color:#8298b6}.login-footer-note{position:relative;z-index:1;margin-top:24px;color:#617895;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.login-form-side{display:grid;place-items:center;padding:34px;background:linear-gradient(180deg,rgba(255,255,255,.97),#f7faff)}.login-card-modern{width:min(440px,100%);color:#172033}.login-card-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-size:29px;font-weight:950;box-shadow:0 14px 32px rgba(37,99,235,.22);margin-bottom:24px}.login-welcome{font-size:10px;letter-spacing:.16em;color:#2563eb;font-weight:900}.login-card-modern h2{font-size:32px;letter-spacing:-.035em;margin:7px 0 8px}.login-card-modern>p{font-size:13px;color:#718096;margin:0 0 25px}.login-field{margin-bottom:16px}.login-field label{font-size:11px;color:#46566c;margin-bottom:7px}.login-field>div{display:flex;align-items:center;min-height:50px;border:1px solid #d8e1ed;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(15,23,42,.025)}.login-field>div:focus-within{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.login-field>div>span{width:45px;text-align:center;color:#7c8ca2}.login-field input{border:0!important;box-shadow:none!important;min-height:48px;font-size:14px;padding-left:0}.password-toggle{border:0;background:transparent;color:#2563eb;font-size:11px;font-weight:850;padding:0 14px;cursor:pointer}.login-submit{width:100%;height:52px;margin-top:7px;border:0;border-radius:13px;background:linear-gradient(90deg,#2563eb,#1d4ed8,#0891b2);color:#fff;font-size:14px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 13px 28px rgba(37,99,235,.22)}.login-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}.login-submit span{font-size:20px}.login-help{display:flex;justify-content:space-between;margin-top:18px;color:#94a3b8;font-size:10px}

/* =========================================================
   BOM EXPLOSION V6 - BIG, HIGH CONTRAST, EXPANDABLE
   ========================================================= */
.bomx-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;margin:-2px 0 16px;border-radius:20px;background:
 radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 24%),
 linear-gradient(120deg,#153e8a 0%,#2563eb 45%,#0891b2 100%);color:#fff;box-shadow:0 16px 38px rgba(37,99,235,.22)}
.bomx-hero .eyebrow{color:#bae6fd;font-size:11px}.bomx-hero h1{font-size:30px;margin:5px 0 4px;letter-spacing:-.03em}.bomx-hero h1 span{font-size:20px;font-weight:500;color:#dbeafe;margin-left:7px}.bomx-hero p{margin:0;color:#d8eaff;font-size:13px}.bomx-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.btn.glass{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.27);color:#fff;backdrop-filter:blur(8px)}.btn.glass:hover{background:rgba(255,255,255,.22)}
.bomx-toolbar{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:14px;align-items:center;padding:13px 15px;border-top:4px solid #0ea5e9}.bomx-toolbar-group{display:flex;gap:8px}.bomx-search{display:flex;align-items:center;border:1px solid #cbd8e7;border-radius:11px;background:#fff;min-height:42px;padding:0 12px}.bomx-search span{font-size:18px;color:#64748b;margin-right:8px}.bomx-search input{border:0!important;box-shadow:none!important;min-height:38px;padding:0;font-size:14px}.bomx-revision{display:flex;align-items:center;gap:8px}.bomx-revision label{margin:0;white-space:nowrap}.bomx-revision select{min-width:190px}
.bomx-root-card{display:grid;grid-template-columns:62px 1fr auto;gap:16px;align-items:center;padding:18px 20px;margin-bottom:12px;border-radius:16px;background:linear-gradient(110deg,#0f172a,#1e3a8a);color:#fff;box-shadow:0 10px 25px rgba(15,23,42,.16)}.bomx-root-icon{width:55px;height:55px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#f97316,#facc15);color:#3b2200;font-weight:950;font-size:18px}.bomx-root-card>div:nth-child(2)>span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#93c5fd}.bomx-root-card h2{margin:3px 0 1px;font-size:24px}.bomx-root-card p{margin:0;color:#cbd5e1;font-size:13px}.bomx-root-meta{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.bomx-root-meta span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:8px 10px;font-size:10px;color:#cbd5e1}.bomx-root-meta b{display:block;color:#fff;font-size:13px;margin-top:2px}
.bomx-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:9px 3px 12px;color:#53647a;font-size:11px;font-weight:750}.bomx-legend i{display:inline-block;width:20px;height:9px;border-radius:4px;margin-right:5px}.bomx-legend .l1{background:#dbeafe}.bomx-legend .l2{background:#dcfce7}.bomx-legend .l3{background:#ffedd5}.bomx-legend .l4{background:#f3e8ff}
.bomx-tree{padding:14px;background:linear-gradient(180deg,#fff,#f8fbff);overflow:auto}.bomx-node{position:relative}.bomx-children{margin-left:34px;padding-left:17px;border-left:3px solid #cbd5e1;overflow:hidden;transition:max-height .2s ease,opacity .15s ease}.bomx-children.collapsed{display:none}.bomx-row{display:grid;grid-template-columns:40px 48px minmax(260px,1.7fr) 115px 170px 170px 110px auto;gap:12px;align-items:center;min-height:80px;padding:13px 14px;margin:7px 0;border:2px solid #cfd8e5;border-left-width:8px;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(25,42,68,.055);transition:.15s}.bomx-row:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(25,42,68,.10)}
.bomx-node.level-0>.bomx-row{background:linear-gradient(90deg,#e8f2ff,#fff 58%);border-color:#8fc0ff;border-left-color:#2563eb}.bomx-node.level-1>.bomx-row{background:linear-gradient(90deg,#e8fff1,#fff 58%);border-color:#8ee1ad;border-left-color:#16a34a}.bomx-node.level-2>.bomx-row{background:linear-gradient(90deg,#fff1df,#fff 58%);border-color:#f8c27d;border-left-color:#ea580c}.bomx-node.level-3>.bomx-row,.bomx-node.level-4>.bomx-row,.bomx-node.level-5>.bomx-row{background:linear-gradient(90deg,#f6ecff,#fff 58%);border-color:#d2b3f6;border-left-color:#7c3aed}.bomx-node.level-6>.bomx-row,.bomx-node.level-7>.bomx-row{background:linear-gradient(90deg,#e8fbff,#fff 58%);border-color:#9bdde9;border-left-color:#0891b2}
.bomx-toggle{width:36px;height:36px;border-radius:10px;border:2px solid #9eb6d1;background:#fff;color:#1d4ed8;font-size:24px;line-height:1;font-weight:850;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 8px rgba(30,64,175,.08)}.bomx-toggle.has-children:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.bomx-toggle.leaf{font-size:19px;color:#94a3b8;border-color:#d7dee8;background:#f8fafc}.bomx-level{display:grid;place-items:center;height:38px;border-radius:10px;background:#0f172a;color:#fff;font-size:13px;font-weight:900}.bomx-identity>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bomx-identity a{font-size:17px;font-weight:950;color:#172f5f;text-decoration:none;letter-spacing:.01em}.bomx-identity a:hover{text-decoration:underline}.bomx-identity p{font-size:14px;color:#58697f;margin:4px 0 0;font-weight:560;line-height:1.35}.bomx-type{display:inline-flex;padding:4px 7px;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#e2e8f0;color:#475569}.bomx-type.type-raw_material{background:#dcfce7;color:#166534}.bomx-type.type-purchased_component{background:#dbeafe;color:#1e40af}.bomx-type.type-semi_finished{background:#ffedd5;color:#9a3412}.bomx-type.type-sub_assembly{background:#ede9fe;color:#5b21b6}.bomx-type.type-finished_good{background:#ffe4e6;color:#9f1239}.bomx-type.type-packaging{background:#f3e8ff;color:#6b21a8}.bomx-cell{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.20)}.bomx-cell span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#6c7b90;font-weight:900}.bomx-cell b{display:block;font-size:14px;color:#27364b;margin-top:3px;line-height:1.25}.bomx-cell.highlight{background:#fff7d6;border-color:#f3d977}.bomx-cell.highlight b{color:#9a5c00;font-size:16px}.bomx-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bomx-actions .mini-action{font-size:10px;min-height:32px;padding:5px 9px}.bomx-node.search-hit>.bomx-row{outline:4px solid rgba(250,204,21,.45);box-shadow:0 0 0 2px #eab308,0 10px 24px rgba(234,179,8,.12)}.bomx-node.search-hide{display:none}

/* larger BOM maintenance too */
.page-engineering_product .bom-component-card{padding:14px;border-width:2px;min-height:84px}.page-engineering_product .bom-line-no{width:44px;height:44px;font-size:12px}.page-engineering_product .bom-component-title>a{font-size:15px}.page-engineering_product .bom-component-main p{font-size:12px;line-height:1.45}.page-engineering_product .bom-tags span{font-size:10px;padding:5px 7px}.page-engineering_product .mini-action{font-size:10px;min-height:31px}.page-engineering_product .bom-quick-form input,.page-engineering_product .bom-quick-form select{font-size:13px}.bom-separate-explosion{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;margin-bottom:14px;border:1px solid #a7d4ff;border-radius:12px;background:linear-gradient(90deg,#edf7ff,#f8fbff)}.bom-separate-explosion b{display:block;font-size:14px;color:#174c8c}.bom-separate-explosion span{display:block;font-size:11px;color:#6a7d94;margin-top:3px}.btn-bright{background:linear-gradient(90deg,#2563eb,#0891b2);border:0;color:#fff!important;font-weight:850}

@media(max-width:1200px){.login-shell{grid-template-columns:1fr}.login-showcase{min-height:560px}.login-form-side{padding:55px 28px}.bomx-row{grid-template-columns:40px 45px minmax(240px,1fr) 110px 150px 150px}.bomx-row .bomx-cell:nth-of-type(4),.bomx-actions{grid-column:auto}.bomx-actions{grid-column:3/-1}.bomx-toolbar{grid-template-columns:1fr 1fr}.bomx-search{grid-column:1/-1;grid-row:2}.bomx-revision{justify-self:end}}
@media(max-width:800px){.login-showcase{padding:30px 24px;min-height:auto}.login-copy{margin:70px 0 30px}.login-copy h1{font-size:46px}.login-module-grid{grid-template-columns:1fr}.login-form-side{padding:45px 22px}.bomx-hero{align-items:flex-start;flex-direction:column;padding:20px}.bomx-toolbar{grid-template-columns:1fr}.bomx-search{grid-column:auto;grid-row:auto}.bomx-revision{justify-self:stretch}.bomx-revision select{min-width:0}.bomx-root-card{grid-template-columns:50px 1fr}.bomx-root-meta{grid-column:1/-1;justify-content:flex-start}.bomx-row{grid-template-columns:36px 40px 1fr;gap:8px;min-width:650px}.bomx-identity{grid-column:3}.bomx-cell{grid-row:auto}.bomx-actions{grid-column:3}.bomx-children{margin-left:15px;padding-left:10px}.bomx-tree{padding:8px}.erp-page .content{padding:16px}}
/* V6: BOM editor is full-width; explosion is intentionally separate */
.bom-workspace.bom-maintenance-only{display:block}.bom-workspace.bom-maintenance-only .bom-direct-panel{width:100%;padding:18px}

/* ============================================================
   V7 - Readability + Management/Engineering Dashboard refresh
   ============================================================ */
:root{--text-strong:#14243b;--text-body:#2f4057;--text-muted:#586b83;--text-soft:#71839a}
.page-engineering_product{color:var(--text-body)}
.page-engineering_product .muted,.page-engineering_product .row-sub,.page-engineering_product .table-meta,.page-engineering_product .form-help,.page-engineering_product .help-text,.page-engineering_product small{color:#53677f!important;font-size:13px!important;line-height:1.55!important;font-weight:600}
.page-engineering_product p{font-size:15px;line-height:1.65;color:#40536b}
.page-engineering_product label{font-size:13px!important;color:#263a54!important;font-weight:800!important;letter-spacing:.01em}
.page-engineering_product input,.page-engineering_product select,.page-engineering_product textarea{font-size:15px!important;color:#192b43!important;font-weight:600;min-height:44px}
.page-engineering_product textarea{min-height:90px}
.page-engineering_product .panel-title,.page-engineering_product .panel h3{font-size:18px!important;color:#162a46!important;font-weight:900!important}
.page-engineering_product .detail-item span{font-size:12px!important;color:#60738b!important;font-weight:850!important;letter-spacing:.035em;text-transform:uppercase}
.page-engineering_product .detail-item strong{font-size:16px!important;color:#182b44!important;line-height:1.45}
.page-engineering_product .meta-list span{font-size:13px!important;color:#53677f!important;font-weight:700}
.page-engineering_product .meta-list b{font-size:15px!important;color:#182b44!important}
.page-engineering_product .data-table th{font-size:12px!important;color:#40546d!important;font-weight:900!important;padding:13px 14px!important}
.page-engineering_product .data-table td{font-size:14px!important;color:#263b55!important;padding:14px!important;line-height:1.5}
.page-engineering_product .doc-link{font-size:15px!important;font-weight:900!important}
.page-engineering_product .pill{font-size:11px!important;font-weight:900!important;padding:6px 9px!important}
.page-engineering_product .btn{font-size:13px!important;min-height:39px;font-weight:850!important}
.page-engineering_product .tabs a{font-size:13px!important;font-weight:800!important;padding:10px 13px!important}
.page-engineering_product .eng-type-body span,.page-engineering_product .eng-type-body p{font-size:13px!important}.page-engineering_product .eng-type-body h3{font-size:18px!important}.page-engineering_product .eng-type-count span{font-size:12px!important}
.page-engineering_product .product-cell .row-sub{font-size:13px!important;margin-top:4px}.page-engineering_product .eng-list-summary span{font-size:12px!important}.page-engineering_product .eng-list-summary b{font-size:24px!important}

/* BOM readability V7 */
.page-engineering_product .bomx-row{min-height:96px;padding:17px 18px;gap:14px;border-left-width:10px}
.page-engineering_product .bomx-identity a{font-size:20px!important;line-height:1.25;color:#102d5e!important}
.page-engineering_product .bomx-identity p{font-size:15px!important;color:#435b77!important;font-weight:650!important;margin-top:5px}
.page-engineering_product .bomx-type{font-size:11px!important;padding:6px 9px!important}
.page-engineering_product .bomx-cell span{font-size:11px!important;color:#566b84!important}
.page-engineering_product .bomx-cell b{font-size:16px!important;color:#1f3550!important}
.page-engineering_product .bomx-cell.highlight b{font-size:19px!important;color:#7d4b00!important}
.page-engineering_product .bomx-level{font-size:14px!important;height:43px}
.page-engineering_product .bomx-toggle{width:42px;height:42px;font-size:27px}
.page-engineering_product .bomx-root-code{font-size:21px!important}.page-engineering_product .bomx-root-card p{font-size:15px!important}.page-engineering_product .bomx-legend{font-size:13px!important}
.page-engineering_product .bom-component-title>a{font-size:18px!important}.page-engineering_product .bom-component-main p{font-size:14px!important;color:#4b6079!important}.page-engineering_product .bom-tags span{font-size:11px!important}.page-engineering_product .bom-line-no{font-size:13px!important}

/* Engineering dashboard */
.eng-dash-hero,.mgmt-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 30px;border-radius:22px;margin-bottom:20px;color:#fff;background:linear-gradient(125deg,#12346d 0%,#1859a9 44%,#0d8aa4 100%);box-shadow:0 18px 44px rgba(22,69,125,.2);position:relative;overflow:hidden}.eng-dash-hero:after,.mgmt-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-100px;top:-170px;background:rgba(255,255,255,.09)}.eng-dash-hero>*,.mgmt-hero>*{position:relative;z-index:1}.eng-dash-hero .eyebrow,.mgmt-hero .eyebrow{color:#b8e8ff}.eng-dash-hero h1,.mgmt-hero h1{font-size:32px;margin:4px 0 7px;color:#fff}.eng-dash-hero p,.mgmt-hero p{max-width:780px;margin:0;color:#dceeff;font-size:15px}.btn-light{background:#fff!important;color:#184578!important;border-color:#fff!important}
.eng-dash-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:22px}.eng-kpi{display:block;border-radius:17px;padding:18px;text-decoration:none;border:1px solid transparent;box-shadow:0 8px 24px rgba(36,55,82,.08);transition:.18s}.eng-kpi:hover{transform:translateY(-2px)}.eng-kpi span{display:block;font-size:12px;font-weight:850;letter-spacing:.025em}.eng-kpi b{display:block;font-size:30px;line-height:1;margin:10px 0 8px}.eng-kpi small{font-size:11px!important;font-weight:700!important}.kpi-blue{background:#e8f2ff;border-color:#b8d7ff;color:#174c93}.kpi-orange{background:#fff0dc;border-color:#ffd19a;color:#984b08}.kpi-purple{background:#f2eaff;border-color:#d9c3ff;color:#6232a8}.kpi-green{background:#e5f9ed;border-color:#b7ebca;color:#18723a}.kpi-red{background:#ffebee;border-color:#ffc5cc;color:#a8293a}.kpi-slate{background:#edf1f5;border-color:#d2dbe4;color:#43546a}
.eng-dash-section{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:19px 20px;margin-bottom:18px;box-shadow:0 7px 20px rgba(31,51,77,.055)}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.section-title-row h2{font-size:19px;margin:2px 0;color:#172d49}.section-title-row p{font-size:13px;margin:3px 0 0;color:#61738a}.section-title-row>a{font-size:13px;font-weight:850;color:#2463a8;text-decoration:none}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:950;color:#5d7591}.danger-text{color:#c33148!important}.action-count{display:inline-flex;padding:6px 9px;border-radius:999px;background:#ffedf0;color:#b8273e;font-size:11px;font-weight:900}
.eng-mini-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.eng-mini-type{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:12px 13px;border:1px solid #dce5ef;border-radius:13px;text-decoration:none;background:#fbfdff;transition:.15s}.eng-mini-type:hover{transform:translateY(-1px);border-color:#a8c7eb;box-shadow:0 7px 16px rgba(38,70,111,.09)}.eng-mini-icon{width:43px;height:43px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:950}.eng-mini-type b{display:block;color:#223750;font-size:13px}.eng-mini-type span{display:block;color:#687b91;font-size:11px;margin-top:2px}.eng-mini-type strong{font-size:20px;color:#8395aa}
.eng-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:18px;margin-bottom:18px}.eng-action-panel,.eng-recent-panel,.mgmt-panel{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:19px 20px;box-shadow:0 7px 20px rgba(31,51,77,.055)}.action-list{display:flex;flex-direction:column;gap:8px}.eng-action-row{display:grid;grid-template-columns:12px minmax(210px,.9fr) minmax(240px,1.15fr) 85px 110px;gap:11px;align-items:center;padding:12px;border-radius:12px;border:1px solid #e2e8f0;background:#fbfcfe}.action-status-dot{width:9px;height:9px;border-radius:50%}.sev-critical{background:#fff8f8;border-color:#ffd4d8}.sev-critical .action-status-dot{background:#e2324b;box-shadow:0 0 0 4px #ffe1e5}.sev-warning{background:#fffaf2;border-color:#ffe0aa}.sev-warning .action-status-dot{background:#f0991c;box-shadow:0 0 0 4px #fff0d4}.sev-info .action-status-dot{background:#3182ce;box-shadow:0 0 0 4px #dcecff}.action-product a{display:block;font-size:14px;font-weight:950;color:#173f75;text-decoration:none}.action-product span{display:block;font-size:12px;color:#5f7289;margin-top:2px}.action-issues{display:flex;flex-wrap:wrap;gap:5px}.action-issues span{padding:4px 6px;border-radius:6px;background:#fff;border:1px solid #e0e6ee;color:#53657c;font-size:10px;font-weight:800}.action-rev{font-size:11px;font-weight:850;color:#5b6d82}.action-buttons{display:flex;gap:5px;justify-content:flex-end}.action-buttons a{font-size:10px;font-weight:900;text-decoration:none;padding:6px 8px;border-radius:7px;background:#edf4ff;color:#1e5da5}.eng-empty-success{padding:20px;border-radius:12px;background:#e8f8ee;color:#18723a;font-weight:850;text-align:center}
.recent-revisions{display:flex;flex-direction:column;gap:8px}.recent-revisions>a{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:10px;border-radius:11px;text-decoration:none;border:1px solid #e4eaf1;background:#fbfdff}.recent-revisions i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:950;font-size:11px}.recent-revisions b{display:block;font-size:12px;color:#263a53}.recent-revisions span{display:block;font-size:11px;color:#687a90;margin-top:2px}.recent-revisions small{display:block;font-size:10px!important;color:#8291a3!important;margin-top:3px}.readiness-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.readiness-cards>div{padding:16px;border-radius:13px;background:linear-gradient(145deg,#f7faff,#edf5ff);border:1px solid #d5e5f7}.readiness-cards b{display:block;font-size:27px;color:#194f8d}.readiness-cards span{display:block;margin-top:5px;font-size:12px;font-weight:750;color:#5e7187}
.delete-product-card{max-width:850px;margin:25px auto;padding:28px;border-radius:18px;display:grid;grid-template-columns:70px 1fr;gap:18px;border:1px solid #dbe4ef;background:#fff;box-shadow:0 12px 35px rgba(27,45,69,.1)}.delete-product-card.blocked{border-color:#ffd1d7;background:#fffafb}.delete-product-card.allowed{border-color:#ffcfba}.delete-icon{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-size:30px;font-weight:950;background:#ffe7ea;color:#bd283e}.delete-product-card.allowed .delete-icon{background:#fff0e6;color:#d24e1e}.delete-product-card h2{margin:0 0 6px;color:#283a51}.delete-product-card p{font-size:14px;color:#5b6d82}.delete-usage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:15px 0}.delete-usage div{display:flex;justify-content:space-between;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #f0d8dc}.delete-usage span{font-size:12px;color:#5d6d80}.delete-usage b{color:#b62e43}.delete-confirm{font-size:14px!important;padding:10px 16px!important}.danger-head{border-bottom:3px solid #e85b6f;padding-bottom:14px}

/* Management dashboard */
.mgmt-hero{background:linear-gradient(125deg,#172d59,#4f3fa8 48%,#a83f81)}.mgmt-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.mgmt-kpi{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:16px;border-radius:16px;text-decoration:none;border:1px solid #dde5ef;background:#fff;box-shadow:0 7px 20px rgba(31,50,76,.06);transition:.16s}.mgmt-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,50,76,.11)}.mgmt-kpi-icon{width:49px;height:49px;border-radius:13px;display:grid;place-items:center;font-size:11px;font-weight:950;color:#fff}.mgmt-kpi span{display:block;font-size:11px;color:#5d7087;font-weight:800}.mgmt-kpi b{display:block;font-size:22px;color:#20344d;margin:3px 0}.mgmt-kpi small{font-size:10px;color:#8594a5}.tone-blue .mgmt-kpi-icon{background:#2874d0}.tone-purple .mgmt-kpi-icon{background:#7049c9}.tone-orange .mgmt-kpi-icon{background:#e78324}.tone-red .mgmt-kpi-icon{background:#d94a5d}.tone-cyan .mgmt-kpi-icon{background:#188eab}.tone-indigo .mgmt-kpi-icon{background:#4b61bd}.tone-green .mgmt-kpi-icon{background:#26955a}.tone-rose .mgmt-kpi-icon{background:#b94b78}
.mgmt-alert-strip{display:grid;grid-template-columns:38px 1fr auto 38px 1fr auto;gap:11px;align-items:center;padding:12px 15px;border-radius:14px;background:linear-gradient(90deg,#fff5e8,#fff,#f1f4ff);border:1px solid #f2d7bd;margin-bottom:17px}.mgmt-alert-icon{width:34px;height:34px;border-radius:10px;background:#e77b22;color:#fff;display:grid;place-items:center;font-weight:950}.mgmt-alert-icon.engineering{background:#6357c5}.mgmt-alert-strip b{display:block;font-size:12px;color:#263950}.mgmt-alert-strip span{display:block;font-size:10px;color:#6b7c90;margin-top:2px}.mgmt-alert-strip>a{padding:7px 9px;border-radius:8px;background:#fff;border:1px solid #d8e0ea;color:#365c8e;text-decoration:none;font-size:10px;font-weight:900}.mgmt-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.7fr);gap:17px;margin-bottom:17px}.mgmt-table td{vertical-align:middle}.progress-value{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:5px}.progress-value b{font-size:12px;color:#294467}.progress-value span{color:#718196}.progress-large{height:7px;border-radius:99px}.risk-list{display:flex;flex-direction:column;gap:8px}.risk-list>a{display:grid;grid-template-columns:55px 1fr 75px;gap:10px;align-items:center;padding:10px;border-radius:11px;background:#fff8f8;border:1px solid #f3d7da;text-decoration:none}.risk-date{font-size:12px;font-weight:950;color:#b73549;text-align:center}.risk-date small{display:block;font-size:8px;color:#a17b82}.risk-list b{display:block;color:#2d3e53;font-size:12px}.risk-list span{display:block;color:#697a8d;font-size:10px;margin-top:2px}.risk-qty{text-align:right}.risk-qty span{font-size:8px;text-transform:uppercase;font-weight:900}.risk-qty b{color:#bd3249;font-size:15px}.module-launch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.launch{display:block;padding:15px;border-radius:14px;text-decoration:none;border:1px solid #dce5ef;background:#fff;box-shadow:0 5px 16px rgba(31,50,76,.05)}.launch b{display:block;font-size:13px}.launch span{display:block;font-size:10px;color:#66798f;line-height:1.45;margin-top:5px}.launch.engineering{border-top:4px solid #2874d0}.launch.mrp{border-top:4px solid #e78324}.launch.production{border-top:4px solid #b84587}.launch.quality{border-top:4px solid #26955a}.launch.warehouse{border-top:4px solid #188eab}.launch.costing{border-top:4px solid #d5a12a}

@media(max-width:1300px){.eng-dash-kpis{grid-template-columns:repeat(3,1fr)}.mgmt-kpi-grid{grid-template-columns:repeat(2,1fr)}.module-launch-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.eng-dashboard-grid,.mgmt-grid{grid-template-columns:1fr}.eng-mini-type-grid{grid-template-columns:repeat(2,1fr)}.eng-action-row{grid-template-columns:12px 1fr}.action-issues,.action-rev,.action-buttons{grid-column:2}.mgmt-alert-strip{grid-template-columns:38px 1fr auto}.mgmt-alert-icon.engineering{grid-column:1}.readiness-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.eng-dash-hero,.mgmt-hero{padding:22px;align-items:flex-start;flex-direction:column}.eng-dash-hero h1,.mgmt-hero h1{font-size:27px}.eng-dash-kpis,.mgmt-kpi-grid,.eng-mini-type-grid,.readiness-cards,.module-launch-grid{grid-template-columns:1fr}.delete-product-card{grid-template-columns:1fr}.delete-usage{grid-template-columns:1fr}.mgmt-alert-strip{grid-template-columns:38px 1fr}.mgmt-alert-strip>a{grid-column:2}.page-engineering_product .bomx-identity a{font-size:18px!important}}

/* V7.1 engineering delete visibility hotfix */
.delete-visible{background:#d92d46!important;color:#fff!important;border-color:#d92d46!important;font-weight:900!important;box-shadow:0 5px 14px rgba(217,45,70,.20)!important}
.delete-visible:hover{background:#b91f37!important;border-color:#b91f37!important;color:#fff!important}
.delete-large{min-height:44px!important;padding:0 18px!important;font-size:14px!important;white-space:nowrap}
.product-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:22px;border:2px solid #ffd0d7!important;background:linear-gradient(100deg,#fff7f8,#fff)!important;margin-top:22px!important}
.product-danger-zone h3{font-size:18px;margin:3px 0 5px;color:#9f2035}.product-danger-zone p{margin:0;color:#5f6978;font-size:13px;max-width:880px;line-height:1.55}
.eng-actions .act-delete{background:#fff0f2!important;color:#c5233e!important;border-color:#ffcbd3!important;font-weight:900!important}.eng-actions .act-delete:hover{background:#d92d46!important;color:#fff!important;border-color:#d92d46!important}
@media(max-width:900px){.product-danger-zone{align-items:flex-start;flex-direction:column}.product-danger-zone .delete-large{width:100%}}

/* V7.1.1 BOM Explosion button contrast hotfix */
.page-engineering_product a.btn.btn-bright,
.page-engineering_product .btn.btn-bright,
.page-engineering_product .bom-separate-explosion .btn-bright {
  background: linear-gradient(135deg,#1d4ed8 0%,#2563eb 48%,#0891b2 100%) !important;
  color:#ffffff !important;
  border:2px solid #1746b3 !important;
  box-shadow:0 7px 18px rgba(37,99,235,.28) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.16);
  font-weight:900 !important;
}
.page-engineering_product a.btn.btn-bright:hover,
.page-engineering_product .btn.btn-bright:hover,
.page-engineering_product .bom-separate-explosion .btn-bright:hover {
  background:linear-gradient(135deg,#173ea4 0%,#1d4ed8 50%,#0e7490 100%) !important;
  color:#ffffff !important;
  border-color:#14398e !important;
  transform:translateY(-1px);
  box-shadow:0 10px 23px rgba(37,99,235,.35) !important;
}
.page-engineering_product a.btn.btn-bright:focus,
.page-engineering_product .btn.btn-bright:focus {
  outline:3px solid rgba(59,130,246,.28) !important;
  outline-offset:2px;
}

.btn-danger{background:#dc2626!important;color:#fff!important;border:1px solid #991b1b!important}.btn-danger:hover{background:#b91c1c!important;color:#fff!important}.btn-sm{padding:7px 11px!important;font-size:13px!important}

/* ===== Sales Order V8 ===== */
.so-hero{border-radius:22px;padding:28px 30px;margin-bottom:18px;background:linear-gradient(115deg,#0f172a 0%,#1d4ed8 55%,#06b6d4 100%);color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 16px 38px rgba(29,78,216,.20)}
.so-hero.compact{padding:22px 26px}.so-hero.danger{background:linear-gradient(115deg,#450a0a,#b91c1c,#f97316)}.so-hero h1{font-size:31px;margin:3px 0 7px;color:#fff}.so-hero p,.so-hero .eyebrow{color:#dbeafe}.so-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.so-tabs a{font-weight:800;font-size:15px;padding:10px 15px;border-radius:12px;background:#fff;border:1px solid #dbeafe;color:#334155;box-shadow:0 3px 12px rgba(15,23,42,.05)}.so-tabs a.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.so-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.so-kpi{display:block;padding:20px;border-radius:18px;color:#fff;min-height:132px;box-shadow:0 10px 26px rgba(15,23,42,.12);transition:.15s}.so-kpi:hover{transform:translateY(-2px)}.so-kpi span{display:block;font-weight:850;font-size:15px;opacity:.95}.so-kpi strong{display:block;font-size:30px;line-height:1.2;margin:9px 0 4px}.so-kpi small{font-size:13px;opacity:.88}.so-kpi.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.so-kpi.indigo{background:linear-gradient(135deg,#4f46e5,#312e81)}.so-kpi.red{background:linear-gradient(135deg,#ef4444,#b91c1c)}.so-kpi.orange{background:linear-gradient(135deg,#f97316,#c2410c)}.so-kpi.pink{background:linear-gradient(135deg,#ec4899,#be185d)}.so-kpi.purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.so-kpi.cyan{background:linear-gradient(135deg,#06b6d4,#0e7490)}.so-grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}.so-panel{border-top:4px solid #3b82f6}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.so-count{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-weight:900}.so-empty{padding:28px;border-radius:16px;background:#ecfdf5;color:#047857;font-size:17px;font-weight:800;text-align:center}.so-action-list{display:flex;flex-direction:column;gap:10px}.so-action-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;border:1px solid #e2e8f0;border-left:5px solid #f59e0b;border-radius:14px;background:#fff}.so-action-row strong{display:block;font-size:15px;color:#172033;margin:3px 0}.so-action-row small{display:block;font-size:13px;color:#526276}.so-order-link{font-weight:900;color:#1d4ed8!important;font-size:15px}.so-issue-wrap{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.so-issue{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.so-issue.red{background:#fee2e2;color:#b91c1c}.so-issue.orange{background:#ffedd5;color:#c2410c}.so-issue.purple{background:#ede9fe;color:#6d28d9}.so-issue.cyan{background:#cffafe;color:#0e7490}.so-issue.green{background:#dcfce7;color:#15803d}.so-action-buttons{display:flex;gap:6px}.so-top-list{display:flex;flex-direction:column;gap:14px}.so-top-row{position:relative;padding-bottom:9px}.so-top-row>div:first-child{display:flex;justify-content:space-between}.so-top-row strong{font-size:15px}.so-top-row small{color:#64748b}.so-top-value{font-size:14px;font-weight:900;color:#1d4ed8;margin:5px 0}.so-bar{height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden}.so-bar i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#06b6d4);border-radius:999px}.so-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.02em}.so-pill-open{background:#dbeafe;color:#1d4ed8}.so-pill-hold{background:#fef3c7;color:#92400e}.so-pill-closed{background:#dcfce7;color:#166534}.so-pill-cancel{background:#fee2e2;color:#991b1b}.so-pill-draft{background:#e2e8f0;color:#475569}.so-filter{border-top:4px solid #06b6d4}.so-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.so-filter-grid .span-2{grid-column:span 2}.so-filter-actions{display:flex;gap:8px}.so-table td,.so-table th{font-size:14px;padding:12px 10px}.so-table th{background:#eff6ff;color:#1e3a8a}.so-overdue{color:#b91c1c!important;font-weight:900;background:#fff1f2!important}.so-row-actions{display:flex;gap:5px;flex-wrap:wrap}.so-form-card{border-top:5px solid #2563eb}.so-lines-card{border-top:5px solid #06b6d4}.so-form-grid label{font-weight:850;color:#1f2937;font-size:14px}.so-lines-table select,.so-lines-table input{min-width:120px;font-size:14px}.so-lines-table td{vertical-align:top}.so-sticky-actions{position:sticky;bottom:10px;display:flex;justify-content:flex-end;gap:10px;margin:18px 0;padding:12px 14px;background:rgba(255,255,255,.94);border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.15);backdrop-filter:blur(8px);z-index:3}.so-doc-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.so-doc-summary>div{background:#fff;border:1px solid #dbeafe;border-top:4px solid #3b82f6;border-radius:14px;padding:14px}.so-doc-summary span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.so-doc-summary strong{display:block;margin-top:5px;font-size:17px;color:#172033}.so-cell-sub{display:block;color:#64748b;font-size:12px;margin-top:3px}.so-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.so-job-card{display:block;border-radius:15px;padding:14px;border:1px solid #c7d2fe;background:linear-gradient(145deg,#fff,#eef2ff);color:#1e293b}.so-job-card span{display:block;color:#4f46e5;font-weight:900}.so-job-card strong{display:block;font-size:16px;margin:4px 0}.so-job-card small{color:#64748b}.so-progress{height:7px;background:#ddd6fe;border-radius:999px;overflow:hidden;margin-top:9px}.so-progress i{display:block;height:100%;background:#7c3aed}.so-lock-note{display:block;color:#7c3aed;font-weight:800;margin-top:4px}.so-delete-panel{max-width:760px;margin:auto;text-align:center;padding:34px}.so-delete-icon{width:62px;height:62px;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:36px;font-weight:900;display:grid;place-items:center;margin:0 auto 14px}.so-delete-icon.blocked{background:#fef3c7}.so-warning-box{background:#fff7ed;border:1px solid #fdba74;border-radius:14px;padding:15px;margin:16px 0;text-align:left}.print-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.so-print-sheet{max-width:1050px;margin:auto;background:#fff;padding:34px;color:#111827}.so-print-head{display:flex;justify-content:space-between;border-bottom:3px solid #1d4ed8;padding-bottom:18px}.so-print-head h1{font-size:22px}.so-print-title{text-align:right}.so-print-title strong{display:block;color:#1d4ed8;font-size:28px}.so-print-title span{font-size:18px;font-weight:900}.so-print-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.so-print-info div{border:1px solid #dbeafe;border-radius:10px;padding:10px}.so-print-info span{display:block;font-size:11px;text-transform:uppercase;color:#64748b}.so-print-info strong{font-size:14px}.so-print-info small{display:block;color:#64748b}.so-print-table{width:100%;border-collapse:collapse}.so-print-table th{background:#dbeafe;color:#1e3a8a}.so-print-table th,.so-print-table td{border:1px solid #cbd5e1;padding:9px;font-size:12px}.so-print-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px;text-align:center;font-size:12px}
@media(max-width:1100px){.so-kpis{grid-template-columns:repeat(2,1fr)}.so-grid-2{grid-template-columns:1fr}.so-filter-grid{grid-template-columns:repeat(2,1fr)}.so-doc-summary{grid-template-columns:repeat(3,1fr)}.so-job-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.so-hero{display:block}.so-hero .page-actions{margin-top:15px}.so-kpis,.so-doc-summary,.so-job-grid{grid-template-columns:1fr}.so-filter-grid{grid-template-columns:1fr}.so-filter-grid .span-2{grid-column:auto}.so-action-row{align-items:flex-start;flex-direction:column}.so-print-info{grid-template-columns:1fr}.so-print-sign{grid-template-columns:1fr}}
@media print{.no-print,.sidebar,.topbar,.so-hero,.so-tabs,.page-actions{display:none!important}.content{margin:0!important;padding:0!important}.so-print-sheet{box-shadow:none!important;max-width:none;padding:0}.so-print-table th{background:#e5e7eb!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* ===== Sales Order V8.1.1 button contrast hotfix ===== */
body.module-sales .btn-primary,
body.module-sales a.btn-primary,
body.module-sales button.btn-primary,
.sales-module .btn-primary,
.sales-module a.btn-primary,
.sales-module button.btn-primary,
a[href*="page=sales"][href*="mode=add"].btn,
a[href*="page=sales"][href*="mode=add"].btn-primary {
    background: linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%) !important;
    color: #ffffff !important;
    border: 1px solid #1d4ed8 !important;
    box-shadow: 0 8px 20px rgba(37,99,235,.24) !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}
body.module-sales .btn-primary:hover,
body.module-sales a.btn-primary:hover,
body.module-sales button.btn-primary:hover,
.sales-module .btn-primary:hover,
.sales-module a.btn-primary:hover,
.sales-module button.btn-primary:hover,
a[href*="page=sales"][href*="mode=add"].btn:hover,
a[href*="page=sales"][href*="mode=add"].btn-primary:hover {
    background: linear-gradient(135deg,#1d4ed8 0%,#0284c7 100%) !important;
    color: #ffffff !important;
    border-color: #1e40af !important;
    transform: translateY(-1px);
}
body.module-sales .btn-primary:focus,
.sales-module .btn-primary:focus,
a[href*="page=sales"][href*="mode=add"].btn:focus {
    color:#ffffff !important;
    outline:3px solid rgba(14,165,233,.28) !important;
    outline-offset:2px;
}


/* ===== Production Planning V9 ===== */
.nav-planning{--nav-accent:#7c3aed}
.page-planning .content{background:linear-gradient(180deg,#f7f5ff 0,#f8fafc 420px)}
.pp-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#312e81,#6d28d9 54%,#0891b2);color:#fff;margin-bottom:20px;box-shadow:0 18px 45px rgba(76,29,149,.22)}
.pp-hero.compact{padding:22px 26px}.pp-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}
.pp-hero h1{font-size:32px;line-height:1.15;margin:3px 0 7px;color:#fff}.pp-hero h1 span{font-weight:500;opacity:.85;font-size:.65em}.pp-hero p{font-size:17px;color:#ede9fe;margin:0}.pp-hero .eyebrow{color:#c4b5fd}
.pp-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.pp-tabs a{padding:11px 16px;border:1px solid #ddd6fe;background:#fff;border-radius:12px;color:#4c1d95;font-weight:800;text-decoration:none}.pp-tabs a.active{background:#6d28d9;color:#fff;border-color:#5b21b6;box-shadow:0 6px 16px rgba(109,40,217,.2)}
.pp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.pp-kpi{display:block;padding:18px;border-radius:18px;text-decoration:none;border:1px solid transparent;box-shadow:0 8px 22px rgba(15,23,42,.07)}.pp-kpi span{display:block;font-size:14px;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.pp-kpi strong{display:block;font-size:34px;line-height:1.05;margin:8px 0}.pp-kpi small{font-size:14px;font-weight:600;opacity:.78}.pp-kpi.blue{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.pp-kpi.green{background:#dcfce7;color:#14532d;border-color:#86efac}.pp-kpi.red{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.pp-kpi.orange{background:#ffedd5;color:#7c2d12;border-color:#fdba74}.pp-kpi.purple{background:#ede9fe;color:#4c1d95;border-color:#c4b5fd}.pp-kpi.pink{background:#fce7f3;color:#831843;border-color:#f9a8d4}.pp-kpi.cyan{background:#cffafe;color:#164e63;border-color:#67e8f9}
.pp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.pp-panel{border:1px solid #ddd6fe!important;box-shadow:0 8px 25px rgba(76,29,149,.06)!important}.pp-panel h2{font-size:22px}.pp-count{background:#ede9fe;color:#5b21b6;padding:7px 11px;border-radius:999px;font-weight:900}
.pp-action-list{display:grid;gap:10px}.pp-action{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;border-radius:14px;background:#fafafa;border:1px solid #e5e7eb}.pp-action:hover{background:#f5f3ff;border-color:#c4b5fd}.pp-action strong,.pp-job strong{display:block;font-size:16px;margin:3px 0}.pp-action small,.pp-job small,.pp-table small{display:block;color:#475569;font-size:14px;margin-top:3px}.pp-link{font-size:15px;font-weight:900;color:#5b21b6;text-decoration:none}.pp-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.pp-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.pp-badge.ready{background:#dcfce7;color:#166534}.pp-badge.blocked{background:#fee2e2;color:#991b1b}.pp-badge.warn{background:#ffedd5;color:#9a3412}
.pp-job-list{display:grid;gap:9px}.pp-job{display:flex;justify-content:space-between;gap:14px;padding:13px;border-radius:13px;background:#f8fafc;border:1px solid #e2e8f0;text-decoration:none;color:#0f172a}.pp-job>div:last-child{text-align:right}.pp-job>div:last-child span{display:block;font-size:12px;color:#6d28d9;font-weight:850;margin-top:4px}
.pp-search{display:flex;gap:10px}.pp-search input{font-size:16px;min-width:300px}.pp-table th{background:#ede9fe!important;color:#3b0764!important;font-size:13px!important}.pp-table td{font-size:15px!important;padding:13px 11px!important}.pp-row-overdue{background:#fff1f2!important}
.pp-readiness{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.pp-ready-card{position:relative;padding:18px;border-radius:16px;border:2px solid;background:#fff}.pp-ready-card>span{position:absolute;right:12px;top:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900}.pp-ready-card b{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.04em}.pp-ready-card strong{display:block;font-size:17px;margin-top:7px}.pp-ready-card.ok{border-color:#86efac;background:#f0fdf4;color:#14532d}.pp-ready-card.ok>span{background:#16a34a;color:#fff}.pp-ready-card.bad{border-color:#fca5a5;background:#fef2f2;color:#7f1d1d}.pp-ready-card.bad>span{background:#dc2626;color:#fff}.pp-ready-card.warn{border-color:#fdba74;background:#fff7ed;color:#7c2d12}.pp-ready-card.warn>span{background:#f97316;color:#fff}
.pp-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.pp-summary-grid>div{padding:14px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.pp-summary-grid span{display:block;color:#475569;font-size:13px;font-weight:800}.pp-summary-grid strong{font-size:23px;color:#0f172a}.pp-summary-grid .accent{color:#6d28d9}
.pp-release-form{display:grid;gap:12px}.pp-release-form label{font-size:14px;font-weight:850;color:#334155}.pp-release-form input,.pp-release-form select{font-size:17px;padding:12px}.pp-check{display:flex!important;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#fff7ed;color:#9a3412!important}.pp-check input{width:auto}.pp-release-btn{font-size:17px!important;padding:13px 18px!important}.pp-block-note{color:#b91c1c;font-weight:750}
.pp-capacity-list{display:grid;gap:12px}.pp-capacity{display:grid;grid-template-columns:1fr auto;gap:7px 16px;padding:12px;border:1px solid #e2e8f0;border-radius:12px}.pp-capacity strong{display:block;color:#4c1d95}.pp-capacity span,.pp-capacity small{color:#64748b;font-size:13px}.pp-capacity>div:nth-child(2){text-align:right}.pp-loadbar{grid-column:1/-1;height:9px;background:#ede9fe;border-radius:999px;overflow:hidden}.pp-loadbar i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#06b6d4);border-radius:999px}
.pp-material-table th{background:#ecfeff!important;color:#164e63!important}.pp-material-table td{font-size:15px!important}.pp-material-table strong{font-size:15px}.pp-material-table small{display:block;color:#475569;font-size:13px}.pp-short-row{background:#fff1f2!important}.pp-empty{padding:28px;text-align:center;color:#475569;font-size:16px;background:#f8fafc;border-radius:12px}
@media(max-width:1100px){.pp-kpis{grid-template-columns:repeat(2,1fr)}.pp-grid{grid-template-columns:1fr}.pp-readiness{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.pp-kpis,.pp-readiness{grid-template-columns:1fr}.pp-hero{align-items:flex-start;flex-direction:column}.pp-search{flex-direction:column}.pp-search input{min-width:0;width:100%}}


/* ===== Sales Order V9.0.1 Edit Save Visibility ===== */
.page-sales .so-save-btn,
.page-sales button.so-save-btn {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-height:44px !important;
    padding:11px 18px !important;
    background:linear-gradient(135deg,#16a34a 0%,#059669 100%) !important;
    border:1px solid #047857 !important;
    color:#ffffff !important;
    font-size:15px !important;
    font-weight:900 !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:0 8px 20px rgba(5,150,105,.26) !important;
    text-shadow:0 1px 1px rgba(0,0,0,.16) !important;
}
.page-sales .so-save-btn:hover {
    background:linear-gradient(135deg,#15803d 0%,#047857 100%) !important;
    color:#ffffff !important;
    border-color:#065f46 !important;
}
.page-sales .so-sticky-actions {
    z-index:50 !important;
    border:2px solid #86efac !important;
    background:rgba(240,253,244,.97) !important;
}


/* ===== Engineering Release Control V9.0.2 ===== */
.eng-release-strip{
 display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin:16px 0 20px
}
.eng-release-state{
 background:#fff;border:2px solid #dbe5f1;border-radius:16px;padding:15px 16px;
 box-shadow:0 7px 20px rgba(30,41,59,.06);min-height:118px
}
.eng-release-state>span{
 display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:5px
}
.eng-release-state>strong{display:block;font-size:20px;color:#172033;margin-bottom:4px}
.eng-release-state>small{display:block;font-size:13px;color:#475569;line-height:1.45;margin-bottom:10px}
.eng-release-state.bom{border-color:#86efac;background:linear-gradient(145deg,#f0fdf4,#fff)}
.eng-release-state.routing{border-color:#93c5fd;background:linear-gradient(145deg,#eff6ff,#fff)}
.eng-release-state.revision{border-color:#c4b5fd;background:linear-gradient(145deg,#f5f3ff,#fff)}
.eng-release-state.final{border-color:#67e8f9;background:linear-gradient(145deg,#ecfeff,#fff)}
.eng-release-state.danger-zone{border-color:#fca5a5;background:linear-gradient(145deg,#fef2f2,#fff)}
.state-released{color:#15803d!important}.state-draft,.state-pending_approval{color:#b45309!important}.state-missing{color:#b91c1c!important}
.eng-release-btn{margin-top:5px!important;color:#fff!important;font-weight:900!important;border-width:1px!important}
.bom-btn{background:linear-gradient(135deg,#16a34a,#059669)!important;border-color:#047857!important;color:#fff!important}
.route-btn{background:linear-gradient(135deg,#2563eb,#0891b2)!important;border-color:#1d4ed8!important;color:#fff!important}
.revision-btn{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;border-color:#5b21b6!important;color:#fff!important}
.eng-release-sequence{display:grid;gap:12px;margin:14px 0}
.release-step{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:14px;border-radius:14px;border:2px solid #e2e8f0;background:#f8fafc}
.release-step>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#cbd5e1;color:#334155;font-size:16px}
.release-step>div>span{display:block;font-size:12px;text-transform:uppercase;font-weight:900;color:#64748b}
.release-step>div>strong{display:block;font-size:18px;color:#172033}.release-step>div>small{font-size:13px;color:#64748b}
.release-step.done{border-color:#86efac;background:#f0fdf4}.release-step.done>b{background:#16a34a;color:#fff}
.release-step.pending{border-color:#fcd34d;background:#fffbeb}.release-step.pending>b{background:#f59e0b;color:#fff}
.approval-option{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:18px}
.revision-delete-box{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;border-radius:14px;border:2px solid #fca5a5;background:#fef2f2}
.revision-delete-box b{font-size:17px;color:#991b1b}.revision-delete-box p{margin:4px 0;color:#7f1d1d;font-size:14px}
.readiness-item i.draft{background:#f59e0b!important}
.pp-engineering-action{display:flex;justify-content:space-between;align-items:center;gap:20px;border:2px solid #fcd34d!important;background:#fffbeb!important;margin-bottom:18px}
.pp-engineering-action b{font-size:18px;color:#92400e}.pp-engineering-action p{margin:4px 0 0;color:#78350f;font-size:14px}
@media(max-width:1050px){.eng-release-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.eng-release-strip{grid-template-columns:1fr}.release-step{grid-template-columns:38px 1fr}.release-step form{grid-column:1/-1}.revision-delete-box,.pp-engineering-action{flex-direction:column;align-items:stretch}}


/* ===== Manufacturing Inventory V10 ===== */
.page-inventory .content{background:linear-gradient(180deg,#f0fdfa 0,#f8fafc 430px)}
.inv-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#064e3b,#047857 52%,#0891b2);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(6,78,59,.22)}
.inv-hero.compact{padding:22px 26px}.inv-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.inv-hero.danger-soft{background:linear-gradient(125deg,#7c2d12,#c2410c)}
.inv-hero h1{color:#fff;font-size:32px;line-height:1.1;margin:4px 0 7px}.inv-hero p{font-size:16px;color:#d1fae5;margin:0}.inv-hero .eyebrow{color:#a7f3d0}
.inv-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.inv-tabs a{padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #ccfbf1;color:#115e59;font-size:13px;font-weight:850;text-decoration:none}.inv-tabs a:hover{background:#f0fdfa;border-color:#5eead4}.inv-tabs a.active{background:#0f766e;color:#fff;border-color:#0f766e;box-shadow:0 5px 15px rgba(15,118,110,.2)}
.inv-primary{background:linear-gradient(135deg,#059669,#0891b2)!important;color:#fff!important;border:1px solid #047857!important;font-weight:900!important;box-shadow:0 7px 18px rgba(5,150,105,.2)!important}.inv-primary:hover{background:linear-gradient(135deg,#047857,#0e7490)!important;color:#fff!important}
.inv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.inv-kpi{display:block;border-radius:17px;padding:17px 18px;text-decoration:none;border:1px solid;box-shadow:0 7px 20px rgba(15,23,42,.06)}.inv-kpi span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.inv-kpi strong{display:block;font-size:30px;line-height:1.08;margin:8px 0}.inv-kpi small{font-size:13px;font-weight:650;opacity:.8}.inv-kpi.blue{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.inv-kpi.indigo{background:#e0e7ff;color:#312e81;border-color:#a5b4fc}.inv-kpi.cyan{background:#cffafe;color:#164e63;border-color:#67e8f9}.inv-kpi.violet{background:#ede9fe;color:#4c1d95;border-color:#c4b5fd}.inv-kpi.orange{background:#ffedd5;color:#7c2d12;border-color:#fdba74}.inv-kpi.red{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.inv-kpi.green{background:#dcfce7;color:#14532d;border-color:#86efac}.inv-kpi.amber{background:#fef3c7;color:#78350f;border-color:#fcd34d}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.inv-panel{border:1px solid #ccfbf1!important;box-shadow:0 8px 24px rgba(15,118,110,.06)!important}.inv-panel h2,.inv-panel h3{color:#134e4a}.inv-empty{padding:24px;text-align:center;background:#f8fafc;border-radius:12px;color:#475569;font-size:15px}
.inv-action-list{display:grid;gap:9px}.inv-action-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;text-decoration:none;color:#0f172a}.inv-action-row:hover{background:#f0fdfa;border-color:#5eead4}.inv-action-row span{color:#0f766e;font-weight:900}.inv-action-row strong{display:block;font-size:15px;margin-top:2px}.inv-action-row>div:last-child{text-align:right}.inv-action-row>div:last-child b{font-size:18px;color:#0f766e}.inv-action-row small{display:block;color:#64748b;font-size:12px}
.inv-filter{border-top:4px solid #14b8a6!important}.inv-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.inv-filter-grid .span-2{grid-column:span 2}.inv-filter label,.inv-form-card label{font-size:13px;font-weight:850;color:#334155}.inv-filter input,.inv-filter select,.inv-form-card input,.inv-form-card select,.inv-form-card textarea{font-size:15px}
.inv-table th{background:#ccfbf1!important;color:#134e4a!important;font-size:13px!important}.inv-table td{font-size:14px!important;padding:12px 10px!important;vertical-align:top}.inv-table td strong{font-size:14px}.inv-table td small{display:block;color:#64748b;font-size:12px;margin-top:3px}.inv-table .pos{color:#047857!important}.inv-table .neg{color:#b91c1c!important}.inv-negative-row{background:#fff1f2!important}
.inv-move{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#e2e8f0;color:#334155}.inv-move.receipt,.inv-move.transfer_in,.inv-move.return,.inv-move.fg_receipt{background:#dcfce7;color:#166534}.inv-move.issue,.inv-move.transfer_out{background:#fee2e2;color:#991b1b}.inv-move.adjustment,.inv-move.cycle_count{background:#fef3c7;color:#92400e}
.inv-form-card{border-top:5px solid #14b8a6!important}.inv-form-card.warning{border-top-color:#f97316!important}.inv-submit{display:flex;justify-content:flex-end;margin-top:16px}.inv-inline{display:flex;gap:12px;align-items:end}.inv-inline select{min-width:420px}
.inv-badge{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.inv-badge.ready{background:#dcfce7;color:#166534}.inv-badge.blocked{background:#fee2e2;color:#991b1b}.inv-badge.reserved{background:#fef3c7;color:#92400e}.inv-badge.neutral{background:#e2e8f0;color:#475569}
.inv-trace-search{display:flex;gap:10px}.inv-trace-search input{font-size:18px;min-width:360px}.inv-trace-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.inv-trace-summary>div{padding:15px;border-radius:14px;background:#fff;border:1px solid #99f6e4}.inv-trace-summary span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:900}.inv-trace-summary strong{display:block;font-size:20px;color:#115e59;margin-top:5px}
.inv-timeline{position:relative;padding-left:18px}.inv-trace-event{position:relative;display:grid;grid-template-columns:1fr auto;gap:15px;padding:13px 14px 13px 22px;border-left:2px solid #99f6e4}.inv-trace-dot{position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:50%;background:#14b8a6;border:2px solid #fff;box-shadow:0 0 0 2px #14b8a6}.inv-trace-event span{font-size:12px;color:#64748b}.inv-trace-event strong{display:block;font-size:15px;margin:3px 0}.inv-trace-event small{font-size:12px;color:#64748b}.inv-trace-event>div:last-child{font-weight:900;font-size:17px}
.count-input{min-width:120px;font-size:16px!important;font-weight:800}
.pp-release-blockers{margin-top:12px;padding:13px;border:2px solid #fca5a5;border-radius:12px;background:#fef2f2;color:#991b1b}.pp-release-blockers b{display:block;margin-bottom:5px}.pp-release-warning{margin-top:12px;padding:13px;border:2px solid #fdba74;border-radius:12px;background:#fff7ed;color:#9a3412}.pp-release-warning b,.pp-release-warning span{display:block}.pp-release-warning span{margin:4px 0 9px}
@media(max-width:1100px){.inv-kpis{grid-template-columns:repeat(2,1fr)}.inv-grid{grid-template-columns:1fr}.inv-filter-grid{grid-template-columns:repeat(2,1fr)}.inv-trace-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.inv-kpis,.inv-filter-grid,.inv-trace-summary{grid-template-columns:1fr}.inv-filter-grid .span-2{grid-column:auto}.inv-hero{flex-direction:column;align-items:flex-start}.inv-inline{display:block}.inv-inline select,.inv-trace-search input{min-width:0;width:100%}.inv-trace-search{flex-direction:column}}

/* ===== Manufacturing Shopfloor / MES V11 ===== */
.page-production .content,.page-jobs .content{background:linear-gradient(180deg,#f5f3ff 0,#f8fafc 430px)}
.sf-hero,.sf-job-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#3b0764,#6d28d9 52%,#0e7490);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(76,29,149,.22)}
.sf-hero.compact{padding:22px 26px}.sf-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.sf-hero h1,.sf-job-hero h1{color:#fff;font-size:32px;line-height:1.12;margin:4px 0 7px}.sf-hero p,.sf-job-hero p{font-size:16px;color:#ede9fe;margin:0}.sf-hero .eyebrow,.sf-job-hero .eyebrow{color:#c4b5fd}.sf-job-hero .sf-badge{vertical-align:middle;margin-left:8px}
.sf-primary{background:linear-gradient(135deg,#7c3aed,#0891b2)!important;color:#fff!important;border:1px solid #5b21b6!important;font-weight:900!important;box-shadow:0 7px 18px rgba(109,40,217,.22)!important}.sf-primary:hover{background:linear-gradient(135deg,#5b21b6,#0e7490)!important;color:#fff!important}
.sf-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.sf-tabs a{padding:10px 14px;background:#fff;border:1px solid #ddd6fe;border-radius:11px;text-decoration:none;color:#4c1d95;font-size:13px;font-weight:850}.sf-tabs a.active{background:#6d28d9;color:#fff;border-color:#5b21b6;box-shadow:0 5px 15px rgba(109,40,217,.2)}
.sf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.sf-kpi{border:1px solid;border-radius:17px;padding:17px 18px;box-shadow:0 7px 20px rgba(15,23,42,.06)}.sf-kpi span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.sf-kpi strong{display:block;font-size:31px;line-height:1.05;margin:8px 0}.sf-kpi small{font-size:13px;font-weight:650;opacity:.8}.sf-kpi.purple{background:#ede9fe;color:#4c1d95;border-color:#c4b5fd}.sf-kpi.blue{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.sf-kpi.cyan{background:#cffafe;color:#164e63;border-color:#67e8f9}.sf-kpi.red{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.sf-kpi.orange{background:#ffedd5;color:#7c2d12;border-color:#fdba74}.sf-kpi.green{background:#dcfce7;color:#14532d;border-color:#86efac}.sf-kpi.pink{background:#fce7f3;color:#831843;border-color:#f9a8d4}.sf-kpi.slate{background:#e2e8f0;color:#334155;border-color:#cbd5e1}
.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.sf-panel{border:1px solid #ddd6fe!important;box-shadow:0 8px 24px rgba(76,29,149,.06)!important}.sf-count{padding:6px 10px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:12px;font-weight:900}.sf-action-list{display:grid;gap:9px}.sf-action{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;background:#fafafa;border:1px solid #e5e7eb;border-radius:14px;text-decoration:none;color:#0f172a}.sf-action:hover{background:#f5f3ff;border-color:#c4b5fd}.sf-action strong{display:block;font-size:16px;margin:3px 0}.sf-action small{display:block;color:#64748b;font-size:12px}.sf-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.sf-progress-box{min-width:150px;text-align:right}.sf-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.sf-progress i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#06b6d4);border-radius:999px}.sf-progress.big{height:12px}.sf-progress.mini{height:5px;margin-top:5px}.sf-progress-box b{font-size:20px;color:#5b21b6}.sf-progress-box small{margin-top:5px}.sf-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.sf-badge.good{background:#dcfce7;color:#166534}.sf-badge.warn{background:#fef3c7;color:#92400e}.sf-badge.bad{background:#fee2e2;color:#991b1b}.sf-badge.neutral{background:#e2e8f0;color:#475569}.good-text{color:#047857!important}.bad-text{color:#b91c1c!important}.sf-empty{padding:25px;text-align:center;background:#f8fafc;border-radius:12px;color:#475569}
.sf-feed{display:grid;gap:8px}.sf-feed-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:9px;border-bottom:1px solid #e2e8f0}.sf-event-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-weight:900}.sf-event-icon.start,.sf-event-icon.output{background:#dcfce7;color:#166534}.sf-event-icon.downtime{background:#fee2e2;color:#991b1b}.sf-feed-row strong{display:block;font-size:14px}.sf-feed-row span,.sf-feed-row small{display:block;color:#64748b;font-size:12px;margin-top:2px}
.sf-filter{border-top:4px solid #8b5cf6!important}.sf-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.sf-filter-grid .span-2{grid-column:span 2}.sf-filter-grid label{font-size:13px;font-weight:850;color:#334155}.sf-filter-grid input,.sf-filter-grid select{font-size:15px}.sf-table th{background:#ede9fe!important;color:#3b0764!important;font-size:12px!important}.sf-table td{font-size:14px!important;padding:12px 10px!important;vertical-align:top}.sf-table td strong{font-size:14px}.sf-table td small{display:block;color:#64748b;font-size:12px;margin-top:3px}.sf-overdue{background:#fff1f2!important}.sf-link{color:#5b21b6;font-weight:900;text-decoration:none}.sf-priority{display:inline-grid;place-items:center;min-width:34px;height:27px;border-radius:8px;font-weight:950;background:#e2e8f0;color:#334155}.sf-priority.p1,.sf-priority.p2{background:#fee2e2;color:#991b1b}.sf-priority.p3,.sf-priority.p4{background:#ffedd5;color:#9a3412}.sf-priority.p5{background:#dbeafe;color:#1d4ed8}
.sf-scan-shell{min-height:70vh;display:grid;place-items:center}.sf-scan-card{width:min(720px,95%);padding:34px;text-align:center;background:#fff;border:2px solid #c4b5fd;border-radius:24px;box-shadow:0 18px 50px rgba(76,29,149,.16)}.sf-scan-icon{width:76px;height:76px;margin:0 auto 12px;border-radius:22px;display:grid;place-items:center;font-size:38px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff}.sf-scan-card h1{font-size:32px;color:#3b0764;margin:4px 0}.sf-scan-card p{font-size:16px;color:#64748b}.sf-scan-input{width:100%;font-size:28px!important;font-weight:900!important;letter-spacing:.05em;text-align:center;padding:18px!important;border:3px solid #8b5cf6!important;border-radius:14px!important;margin:12px 0;text-transform:uppercase}.sf-scan-btn{width:100%;font-size:18px!important;padding:13px!important}.sf-scan-help{display:grid;gap:5px;margin:16px 0;padding:13px;border-radius:12px;background:#f5f3ff;color:#4c1d95}.sf-scan-help b{font-size:14px}.sf-scan-help span{font-size:13px}.sf-scan-video{display:none;width:100%;max-height:360px;margin-top:12px;border-radius:12px;background:#111}
.sf-job-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px}.sf-job-summary>div{padding:13px 14px;background:#fff;border:1px solid #ddd6fe;border-top:4px solid #8b5cf6;border-radius:14px}.sf-job-summary>div.wide{grid-column:span 2}.sf-job-summary span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;font-weight:900}.sf-job-summary strong{display:block;color:#172033;font-size:18px;margin-top:4px}.sf-job-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.sf-route-panel{padding:12px!important;align-self:start;position:sticky;top:74px}.sf-route-list{display:grid;gap:8px}.sf-route-op{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#0f172a;background:#fff}.sf-route-op:hover,.sf-route-op.active{background:#f5f3ff;border-color:#8b5cf6}.sf-route-op.done{border-color:#86efac;background:#f0fdf4}.sf-op-seq{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#ede9fe;color:#5b21b6;font-weight:900}.sf-route-op strong{display:block}.sf-route-op span,.sf-route-op small{display:block;font-size:11px;color:#64748b;margin-top:2px}.sf-op-state b{font-size:9px;color:#64748b}.running-dot{color:#047857!important}.sf-job-main{min-width:0}.sf-operation-card{border-top:5px solid #7c3aed!important}.sf-operation-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.sf-operation-head>div:first-child>span{font-size:12px;font-weight:900;color:#7c3aed}.sf-operation-head h2{font-size:23px;margin:3px 0}.sf-operation-head p{color:#64748b}.sf-op-barcode{width:190px}.sf-op-barcode svg{width:100%;height:60px}.sf-op-status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.sf-op-status-row>div{padding:11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px}.sf-op-status-row span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.sf-op-status-row strong{display:block;font-size:16px;margin-top:3px}.sf-op-controls{margin:12px 0}.sf-op-controls form{display:flex;gap:10px;align-items:center}.sf-op-controls select{min-width:220px}.sf-start{background:#16a34a!important;color:#fff!important;border-color:#15803d!important;font-weight:900!important}.sf-stop{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important;font-weight:900!important}.sf-output-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;border-radius:14px;background:#f5f3ff;border:1px solid #c4b5fd}.sf-output-form .span-2{grid-column:span 2}.sf-output-form label{font-size:12px;font-weight:900;color:#4c1d95}.sf-output-form input,.sf-output-form select{font-size:15px}.sf-note-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px}.sf-notes{display:grid;gap:8px;margin-top:12px}.sf-notes>div{padding:10px;border-left:4px solid #8b5cf6;background:#f8fafc}.sf-notes span{font-size:10px;color:#64748b;font-weight:800}.sf-notes p{margin:4px 0 0}.sf-fg-callout{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px;padding:13px;border-radius:12px;background:#ecfeff;border:1px solid #67e8f9;color:#155e75}
.sf-station-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.sf-station-card{padding:15px;border-radius:15px;border:2px solid #e2e8f0;background:#fff}.sf-station-card.running{border-color:#86efac;background:#f0fdf4}.sf-station-card span{display:block;color:#6d28d9;font-weight:900;font-size:12px}.sf-station-card strong{display:block;font-size:16px;margin:4px 0}.sf-station-card b{font-size:12px;color:#64748b}.sf-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sf-live-card{position:relative;padding:16px;border:2px solid #86efac;background:#f0fdf4;border-radius:15px;text-decoration:none;color:#0f172a}.sf-live-card span,.sf-live-card small{display:block;color:#64748b;font-size:12px}.sf-live-card strong{display:block;font-size:18px;margin:6px 0 3px}.sf-live-card b{color:#166534}.running-pulse{position:absolute;right:14px;top:14px;width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.15)}
@media(max-width:1200px){.sf-kpis{grid-template-columns:repeat(2,1fr)}.sf-job-layout{grid-template-columns:1fr}.sf-route-panel{position:static}.sf-job-summary{grid-template-columns:repeat(3,1fr)}.sf-station-grid{grid-template-columns:repeat(2,1fr)}.sf-live-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.sf-hero,.sf-job-hero{flex-direction:column;align-items:flex-start}.sf-grid,.sf-kpis,.sf-job-summary,.sf-op-status-row,.sf-output-form,.sf-station-grid,.sf-live-grid{grid-template-columns:1fr}.sf-job-summary>div.wide,.sf-output-form .span-2{grid-column:auto}.sf-filter-grid{grid-template-columns:1fr}.sf-filter-grid .span-2{grid-column:auto}.sf-operation-head{display:block}.sf-op-barcode{width:100%;margin-top:10px}.sf-note-form{grid-template-columns:1fr}.sf-op-controls form{flex-direction:column;align-items:stretch}.sf-op-controls select{min-width:0}}


/* ===== Shopfloor Resources + Subcontract V11.1 ===== */
.nav-subcontract{--nav-accent:#ea580c}.sf-subcon-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;margin:12px 0;border:2px solid #fdba74;background:#fff7ed;border-radius:13px}.sf-subcon-banner b{display:block;color:#9a3412;font-size:16px}.sf-subcon-banner span{color:#7c2d12;font-size:13px}.sf-subcon-assign{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:9px 12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#475569}.sf-op-status-row small{display:block;color:#64748b;font-size:11px;margin-top:3px}
.page-subcontract .content{background:linear-gradient(180deg,#fff7ed 0,#f8fafc 430px)}.sc-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 29px;border-radius:22px;background:linear-gradient(125deg,#7c2d12,#ea580c 55%,#f59e0b);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(154,52,18,.2)}.sc-hero.compact{padding:21px 25px}.sc-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.sc-hero h1{font-size:31px;margin:4px 0 7px;color:#fff}.sc-hero p{margin:0;color:#ffedd5;font-size:16px}.sc-hero .eyebrow{color:#fed7aa}.sc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.sc-tabs a{padding:10px 14px;background:#fff;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;text-decoration:none;font-weight:850}.sc-tabs a.active{background:#ea580c;color:#fff;border-color:#c2410c}.sc-primary{background:linear-gradient(135deg,#ea580c,#f59e0b)!important;color:#fff!important;border:1px solid #c2410c!important;font-weight:900!important}.sc-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin-bottom:18px}.sc-kpi{padding:17px;border-radius:16px;border:1px solid}.sc-kpi span{display:block;font-size:11px;text-transform:uppercase;font-weight:900}.sc-kpi strong{display:block;font-size:29px;margin-top:7px}.sc-kpi.blue{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.sc-kpi.purple{background:#ede9fe;color:#4c1d95;border-color:#c4b5fd}.sc-kpi.red{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.sc-kpi.orange{background:#ffedd5;color:#7c2d12;border-color:#fdba74}.sc-kpi.green{background:#dcfce7;color:#14532d;border-color:#86efac}.sc-kpi.cyan{background:#cffafe;color:#164e63;border-color:#67e8f9}.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.sc-panel{border:1px solid #fed7aa!important;box-shadow:0 8px 22px rgba(154,52,18,.06)!important}.sc-form-card{border-top:5px solid #f97316!important}.sc-actions{display:grid;gap:9px}.sc-actions>a{display:flex;justify-content:space-between;gap:15px;padding:13px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#111827;background:#fff}.sc-actions>a:hover{border-color:#fb923c;background:#fff7ed}.sc-actions span{color:#c2410c;font-weight:900}.sc-actions strong,.sc-actions small{display:block}.sc-actions small{color:#64748b;font-size:12px;margin-top:3px}.sc-actions> a>div:last-child{text-align:right}.sc-table th{background:#ffedd5!important;color:#7c2d12!important}.sc-table td{font-size:14px!important}.sc-table small{display:block;color:#64748b;font-size:12px}.sc-filter form,.sc-job-picker{display:flex;gap:10px;align-items:end}.sc-filter input,.sc-job-picker select{min-width:360px}.sc-badge{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;background:#e2e8f0;color:#475569}.sc-badge.open{background:#fef3c7;color:#92400e}.sc-badge.dispatched,.sc-badge.partial_dispatch,.sc-badge.partial_receipt{background:#dbeafe;color:#1d4ed8}.sc-badge.completed{background:#dcfce7;color:#166534}.sc-badge.cancelled{background:#fee2e2;color:#991b1b}.sc-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.sc-summary>div{padding:14px;background:#fff;border:1px solid #fed7aa;border-radius:13px}.sc-summary span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:900}.sc-summary strong{display:block;font-size:18px;color:#7c2d12;margin-top:4px}.sc-summary small{display:block;color:#64748b}.sc-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px 0 20px}.sc-flow div{min-width:150px;padding:14px;text-align:center;border:2px solid #fed7aa;background:#fff7ed;border-radius:13px;color:#9a3412;font-size:12px}.sc-flow div.done{background:#ecfdf5;border-color:#86efac;color:#166534}.sc-flow div.active{box-shadow:0 0 0 3px rgba(249,115,22,.13)}.sc-flow i{font-size:24px;color:#f97316}.sc-timeline{display:grid;gap:10px;margin-bottom:14px}.sc-timeline>div{display:grid;grid-template-columns:150px 130px 90px 1fr;gap:10px;padding:11px;border-left:4px solid #fb923c;background:#fff7ed}.sc-timeline span,.sc-timeline small{color:#64748b}.sc-empty{padding:24px;text-align:center;color:#64748b}.pos{color:#047857!important}@media(max-width:1100px){.sc-kpis{grid-template-columns:repeat(3,1fr)}.sc-grid{grid-template-columns:1fr}.sc-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sc-kpis,.sc-summary{grid-template-columns:1fr}.sc-flow{flex-direction:column}.sc-flow i{transform:rotate(90deg)}.sc-filter form,.sc-job-picker{flex-direction:column;align-items:stretch}.sc-filter input,.sc-job-picker select{min-width:0;width:100%}.sc-timeline>div{grid-template-columns:1fr}}


/* ===== Shopfloor Resource Compatibility V11.2 ===== */
.sf-resource-health{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:0 0 18px}.sf-resource-health>div{padding:14px 16px;border-radius:14px;border:1px solid #bae6fd;background:linear-gradient(145deg,#f0f9ff,#fff)}.sf-resource-health span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569;font-weight:900}.sf-resource-health strong{display:block;font-size:26px;color:#075985;margin-top:3px}.sf-resource-health .warn{grid-column:span 1;border-color:#fbbf24;background:#fffbeb}.sf-resource-health .warn b{display:block;color:#92400e}.sf-resource-health .warn small{display:block;color:#78350f;margin-top:4px;line-height:1.35}
.sf-resource-alert{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px 16px;margin:0 0 14px;border:2px solid #fca5a5;background:#fef2f2;border-radius:14px;color:#991b1b}.sf-resource-alert b{font-size:17px}.sf-resource-alert span{flex:1;font-size:14px}.sf-operator-pick,.sf-machine-pick{display:grid;gap:6px}.sf-operator-pick>label,.sf-machine-pick>label{font-size:13px;font-weight:900;color:#1e293b}.sf-operator-select{min-width:280px!important;border:2px solid #38bdf8!important;background:#f0f9ff!important;font-size:16px!important;font-weight:800!important}.sf-badge-pick{display:flex;gap:6px}.sf-badge-pick input{min-width:190px}.sf-no-resource{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:800}.sf-no-resource a{color:#7f1d1d;text-decoration:underline}
@media(max-width:900px){.sf-resource-health{grid-template-columns:repeat(2,1fr)}.sf-resource-alert{align-items:stretch;flex-direction:column}.sf-operator-select{min-width:0!important;width:100%}}


/* ===== V11.6 global flash / master save message fix ===== */
.alert{
    display:block;
    margin:0 0 16px;
    padding:13px 16px;
    border:1px solid;
    border-radius:12px;
    font-size:15px;
    line-height:1.45;
    font-weight:600;
    box-shadow:0 5px 16px rgba(15,23,42,.06);
}
.alert strong{font-weight:900}
.alert.success{background:#ecfdf5!important;border-color:#86efac!important;color:#166534!important}
.alert.error{background:#fef2f2!important;border-color:#fca5a5!important;color:#991b1b!important}
.alert.warning{background:#fffbeb!important;border-color:#fcd34d!important;color:#92400e!important}
.alert.info{background:#eff6ff!important;border-color:#93c5fd!important;color:#1e40af!important}


/* ===== Shopfloor Transaction Control V11.8 ===== */
.sf-correction-bar{
 display:flex;justify-content:space-between;align-items:center;gap:18px;
 margin:14px 0;padding:14px 16px;border:2px solid #fbbf24;border-radius:14px;
 background:#fffbeb;color:#78350f
}
.sf-correction-bar.ready{border-color:#60a5fa;background:#eff6ff;color:#1e3a8a}
.sf-correction-bar b{display:block;font-size:16px}.sf-correction-bar span{display:block;font-size:13px;margin-top:3px}
.sf-correction-bar form{display:flex;gap:8px;align-items:center;min-width:380px}
.sf-correction-bar input{min-width:210px;background:#fff}
.sf-reopen{background:linear-gradient(135deg,#f59e0b,#ea580c)!important;color:#fff!important;border-color:#c2410c!important;font-weight:900!important}
.sf-partial-hint{grid-column:1/-1;padding:12px 14px;background:#ecfeff;border:1px solid #67e8f9;border-radius:12px;color:#155e75}
.sf-partial-hint b,.sf-partial-hint span{display:block}.sf-partial-hint span{font-size:13px;margin-top:3px}
.sf-qty-shortcuts{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.sf-qty-shortcuts button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:850;color:#334155;cursor:pointer}
.sf-qty-shortcuts button:hover{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}
.sf-output-history{border-top:5px solid #0ea5e9!important}
.sf-output-history .pos{color:#047857}.sf-reversed-row{opacity:.68;background:#f8fafc!important;text-decoration:none}
.sf-reversed-row td{color:#64748b!important}
.sf-output-edit{border:2px solid #93c5fd!important;background:linear-gradient(180deg,#eff6ff,#fff)!important}
.sf-correction-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:18px}
.sf-reverse-box{padding:16px;border:2px solid #fecaca;border-radius:14px;background:#fff1f2}
.sf-reverse-box h3{color:#991b1b;margin-top:0}.sf-reverse-box p{color:#7f1d1d;font-size:13px}
.sf-empty{padding:20px;text-align:center;color:#64748b;background:#f8fafc;border-radius:10px}
.sc-planning-note{margin-top:16px;padding:13px 15px;border:1px solid #93c5fd;border-radius:12px;background:#eff6ff;color:#1e3a8a}
.sc-planning-note b,.sc-planning-note span{display:block}.sc-planning-note span{font-size:13px;margin-top:4px}
@media(max-width:850px){.sf-correction-bar{flex-direction:column;align-items:stretch}.sf-correction-bar form{min-width:0;flex-direction:column;align-items:stretch}.sf-correction-grid{grid-template-columns:1fr}}


/* ===== Purchasing & AP V12 ===== */
.page-purchasing .content{background:linear-gradient(180deg,#eff6ff 0,#f8fafc 430px)}
.po-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#1e3a8a,#1d4ed8 50%,#0891b2);color:#fff;margin-bottom:18px;box-shadow:0 18px 42px rgba(30,58,138,.2)}
.po-hero.compact{padding:21px 25px}.po-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.po-hero h1{margin:4px 0 7px;color:#fff;font-size:31px}.po-hero p{margin:0;color:#dbeafe;font-size:15px}.po-hero .eyebrow{color:#bfdbfe}
.po-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.po-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #bfdbfe;background:#fff;text-decoration:none;color:#1e40af;font-size:13px;font-weight:850}.po-tabs a.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 5px 14px rgba(29,78,216,.22)}
.po-primary{background:linear-gradient(135deg,#2563eb,#0891b2)!important;border-color:#1d4ed8!important;color:#fff!important;font-weight:900!important}.po-release{background:linear-gradient(135deg,#16a34a,#059669)!important;color:#fff!important;border-color:#047857!important;font-weight:900!important}.po-match{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;color:#fff!important;border-color:#5b21b6!important;font-weight:900!important}
.po-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.po-kpis>a,.po-kpis>div{display:block;text-decoration:none;padding:15px 16px;border-radius:15px;border:1px solid #bfdbfe;background:#fff;color:#172033;box-shadow:0 6px 18px rgba(30,64,175,.06)}.po-kpis span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#64748b}.po-kpis strong{display:block;font-size:25px;color:#1e40af;margin:6px 0}.po-kpis small{display:block;font-size:12px;color:#64748b}.po-kpis .danger{border-color:#fecaca;background:#fff1f2}.po-kpis .danger strong{color:#b91c1c}
.po-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.po-panel{border:1px solid #bfdbfe!important;box-shadow:0 7px 22px rgba(30,64,175,.06)!important}.po-panel h2,.po-panel h3{color:#1e3a8a}
.po-action-list{display:grid;gap:9px}.po-action-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:12px 14px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;text-decoration:none;color:#172033}.po-action-row:hover{border-color:#60a5fa;background:#eff6ff}.po-action-row span{color:#1d4ed8;font-weight:900}.po-action-row strong{display:block}.po-action-row small{display:block;color:#64748b;font-size:12px;margin-top:2px}.po-action-row>div:nth-child(n+2){text-align:right}.po-action-row.variance{border-color:#fecaca;background:#fff1f2}
.po-empty{padding:22px;text-align:center;color:#64748b;background:#f8fafc;border-radius:11px}
.po-filter{border-top:4px solid #3b82f6!important}.po-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.po-filter-grid .span-2{grid-column:span 2}
.po-table th{background:#dbeafe!important;color:#1e3a8a!important;font-size:13px!important}.po-table td{padding:11px 9px!important;font-size:14px!important}.po-table td small{display:block;color:#64748b;font-size:12px;margin-top:3px}
.po-type,.po-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.po-type.material{background:#dcfce7;color:#166534}.po-type.subcon{background:#ede9fe;color:#5b21b6}.po-badge.matched,.po-badge.ready{background:#dcfce7;color:#166534}.po-badge.variance{background:#fee2e2;color:#991b1b}.po-badge.unmatched,.po-badge.warn{background:#fef3c7;color:#92400e}
.po-form-card{border-top:5px solid #3b82f6!important}.po-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.po-summary>div{background:#fff;border:1px solid #bfdbfe;border-radius:13px;padding:13px}.po-summary span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#64748b}.po-summary strong{display:block;font-size:17px;color:#1e3a8a;margin-top:5px}
.po-link-banner{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;margin-bottom:15px;border:1px solid #c4b5fd;border-radius:12px;background:#f5f3ff;color:#5b21b6}.po-link-banner b{font-weight:900}.po-link-banner span{font-size:13px}
.po-match-rule{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.po-match-rule>div{background:#fff;border:1px solid #c4b5fd;border-radius:13px;padding:14px}.po-match-rule span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:900}.po-match-rule strong{display:block;font-size:21px;color:#5b21b6;margin-top:5px}.po-var-row{background:#fff1f2!important}
.po-variance-box{padding:15px 17px;border:2px solid #fca5a5;border-radius:13px;background:#fef2f2;color:#991b1b;margin-top:15px}.po-variance-box b,.po-variance-box span{display:block}.po-variance-box span{margin-top:4px;font-size:13px}.warn-text{color:#b45309!important}.good-text{color:#15803d!important}
@media(max-width:1150px){.po-kpis{grid-template-columns:repeat(3,1fr)}.po-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.po-grid{grid-template-columns:1fr}.po-kpis,.po-summary,.po-match-rule{grid-template-columns:repeat(2,1fr)}.po-filter-grid{grid-template-columns:1fr 1fr}.po-filter-grid .span-2{grid-column:span 2}.po-hero{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.po-kpis,.po-summary,.po-match-rule,.po-filter-grid{grid-template-columns:1fr}.po-filter-grid .span-2{grid-column:auto}}

.po-tolerance-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.po-tolerance-form label{font-size:12px;font-weight:850;color:#475569}@media(max-width:800px){.po-tolerance-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.po-tolerance-form{grid-template-columns:1fr}}


/* ===== Manufacturing MRP V13 ===== */
.page-mrp .content{background:linear-gradient(180deg,#f5f3ff 0,#f8fafc 440px)}
.mrp-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#4c1d95,#6d28d9 50%,#2563eb);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(76,29,149,.21)}
.mrp-hero.compact{padding:22px 26px}.mrp-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}
.mrp-hero h1{margin:4px 0 7px;color:#fff;font-size:32px;line-height:1.1}.mrp-hero p{margin:0;color:#ede9fe;font-size:15px}.mrp-hero .eyebrow{color:#ddd6fe}
.mrp-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.mrp-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #ddd6fe;background:#fff;color:#5b21b6;text-decoration:none;font-size:13px;font-weight:850}.mrp-tabs a:hover{background:#f5f3ff;border-color:#a78bfa}.mrp-tabs a.active{background:#6d28d9;color:#fff;border-color:#6d28d9;box-shadow:0 5px 15px rgba(109,40,217,.2)}
.mrp-primary{background:linear-gradient(135deg,#7c3aed,#2563eb)!important;color:#fff!important;border-color:#6d28d9!important;font-weight:900!important;box-shadow:0 7px 18px rgba(109,40,217,.17)!important}
.mrp-run-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.mrp-run-strip>div,.mrp-summary>div{background:#fff;border:1px solid #ddd6fe;border-radius:13px;padding:13px 14px}.mrp-run-strip span,.mrp-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:900}.mrp-run-strip strong,.mrp-summary strong{display:block;margin-top:5px;color:#4c1d95;font-size:17px}
.mrp-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.mrp-kpis a{display:block;text-decoration:none;padding:15px 16px;border-radius:15px;border:1px solid #ddd6fe;background:#fff;color:#172033;box-shadow:0 6px 18px rgba(76,29,149,.06)}.mrp-kpis span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.mrp-kpis strong{display:block;font-size:28px;color:#5b21b6;margin:6px 0}.mrp-kpis small{display:block;color:#64748b;font-size:12px}.mrp-kpis .danger{background:#fff1f2;border-color:#fecaca}.mrp-kpis .danger strong{color:#b91c1c}.mrp-kpis .buy{background:#eff6ff;border-color:#bfdbfe}.mrp-kpis .buy strong{color:#1d4ed8}.mrp-kpis .make{background:#ecfdf5;border-color:#a7f3d0}.mrp-kpis .make strong{color:#047857}.mrp-kpis .subcon{background:#fff7ed;border-color:#fed7aa}.mrp-kpis .subcon strong{color:#c2410c}
.mrp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.mrp-panel{border:1px solid #ddd6fe!important;box-shadow:0 7px 22px rgba(76,29,149,.06)!important}.mrp-panel h2,.mrp-panel h3{color:#4c1d95}.mrp-empty{padding:25px;text-align:center;color:#64748b;background:#fafafa;border-radius:12px}
.mrp-action-list{display:grid;gap:9px}.mrp-action-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;text-decoration:none;color:#172033}.mrp-action-row:hover{background:#f5f3ff;border-color:#a78bfa}.mrp-action-row span,.mrp-action-type{display:inline-block;font-size:10px;font-weight:900;color:#6d28d9;background:#ede9fe;padding:4px 7px;border-radius:999px}.mrp-action-row strong{display:block;margin-top:4px}.mrp-action-row small{display:block;color:#64748b;font-size:12px;margin-top:2px}.mrp-action-row>div:last-child{text-align:right}.mrp-action-row.p1{border-left:5px solid #dc2626}.mrp-action-row.p2{border-left:5px solid #f59e0b}
.mrp-table th{background:#ede9fe!important;color:#4c1d95!important;font-size:12px!important;white-space:nowrap}.mrp-table td{font-size:13px!important;padding:10px 9px!important;vertical-align:top}.mrp-table td strong{font-size:13px}.mrp-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.mrp-table.wide{min-width:1500px}.mrp-short-row{background:#fff7ed!important}.mrp-blocked-row{background:#fff1f2!important}
.mrp-type,.mrp-status,.mrp-demand,.mrp-supply{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.mrp-type.make{background:#dcfce7;color:#166534}.mrp-type.buy{background:#dbeafe;color:#1e40af}.mrp-type.subcon{background:#ffedd5;color:#9a3412}.mrp-status.planned{background:#fef3c7;color:#92400e}.mrp-status.blocked{background:#fee2e2;color:#991b1b}.mrp-status.converted{background:#dcfce7;color:#166534}.mrp-status.cancelled{background:#e2e8f0;color:#475569}.mrp-demand{background:#fee2e2;color:#991b1b}.mrp-supply{background:#dcfce7;color:#166534}.planned-text{color:#6d28d9!important}
.mrp-filter{border-top:4px solid #8b5cf6!important}.mrp-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.mrp-filter-grid .span-2{grid-column:span 2}.mrp-filter label,.mrp-run-card label{font-size:12px;font-weight:850;color:#475569}
.mrp-run-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px}.mrp-run-card{border-top:5px solid #7c3aed!important}.mrp-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:16px 0}.mrp-check-grid label{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid #ddd6fe;border-radius:11px;background:#faf5ff}.mrp-check-grid input{width:auto;margin-top:2px}.mrp-check-grid b,.mrp-check-grid small{display:block}.mrp-check-grid small{font-size:11px;color:#64748b;margin-top:2px}.mrp-run-warning{padding:13px 15px;border:1px solid #c4b5fd;border-radius:12px;background:#f5f3ff;color:#5b21b6;margin:14px 0}.mrp-run-warning b,.mrp-run-warning span{display:block}.mrp-run-warning span{font-size:12px;margin-top:4px}.mrp-run-btn{font-size:16px!important;padding:11px 20px!important}
.mrp-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.mrp-flow div{padding:8px 10px;border-radius:9px;background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6;font-weight:800;font-size:12px}.mrp-flow b{color:#64748b}.mrp-flow .net{background:#ede9fe;border-color:#8b5cf6;color:#4c1d95}
.mrp-explain{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.mrp-explain>div{flex:1;min-width:115px;padding:13px;border:1px solid #ddd6fe;border-radius:12px;background:#fff}.mrp-explain span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.mrp-explain strong{display:block;margin-top:5px;color:#4c1d95;font-size:20px}.mrp-explain>b{font-size:18px;color:#64748b}.mrp-explain .net{background:#4c1d95}.mrp-explain .net span,.mrp-explain .net strong{color:#fff}
.mrp-summary{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;margin-bottom:18px}.mrp-bucket-cards{display:flex;gap:9px;overflow-x:auto;padding-bottom:5px}.mrp-bucket-cards>div{min-width:150px;padding:12px;border:1px solid #ddd6fe;border-radius:12px;background:#fff}.mrp-bucket-cards>div.negative{background:#fff1f2;border-color:#fecaca}.mrp-bucket-cards span,.mrp-bucket-cards small,.mrp-bucket-cards strong,.mrp-bucket-cards em{display:block}.mrp-bucket-cards span{font-size:10px;font-weight:900;color:#64748b}.mrp-bucket-cards small{font-size:11px;margin-top:4px}.mrp-bucket-cards strong{font-size:19px;color:#4c1d95;margin-top:8px}.mrp-bucket-cards em{font-size:10px;color:#64748b}
.mrp-mini-action{padding:11px 12px;border-radius:10px;background:#fff7ed;border-left:4px solid #f59e0b;margin-bottom:8px}.mrp-mini-action.p1{background:#fff1f2;border-left-color:#dc2626}.mrp-mini-action b,.mrp-mini-action span{display:block}.mrp-mini-action span{font-size:12px;margin-top:3px;color:#475569}
.mrp-supplier-form{display:flex;gap:5px;min-width:260px}.mrp-supplier-form select{min-width:160px;font-size:11px}.inline-form{display:inline-block;margin-left:4px}
.mrp-action-summary{display:flex;gap:7px;margin-bottom:14px}.mrp-action-summary a{padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #ddd6fe;color:#5b21b6;text-decoration:none;font-size:11px;font-weight:900}.mrp-action-p1{background:#fff1f2!important}.mrp-action-p2{background:#fff7ed!important}
.mrp-master-list{display:grid;gap:9px;margin:14px 0}.mrp-master-list>div{padding:11px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.mrp-master-list b,.mrp-master-list span{display:block}.mrp-master-list span{font-size:12px;color:#64748b;margin-top:3px}
@media(max-width:1200px){.mrp-kpis{grid-template-columns:repeat(3,1fr)}.mrp-summary{grid-template-columns:repeat(4,1fr)}.mrp-run-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.mrp-grid,.mrp-run-layout{grid-template-columns:1fr}.mrp-filter-grid{grid-template-columns:1fr 1fr}.mrp-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.mrp-kpis,.mrp-run-strip,.mrp-summary,.mrp-filter-grid,.mrp-check-grid{grid-template-columns:1fr}.mrp-filter-grid .span-2{grid-column:auto}.mrp-hero{flex-direction:column;align-items:flex-start}.mrp-explain{display:grid;grid-template-columns:1fr 1fr}.mrp-explain>b{display:none}}

/* Inventory GRN Stock Visibility V13.4 */
.inv-grn-audit{border-top:5px solid #14b8a6!important;margin-top:18px}.inv-grn-audit h3{color:#0f766e}.inv-grn-audit .inv-badge.blocked{font-weight:900}

/* ===== Quality Assurance & QMS V14 ===== */
.page-quality .content{background:linear-gradient(180deg,#ecfeff 0,#f8fafc 460px)}
.qa-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#064e3b,#0f766e 48%,#0891b2);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(6,78,59,.19)}
.qa-hero.compact{padding:22px 26px}.qa-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.qa-hero h1{margin:4px 0 7px;color:#fff;font-size:32px;line-height:1.1}.qa-hero p{margin:0;color:#ccfbf1;font-size:15px}.qa-hero .eyebrow{color:#99f6e4}
.qa-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.qa-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #99f6e4;background:#fff;color:#0f766e;text-decoration:none;font-size:13px;font-weight:850}.qa-tabs a:hover{background:#f0fdfa;border-color:#2dd4bf}.qa-tabs a.active{background:#0f766e;color:#fff;border-color:#0f766e;box-shadow:0 5px 15px rgba(15,118,110,.2)}
.qa-primary{background:linear-gradient(135deg,#0f766e,#0891b2)!important;color:#fff!important;border-color:#0f766e!important;font-weight:900!important}.qa-release{background:linear-gradient(135deg,#16a34a,#059669)!important;color:#fff!important;border-color:#047857!important;font-weight:900!important}.qa-danger{background:linear-gradient(135deg,#dc2626,#be123c)!important;color:#fff!important;border-color:#b91c1c!important;font-weight:900!important}
.qa-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.qa-kpis a{display:block;text-decoration:none;padding:15px 16px;border-radius:15px;border:1px solid #99f6e4;background:#fff;color:#172033;box-shadow:0 6px 18px rgba(15,118,110,.06)}.qa-kpis span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.qa-kpis strong{display:block;font-size:28px;color:#0f766e;margin:6px 0}.qa-kpis small{display:block;color:#64748b;font-size:12px}.qa-kpis .danger{background:#fff1f2;border-color:#fecaca}.qa-kpis .danger strong{color:#b91c1c}.qa-kpis .hold{background:#fffbeb;border-color:#fde68a}.qa-kpis .hold strong{color:#b45309}
.qa-score-strip,.qa-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.qa-score-strip>div,.qa-summary>div{background:#fff;border:1px solid #99f6e4;border-radius:13px;padding:13px}.qa-score-strip span,.qa-summary span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#64748b}.qa-score-strip strong,.qa-summary strong{display:block;font-size:18px;color:#0f766e;margin-top:5px}.qa-score-strip{grid-template-columns:repeat(4,1fr)}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.qa-panel{border:1px solid #99f6e4!important;box-shadow:0 7px 22px rgba(15,118,110,.06)!important}.qa-panel h2,.qa-panel h3,.qa-form-card h2,.qa-form-card h3{color:#115e59}.qa-form-card{border-top:5px solid #14b8a6!important}.qa-empty{padding:22px;text-align:center;color:#64748b;background:#f8fafc;border-radius:11px}
.qa-table th{background:#ccfbf1!important;color:#115e59!important;font-size:12px!important;white-space:nowrap}.qa-table td{padding:10px 9px!important;font-size:13px!important;vertical-align:top}.qa-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.qa-table.wide{min-width:1450px}.qa-fail-row{background:#fff1f2!important}
.qa-action-list{display:grid;gap:9px}.qa-action-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;text-decoration:none;color:#172033}.qa-action-row:hover{background:#f0fdfa;border-color:#2dd4bf}.qa-action-row span{display:inline-block;font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:#fef3c7;color:#92400e}.qa-action-row.critical{border-left:5px solid #dc2626}.qa-action-row.major{border-left:5px solid #f59e0b}.qa-action-row.minor{border-left:5px solid #14b8a6}.qa-action-row strong,.qa-action-row small{display:block}.qa-action-row small{color:#64748b;margin-top:3px}.qa-action-row>div:last-child{text-align:right}
.qa-queue-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.qa-queue-tabs a{padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #99f6e4;text-decoration:none;color:#0f766e;font-weight:850}.qa-queue-tabs b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#0f766e;color:#fff;margin-left:5px}.qa-source-banner{display:flex;justify-content:space-between;padding:13px 15px;margin-bottom:15px;background:#ecfeff;border:1px solid #67e8f9;border-radius:12px;color:#155e75}.qa-filter{border-top:4px solid #14b8a6!important}.qa-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.qa-filter-grid .span-2{grid-column:span 2}.qa-filter-grid label,.qa-form-card label{font-size:12px;font-weight:850;color:#475569}
.qa-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.qa-progress>div{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #99f6e4}.qa-progress b{display:block;font-size:22px;color:#0f766e}.qa-progress span{font-size:11px;color:#64748b}.qa-criticality{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.qa-criticality.minor{background:#dbeafe;color:#1e40af}.qa-criticality.major{background:#fef3c7;color:#92400e}.qa-criticality.critical{background:#fee2e2;color:#991b1b}.qa-measure-form{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1fr) auto;gap:5px;min-width:310px}.qa-measure-form input,.qa-measure-form select{font-size:11px;padding:6px}
.qa-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qa-detail-grid>div,.qa-assignment,.qa-history,.qa-attachment,.qa-rank{padding:10px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;margin-bottom:7px}.qa-detail-grid b,.qa-detail-grid span,.qa-assignment b,.qa-assignment span,.qa-history b,.qa-history span,.qa-attachment b,.qa-attachment span,.qa-rank b,.qa-rank span{display:block}.qa-detail-grid span,.qa-assignment span,.qa-history span,.qa-attachment span,.qa-rank span{font-size:12px;color:#64748b;margin-top:3px}
.qa-rating{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;font-size:16px;font-weight:950}.qa-rating.rA{background:#dcfce7;color:#166534}.qa-rating.rB{background:#dbeafe;color:#1e40af}.qa-rating.rC{background:#fef3c7;color:#92400e}.qa-rating.rD{background:#fee2e2;color:#991b1b}.qa-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.qa-status.pass{background:#dcfce7;color:#166534}.qa-status.fail{background:#fee2e2;color:#991b1b}.qa-status.info{background:#dbeafe;color:#1e40af}
@media(max-width:1200px){.qa-kpis{grid-template-columns:repeat(3,1fr)}.qa-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.qa-grid{grid-template-columns:1fr}.qa-filter-grid{grid-template-columns:1fr 1fr}.qa-score-strip,.qa-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.qa-kpis,.qa-score-strip,.qa-summary,.qa-filter-grid,.qa-progress{grid-template-columns:1fr}.qa-filter-grid .span-2{grid-column:auto}.qa-hero{flex-direction:column;align-items:flex-start}.qa-measure-form{min-width:220px;grid-template-columns:1fr}}

/* ===== Manufacturing Job Costing V15 ===== */
.page-costing .content{background:linear-gradient(180deg,#eef2ff 0,#f8fafc 450px)}
.jc-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#312e81,#4f46e5 52%,#0891b2);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(49,46,129,.2)}
.jc-hero.compact{padding:22px 26px}.jc-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.jc-hero h1{margin:4px 0 7px;color:#fff;font-size:31px}.jc-hero p{margin:0;color:#e0e7ff;font-size:15px}.jc-hero .eyebrow{color:#c7d2fe}
.jc-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.jc-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #c7d2fe;background:#fff;color:#4338ca;text-decoration:none;font-size:13px;font-weight:850}.jc-tabs a.active{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 5px 15px rgba(79,70,229,.2)}
.jc-primary{background:linear-gradient(135deg,#4f46e5,#0891b2)!important;color:#fff!important;border-color:#4338ca!important;font-weight:900!important}.jc-close{background:linear-gradient(135deg,#15803d,#059669)!important;color:#fff!important;border-color:#047857!important;font-weight:900!important}
.jc-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.jc-kpis>div{padding:15px 16px;border-radius:15px;background:#fff;border:1px solid #c7d2fe;box-shadow:0 6px 18px rgba(49,46,129,.06)}.jc-kpis span,.jc-summary span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#64748b}.jc-kpis strong{display:block;font-size:25px;color:#4338ca;margin:6px 0}.jc-kpis small{display:block;color:#64748b;font-size:12px}.jc-kpis .danger{background:#fff1f2;border-color:#fecaca}.jc-kpis .danger strong{color:#b91c1c}.jc-kpis .good{background:#ecfdf5;border-color:#a7f3d0}.jc-kpis .good strong{color:#047857}.jc-kpis .wip{background:#fff7ed;border-color:#fed7aa}.jc-kpis .wip strong{color:#c2410c}
.jc-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px}.jc-panel{border:1px solid #c7d2fe!important;box-shadow:0 7px 22px rgba(49,46,129,.06)!important}.jc-panel h2,.jc-panel h3{color:#312e81}
.jc-formula{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:18px 0}.jc-formula div{padding:8px 10px;border-radius:9px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;font-size:11px;font-weight:850}.jc-formula b{color:#64748b}.jc-formula .total{background:#312e81;color:#fff;border-color:#312e81}
.jc-filter{border-top:4px solid #6366f1!important}.jc-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.jc-filter-grid .span-2{grid-column:span 2}.jc-filter label{font-size:12px;font-weight:850;color:#475569}
.jc-table th{background:#e0e7ff!important;color:#312e81!important;font-size:12px!important;white-space:nowrap}.jc-table td{padding:10px 9px!important;font-size:13px!important;vertical-align:top}.jc-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.jc-table.wide{min-width:1500px}
.jc-summary{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;margin-bottom:18px}.jc-summary>div{padding:13px 14px;border-radius:13px;background:#fff;border:1px solid #c7d2fe}.jc-summary strong{display:block;color:#312e81;font-size:18px;margin-top:5px}.jc-summary .danger{background:#fff1f2;border-color:#fecaca}.jc-summary .danger strong{color:#b91c1c}.jc-summary .good{background:#ecfdf5;border-color:#a7f3d0}.jc-summary .good strong{color:#047857}.jc-summary .wip{background:#fff7ed;border-color:#fed7aa}.jc-summary .wip strong{color:#c2410c}
.jc-type,.jc-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.jc-type.material{background:#dbeafe;color:#1e40af}.jc-type.labor{background:#dcfce7;color:#166534}.jc-type.machine{background:#fef3c7;color:#92400e}.jc-type.subcon{background:#ffedd5;color:#9a3412}.jc-type.overhead{background:#ede9fe;color:#5b21b6}.jc-type.quality{background:#fee2e2;color:#991b1b}.jc-type.adjustment{background:#e2e8f0;color:#334155}.jc-status.open{background:#fef3c7;color:#92400e}.jc-status.closed{background:#dcfce7;color:#166534}.jc-status.reopened{background:#dbeafe;color:#1e40af}.jc-status.not_costed,.jc-status.blocked{background:#fee2e2;color:#991b1b}
.jc-blockers{display:grid;gap:7px;margin:12px 0}.jc-blockers>div{padding:9px 11px;border-radius:9px;background:#fff1f2;border:1px solid #fecaca;color:#991b1b;font-size:12px;font-weight:750}.jc-budget-bar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;border:1px solid #bfdbfe!important;border-left:5px solid #2563eb!important}.jc-budget-bar b,.jc-budget-bar span{display:block}.jc-budget-bar b{color:#1e3a8a}.jc-budget-bar span{color:#64748b;font-size:12px;margin-top:3px}.jc-budget-bar form{display:flex;gap:7px;align-items:end;min-width:420px}.jc-budget-bar input{min-width:250px}
@media(max-width:1200px){.jc-kpis{grid-template-columns:repeat(3,1fr)}.jc-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.jc-grid{grid-template-columns:1fr}.jc-filter-grid{grid-template-columns:1fr 1fr}.jc-budget-bar{flex-direction:column;align-items:stretch}.jc-budget-bar form{min-width:0}.jc-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.jc-kpis,.jc-summary,.jc-filter-grid{grid-template-columns:1fr}.jc-filter-grid .span-2{grid-column:auto}.jc-hero{flex-direction:column;align-items:flex-start}.jc-budget-bar form{display:block}.jc-budget-bar input{min-width:0;margin-bottom:7px}}
/* ===== Delivery & Customer Billing V16 ===== */
.page-delivery .content{background:linear-gradient(180deg,#ecfeff 0,#f8fafc 440px)}
.db-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#075985,#0284c7 48%,#0f766e);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(3,105,161,.2)}
.db-hero.compact{padding:21px 26px}.db-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.db-hero h1{margin:4px 0 7px;color:#fff;font-size:31px}.db-hero p{margin:0;color:#cffafe;font-size:15px}.db-hero .eyebrow{color:#a5f3fc}
.db-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.db-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #bae6fd;background:#fff;color:#0369a1;text-decoration:none;font-size:13px;font-weight:850}.db-tabs a:hover{background:#ecfeff;border-color:#38bdf8}.db-tabs a.active{background:#0284c7;color:#fff;border-color:#0284c7;box-shadow:0 5px 15px rgba(2,132,199,.22)}
.db-primary{background:linear-gradient(135deg,#0284c7,#0f766e)!important;color:#fff!important;border-color:#0369a1!important;font-weight:900!important}.db-release{background:linear-gradient(135deg,#16a34a,#059669)!important;color:#fff!important;border-color:#047857!important;font-weight:900!important}
.db-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.db-kpis a{display:block;text-decoration:none;padding:15px 16px;border-radius:15px;border:1px solid #bae6fd;background:#fff;color:#172033;box-shadow:0 6px 18px rgba(3,105,161,.06)}.db-kpis span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.db-kpis strong{display:block;font-size:25px;color:#0369a1;margin:6px 0}.db-kpis small{display:block;color:#64748b;font-size:12px}.db-kpis .warn{background:#fff7ed;border-color:#fed7aa}.db-kpis .warn strong{color:#c2410c}.db-kpis .danger{background:#fff1f2;border-color:#fecaca}.db-kpis .danger strong{color:#b91c1c}
.db-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.db-panel{border:1px solid #bae6fd!important;box-shadow:0 7px 22px rgba(3,105,161,.06)!important}.db-panel h2,.db-panel h3{color:#075985}.db-form{border-top:5px solid #0284c7!important}.db-filter{border-top:4px solid #38bdf8!important}.db-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.db-filter-grid .span-2{grid-column:span 2}.db-filter label,.db-form label{font-size:12px;font-weight:850;color:#475569}
.db-table th{background:#cffafe!important;color:#075985!important;font-size:12px!important;white-space:nowrap}.db-table td{font-size:13px!important;padding:10px 9px!important;vertical-align:top}.db-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.db-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.db-badge.good{background:#dcfce7;color:#166534}.db-badge.warn{background:#fef3c7;color:#92400e}.db-badge.bad{background:#fee2e2;color:#991b1b}
.db-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:18px}.db-summary>div{background:#fff;border:1px solid #bae6fd;border-radius:13px;padding:13px}.db-summary span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.db-summary strong{display:block;color:#075985;font-size:17px;margin-top:5px}.db-empty{padding:25px;text-align:center;color:#64748b;background:#f8fafc;border-radius:12px}
.db-aging-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.db-aging-kpis>div{background:#fff;border:1px solid #bae6fd;border-radius:14px;padding:15px}.db-aging-kpis span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#64748b}.db-aging-kpis strong{display:block;font-size:22px;color:#0369a1;margin-top:6px}.db-aging-kpis .danger{background:#fff1f2;border-color:#fecaca}.db-aging-kpis .danger strong{color:#b91c1c}
.db-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.db-checks label{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #bae6fd;border-radius:11px;background:#ecfeff}.db-checks input{width:auto;margin-top:3px}.db-checks b,.db-checks small{display:block}.db-checks small{color:#64748b;font-size:11px;margin-top:3px}
.nav-delivery{border-left-color:#0284c7!important}.nav-delivery.active{background:linear-gradient(90deg,rgba(2,132,199,.2),rgba(15,118,110,.08))!important}
@media(max-width:1200px){.db-kpis{grid-template-columns:repeat(3,1fr)}.db-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.db-grid{grid-template-columns:1fr}.db-kpis,.db-summary,.db-aging-kpis{grid-template-columns:repeat(2,1fr)}.db-filter-grid{grid-template-columns:1fr 1fr}.db-filter-grid .span-2{grid-column:span 2}.db-hero{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.db-kpis,.db-summary,.db-aging-kpis,.db-filter-grid,.db-checks{grid-template-columns:1fr}.db-filter-grid .span-2{grid-column:auto}}

/* ===== Finance & Accounting V17 ===== */
.page-accounting .content{background:linear-gradient(180deg,#ecfeff 0,#f8fafc 460px)}
.acct-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:22px;background:linear-gradient(125deg,#0f172a,#0f766e 55%,#0891b2);color:#fff;margin-bottom:18px;box-shadow:0 18px 44px rgba(15,118,110,.18)}
.acct-hero.compact{padding:22px 26px}.acct-hero.danger{background:linear-gradient(125deg,#7f1d1d,#dc2626)}.acct-hero h1{margin:4px 0 7px;color:#fff;font-size:32px;line-height:1.1}.acct-hero p{margin:0;color:#ccfbf1;font-size:15px}.acct-hero .eyebrow{color:#99f6e4}
.acct-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.acct-tabs a{padding:9px 12px;border-radius:10px;border:1px solid #99f6e4;background:#fff;color:#0f766e;text-decoration:none;font-size:12px;font-weight:850}.acct-tabs a:hover{background:#ecfdf5}.acct-tabs a.active{background:#0f766e;color:#fff;border-color:#0f766e;box-shadow:0 5px 15px rgba(15,118,110,.2)}
.acct-primary{background:linear-gradient(135deg,#0f766e,#0891b2)!important;color:#fff!important;border-color:#0f766e!important;font-weight:900!important}.acct-panel{border:1px solid #a7f3d0!important;box-shadow:0 7px 22px rgba(15,118,110,.06)!important}.acct-panel h2,.acct-panel h3,.acct-form h2,.acct-form h3{color:#115e59}
.acct-period-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.acct-period-strip>div,.acct-summary>div{background:#fff;border:1px solid #a7f3d0;border-radius:13px;padding:13px 14px}.acct-period-strip span,.acct-summary span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.acct-period-strip strong,.acct-summary strong{display:block;margin-top:5px;font-size:17px;color:#115e59}
.acct-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.acct-kpis>a,.acct-kpis>div{display:block;text-decoration:none;padding:15px 16px;border-radius:15px;border:1px solid #a7f3d0;background:#fff;color:#172033;box-shadow:0 6px 18px rgba(15,118,110,.05)}.acct-kpis span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:900}.acct-kpis strong{display:block;font-size:25px;color:#0f766e;margin:6px 0}.acct-kpis small{display:block;color:#64748b;font-size:11px}.acct-kpis .danger{background:#fff1f2;border-color:#fecaca}.acct-kpis .danger strong{color:#b91c1c}.acct-kpis .profit{background:#ecfdf5;border-color:#6ee7b7}.acct-kpis.mini{grid-template-columns:repeat(3,1fr)}
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.acct-control-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.acct-control-list a{padding:13px;border:1px solid #d1fae5;border-radius:12px;background:#f0fdfa;text-decoration:none;color:#134e4a}.acct-control-list b,.acct-control-list span{display:block}.acct-control-list span{font-size:11px;color:#64748b;margin-top:3px}
.acct-table th{background:#ccfbf1!important;color:#115e59!important;font-size:12px!important;white-space:nowrap}.acct-table td{font-size:13px!important;padding:10px 9px!important;vertical-align:top}.acct-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.acct-table .mono,.acct-table a.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.acct-total th,.acct-total td{background:#f0fdfa!important;border-top:2px solid #0f766e!important}.acct-opening td{background:#f8fafc!important;font-style:italic}
.acct-badge,.acct-age{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.acct-badge.posted,.acct-badge.open{background:#dcfce7;color:#166534}.acct-badge.draft{background:#fef3c7;color:#92400e}.acct-badge.closed{background:#fee2e2;color:#991b1b}.acct-age.age-current{background:#dcfce7;color:#166534}.acct-age.age-1-30{background:#fef3c7;color:#92400e}.acct-age.age-31-60,.acct-age.age-61-90,.acct-age.age-90plus{background:#fee2e2;color:#991b1b}
.acct-filter{border-top:4px solid #14b8a6!important}.acct-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.acct-filter-grid .span-2{grid-column:span 2}.acct-filter label,.acct-form label{font-size:12px;font-weight:850;color:#475569}.acct-form{border-top:5px solid #14b8a6!important}.acct-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:18px}
.acct-financial-report{max-width:1050px;margin:0 auto;padding:28px!important}.acct-financial-report>h2{text-align:center;color:#0f172a;margin-bottom:25px}.acct-report-group{margin:18px 0}.acct-report-group>h3{padding:8px 10px;background:#ecfeff;border-left:5px solid #0891b2;color:#155e75}.acct-report-group>div,.acct-report-sub>div{display:flex;justify-content:space-between;gap:20px;padding:7px 10px;border-bottom:1px solid #f1f5f9}.acct-report-sub>b{display:block;padding:8px 10px;color:#475569}.acct-report-group a{color:#0f172a;text-decoration:none}.acct-report-group .subtotal{background:#f8fafc}.acct-report-group .group-total{background:#f0fdfa;border-top:2px solid #5eead4;font-size:15px}.acct-net{display:flex;justify-content:space-between;padding:14px 16px;margin-top:20px;border-radius:12px;font-size:18px}.acct-net.profit{background:#dcfce7;color:#166534}.acct-net.loss{background:#fee2e2;color:#991b1b}.acct-balance-check{margin-top:16px;padding:12px 14px;border-radius:10px;font-weight:850}.acct-balance-check.good{background:#dcfce7;color:#166534}.acct-balance-check.bad{background:#fee2e2;color:#991b1b}
.acct-inline-form{display:flex;gap:10px;align-items:end}.acct-error-list{margin-top:15px;border:1px solid #fecaca;background:#fff1f2;border-radius:10px;padding:12px}.acct-error-list div{padding:5px;color:#991b1b;font-size:12px}
@media(max-width:1250px){.acct-kpis{grid-template-columns:repeat(3,1fr)}.acct-summary{grid-template-columns:repeat(3,1fr)}.acct-period-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.acct-grid{grid-template-columns:1fr}.acct-filter-grid{grid-template-columns:1fr 1fr}.acct-control-list{grid-template-columns:1fr}}@media(max-width:620px){.acct-kpis,.acct-kpis.mini,.acct-summary,.acct-period-strip,.acct-filter-grid{grid-template-columns:1fr}.acct-filter-grid .span-2{grid-column:auto}.acct-hero{flex-direction:column;align-items:flex-start}}
/* Accounting V18 */
.nav-accounting{font-weight:700}.acct-balance-check{margin-top:16px;padding:14px;border-radius:12px;font-weight:800}.acct-balance-check.good{background:#ecfdf5}.acct-balance-check.bad{background:#fef2f2}.acct-table small{display:block;opacity:.65}.acct-total{font-weight:800}

/* =========================================================
   Accounting V18.1 - AR/AP Posting Centre
   ========================================================= */
.posting-centre-hero .page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.posting-kpis small{display:block;margin-top:4px;opacity:.7;font-size:12px}
.posting-filter{align-items:end}
.posting-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4px 18px;flex-wrap:wrap}
.posting-toolbar.bottom{padding:18px 4px 4px;border-top:1px solid rgba(148,163,184,.22)}
.posting-selected-info{display:inline-flex;margin-left:10px;padding:6px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:800;font-size:12px}
.posting-main-btn{min-width:190px;font-weight:800}
.posting-table .check-col{width:42px;text-align:center}
.posting-table tbody tr.posting-row.ready{background:rgba(236,253,245,.45)}
.posting-table tbody tr.posting-row.posted{background:rgba(248,250,252,.7)}
.posting-table tbody tr.posting-row.not-ready{opacity:.72}
.posting-table input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#0891b2}
.posting-lock{display:inline-block;color:#94a3b8;font-size:18px}
.posting-side{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px;border-radius:999px;font-weight:900;font-size:11px;letter-spacing:.04em}
.posting-side.side-ar{background:#dbeafe;color:#1d4ed8}
.posting-side.side-ap{background:#ede9fe;color:#6d28d9}
.posting-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.posting-status.ready{background:#dcfce7;color:#166534}
.posting-status.posted{background:#cffafe;color:#155e75}
.posting-status.not-ready{background:#f1f5f9;color:#64748b}
.source-status{white-space:nowrap}
.posting-result-grid{display:grid;gap:7px}
.posting-result-row{display:grid;grid-template-columns:minmax(160px,.8fr) 130px minmax(220px,2fr);gap:12px;align-items:center;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.posting-result-row span{font-weight:900}
.posting-result-row em{font-style:normal;color:#475569}
.posting-result-row.posted span,.posting-result-row.success span{color:#166534}
.posting-result-row.failed span{color:#b91c1c}
@media(max-width:900px){.posting-result-row{grid-template-columns:1fr}.posting-table{min-width:1250px}}


/* ============================================================
   Accounting V18.2 - Visible Finance Navigation + Reports Hub
   ============================================================ */
.side-nav .nav-accounting-sub{padding-left:28px;font-size:13px;opacity:.96}
.side-nav .nav-accounting-sub span{width:20px;display:inline-block}
.acct-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.report-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.report-launch-card{display:flex;gap:16px;padding:20px;background:#fff;border:1px solid #dbe7eb;border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(14,56,70,.06);transition:.18s ease}
.report-launch-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(14,56,70,.11);border-color:#7ec7d2}
.report-launch-card .report-icon{width:48px;height:48px;border-radius:14px;background:#e8f7f8;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 48px}
.report-launch-card h3{margin:0 0 7px;font-size:18px}.report-launch-card p{margin:0 0 12px;color:#647780;line-height:1.45}.report-launch-card b{color:#087a83}
.report-launch-card.critical{border-top:4px solid #087a83}.report-launch-card.success{border-top:4px solid #32966a}.report-launch-card.warning{border-top:4px solid #c88a28}
.report-help{margin-top:16px}.report-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.report-flow span,.report-flow strong{padding:8px 12px;border-radius:10px;background:#edf6f7}.report-flow strong{background:#0d6670;color:#fff}
@media(max-width:1100px){.report-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.report-launch-grid{grid-template-columns:1fr}}


/* Accounting V18.5 - Opening Balance + Year-End */
.opening-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin:0 0 14px}.opening-toolbar label{font-weight:800}.opening-table .ob-amt{min-width:130px;text-align:right}.opening-table .opening-pl{opacity:.55;background:#f8fafc}.year-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.year-check{display:flex;gap:12px;padding:14px;border-radius:12px;border:1px solid #e2e8f0}.year-check>span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 28px}.year-check b,.year-check small{display:block}.year-check small{margin-top:4px;opacity:.7}.year-check.pass{background:#f0fdf4;border-color:#bbf7d0}.year-check.pass>span{background:#dcfce7;color:#166534}.year-check.fail{background:#fff7ed;border-color:#fed7aa}.year-check.fail>span{background:#ffedd5;color:#9a3412}.year-manual-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.year-manual-checks label{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #dbe7eb;border-radius:10px;background:#fff}.year-manual-checks input{margin-top:2px}.year-close-box{border-left:5px solid #0f766e}.year-reopen-box{border-left:5px solid #b45309}@media(max-width:800px){.year-check-grid,.year-manual-checks{grid-template-columns:1fr}}
