:root{font-size:14px;--surface-base: #111827;--surface-raised: #273449;--surface-panel: #1e293b;--text-main: #e5eefb;--text-muted: #94a3b8;--primary: #0891b2;--primary-hover: #0e7490;--warning: #f59e0b;--danger: #ef4444;--success: #22c55e;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text-main);background:var(--surface-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--surface-base) 0%,var(--surface-panel) 100%)}button,input,select,textarea{font:inherit}#root{min-height:100vh}.auth-shell,.app-shell{max-width:1400px;margin:0 auto;padding:48px 20px 80px}.app-shell{max-width:1520px;padding-top:24px}.app-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}.sidebar{position:sticky;top:24px;min-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:30px;padding:20px 14px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#111827eb;box-shadow:0 20px 50px #0f172a47}.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 6px}.brand-mark{display:grid;place-items:center;width:100%;height:88px;border-radius:10px;background:transparent;color:#fff7ed;font-weight:800;overflow:hidden}.brand-mark img,.logo-preview img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.logo-setting{display:flex;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(148,163,184,.18)}.logo-preview{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff7ed;font-size:1.2rem;font-weight:800}.brand-lockup div{display:grid;gap:2px}.brand-lockup small,.role-label{color:#67e8f9;font-size:.75rem}.sidebar-nav{display:grid;gap:22px}.nav-group{display:grid;gap:6px}.nav-group>p{margin:0 8px 4px;color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar .nav-tab{width:100%;padding:10px 12px;text-align:left;background:transparent;border-color:transparent;color:#cbd5e1}.sidebar .nav-tab:hover{background:#0891b224}.sidebar .nav-tab.active{background:linear-gradient(135deg,var(--primary),#155e75);color:#fff}.sidebar-footer{display:grid;gap:8px;padding:0 6px 14px;border-bottom:1px solid rgba(148,163,184,.18)}.sidebar-footer .user-pill{width:100%;justify-content:center;text-align:center}.workspace{min-width:0}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-card,.editor-panel,.panel,.card{background:#1e293bc7;border:1px solid rgba(148,163,184,.25);border-radius:18px;box-shadow:0 20px 50px #0f172a66}.auth-card{width:min(100%,440px);padding:32px}.auth-logo{display:block;width:min(100%,250px);height:150px;object-fit:contain;margin:0 auto 18px}.auth-form,.stacked-form{display:grid;gap:18px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.diagnostic-card{display:grid;gap:6px;padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#0f172a61}.diagnostic-card span,.diagnostic-card small{color:#9db9bd}.diagnostic-card strong{overflow-wrap:anywhere}.technician-list{display:grid;gap:10px;margin:0;padding-left:20px;color:#d7f9fc}.technician-warning{border-left:3px solid #f59e0b}.audit-log-list{display:grid;gap:8px;max-height:460px;overflow-y:auto}.audit-log-launcher{width:100%;margin-top:4px}.floating-bug-button{background:#f59e0b38;border:1px solid rgba(251,191,36,.55);color:#fef3c7}.audit-log-modal{width:min(100%,960px)}.bug-report-modal{width:min(100%,620px)}.bug-report-list{display:grid;gap:8px;max-height:360px;overflow-y:auto}.bug-report-entry{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#0f172a66}.bug-report-entry div{display:grid;gap:3px}.bug-report-entry span,.bug-report-entry time{color:var(--text-muted);font-size:.78rem}.bug-report-entry p{margin:5px 0 0}.audit-log-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#0f172a66}.audit-log-entry>div:first-child{display:grid;gap:3px;min-width:0}.audit-log-entry span{color:#cbd5e1;overflow-wrap:anywhere}.audit-log-meta{display:grid;flex:0 0 auto;gap:3px;color:#93c5fd;font-size:.78rem;text-align:right}.auth-form label,.stacked-form label{min-width:0;display:grid;gap:8px;color:#d7f9fc;font-weight:600}.auth-form input,.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;min-width:0;max-width:100%;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172ab8;color:#fff;padding:12px 14px}.auth-intro{margin:-8px 0 4px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:72px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:5px 8px;border:0;background:transparent;color:#67e8f9;cursor:pointer}.auth-remember-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;color:var(--text-muted)!important;font-size:.9rem;font-weight:400!important}.auth-remember-row input{width:16px;height:16px;margin:0;accent-color:var(--primary)}.auth-footer{display:flex;justify-content:space-between;margin-top:22px;color:var(--text-muted);font-size:.78rem}.stacked-form textarea{resize:vertical}button,.secondary-button,.nav-tab{border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary),#155e75);color:#fff;padding:12px 16px;font-weight:700;cursor:pointer}.link-button{padding:0;border:0;border-radius:0;background:transparent;color:#67e8f9;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link-button:hover{color:#cffafe}.secondary-button,.nav-tab{background:#0891b229;border:1px solid rgba(34,211,238,.35)}.danger-button{background:#ef444433;border:1px solid rgba(248,113,113,.6);color:#fecaca;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.topbar h1{font-size:clamp(1.8rem,3vw,2.6rem)}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#0891b22e;color:#cffafe;border:1px solid rgba(34,211,238,.4)}.page-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.nav-tab{padding:10px 14px}.nav-tab.active{background:linear-gradient(135deg,var(--primary),#155e75)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;color:#67e8f9;font-size:12px}h1{margin:0;font-size:clamp(2rem,4vw,3.2rem)}h2,h3{margin-top:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:28px}.overview-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.overview-intro h2{margin-bottom:0}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.alert-stat{border-color:#fb923c73}.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-heading-row h2{margin-bottom:0}.panel-count{color:#fbbf24;font-size:.8rem;font-weight:700;white-space:nowrap}.overview-lower-grid{margin-top:20px}.stage-load-list{display:grid;gap:14px;margin-top:18px}.stage-load-row{display:grid;grid-template-columns:100px minmax(80px,1fr) 30px;align-items:center;gap:10px;color:#dbeafe;font-size:.88rem}.stage-load-bar{height:8px;overflow:hidden;border-radius:99px;background:#94a3b833}.stage-load-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#ea580c)}.financial-snapshot{min-height:180px}.snapshot-value{display:block;margin-top:28px;color:#fbbf24;font-size:2rem}.snapshot-value.zero-value{color:#f8fafc}.card{padding:22px}.card span{display:block;color:#93c5fd;margin-bottom:12px}.card strong{font-size:clamp(1.35rem,2.5vw,2.2rem)}.dashboard-grid,.management-grid,.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.board-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start}.assembly-production-list{display:grid;gap:14px;margin-top:18px}.production-assembly-summary{display:grid;gap:7px;margin-top:12px}.production-assembly-name{display:grid;gap:2px;padding:9px 10px;border-left:3px solid #22d3ee;border-radius:0 6px 6px 0;background:#0891b229}.production-assembly-name strong{color:#ecfeff;font-size:.9rem;font-weight:700}.production-assembly-name span{color:#a5f3fc;font-size:.75rem}.production-assembly-name.complete{border-left-color:#4ade80;background:#16a34a26}.production-assembly-name.complete strong,.production-assembly-name.complete small{color:#bbf7d0}.production-assembly-name.complete small{font-size:.72rem;font-weight:800}.assembly-production-item{padding:16px;border:1px solid rgba(103,232,249,.25);border-radius:8px;background:#0f172a4d}.assembly-production-item summary{cursor:pointer;list-style:none;transition:color .16s ease}.assembly-production-item summary::-webkit-details-marker{display:none}.assembly-production-item:hover{border-color:#67e8f98c;background:#0891b21f}.assembly-production-item:hover .assembly-production-heading h3{color:#67e8f9}.assembly-production-item summary:after{content:"+";color:#67e8f9;font-size:1.2rem;font-weight:800}.assembly-production-item[open] summary:after{content:"-"}.assembly-production-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:0}.assembly-production-item[open] .assembly-production-heading{margin-bottom:14px}.assembly-production-heading h3{margin:3px 0;color:#d7f9fc}.assembly-production-heading span:first-child,.assembly-production-heading small{color:#94a3b8;font-size:.78rem}.assembly-general-notes{display:grid;gap:6px;margin:14px 0;color:#dbeafe;font-size:.82rem;font-weight:700}.assembly-general-notes textarea{width:100%;min-width:0;resize:vertical;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#0f172acc;color:#fff;padding:9px 10px}.assembly-complete-button{background:#15803d}.assembly-complete-button:hover{background:#166534}.assembly-complete-note{margin:14px 0 0;color:#bbf7d0;font-size:.8rem}.calendar-panel{margin:20px 0}.calendar-heading{align-items:flex-end}.calendar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.calendar-controls strong{min-width:150px;text-align:center;color:#d7f9fc}.calendar-view-toggle{display:inline-flex;border:1px solid rgba(148,163,184,.3);border-radius:8px;overflow:hidden}.calendar-view-toggle button{padding:8px 10px;border:0;background:#0f172a80;color:#b9e9e9;cursor:pointer}.calendar-view-toggle button+button{border-left:1px solid rgba(148,163,184,.3)}.calendar-view-toggle button.active{background:#0d9488;color:#ecfeff}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(148,163,184,.18)}.calendar-main{min-width:0}.unscheduled-panel{padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#0f172a47}.unscheduled-panel.inactive{padding:10px 12px;background:#0f172a2e}.unscheduled-panel h3{margin-bottom:0;font-size:1rem}.unscheduled-panel.inactive h3{font-size:.88rem}.unscheduled-panel .panel-heading-row{align-items:flex-start}.unscheduled-panel.inactive .panel-heading-row{gap:8px}.unscheduled-panel.inactive .panel-count{min-width:22px;height:22px;padding:0 6px;font-size:.72rem}.unscheduled-panel.inactive .muted-text{margin:6px 0 0;font-size:.72rem;line-height:1.35}.unscheduled-jobs{display:grid;gap:8px;margin-top:14px}.unscheduled-panel.inactive .unscheduled-jobs{margin-top:8px;gap:6px}.calendar-weekdays{margin:18px 0 6px;color:#8faeb2;font-size:.78rem;font-weight:700;text-align:center;text-transform:uppercase}.calendar-day{min-height:118px;padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172a5c;transition:border-color .16s ease,background .16s ease}.calendar-day:hover{border-color:#2dd4bf8c}.calendar-day.today{border-color:#2dd4bf;box-shadow:inset 0 2px #2dd4bf}.calendar-day.outside-month{opacity:.48}.calendar-date{display:block;margin-bottom:6px;color:#d7f9fc;font-size:.82rem;font-weight:800}.calendar-jobs{display:grid;gap:5px}.calendar-job{display:grid;width:100%;gap:2px;padding:6px;overflow:hidden;border:1px solid rgba(45,212,191,.42);border-radius:6px;background:#0d948840;color:#ecfeff;cursor:pointer;font-size:.72rem;text-align:left}.calendar-job:hover{background:#0d948880}.calendar-job strong,.calendar-job span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-job span{color:#b9e9e9}.calendar-job-in-production{border-color:#f59e0bb3;background:#b453094d}.calendar-job-dispatched{opacity:.6}.panel{padding:24px}.panel ul{margin:0;padding-left:20px;color:#dbeafe}.panel li+li{margin-top:10px}.backup-tools{display:grid;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(148,163,184,.2)}.backup-tools h3{margin-bottom:0}.backup-warning{color:#fbbf24}.settings-panel{max-width:980px;padding:28px}.settings-heading,.settings-heading h2{margin-bottom:6px}.settings-form{display:grid;gap:18px}.settings-section{padding:20px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#0f172a6b}.settings-section h3{margin-bottom:5px}.settings-section h3:after{content:"";display:block;width:34px;height:3px;margin-top:9px;border-radius:99px;background:#38bdf8}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-grid label{display:grid;min-width:0;gap:7px;color:#dbeafe;font-weight:600}.settings-grid input,.settings-grid select,.settings-grid textarea{width:100%;min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172acc;color:#fff;padding:11px 12px}.settings-switches{display:grid;gap:10px}.settings-form>.button-row{justify-content:flex-end;padding-top:4px}.form-panel,.table-panel,.editor-panel,.dispatch-panel{padding:24px}.dispatch-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.dispatch-heading h2{margin-bottom:0}.dispatch-heading .muted-text{margin:6px 0 0}.dispatch-toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dispatch-toolbar input,.dispatch-toolbar select{min-width:170px}.dispatch-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.dispatch-summary-grid .summary-card{padding:15px}.dispatch-summary-grid .summary-card strong{font-size:1.6rem}.form-panel{min-width:0;overflow:hidden}.inline-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:12px}.po-lines-editor{display:grid;gap:12px;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#0f172a47}.po-lines-editor h3{margin-bottom:0;font-size:1rem}.po-line-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;padding-top:12px;border-top:1px solid rgba(148,163,184,.16)}.po-line-editor>button{justify-self:start}.po-line-editor label{display:grid;gap:5px;color:#93c5fd;font-size:.72rem;font-weight:700}.button-row{display:flex;gap:12px;flex-wrap:wrap}.button-row.compact{margin-top:14px}.order-list,.dispatch-list{display:grid;gap:14px}.order-card,.dispatch-item,.production-card{background:#0f172abf;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px}.production-board-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.production-board-heading h2{margin-bottom:0}.production-board-heading .muted-text{margin:6px 0 0}.production-card[draggable=true]{cursor:grab}.production-card[draggable=true]:active,.production-card.dragging{cursor:grabbing;opacity:.62;border-color:#38bdf8cc;transform:scale(.99)}.production-card:has(select option:checked[value="On Hold"]),.production-card:has(select option:checked[value="Needs Rework"]){border-color:#fb923c99}.production-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.production-card{min-width:0;overflow:hidden}.production-card>summary{display:grid;gap:8px;cursor:pointer;list-style:none}.production-card>summary::-webkit-details-marker{display:none}.production-card>summary:before{content:"Expand";float:right;color:#7dd3fc;font-size:.7rem;font-weight:700;text-transform:uppercase}.production-card[open]>summary:before{content:"Collapse"}.production-summary{display:grid;gap:3px;padding-left:22px}.production-summary small{color:#cbd5e1}.production-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172a61}.production-context div{display:grid;gap:3px;min-width:0}.production-context span{color:#93c5fd;font-size:.7rem;font-weight:700;text-transform:uppercase}.production-context strong{overflow-wrap:anywhere;color:#e2e8f0;font-size:.82rem;font-weight:600}.production-details-grid label{display:grid;min-width:0;gap:5px;color:#93c5fd;font-size:.72rem;font-weight:700}.production-details-grid input,.production-details-grid select{width:100%;min-width:0;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172abf;color:#e5eefb;padding:8px 9px;font-size:.8rem}.production-card-title,.production-card-badges{display:flex;align-items:center;gap:8px}.drag-handle{color:#7dd3fc;font-size:1.1rem;font-weight:900;letter-spacing:-.15em;-webkit-user-select:none;user-select:none}.priority-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}.priority-high{background:#ef444433;color:#fecaca;border:1px solid rgba(248,113,113,.5)}.priority-normal{background:#3b82f62e;color:#bfdbfe;border:1px solid rgba(96,165,250,.4)}.priority-low{background:#94a3b829;color:#cbd5e1;border:1px solid rgba(148,163,184,.35)}.order-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-card p,.dispatch-item p{margin:8px 0}.order-card small{color:#cbd5e1}.status-badge{display:inline-flex;align-items:center;justify-content:center;background:#22c55e2e;color:#bbf7d0;border:1px solid rgba(34,197,94,.4);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}.stage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:8px;margin-top:16px}.stage-toggle{display:flex;align-items:center;gap:8px;color:#dbeafe;font-size:.8rem}.stage-toggle input{accent-color:#38bdf8}.stage-history{margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.stage-history h3{margin-bottom:10px;color:#bfdbfe;font-size:.9rem}.stage-history ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.stage-history li{display:grid;gap:2px;padding-left:10px;border-left:2px solid #38bdf8;color:#dbeafe;font-size:.78rem}.stage-history li span{color:#93c5fd}.stage-history li em{color:#cbd5e1;font-style:normal}.dispatch-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,auto);gap:12px;align-items:center}.dispatch-order-info{display:grid;min-width:0;gap:5px}.dispatch-order-header{justify-content:flex-start}.dispatch-order-info strong,.dispatch-order-info small,.dispatch-action-cell small{overflow:hidden;color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap}.dispatch-action-cell{display:grid;gap:6px;justify-items:end}.dispatch-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dispatch-action-button{display:inline-flex;min-width:154px;min-height:46px;align-items:center;justify-content:center;padding:10px 14px;text-align:center;line-height:1.2}.completed-orders-section{margin-top:28px;padding-top:24px;border-top:1px solid rgba(148,163,184,.22)}.completed-orders-list{display:grid;gap:10px}.completed-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:14px 16px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172a6b}.completed-order-main{display:grid;min-width:0;gap:5px}.completed-order-main small,.completed-order-meta span{color:var(--text-muted)}.completed-order-meta{display:grid;gap:3px;min-width:130px}.error-message{margin:0;color:#fca5a5;font-size:.9rem}.toast-notification{position:fixed;top:22px;right:22px;z-index:20;display:flex;align-items:center;gap:16px;width:min(420px,calc(100vw - 32px));padding:14px 14px 14px 17px;border:1px solid rgba(134,239,172,.45);border-radius:10px;background:#10251d;box-shadow:0 16px 36px #00000047;color:#dcfce7;animation:toast-in .18s ease-out}.toast-error{border-color:#fca5a58c;background:#32191d;color:#fee2e2}.toast-close{flex:0 0 auto;width:28px;height:28px;padding:0;border:0;background:transparent;color:currentColor;font-size:1.35rem;line-height:1;cursor:pointer}.floating-help-button{padding:11px 18px;border:1px solid rgba(103,232,249,.55);border-radius:999px;background:var(--primary);box-shadow:0 10px 28px #0284c759;color:#f0f9ff;font-weight:800;cursor:pointer}.floating-help-button:hover{background:var(--primary-hover)}.floating-help-actions{position:fixed;right:24px;bottom:24px;z-index:15;display:grid;justify-items:end;gap:8px}.support-menu{display:grid;min-width:150px;gap:4px;padding:6px;border:1px solid rgba(103,232,249,.35);border-radius:8px;background:#0f172a;box-shadow:0 12px 28px #0206176b}.support-menu button{padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#d7f9fc;font-weight:700;text-align:left;cursor:pointer}.support-menu button:hover{background:#0891b233}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.po-management{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:20px}.po-management.po-register-only{display:block}.po-line-tools,.part-editor-actions,.attachment-upload{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.assembly-part-number{position:relative}.assembly-part-number input{padding-right:130px}.assembly-revision-select{position:absolute;right:5px;top:28px;z-index:10;width:122px;height:42px;padding:0 8px;border:0 0 0 1px solid rgba(103,232,249,.35);border-radius:6px;background:#0891b22e;color:#cffafe;font-size:.76rem;font-weight:800}.part-editor-modal,.attachment-modal,.assembly-library-modal{width:min(100%,900px)}.part-list-editor,.attachment-list{display:grid;gap:12px;margin:18px 0}.part-editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#0f172a59}.part-editor-row label{display:grid;gap:6px;min-width:0;color:#dbeafe;font-size:.8rem;font-weight:700}.part-editor-row input,.part-editor-row textarea{min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#0f172acc;color:#fff;padding:9px 10px}.part-editor-row .part-notes{grid-column:span 2}.part-editor-actions{justify-content:flex-end}.attachment-upload small,.attachment-item small{color:#94a3b8;font-size:.78rem}.calculated-field{display:grid;min-height:42px;align-content:center;gap:2px;padding:7px 10px;border:1px solid rgba(148,163,184,.2);border-radius:6px;background:#0f172a6b;color:#94a3b8;cursor:default}.calculated-field small{color:#64748b;font-size:.68rem;font-weight:500}.form-save-state{align-self:center;color:#fcd34d;font-size:.82rem;font-weight:700}.order-total-summary{display:grid;gap:3px;padding:14px;border-left:3px solid #22d3ee;border-radius:0 8px 8px 0;background:#0891b21f}.order-total-summary span,.order-total-summary small{color:#a5f3fc;font-size:.78rem}.order-total-summary strong{color:#ecfeff;font-size:1.35rem}.order-total-summary b{color:#fef3c7;font-size:.92rem}.scan-ready-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;padding:10px 12px;border-left:3px solid #22d3ee;border-radius:0 6px 6px 0;background:#0891b224;color:#cffafe;font-size:.85rem}.scan-review-panel{width:min(100%,560px)}.scan-preview{width:100%;height:240px;margin:12px 0;border:1px solid rgba(103,232,249,.3);border-radius:6px;background:#020617}.scan-preview.maximized{height:min(70vh,760px)}.scan-open-link{text-decoration:none}.scan-suggestions{margin:14px 0;padding:14px;border:1px solid rgba(34,211,238,.3);border-radius:8px;background:#0891b21a}.scan-suggestions h3{margin:0 0 10px;color:#cffafe}.scan-error{margin:12px 0;padding:10px 12px;border-left:3px solid #f87171;border-radius:0 6px 6px 0;background:#7f1d1d40;color:#fecaca;font-size:.85rem}.scan-suggestions dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.scan-suggestions dl div{display:grid;gap:2px}.scan-suggestions dt{color:#94a3b8;font-size:.72rem}.scan-suggestions dd{margin:0;color:#ecfeff;font-weight:700;overflow-wrap:anywhere}.scan-suggestions details{margin-top:12px;color:#a5f3fc}.scan-suggestions pre{max-height:180px;overflow:auto;padding:10px;color:#cbd5e1;font:.75rem/1.45 monospace;white-space:pre-wrap}.order-documents-panel{display:grid;gap:8px;margin:18px 0;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#0f172a59}.order-documents-panel h3{margin:0;color:#d7f9fc;font-size:.95rem}.order-document-link{display:grid;gap:3px;color:#67e8f9;font-weight:800}.order-document-link small{color:#94a3b8;font-size:.75rem;font-weight:400}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#0f172a59}.attachment-item div{display:grid;gap:4px;min-width:0}.attachment-item a{color:#67e8f9;font-weight:800;overflow-wrap:anywhere}.assembly-library-list{display:grid;gap:8px;margin-top:18px}.assembly-library-item{display:grid;gap:4px;width:100%;padding:13px;border:1px solid rgba(103,232,249,.25);border-radius:8px;background:#0f172a66;color:#e2e8f0;text-align:left}.assembly-library-item:hover{border-color:#67e8f999;background:#0891b229}.assembly-library-item span{color:#94a3b8;font-size:.82rem}.po-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.po-toolbar-controls{display:flex;gap:12px;flex-wrap:wrap}.po-toolbar-controls input,.po-toolbar-controls select,.po-date-filter-grid input,.po-date-filter-grid select{border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172acc;color:#fff;padding:10px 12px}.po-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.summary-card{padding:14px 16px;border-radius:12px;background:#0f172ab3;border:1px solid rgba(148,163,184,.2)}.summary-card span{display:block;color:#93c5fd;font-size:.75rem;margin-bottom:6px}.summary-card strong{font-size:1.5rem}.overdue-card{border-color:#f871718c;background:#7f1d1d33}.due-soon-card{border-color:#facc158c;background:#78350f33}.po-date-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.po-date-filter-grid label{display:grid;gap:6px;color:#dbeafe;font-size:.85rem}.costing-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-grid{display:grid;grid-template-columns:1fr;gap:20px}.accounts-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.profile-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-editor-heading h3,.profile-editor-heading p{margin-bottom:0}.permission-grid{display:grid;gap:10px;margin-top:10px}.permission-group{display:grid;gap:8px;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#0f172a4d}.permission-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.permission-group-heading h4{margin:0;color:#f8fafc}.permission-group-heading span{color:#93c5fd;font-size:.8rem;font-weight:700}.permission-group-grid{display:grid;gap:8px}.profile-submit-row{position:sticky;bottom:0;z-index:2;padding:14px 0 2px;background:linear-gradient(180deg,transparent 0,rgba(15,23,42,.98) 32%)}.profile-submit-row button{width:100%}.profile-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#020617b8}.profile-modal{width:min(100%,820px);max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;border:1px solid rgba(125,211,252,.35);border-radius:18px;background:#111827;box-shadow:0 24px 80px #020617a6}.toggle-row{display:flex;align-items:center;gap:10px;color:#dbeafe;background:#0f172a99;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:10px 12px}.toggle-row>span{display:grid;gap:3px}.toggle-row small{color:#93c5fd;font-weight:400;line-height:1.35}.profile-cards{display:grid;gap:14px}.profile-card{background:#0f172ab3;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px}.profile-card ul{margin:12px 0;padding-left:18px}.granted-permission-groups{display:grid;gap:8px;margin:12px 0}.granted-permission-groups>div{padding-top:8px;border-top:1px solid rgba(148,163,184,.16)}.granted-permission-groups>div:first-child{padding-top:0;border-top:0}.muted-pill{background:#0ea5e91f}.access-denied-panel{padding:20px 24px;border-radius:12px;border:1px solid rgba(248,113,113,.4);background:#7f1d1d2e;color:#fecaca}.quick-view-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#020617b8}.help-backdrop{z-index:40}.quick-view-panel{width:min(100%,620px);max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;border:1px solid rgba(125,211,252,.35);border-radius:18px;background:#111827;box-shadow:0 24px 80px #020617a6}.help-panel{width:min(100%,560px)}.quick-guide-panel{width:min(100%,760px)}.production-notes-panel{display:grid;gap:12px;margin:18px 0;padding:14px;border:1px solid rgba(34,197,94,.28);border-radius:10px;background:#14532d1f}.production-notes-panel h3{margin-bottom:0}.production-notes-stages{display:grid;gap:4px;color:#dbeafe;font-size:.8rem}.production-notes-stages strong{color:#86efac;font-size:.72rem;text-transform:uppercase}.action-centre-list{display:grid;gap:8px}.action-centre-item{display:grid;gap:2px;width:100%;padding:9px 10px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#0f172a4d;color:#e2e8f0;text-align:left;cursor:pointer}.action-centre-item:hover{border-color:#67e8f98c;background:#0891b21f}.action-centre-item span{color:#94a3b8;font-size:.78rem}.calendar-confirm-dialog{width:min(100%,420px);padding:28px}.packed-checklist{display:grid;gap:10px;margin:18px 0}.packed-checklist label{display:flex;align-items:flex-start;gap:9px;color:#dbeafe;font-size:.85rem;line-height:1.35}.packed-checklist input{flex:0 0 auto;margin-top:2px;accent-color:#38bdf8}.quick-guide-intro{margin:8px 0 20px}.quick-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-guide-item{padding:16px;border:1px solid rgba(103,232,249,.16);border-radius:10px;background:#0f172a7a}.quick-guide-item h3{margin-bottom:6px;color:#a5f3fc}.quick-guide-item p{margin:0;color:#cbd5e1}.stock-form-dialog{position:relative;z-index:30;width:min(100%,620px)}.stock-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.help-steps{display:grid;gap:14px;margin:22px 0 0;padding-left:24px;color:#dbeafe}.help-steps li{padding-left:6px}.quick-view-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.quick-view-summary div{display:grid;gap:4px;padding:12px;border-radius:10px;background:#1e293ba6}.quick-view-summary span,.quick-view-commercial span{color:#93c5fd;font-size:.78rem}.quick-view-commercial{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid rgba(148,163,184,.2);border-bottom:1px solid rgba(148,163,184,.2)}.quick-view-commercial strong{color:#fbbf24;font-size:1.25rem}.quick-view-notes{color:#dbeafe}.stock-detail-block{margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,184,.2)}.stock-detail-block h3{margin-bottom:8px;color:#bfdbfe;font-size:.95rem}.stock-detail-block p,.stock-detail-block ul{margin:0;color:#dbeafe}.quick-view-action{display:grid;gap:8px;margin-top:20px;color:#dbeafe;font-weight:700}.quick-view-action select{width:100%;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172acc;color:#fff;padding:12px 14px}.costing-input-grid label{display:grid;gap:6px;color:#dbeafe;font-size:.85rem}.costing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}.positive-margin{color:#bbf7d0;font-weight:700}.negative-margin{color:#fca5a5;font-weight:700}.po-table-wrap{overflow-x:auto;scrollbar-width:none}.po-table-wrap::-webkit-scrollbar{display:none}.po-table-top-scroll{position:fixed;bottom:16px;z-index:30;overflow-x:auto;height:14px;margin:0;border-radius:8px;background:#0f172ad9;box-shadow:0 8px 24px #02061780}.po-table-top-scroll-content{width:max-content;min-width:2200px;height:1px}.po-table{width:100%;border-collapse:collapse;min-width:1100px;color:#e2e8f0}.po-table th,.po-table td{border-bottom:1px solid rgba(148,163,184,.25);padding:10px 12px;text-align:left;vertical-align:top}.po-table th{background:#0f172ae6;color:#bfdbfe;cursor:pointer;-webkit-user-select:none;user-select:none}.po-table tbody tr:hover{background:#3b82f614}.po-row.overdue td{background:#7f1d1d1f}.po-row.due-soon td{background:#78350f1a}.notes-cell{max-width:220px;color:#dbeafe}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.muted-text{margin:4px 0 0;color:#cbd5e1}.noticeboard{margin-bottom:20px}.notice-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr) auto;align-items:end;gap:10px;margin:16px 0}.notice-form input,.notice-form textarea{width:100%;min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172ab8;color:#fff;padding:11px 12px}.notice-form textarea{resize:vertical}.notice-list{display:grid;gap:10px}.notice-item{padding:14px 16px;border-left:3px solid var(--primary);border-radius:10px;background:#0f172a6b}.notice-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.notice-item h3{margin:0}.notice-item small{color:var(--text-muted)}.notice-item p{margin:8px 0 0;white-space:pre-wrap}.stage-action-note{display:grid;gap:8px;margin:18px 0;color:#d7f9fc;font-weight:600}.stage-action-note textarea{width:100%;resize:vertical;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172ab8;color:#fff;padding:11px 12px}.stock-management,.customers-management,.suppliers-management{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.supplier-modal{max-width:620px}.po-modal{width:min(100%,1040px)}.supplier-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.supplier-card{min-width:0;padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#0f172a6b}.supplier-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.supplier-card h3{margin:4px 0 0;overflow-wrap:anywhere}.supplier-code{color:#67e8f9;font-size:.76rem;font-weight:700}.supplier-details{display:grid;gap:10px;margin:0}.supplier-details div{display:grid;gap:2px}.supplier-details dt{color:var(--text-muted);font-size:.75rem}.supplier-details dd{margin:0;overflow-wrap:anywhere}.customer-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.customer-form-dialog{max-width:620px}.inline-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 14px;border:1px solid rgba(252,165,165,.55);border-radius:8px;background:#7f1d1d4d;color:#fee2e2}.customer-card{padding:18px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#0f172a6b}.customer-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(148,163,184,.16)}.customer-card-header h3{margin:4px 0 0}.customer-code{color:#7dd3fc;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.customer-details{display:grid;gap:12px;margin:16px 0 0}.customer-details div{display:grid;gap:3px}.customer-details dt{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.customer-details dd{margin:0;overflow-wrap:anywhere;color:#e2e8f0}.customer-notes{display:grid;gap:4px;margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(148,163,184,.16);color:#cbd5e1}.customer-notes strong{color:#64748b;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.stock-panel{grid-column:1 / -1}.stock-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0 18px}.stock-table-wrap{overflow-x:auto;margin-top:12px}@media (max-width: 980px){.customer-card-grid,.supplier-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell{padding:20px 14px 48px}.app-layout{display:block}.sidebar{position:static;min-height:auto;margin-bottom:20px;padding:14px;gap:18px}.sidebar-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px}.nav-group{display:flex;gap:6px;flex:0 0 auto}.nav-group>p{display:none}.sidebar .nav-tab{width:auto;white-space:nowrap}.sidebar-footer{display:flex;align-items:center;flex-wrap:wrap;margin-top:0;padding-top:12px}.sidebar-footer .user-pill{width:auto}.po-management,.stock-management,.customers-management,.suppliers-management,.po-management .inline-form-row{grid-template-columns:1fr}.dispatch-heading{align-items:flex-start;flex-direction:column}.dispatch-toolbar{justify-content:flex-start}.notice-form{grid-template-columns:1fr}.dispatch-item{grid-template-columns:minmax(0,1fr) auto}.dispatch-action-cell{grid-column:1 / -1}.completed-order-row{grid-template-columns:minmax(0,1fr) auto}.completed-order-row>button{grid-column:2}.board-grid{grid-template-columns:1fr}.calendar-heading{align-items:flex-start}.calendar-controls{justify-content:flex-start}.calendar-layout{grid-template-columns:1fr}}@media (max-width: 620px){body{overflow-x:hidden}.auth-shell,.app-shell{padding:14px 10px 32px}.auth-card{padding:22px 16px;border-radius:14px}.app-layout{gap:12px}.sidebar{gap:12px;padding:12px;border-radius:14px}.brand-lockup{flex-direction:row;justify-content:flex-start;text-align:left}.brand-mark{width:58px;height:48px;flex:0 0 58px}.sidebar-nav{gap:6px;margin:0 -2px;padding-bottom:6px}.sidebar .nav-tab{padding:9px 10px;font-size:.82rem}.sidebar-footer{align-items:stretch}.sidebar-footer .user-pill,.sidebar-footer button{width:100%}.workspace,.panel,.form-panel,.table-panel,.editor-panel,.dispatch-panel,.settings-panel{max-width:100%;min-width:0}.topbar h1,.overview-intro h2{font-size:1.35rem;overflow-wrap:anywhere}.topbar-actions,.topbar-actions button,.quick-actions,.quick-actions button,.button-row,.button-row button,.dispatch-toolbar,.dispatch-toolbar input,.dispatch-toolbar select{width:100%}.topbar-actions,.quick-actions,.button-row,.dispatch-toolbar{align-items:stretch;flex-direction:column}.button-row{gap:8px}.table-panel,.stock-table-wrap,.po-table-wrap{overflow-x:auto}.table-panel table,.stock-table-wrap table,.po-table-wrap table{min-width:620px}.profile-modal-backdrop{place-items:start center;padding:10px}.profile-modal{width:100%;max-height:calc(100vh - 20px);padding:16px;border-radius:14px}.bug-report-entry,.audit-log-entry{flex-direction:column}.audit-log-meta{text-align:left}.floating-help-actions{right:16px;bottom:16px;flex-direction:column;align-items:stretch}.quick-guide-grid,.customer-card-grid,.supplier-card-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dispatch-summary-grid{grid-template-columns:1fr}.dispatch-item{grid-template-columns:1fr;align-items:flex-start}.completed-order-row{grid-template-columns:1fr}.completed-order-row>button{grid-column:auto;justify-self:start}.dispatch-item>div:nth-child(2){justify-self:start}.calendar-panel{padding:16px;overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:680px}.production-board-heading{align-items:flex-start;flex-direction:column;gap:6px}.overview-intro{align-items:stretch;flex-direction:column}.quick-actions{justify-content:flex-start}.quick-actions button{flex:1}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.topbar-actions{width:100%}.topbar-actions button{flex:1}.panel,.form-panel,.table-panel,.editor-panel,.dispatch-panel{padding:18px}.inline-form-row,.costing-input-grid,.profile-grid,.settings-grid,.production-details-grid,.production-context{grid-template-columns:1fr}.stage-load-row{grid-template-columns:82px minmax(60px,1fr) 24px;font-size:.78rem}.quick-view-summary{grid-template-columns:1fr}}
