/* Tvoy3D — Industrial Precision UI */
html.corp-app {
  --corp-ink:#111820;--corp-ink-2:#27313b;--corp-muted:#66727e;--corp-faint:#8a949e;
  --corp-bg:#edf0f3;--corp-surface:#fff;--corp-surface-2:#f6f8f9;
  --corp-line:#cbd2d8;--corp-line-strong:#aeb8c1;
  --corp-brand:#b42318;--corp-brand-dark:#8f1d14;--corp-action:#175f9e;--corp-action-dark:#104b7d;
  --corp-green:#187a47;--corp-amber:#b86608;--corp-red:#b42318;--corp-radius:6px;
  --corp-shadow:0 1px 2px rgba(12,20,28,.06),0 8px 26px rgba(12,20,28,.035);
  background:var(--corp-bg);color-scheme:light;
}
html.corp-app body {
  color:var(--corp-ink);background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,0) 210px),var(--corp-bg);
  font-family:"Aptos","SF Pro Text","Segoe UI Variable Text","Segoe UI",sans-serif;
  font-size:14px;line-height:1.42;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
html.corp-app body:not(.monitor-tv){min-height:100dvh}
html.corp-app h1,html.corp-app h2,html.corp-app h3,html.corp-app h4,html.corp-app h5,html.corp-app h6,
html.corp-app .display-1,html.corp-app .display-2,html.corp-app .display-3{
  color:var(--corp-ink);font-family:"Aptos Display","SF Pro Display","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-weight:720;letter-spacing:-.025em
}
html.corp-app a{color:var(--corp-action)}html.corp-app a:hover{color:var(--corp-action-dark)}
html.corp-app ::selection{color:#fff;background:var(--corp-action)}

/* Page frame */
html.corp-app body:not(.monitor-tv)>.container-fluid,html.corp-app .forecast-shell,html.corp-app .qc-shell,
html.corp-app .system-wrap,html.corp-app .wrap{width:100%;max-width:1780px;margin-inline:auto}
html.corp-app body.has-desktop-sidebar>.container-fluid,html.corp-app body.has-desktop-sidebar .forecast-shell,
html.corp-app body.has-desktop-sidebar .qc-shell,html.corp-app body.has-desktop-sidebar .system-wrap,
html.corp-app body.has-desktop-sidebar .wrap{max-width:none}

/* Surfaces */
html.corp-app .card,html.corp-app .order-card,html.corp-app .order-card2,html.corp-app .kpi-card,
html.corp-app .stat-card,html.corp-app .forecast-card,html.corp-app .metric,html.corp-app .panel,
html.corp-app .action-panel,html.corp-app .qc-card,html.corp-app .qc-stat,html.corp-app .system-card,
html.corp-app .part-card,html.corp-app .sched-m-card,html.corp-app .placeholder-card{
  border:1px solid var(--corp-line)!important;border-radius:var(--corp-radius)!important;
  background:var(--corp-surface)!important;box-shadow:var(--corp-shadow)!important
}
html.corp-app .card-header,html.corp-app .system-card-head,html.corp-app .part-card-header{
  min-height:43px;padding:10px 14px!important;border-bottom:1px solid var(--corp-line)!important;
  border-radius:var(--corp-radius) var(--corp-radius) 0 0!important;
  background:linear-gradient(180deg,#fafbfc,#f2f5f7)!important;color:var(--corp-ink)!important;font-weight:700!important
}
html.corp-app .order-card:hover,html.corp-app .order-card2:hover,html.corp-app .action-link:hover,
html.corp-app .part-choice:hover{border-color:var(--corp-line-strong)!important;box-shadow:0 5px 18px rgba(12,20,28,.09)!important;transform:translateY(-1px)}

/* Inputs and buttons */
html.corp-app :where(input:not([type=checkbox]):not([type=radio]),select,textarea),html.corp-app .form-control,
html.corp-app .form-select,html.corp-app .qc-input,html.corp-app .qc-select{
  min-height:38px;border:1px solid var(--corp-line-strong)!important;border-radius:5px!important;
  background:#fff!important;color:var(--corp-ink)!important;font-family:inherit;font-size:.88rem;
  box-shadow:inset 0 1px 1px rgba(12,20,28,.025)!important
}
html.corp-app :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,
html.corp-app .form-control:focus,html.corp-app .form-select:focus,html.corp-app .qc-input:focus,html.corp-app .qc-select:focus{
  border-color:var(--corp-action)!important;outline:0;box-shadow:0 0 0 3px rgba(23,95,158,.13)!important
}
html.corp-app label,html.corp-app .form-label,html.corp-app .field-label{
  color:#53606c!important;font-size:.76rem!important;font-weight:680!important;letter-spacing:.012em
}
html.corp-app .btn,html.corp-app button,html.corp-app .refresh-btn,html.corp-app .save-btn,
html.corp-app .return-save,html.corp-app .action-link{
  border-radius:5px!important;font-family:inherit;font-weight:680;letter-spacing:0;box-shadow:none!important;
  transition:background-color .12s,border-color .12s,color .12s,transform .12s,box-shadow .12s
}
html.corp-app .btn-primary,html.corp-app .save-btn,html.corp-app .return-save,html.corp-app .refresh-btn{
  border-color:var(--corp-action)!important;background:var(--corp-action)!important;color:#fff!important
}
html.corp-app .btn-primary:hover,html.corp-app .save-btn:hover,html.corp-app .return-save:hover,html.corp-app .refresh-btn:hover{
  border-color:var(--corp-action-dark)!important;background:var(--corp-action-dark)!important
}
html.corp-app .btn-red,html.corp-app a.btn-red,
html.corp-app .btn-danger,html.corp-app a.btn-danger{
  border-color:var(--corp-red)!important;background:var(--corp-red)!important;color:#fff!important
}
html.corp-app .btn-red:hover,html.corp-app .btn-red:focus,html.corp-app .btn-red:active,
html.corp-app .btn-danger:hover,html.corp-app .btn-danger:focus,html.corp-app .btn-danger:active{
  border-color:var(--corp-brand-dark)!important;background:var(--corp-brand-dark)!important;color:#fff!important
}
html.corp-app .btn-red i,html.corp-app .btn-danger i{color:currentColor!important}
html.corp-app .btn-dark{border-color:var(--corp-ink)!important;background:var(--corp-ink)!important;color:#fff!important}
html.corp-app .btn-outline-secondary{border-color:var(--corp-line-strong)!important;color:#394652!important;background:#fff!important}
html.corp-app .btn-outline-secondary:hover{border-color:#7b8792!important;background:#f2f5f7!important;color:var(--corp-ink)!important}
html.corp-app button:active,html.corp-app .btn:active{transform:translateY(1px)}

/* Tables */
html.corp-app .table-responsive,html.corp-app .ship-table-wrap,html.corp-app .forecast-table{
  border:1px solid var(--corp-line);border-radius:var(--corp-radius);background:#fff;box-shadow:var(--corp-shadow);overflow:auto
}
html.corp-app .table,html.corp-app .ship-table,html.corp-app .forecast-table table{margin:0;color:var(--corp-ink);background:#fff}
html.corp-app .table>:not(caption)>*>*,html.corp-app .ship-table td,html.corp-app .ship-table th,
html.corp-app .forecast-table td,html.corp-app .forecast-table th{border-color:#e1e5e8!important;padding:9px 11px;vertical-align:middle}
html.corp-app .table thead th,html.corp-app .ship-table thead th,html.corp-app .forecast-table thead th{
  background:#edf1f4!important;color:#52606d!important;font-size:.69rem!important;font-weight:750!important;
  letter-spacing:.055em;text-transform:uppercase;white-space:nowrap
}
html.corp-app .table tbody tr:nth-child(even),html.corp-app .ship-table tbody tr:nth-child(even){background:#fafbfc}
html.corp-app .table tbody tr:hover,html.corp-app .ship-table tbody tr:hover{background:#f2f6f9!important}

/* Metrics and status */
html.corp-app .kpi-num,html.corp-app .stat-main,html.corp-app .metric strong,html.corp-app .qc-stat b,
html.corp-app .sum-val,html.corp-app .order-stat-val,html.corp-app .counter-val{
  color:var(--corp-ink);font-family:"Aptos Display","SF Pro Display","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-weight:760!important;letter-spacing:-.035em
}
html.corp-app .kpi-lbl,html.corp-app .stat-label,html.corp-app .sum-lbl,html.corp-app .order-stat-lbl,
html.corp-app .counter-lbl,html.corp-app .muted,html.corp-app .text-muted{color:var(--corp-muted)!important}
html.corp-app .progress,html.corp-app .prog-wrap,html.corp-app .prog-track,html.corp-app .stagebar{
  overflow:hidden;border-radius:2px!important;background:#dfe5ea!important
}
html.corp-app .badge,html.corp-app [class*=badge-],html.corp-app .status-pill,html.corp-app .stage-pill,
html.corp-app .state-filter-chip,html.corp-app .m-sort-chip{border-radius:4px!important;font-weight:700!important}

/* Dialogs */
html.corp-app .modal-backdrop.show{opacity:.42;backdrop-filter:blur(2px)}
html.corp-app .modal-content,html.corp-app dialog,html.corp-app .forecast-dialog{
  border:1px solid var(--corp-line-strong)!important;border-radius:7px!important;background:#f7f9fa!important;
  box-shadow:0 28px 90px rgba(10,18,26,.28)!important
}
html.corp-app .modal-header{min-height:52px;background:#fff!important;border-bottom:1px solid var(--corp-line)!important}
html.corp-app .modal-footer{background:#f1f4f6;border-top:1px solid var(--corp-line)!important}

/* Page-specific composition */
html:is(.corp-dashboard,.corp-analytics) .order-card2{padding:15px!important}
html:is(.corp-dashboard,.corp-analytics) .row-name{color:var(--corp-ink)!important;font-size:1rem!important;font-weight:760!important}
html:is(.corp-dashboard,.corp-analytics) .todo-row{border-radius:4px!important;border-color:var(--corp-line)!important;background:#fff!important}
html:is(.corp-dashboard,.corp-analytics) .ring{filter:saturate(.8)}
html.corp-orders .order-card{min-height:176px;padding:15px!important}
html.corp-orders .active-order{border-left:2px solid var(--corp-action)!important}
html.corp-orders .order-name{color:var(--corp-ink)!important;font-size:1rem!important;font-weight:760!important}

html.corp-queue .qc-shell{padding:24px clamp(14px,2vw,30px) 44px}
html.corp-queue .qc-head h1,html.corp-forecast .forecast-head h1{font-size:clamp(1.65rem,2.2vw,2.2rem)!important}
html.corp-queue .qc-card{padding:18px!important}
html.corp-queue .qc-card h2{font-size:1.02rem!important;border-bottom:1px solid var(--corp-line);padding-bottom:11px;margin-bottom:13px}
html.corp-queue .part-choice{border-radius:5px!important;background:#fff!important}
html.corp-queue .part-choice img,html.corp-queue .part-choice .no-photo{border-radius:3px!important}
html.corp-queue .part-choice.selected{border-color:var(--corp-action)!important;box-shadow:0 0 0 2px rgba(23,95,158,.14)!important}
html.corp-queue .qty-box{border-radius:5px!important}html.corp-queue .save-btn{min-height:46px}

html.corp-forecast .forecast-shell{padding:24px clamp(14px,2vw,30px) 48px}
html.corp-forecast .forecast-head{padding-bottom:17px;border-bottom:1px solid var(--corp-line)}
html.corp-forecast .decision-main{border-radius:6px!important;box-shadow:var(--corp-shadow)}
html.corp-forecast .strategy-card{border-radius:5px!important;border-color:var(--corp-line)!important}

html.corp-ship .summary-card{margin:14px;border:1px solid #303c47!important;border-radius:6px!important;background:#16212b!important;box-shadow:0 8px 24px rgba(11,20,28,.16)!important}
html.corp-ship .sum-item{padding:15px 12px!important}html.corp-ship .sum-val{color:#fff!important}html.corp-ship .sum-lbl{color:#bfc8d0!important}
html.corp-ship .part-card{overflow:hidden}html.corp-ship .m-sortbar{border-color:var(--corp-line)!important;background:#f5f7f8!important}

html.corp-schedule .stat-card{min-height:104px;padding:14px!important}html.corp-schedule .stage-legend{color:var(--corp-muted)}
html.corp-schedule .sched-m-card{overflow:hidden}

html.corp-system .system-wrap,html.corp-network .container-fluid,html.corp-connect .container-fluid,
html.corp-parts .container-fluid{padding:24px clamp(14px,2vw,30px) 48px!important}
html.corp-system .action-link{min-height:78px;border:1px solid var(--corp-line)!important;background:#fff!important;color:var(--corp-ink)!important}
html.corp-system .action-link>i{color:var(--corp-action)!important;font-size:1.2rem}
html.corp-network .note-box{border-radius:5px!important;border-color:var(--corp-line)!important}

html:is(.corp-analytics,.corp-dashboard) .dash-head{padding:20px 22px 4px!important}
html:is(.corp-analytics,.corp-dashboard) .dash-head h1{font-size:1.65rem!important;color:var(--corp-ink)!important}
html:is(.corp-analytics,.corp-dashboard) .dash-head p{font-size:.8rem!important;color:var(--corp-muted)!important}
html:is(.corp-analytics,.corp-dashboard) .kpi,
html:is(.corp-analytics,.corp-dashboard) .ring-card,
html:is(.corp-analytics,.corp-dashboard) .order,
html:is(.corp-analytics,.corp-dashboard) .decision,
html:is(.corp-analytics,.corp-dashboard) .decision-mini,
html:is(.corp-analytics,.corp-dashboard) .printing-panel,
html:is(.corp-analytics,.corp-dashboard) .panel{
  border:1px solid var(--corp-line)!important;border-radius:6px!important;background:#fff!important;box-shadow:var(--corp-shadow)!important
}
html:is(.corp-analytics,.corp-dashboard) .kpi{padding:14px 15px!important}
html:is(.corp-analytics,.corp-dashboard) .kpi b{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",sans-serif;font-weight:760!important;letter-spacing:-.035em}
html:is(.corp-analytics,.corp-dashboard) .status,html:is(.corp-analytics,.corp-dashboard) .models i,
html:is(.corp-analytics,.corp-dashboard) .printer-number{border-radius:4px!important}
html:is(.corp-analytics,.corp-dashboard) .toolbar{background:#f5f7f8!important;border-color:var(--corp-line)!important}
html:is(.corp-analytics,.corp-dashboard) th{background:#edf1f4!important;color:#52606d!important;font-size:.67rem!important;font-weight:750!important;letter-spacing:.05em;text-transform:uppercase}

html.corp-packing-tv body{padding:18px!important;background:var(--corp-bg)!important}
html.corp-packing-tv header{padding-bottom:14px;border-bottom:1px solid var(--corp-line)}
html.corp-packing-tv .mark{width:5px;border-radius:1px!important;background:var(--corp-brand)!important}
html.corp-packing-tv h1{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",sans-serif!important;font-weight:760!important}
html.corp-packing-tv .overview-item{border:1px solid var(--corp-line)!important;border-radius:6px!important;box-shadow:var(--corp-shadow)!important}
html.corp-packing-tv .overview-item.primary{background:#16212b!important;border-color:#303c47!important}
html.corp-packing-tv .order{border-width:1px 1px 1px 5px!important;border-radius:6px!important;box-shadow:var(--corp-shadow)!important}
html.corp-packing-tv .bar{border-radius:2px!important}
html.corp-packing-tv .metrics{border-color:var(--corp-line)!important;background:var(--corp-line)!important}
html.corp-packing-tv .metric{border:0!important;border-radius:0!important;background:#f7f9fa!important;box-shadow:none!important}
html.corp-packing-tv .fullscreen{border-radius:4px!important}

html.corp-track .hd{background:#16212b!important;box-shadow:0 6px 26px rgba(10,18,26,.2)!important}
html.corp-track .hd.done{background:#155a38!important}
html.corp-track .hd-title,html.corp-track .hd-brand{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",sans-serif!important}
html.corp-track .ov{border:1px solid rgba(255,255,255,.2);border-radius:6px!important;background:rgba(255,255,255,.08)!important}
html.corp-track .grid .card{border-radius:6px!important;border-width:1px!important}
html.corp-track .grid .card.done{border-left:5px solid var(--corp-green)!important}
html.corp-track .card-img,html.corp-track .card-img-empty{border-radius:4px!important}

html.corp-login body,html.corp-system-login body{display:grid;min-height:100dvh;place-items:center;padding:20px;background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.16),transparent 36%),#121b24!important}
html.corp-login .box,html.corp-system-login .system-login{width:min(100%,420px);border:1px solid #44505b!important;border-radius:8px!important;background:#f7f9fa!important;box-shadow:0 30px 90px rgba(0,0,0,.38)!important}
html.corp-login .logo,html.corp-system-login .system-mark{color:var(--corp-ink)!important;font-family:"Aptos Display","Segoe UI",sans-serif;font-weight:780!important}
html.corp-login .pin-btn{border-radius:5px!important;border-color:var(--corp-line)!important;background:#fff!important}
html.corp-login .password-submit{border-radius:5px!important;background:var(--corp-action)!important}

html.corp-track .header{background:#16212b!important}html.corp-track .part-card{border-radius:6px!important;border-color:var(--corp-line)!important;box-shadow:var(--corp-shadow)!important}
html.corp-track .pc-badge{border-radius:4px!important}

/* Mobile system */
@media(max-width:700px){
  html.corp-app body:not(.monitor-tv){padding-bottom:calc(68px + env(safe-area-inset-bottom))!important;font-size:14px;background:var(--corp-bg)}
  html.corp-app body:not(.monitor-tv)>.container-fluid,html.corp-app .forecast-shell,html.corp-app .qc-shell,
  html.corp-app .system-wrap,html.corp-app .wrap{padding:13px 10px 28px!important}
  html.corp-app h1{font-size:1.55rem!important;line-height:1.08}html.corp-app h2{font-size:1.14rem!important}html.corp-app h6{font-size:1rem!important}
  html.corp-app .card,html.corp-app .order-card,html.corp-app .order-card2,html.corp-app .kpi-card,
  html.corp-app .stat-card,html.corp-app .forecast-card,html.corp-app .metric,html.corp-app .panel,
  html.corp-app .action-panel,html.corp-app .qc-card,html.corp-app .qc-stat,html.corp-app .system-card,
  html.corp-app .part-card,html.corp-app .sched-m-card{border-radius:5px!important}
  html.corp-app :where(input:not([type=checkbox]):not([type=radio]),select,textarea),html.corp-app .form-control,
  html.corp-app .form-select,html.corp-app .qc-input,html.corp-app .qc-select{min-height:44px;font-size:16px!important}
  html.corp-app .btn,html.corp-app button:not(.btn-close):not(.part-zoom){min-height:42px}
  html.corp-app .modal-dialog{width:calc(100% - 12px)!important;max-width:none!important;margin:6px auto!important}
  html.corp-app .modal-content{max-height:calc(100dvh - 12px)!important;border-radius:6px!important}
  html.corp-app .modal-body{padding:14px!important;overflow:auto}html.corp-app .modal-header,html.corp-app .modal-footer{padding:11px 14px!important}
  html:is(.corp-dashboard,.corp-analytics) .order-card2,html.corp-orders .order-card{padding:13px!important}
  html:is(.corp-dashboard,.corp-analytics) .dash-head{padding:14px 10px 2px!important;display:block!important}
  html:is(.corp-dashboard,.corp-analytics) .dash-head h1{font-size:1.4rem!important}
  html:is(.corp-dashboard,.corp-analytics) .freshness{text-align:left!important;margin-top:7px}
  html:is(.corp-dashboard,.corp-analytics) .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  html:is(.corp-dashboard,.corp-analytics) .kpi{min-width:0;padding:11px!important}
  html:is(.corp-dashboard,.corp-analytics) .kpi b{font-size:1.45rem!important}
  html:is(.corp-dashboard,.corp-analytics) .orders,html:is(.corp-dashboard,.corp-analytics) .decisions{grid-template-columns:1fr!important}
  html:is(.corp-dashboard,.corp-analytics) .printing-row{grid-template-columns:1fr!important;gap:6px!important;padding:10px!important}
  html:is(.corp-dashboard,.corp-analytics) .printing-row.printing-labels{display:none!important}
  html.corp-queue .qc-head,html.corp-forecast .forecast-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  html.corp-queue .qc-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  html.corp-queue .qc-stat{min-width:0;padding:11px!important}html.corp-queue .qc-stat b{font-size:1.5rem!important}
  html.corp-queue .qc-grid,html.corp-forecast .strategy-grid{grid-template-columns:1fr!important}
  html.corp-queue .part-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  html.corp-queue .part-choice{min-width:0;padding:6px!important}html.corp-queue .part-choice b{font-size:.76rem!important}html.corp-queue .part-choice small{font-size:.66rem!important}
  html.corp-queue .qty-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  html.corp-forecast .head-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  html.corp-forecast .head-actions>*{width:100%}html.corp-forecast .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.corp-forecast .forecast-table{max-width:100%;overflow-x:auto}
  html.corp-system .system-grid,html.corp-system .action-grid{grid-template-columns:1fr!important}html.corp-system .action-link{min-height:64px!important}
  html.corp-ship .summary-card{margin:8px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  html.corp-ship .sum-item{min-width:0;border:0!important;border-bottom:1px solid #34414d!important}
  html.corp-ship .desktop-view{display:none!important}html.corp-ship .mobile-view{display:block!important}html.corp-ship .part-card{margin-inline:8px}
  html.corp-schedule .sched-mobile-view{display:block!important}
  html.corp-parts .table-responsive,html.corp-connect .table-responsive,html.corp-network .table-responsive{max-width:100%;overflow-x:auto}
  html.corp-track .header{padding:20px 13px!important}html.corp-track .parts-wrap{padding:10px!important}html.corp-track .pc-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.corp-packing-tv body{padding:10px!important}
  html.corp-packing-tv header{align-items:flex-start!important}
  html.corp-packing-tv .overview{grid-template-columns:1fr!important}
  html.corp-packing-tv .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.corp-packing-tv .parts{overflow-x:auto!important}
}
@media(min-width:701px) and (max-width:1099px){
  html.corp-app body:not(.monitor-tv)>.container-fluid,html.corp-app .forecast-shell,html.corp-app .qc-shell,
  html.corp-app .system-wrap{padding-inline:18px!important}
  html.corp-queue .part-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(prefers-reduced-motion:reduce){html.corp-app *,html.corp-app *::before,html.corp-app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
