:root { --bg:#fff7ed; --panel:#fff; --text:#17202a; --muted:#667085; --line:#f2d5b5; --accent:#f58220; --accent-dark:#c95f00; --accent-soft:#fff3e6; --danger:#a61b1b; --ok:#146c43; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar { display:flex; align-items:center; gap:20px; padding:10px 18px; background:linear-gradient(90deg,#1f2937,#c95f00); color:white; position:sticky; top:0; z-index:10; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.brand { display:flex; align-items:center; gap:10px; min-width:250px; }
.brand img { width:46px; height:46px; object-fit:contain; background:white; border-radius:6px; padding:2px; }
.brand span { display:block; color:#cbd5e1; font-size:12px; }
.topbar nav { display:flex; gap:10px; flex-wrap:wrap; flex:1; }
.topbar nav a { color:white; padding:8px 9px; border-radius:5px; }
.topbar nav a:hover { background:rgba(255,255,255,.18); text-decoration:none; }
.logout { display:flex; align-items:center; gap:8px; margin:0; }
.logout span { color:#d1d5db; font-size:13px; }
button, .button { background:var(--accent); color:white; border:0; border-radius:5px; padding:8px 12px; cursor:pointer; display:inline-block; font-size:14px; }
button.secondary, .button.secondary { background:#475467; }
button:hover, .button:hover { background:var(--accent-dark); text-decoration:none; }
button.secondary:hover, .button.secondary:hover { background:#344054; }
button.danger, .button.danger { background:var(--danger); }
button.small, .button.small { padding:5px 8px; font-size:12px; }
main { max-width:1440px; margin:0 auto; padding:22px; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:16px; margin-bottom:16px; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.panel h2, .panel h3 { margin-top:0; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:16px; }
.card .metric { font-size:32px; font-weight:bold; margin:10px 0 0; }
.muted { color:var(--muted); }
.alert { padding:10px 12px; border-radius:6px; margin-bottom:14px; }
.alert.success { background:#e7f5ed; color:var(--ok); border:1px solid #b7e1c9; }
.alert.error { background:#fdecec; color:var(--danger); border:1px solid #f5b5b5; }
.toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.toolbar form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
input, select, textarea { border:1px solid #cbd5e1; border-radius:5px; padding:8px; min-height:35px; background:white; color:var(--text); }
input[type="checkbox"] { min-height:auto; }
textarea { width:100%; min-height:80px; }
label { display:block; font-size:13px; color:#344054; margin-bottom:6px; }
label input, label select, label textarea { display:block; width:100%; margin-top:4px; }
.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.stacked { display:flex; flex-direction:column; gap:12px; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:8px; background:white; }
table { width:100%; border-collapse:collapse; min-width:780px; }
th, td { padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; font-size:13px; }
th { background:var(--accent-soft); color:#7a3a00; position:sticky; top:0; z-index:1; }
tr:hover td { background:#fafafa; }
.status { display:inline-block; padding:3px 7px; border-radius:999px; font-size:12px; background:#eef2f7; }
.status.Pending, .status.SHORTAGE { background:#fff3cd; color:#8a5a00; }
.status.Processed, .status.Completed, .status.OK { background:#e7f5ed; color:var(--ok); }
.status.Rejected, .status.Cancelled { background:#fdecec; color:var(--danger); }
.inline { display:inline; }
.login-page { display:grid; place-items:center; min-height:100vh; background:linear-gradient(145deg,#1f2937,#f58220); }
.login-card { width:min(420px,92vw); background:white; border-radius:12px; padding:28px; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.login-card img { width:120px; display:block; margin:0 auto 14px; }
.login-card h1 { text-align:center; margin:0 0 8px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.two-col { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.45fr); gap:16px; }
@media (max-width:900px) { .topbar { align-items:flex-start; flex-direction:column; } .logout { margin-left:0; } .two-col { grid-template-columns:1fr; } }
.compact-form { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-bottom:6px; }
.compact-form select { min-width:280px; max-width:520px; }
.status.OVERPACKED, .status.EMPTY { background:#fdecec; color:var(--danger); }
.print-actions { display:flex; gap:8px; margin-bottom:18px; }
.operator-report-page { background:white; }
.operator-report { max-width:1180px; margin:0 auto; padding:22px; font-size:17px; line-height:1.4; }
.operator-header { display:flex; justify-content:space-between; gap:18px; border-bottom:3px solid #111827; padding-bottom:14px; margin-bottom:16px; }
.operator-header h1 { font-size:34px; margin:0 0 6px; }
.report-subtitle { font-size:20px; margin:0; }
.operator-meta { font-size:18px; min-width:320px; }
.operator-summary { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:12px; margin-bottom:18px; }
.operator-summary div { border:2px solid #d8dee6; border-radius:8px; padding:12px; background:#f8fafc; }
.operator-sheet { page-break-inside:avoid; border:3px solid #111827; border-radius:10px; padding:16px; margin:0 0 18px; }
.operator-sheet.shortage-sheet { border-color:#a61b1b; background:#fff7f7; }
.operator-sheet-head { display:flex; justify-content:space-between; gap:14px; border-bottom:2px solid #d8dee6; padding-bottom:10px; margin-bottom:10px; }
.operator-sheet h2 { font-size:28px; margin:0 0 4px; }
.sheet-source { margin:0; font-size:18px; }
.operator-sheet-size { font-size:21px; text-align:right; min-width:260px; }
.operator-material { font-size:18px; margin:10px 0; }
.operator-table { min-width:0; font-size:18px; }
.operator-table th, .operator-table td { font-size:18px; padding:10px 12px; }
.operator-offcut-note { font-size:20px; border:2px dashed #667085; border-radius:8px; padding:12px; margin-top:12px; background:#f8fafc; }
@media print {
  .topbar, .print-actions { display:none !important; }
  body { background:white; }
  main, .operator-report { max-width:none; padding:0; }
  .operator-report { font-size:16pt; }
  .operator-header h1 { font-size:28pt; }
  .operator-sheet { page-break-inside:avoid; margin-bottom:14pt; }
  .operator-table th, .operator-table td { font-size:15pt; }
  a { color:inherit; text-decoration:none; }
}

/* V4.11 mobile and orange theme refinements */
fieldset.mobile-upload { border:1px dashed var(--accent); background:var(--accent-soft); border-radius:8px; padding:14px; }
fieldset.mobile-upload legend { color:#7a3a00; font-weight:bold; padding:0 6px; }
.mobile-upload input[type="file"] { border:2px dashed var(--accent); background:white; min-height:46px; }
.profile-grid { grid-template-columns: minmax(260px,.6fr) minmax(280px,1fr); }
.detail-table { min-width:0; }
.detail-table th { width:170px; position:static; }
.detail-table th, .detail-table td { font-size:14px; }
.card, .panel { border-top:3px solid var(--accent); }
.status.Draft, .status.New, .status.Open { background:var(--accent-soft); color:#7a3a00; }
input:focus, select:focus, textarea:focus { outline:2px solid rgba(245,130,32,.35); border-color:var(--accent); }

@media (max-width:700px) {
  body { font-size:16px; }
  main { padding:12px; }
  h1 { font-size:24px; }
  h2 { font-size:20px; }
  .topbar { gap:10px; padding:10px 12px; position:static; }
  .brand { min-width:0; width:100%; }
  .brand img { width:40px; height:40px; }
  .topbar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:6px; }
  .topbar nav a { background:rgba(255,255,255,.12); text-align:center; padding:10px 8px; }
  .logout { width:100%; justify-content:space-between; align-items:stretch; }
  .logout span { align-self:center; }
  button, .button { width:100%; text-align:center; min-height:44px; font-size:16px; }
  button.small, .button.small { min-height:38px; font-size:14px; }
  .actions, .toolbar, .toolbar form { flex-direction:column; align-items:stretch; width:100%; }
  .toolbar label, .toolbar input, .toolbar select, .toolbar button, .toolbar .button { width:100%; }
  input, select, textarea { font-size:16px; min-height:44px; }
  label { font-size:14px; }
  .form-grid, .grid, .profile-grid { grid-template-columns:1fr; }
  .panel { padding:12px; border-radius:10px; }
  .table-wrap { border-radius:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  table { min-width:720px; }
  th, td { font-size:14px; padding:9px; }
  .compact-form select { min-width:0; max-width:none; width:100%; }
  .operator-report { padding:10px; font-size:16px; }
  .operator-header, .operator-sheet-head { flex-direction:column; }
  .operator-summary { grid-template-columns:1fr; }
  .operator-sheet-size { text-align:left; min-width:0; }
}

@media (max-width:420px) {
  .topbar nav { grid-template-columns:1fr; }
  table { min-width:640px; }
}


/* V4.12 LSF roll forming module */
.progress { width:100%; height:12px; border-radius:999px; background:#f1f5f9; overflow:hidden; border:1px solid #e2e8f0; margin-top:5px; }
.progress span { display:block; height:100%; background:var(--accent); }
.progress.large { height:18px; }
.status.InProduction, .status.Active, .status.Available { background:#e7f5ed; color:var(--ok); }
.status.ReadyToClose, .status.Low { background:#fff3cd; color:#8a5a00; }
.status.Exhausted, .status.Closed { background:#eef2f7; color:#475467; }
.small-metric { font-size:21px !important; line-height:1.15; }
.unit-list { display:flex; flex-wrap:wrap; gap:8px; }
.unit-chip { display:inline-block; border:1px solid #d0d5dd; border-radius:999px; padding:7px 10px; background:#fff; font-size:14px; }
.unit-chip.done { background:#e7f5ed; border-color:#b7e1c9; color:#146c43; text-decoration:line-through; }
.check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.check-card { border:1px solid var(--line); border-radius:8px; background:#fff; padding:10px; min-height:58px; cursor:pointer; }
.check-card input { margin-right:8px; }
.check-card span { display:block; color:var(--muted); margin-top:4px; }
.mono { font-family: Consolas, 'Courier New', monospace; }
.large-textarea { min-height:210px; }
.top-space { margin-top:12px; }
.live-table th, .live-table td { font-size:18px; padding:13px 14px; }
.live-priority { font-size:30px; font-weight:bold; color:var(--accent-dark); }
.live-panel { border-top-width:6px; }
.action-panel { border-color:#b7e1c9; background:#f7fff9; }
.report-large { font-size:17px; }
@media (max-width:700px) {
  .check-grid { grid-template-columns:1fr; }
  .unit-chip { width:100%; border-radius:8px; }
  .live-table th, .live-table td { font-size:15px; }
  .live-priority { font-size:22px; }
}

/* V4.14 separation, mobile tables, coil tracking and local PC operation */
.mega-nav { display:flex; align-items:stretch; gap:8px; flex-wrap:wrap; }
.nav-single, .nav-group { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:8px; }
.nav-single { display:flex; align-items:center; padding:8px 10px; }
.nav-group { display:flex; align-items:center; gap:6px; padding:6px; }
.nav-group span { color:#ffd8b5; font-weight:700; padding:0 5px; white-space:nowrap; }
.nav-group a { padding:6px 8px; background:rgba(255,255,255,.08); border-radius:6px; }
.section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.section-head h2 { margin:0; }
.live-two-col { grid-template-columns:1fr 1fr; }
.compact-table { min-width:640px; }
.subpanel { border:1px solid var(--line); border-radius:10px; padding:14px; background:#fffaf5; }
.entry-table input, .entry-table select { min-width:120px; }
.entry-table { min-width:760px; }
.setup-grid { align-items:start; }
.setup-block { max-height:520px; overflow:hidden; display:flex; flex-direction:column; }
.setup-users { max-height:none; }
.setup-scroll { max-height:360px; overflow:auto; }
.scroll-panel { max-height:560px; overflow:hidden; display:flex; flex-direction:column; }
.scroll-panel .table-wrap { overflow:auto; }
.calc-grid { align-items:end; }
.calc-result { border:1px solid var(--line); border-radius:8px; background:#fffaf5; padding:12px; min-height:56px; }
.calc-result span { display:block; font-size:22px; font-weight:700; color:var(--accent-dark); margin-top:5px; }
.compact-return { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); margin-top:8px; }
.status.OnDecoiler { background:#fff3cd; color:#8a5a00; }
.report-box { border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:8px; background:#fffaf5; padding:14px; }
.report-box span { display:block; color:var(--muted); font-size:13px; margin-bottom:6px; }
.report-box strong { font-size:20px; }
.meshed-report h2 { font-size:28px; color:var(--accent-dark); }

@media (max-width:900px) {
  .mega-nav { width:100%; display:grid; grid-template-columns:1fr; }
  .nav-group { flex-direction:column; align-items:stretch; }
  .nav-group span { text-align:center; padding:6px; }
  .nav-group a, .nav-single { text-align:center; justify-content:center; min-height:42px; }
  .live-two-col { grid-template-columns:1fr; }
  .setup-block { max-height:460px; }
}

@media (max-width:700px) {
  .entry-table { min-width:680px; }
  .report-box strong { font-size:18px; }
  .calc-result span { font-size:18px; }
  .subpanel { padding:10px; }
}

/* V4.14 navigation, operator report size, settings layout, and checklist controls */
.clean-nav { display:flex; align-items:center; gap:10px; flex-wrap:wrap; flex:1; }
.clean-nav .top-link, .nav-menu > summary { color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius:8px; padding:10px 14px; cursor:pointer; font-weight:700; list-style:none; min-width:110px; text-align:center; }
.nav-split { display:inline-flex; align-items:stretch; gap:3px; }
.nav-split .flashings-home { min-width:110px; }
.nav-split .nav-menu-arrow > summary { min-width:34px; width:34px; padding-inline:0; font-size:17px; line-height:16px; }
.nav-split .nav-drop { left:auto; right:0; }
.nav-menu > summary::-webkit-details-marker { display:none; }
.nav-menu { position:relative; }
.nav-menu[open] > summary { background:rgba(255,255,255,.24); }
.nav-drop { position:absolute; top:calc(100% + 6px); left:0; min-width:230px; background:#fff; color:var(--text); border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.22); padding:8px; z-index:100; }
.nav-drop a { display:block; color:var(--text) !important; padding:10px 12px !important; border-radius:8px; }
.nav-drop a:hover { background:var(--accent-soft) !important; color:#7a3a00 !important; text-decoration:none; }
.operator-report { max-width:1120px; font-size:14.5px; line-height:1.25; padding:16px; }
.operator-header h1 { font-size:28px; }
.report-subtitle { font-size:16px; }
.operator-meta, .sheet-source, .operator-material { font-size:14.5px; }
.operator-summary { gap:8px; margin-bottom:12px; }
.operator-summary div { padding:8px; }
.operator-sheet { padding:10px; margin-bottom:12px; border-width:2px; }
.operator-sheet h2 { font-size:22px; }
.operator-sheet-size { font-size:16px; }
.operator-table th, .operator-table td { font-size:14px; padding:6px 7px; }
.operator-offcut-note { font-size:15px; padding:8px; margin-top:8px; }
.done-button { background:#146c43; }
.done-button[disabled] { background:#98a2b3; cursor:not-allowed; }
.checklist-table { min-width:0; table-layout:fixed; }
.checklist-table th, .checklist-table td { word-break:break-word; }
.checklist-table th:nth-child(1){width:90px}.checklist-table th:nth-child(2){width:190px}.checklist-table th:nth-child(7){width:110px}
.confirm-box { border:2px solid var(--accent); background:var(--accent-soft); border-radius:10px; padding:14px; }
.confirm-box label { font-size:15px; color:#17202a; }
.setup-grid { display:block; }
.setup-block { max-height:none; overflow:visible; width:100%; }
.setup-scroll { max-height:380px; overflow-y:auto; overflow-x:hidden; }
.setup-block .table-wrap table { min-width:0; table-layout:fixed; }
.setup-block .table-wrap th, .setup-block .table-wrap td { word-break:break-word; }
.lookup-edit-table input, .lookup-edit-table select { min-width:0; width:100%; }
.lookup-edit-table button.small { width:auto; }
.update-steps { counter-reset:step; }
.update-steps li { margin-bottom:8px; }
.report-limit-note { background:#fff3cd; color:#7a3a00; border:1px solid #ffd37a; border-radius:8px; padding:10px; margin:10px 0; }
@media print { .operator-report { font-size:12pt; } .operator-header h1 { font-size:22pt; } .operator-table th, .operator-table td { font-size:10.5pt; padding:4pt 5pt; } .operator-sheet { padding:8pt; margin-bottom:8pt; } .operator-offcut-note { font-size:11pt; } }
@media (max-width:900px) { .clean-nav { width:100%; display:grid; grid-template-columns:1fr; } .nav-menu { width:100%; } .nav-split { width:100%; } .nav-split .nav-menu-arrow { width:auto; } .nav-drop { position:static; box-shadow:none; margin-top:6px; } .clean-nav .top-link, .nav-menu > summary { width:100%; } .nav-split .nav-menu-arrow > summary { width:34px; } }
@media (max-width:700px) { .checklist-table { min-width:720px; } .setup-scroll { max-height:340px; } .nav-drop a { min-height:42px; } }
.lookup-list { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.lookup-row-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto; gap:10px; align-items:end; border:1px solid var(--line); border-radius:8px; padding:10px; background:#fff; }
.lookup-row-form label { margin:0; }
.lookup-row-form button { white-space:nowrap; }
.settings-form { grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,2fr) auto; }
.flashing-form, .colour-form { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto; }
.warning-note { background:#fff3cd; color:#7a3a00; border:1px solid #ffd37a; border-radius:8px; padding:10px; margin:10px 0; }
.report-toolbar form.wrap { flex-wrap:wrap; }
@media (max-width:700px) { .lookup-row-form, .settings-form, .flashing-form, .colour-form { grid-template-columns:1fr; } .lookup-row-form button { width:100%; } }


/* Platform patch 1.0.1: compact live dashboard, searchable Flashings clients, report branding */
.live-two-col { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:start; }
.live-two-col .live-panel { min-width:0; padding:10px; overflow:hidden; }
.live-two-col .section-head { gap:6px; margin-bottom:7px; }
.live-two-col .section-head h2 { font-size:18px; line-height:1.15; }
.live-two-col .section-head .button.small { font-size:11px; line-height:1.15; padding:5px 7px; min-height:0; white-space:normal; text-align:center; }
.live-two-col .table-wrap { width:100%; overflow:auto; }
.live-two-col .live-table { min-width:0; width:100%; table-layout:fixed; }
.live-two-col .live-table th,
.live-two-col .live-table td { font-size:11.5px; line-height:1.18; padding:5px 5px; overflow-wrap:anywhere; word-break:normal; }
.live-two-col .live-table th { white-space:normal; }
.live-two-col .live-priority { font-size:19px; }
.live-two-col .status { font-size:9.5px; line-height:1.1; padding:2px 4px; white-space:normal; display:inline-block; }
.live-two-col .progress { height:8px; margin-top:3px; }
.live-two-col .muted { font-size:10.5px; }

.client-picker { position:relative; min-width:0; }
.client-selected { border:1px solid var(--line); border-radius:7px; background:#fffaf5; padding:9px 10px; min-height:39px; margin-top:6px; }
.client-results { position:absolute; left:0; right:0; z-index:120; max-height:330px; overflow:auto; background:#fff; border:1px solid #98a2b3; border-radius:9px; box-shadow:0 14px 34px rgba(16,24,40,.2); margin-top:4px; }
.client-result { display:block; width:100%; border:0; border-bottom:1px solid #eaecf0; border-radius:0; background:#fff; color:var(--text); text-align:left; padding:10px 12px; cursor:pointer; }
.client-result:last-child { border-bottom:0; }
.client-result:hover, .client-result:focus { background:var(--accent-soft); outline:2px solid transparent; }
.client-result strong, .client-result span { display:block; }
.client-result span { color:var(--muted); font-size:12px; margin-top:3px; }
.client-result-empty { padding:11px 12px; color:var(--muted); }

.report-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:12px; }
.report-title-row h1, .report-title-row h2 { margin:0; }
.report-brand-logo { width:150px; max-height:82px; object-fit:contain; object-position:right top; flex:0 0 auto; }
.operator-header .report-brand-logo { width:145px; max-height:78px; margin-left:auto; }
@media (max-width:1100px) {
  .live-two-col .live-table th, .live-two-col .live-table td { font-size:10.5px; padding:4px; }
  .live-two-col .section-head h2 { font-size:16px; }
}
@media (max-width:900px) {
  .live-two-col { grid-template-columns:1fr; gap:14px; }
  .live-two-col .live-table { min-width:680px; }
  .live-two-col .live-table th, .live-two-col .live-table td { font-size:13px; padding:7px; }
}
@media (max-width:700px) {
  .report-title-row { align-items:center; }
  .report-brand-logo { width:105px; max-height:60px; }
  .client-results { position:fixed; left:10px; right:10px; top:20%; max-height:60vh; }
}
@media print {
  .report-title-row { display:flex; }
  .report-brand-logo { width:120px; max-height:65px; }
}

.readonly-box{padding:10px;border:1px solid #d7dce0;border-radius:6px;background:#f4f6f7;min-height:38px}.tiny{font-size:.72rem;padding:2px 6px}.unit-chip form{display:inline}.check-card button{margin-top:6px}

/* Platform patch 1.0.6: open-run recovery, dual-machine LSF and Excel checklist import */
.import-callout { border:1px solid #f5a35b; border-left:5px solid var(--accent); border-radius:10px; background:#fff8f1; padding:14px; }
.import-callout h3 { margin:0 0 6px; }
.warning-button { background:#b54708 !important; color:#fff !important; border-color:#b54708 !important; }
.danger-row { background:#fff1f0; }
.vertical-actions { flex-direction:column; align-items:stretch; min-width:170px; }
.compact-form { gap:5px; margin:0; }
.compact-form input { min-width:150px; }
.run-shortcuts { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
.run-shortcut { display:flex; flex-direction:column; gap:3px; border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:9px; padding:11px; background:#fff; color:var(--text); text-decoration:none; }
.run-shortcut:hover { background:var(--accent-soft); text-decoration:none; }
.run-shortcut em { color:var(--danger); font-style:normal; font-weight:700; }
.status.Cancelled, .status.Deleted, .status.Missing { background:#fee4e2; color:#b42318; }
@media (max-width:700px) {
  .run-shortcuts { grid-template-columns:1fr; }
  .vertical-actions { min-width:0; }
  .compact-form input { min-width:0; width:100%; }
}

/* Platform patch 1.0.7: bulk production-file downloads */
.bulk-file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.bulk-file-actions .check{margin:0}.file-select-cell{width:44px;text-align:center}.file-select-cell input{width:auto}.file-table-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){.bulk-file-actions button{flex:1 1 auto}.file-table-actions{flex-direction:column}}

/* 1.0.8 settings and team presence */
.online-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.online-user{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;background:#f6f8f9;border:1px solid #d8e0e4;border-radius:8px;padding:8px 10px}
.online-user small{grid-column:2;color:#65727a}.online-dot{width:10px;height:10px;background:#11a36a;border-radius:50%;box-shadow:0 0 0 3px rgba(17,163,106,.15)}
.settings-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}
.settings-nav{position:sticky;top:10px;background:#17262d;border-radius:12px;padding:8px;display:flex;flex-direction:column}
.settings-nav a{color:#eef3f5;text-decoration:none;padding:10px 12px;border-radius:7px;font-weight:700;border-left:4px solid transparent}
.settings-nav a:hover,.settings-nav a.active{background:#f36c0a;color:#fff;border-left-color:#fff}.settings-content{min-width:0}
@media(max-width:800px){.settings-shell{grid-template-columns:1fr}.settings-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
.settings-content>.settings-panel{display:none}.settings-content>.settings-panel.active{display:block}
.import-preview{margin-top:18px;padding:14px;border:1px solid #f0a05f;background:#fff8f1;border-radius:10px}


/* Platform patch 1.4.3: LSF operator run mobile layout and scroll retention */
@media (max-width:700px) {
  .lsf-run-page h1 { font-size:22px; margin:0 0 10px; }
  .lsf-run-page .toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .lsf-run-page .toolbar .button { width:100%; margin:0; }
  .lsf-run-page .panel { padding:10px; margin-bottom:10px; }
  .lsf-run-page .panel h2 { font-size:18px; margin-bottom:8px; }
  .lsf-run-page .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .lsf-run-page .card { padding:10px; min-width:0; }
  .lsf-run-page .card h3 { font-size:15px; margin-bottom:7px; }
  .lsf-run-page .card p { margin:5px 0; overflow-wrap:anywhere; }
  .lsf-run-page .run-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .lsf-run-page .run-check-card { padding:10px; min-height:108px; display:flex; flex-direction:column; align-items:stretch; }
  .lsf-run-page .run-check-card strong { font-size:16px; overflow-wrap:anywhere; }
  .lsf-run-page .run-check-card span { flex:1; font-size:13px; overflow-wrap:anywhere; }
  .lsf-run-page .run-check-card button { margin-top:8px; }
  .lsf-run-page .unit-chip.done { display:flex; align-items:center; justify-content:space-between; gap:8px; text-decoration:none; }
  .lsf-run-page .unit-chip.done form { flex:0 0 auto; }
.lsf-run-page .unit-chip.done button { width:auto; min-height:36px; }
}

/* LSF physical-coil Barcode IDs: deliberately large and easy to transcribe
   into the PrintSabre while direct printer integration is not yet available. */
.barcode-code{display:inline-block;font-family:Consolas,"Courier New",monospace;font-size:1.35rem;line-height:1.1;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:#101828;white-space:nowrap}
.barcode-code.compact{font-size:.95rem;letter-spacing:.1em}
.new-coil-barcode{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:14px;border:2px solid #087a5b;border-radius:8px;background:#ecfdf3}
.new-coil-barcode>span{font-weight:700}.new-coil-barcode .barcode-code{font-size:2rem}.new-coil-barcode small{flex-basis:100%}
.barcode-camera-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.barcode-camera-control .field-label{font-weight:600}
.barcode-camera-control video{width:min(100%,420px);min-height:180px;max-height:320px;object-fit:cover;border:2px solid #087a5b;border-radius:8px;background:#101828}
.barcode-camera-control small{display:block}
@media(max-width:700px){.new-coil-barcode .barcode-code{font-size:1.7rem}.barcode-camera-control,.barcode-camera-control button{width:100%}}
@media (max-width:460px) {
  .lsf-run-page .grid { grid-template-columns:1fr; }
  .lsf-run-page .run-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:350px) {
  .lsf-run-page .toolbar, .lsf-run-page .run-check-grid { grid-template-columns:1fr; }
}

/* Shared report printing: open the browser/Windows print dialog and print only content. */
@media print {
  @page { margin:10mm; }
  .topbar, .report-toolbar, footer { display:none !important; }
  main { margin:0 !important; padding:0 !important; max-width:none !important; }
  .table-wrap { overflow:visible !important; }
  thead { display:table-header-group; }
  tfoot { display:table-footer-group; }
  tr, .report-box { break-inside:avoid; }
  .panel { box-shadow:none !important; }
}

/* Flashings Designer: controlled design, release and operator workspace. */
.flashings-app-heading,.flashings-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.flashings-app-heading h1,.flashings-workspace-heading h1{margin:2px 0 6px}.flashings-app-heading p,.flashings-workspace-heading p{margin:0}.eyebrow{margin:0 0 5px!important;color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.12em}.back-link{display:inline-block;margin:0 0 8px;font-size:13px;font-weight:700}.workspace-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.flashings-list-toolbar{justify-content:space-between}.flashings-job-table td{vertical-align:middle}.flashings-job-table .progress{margin-top:5px;min-width:120px}
.flashings-tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid var(--line);margin:0 0 16px;padding:0 0 2px}.flashings-tabs button{background:transparent;color:#475467;border-radius:7px 7px 0 0;padding:10px 13px;white-space:nowrap;font-weight:700}.flashings-tabs button:hover{background:var(--accent-soft);color:var(--accent-dark)}.flashings-tabs button.active{background:#fff;color:var(--accent-dark);box-shadow:inset 0 -3px 0 var(--accent)}
.flashings-toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:360px;border-radius:9px;background:#17262d;color:#fff;padding:12px 15px;box-shadow:0 12px 30px rgba(16,24,40,.28)}.flashings-toast.error{background:#a61b1b}.flashings-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.flashings-metrics article{border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:9px;background:#fff;padding:13px}.flashings-metrics span{display:block;color:var(--muted);font-size:12px}.flashings-metrics strong{display:block;margin-top:5px;font-size:25px}.flashings-overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:16px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-title h2{margin:0}.progress{height:9px;overflow:hidden;border:1px solid #d8e0e4;border-radius:999px;background:#f4f6f7}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#f7a153)}.progress.large{height:13px;margin:11px 0}.document-list{display:flex;flex-direction:column;gap:7px;margin:0 0 12px;padding:0;list-style:none}.document-list li{display:flex;flex-direction:column;border:1px solid #edf0f2;border-radius:7px;padding:8px}.document-list small{color:var(--muted);margin-top:2px}
.designer-shell{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.designer-shell.writing .designer-layout{pointer-events:none;opacity:.7;transition:opacity .15s ease}.designer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:#17262d;color:#fff}.designer-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.designer-toolbar [data-draft-state]{font-size:12px;color:#fbd0aa}.designer-toolbar .secondary{background:#687682}.designer-layout{display:grid;grid-template-columns:210px minmax(500px,1fr) 300px;align-items:start;min-height:610px}.designer-layout>aside{min-width:0}.designer-list{height:100%;background:#fffaf4;border-right:1px solid var(--line);padding:13px}.designer-list h2{display:flex;justify-content:space-between;margin:0 0 10px;font-size:17px}.designer-list h2 span{color:var(--accent-dark)}.designer-list>div{display:flex;flex-direction:column;gap:6px}.designer-list p{margin:13px 2px;color:var(--muted);font-size:12px;line-height:1.45}.new-design{width:100%;margin:0 0 10px;background:#fff;color:var(--accent-dark);border:1px dashed var(--accent)}.new-design:hover{background:var(--accent-soft)}.design-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;background:#fff;color:var(--text);border:1px solid #e7d8c9;border-radius:8px;padding:9px;text-align:left}.design-card:hover,.design-card.active{background:#fff3e6;color:var(--text);border-color:var(--accent);box-shadow:inset 4px 0 var(--accent)}.design-card span,.design-card small{margin-top:3px;color:#667085}.design-card small{font-size:11px}.designer-main{min-width:0;padding:14px;background:#f7f9fa}.designer-canvas-wrap{position:relative;min-height:430px}.canvas-guide{padding:0 0 8px;color:var(--muted);font-size:12px}.canvas-zoom{position:absolute;top:33px;left:14px;z-index:2;display:flex;align-items:center;overflow:hidden;border:1px solid #cfd8dc;border-radius:7px;background:#fff;box-shadow:0 2px 7px rgba(16,24,40,.12)}.canvas-zoom button{min-width:32px;border-radius:0;background:#fff;color:#344054;padding:6px 8px}.canvas-zoom button:hover{background:var(--accent-soft);color:var(--accent-dark)}.canvas-zoom span{padding:0 8px;border-left:1px solid #e4eaed;border-right:1px solid #e4eaed;font-size:12px;font-weight:700}.flashing-canvas{width:100%;min-height:430px;display:block;border:1px solid #d6dfe3;border-radius:9px;background:#fff;touch-action:none;user-select:none}.flashing-canvas .profile-shadow{fill:none;stroke:#f58220;stroke-opacity:.18;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.flashing-canvas .designer-handle{fill:#fff;stroke:#1c3841;stroke-width:2;cursor:grab}.flashing-canvas .designer-handle:active{cursor:grabbing}.flashing-canvas .dimension-bg{fill:#fff;stroke:#c9d4d9;stroke-width:1}.flashing-canvas .dimension-bg.selected{fill:#fff3e6;stroke:#f58220;stroke-width:1.5}.flashing-canvas .dimension-label{fill:#17262d;font:600 10px Arial}.flashing-canvas .bend-ring{fill:none;stroke:#f58220;stroke-width:1.25;stroke-dasharray:3 3}.flashing-canvas .angle-bg{fill:#17262d}.flashing-canvas .angle-label{fill:#fff;font:700 10px Arial}.flashing-canvas .side-pill{fill:#fff;stroke:#cdd9de}.flashing-canvas .side-pill-text{fill:#334c55;font:700 9px Arial}.flashing-canvas .notes-box{fill:#fff;stroke:#e6c7a9}.flashing-canvas .notes-title{fill:#9a4a09;font:700 9px Arial}.flashing-canvas .notes-line{fill:#334c55;font:10px Arial}.flashing-canvas .canvas-footer{fill:#65727a;font:700 9px Arial}.designer-empty{display:grid;place-items:center;min-height:430px;border:1px dashed #cbd5e1;border-radius:9px;color:var(--muted)}
.designer-inspector{border-left:1px solid var(--line);max-height:760px;overflow:auto;background:#fff;padding:13px}.designer-inspector section{padding:0 0 13px;margin:0 0 13px;border-bottom:1px solid #edf0f2}.designer-inspector section:last-child{border-bottom:0}.designer-inspector h3{margin:0 0 9px;font-size:15px}.designer-field{margin:0 0 8px}.designer-field span{display:block;font-size:12px;font-weight:700;color:#475467}.designer-field input,.designer-field select{width:100%;margin-top:3px}.designer-girth{border:1px solid #bde4cf;border-radius:7px;background:#effaf3;padding:9px;margin-top:9px}.designer-girth.warning{border-color:#f9b482;background:#fff3e6}.designer-girth span,.designer-girth small{display:block;font-size:11px;color:#486156}.designer-girth.warning small{color:#9a4a09}.designer-girth strong{display:block;margin:2px 0;font-size:20px}.member-row,.bend-row{display:grid;grid-template-columns:1fr 1.1fr;gap:6px;align-items:end;margin:0 0 7px;padding:7px;border:1px solid #edf0f2;border-radius:7px}.member-row.selected{border-color:var(--accent);background:var(--accent-soft)}.member-row button{background:#fff;color:#344054;border:1px solid #d7dfe4;padding:7px;font-size:12px}.member-row button:hover{background:#fff}.bend-row strong,.bend-row span{font-size:12px}.bend-row span{color:var(--muted)}.bend-row .designer-field{grid-column:1/-1;margin:0}.designer-preview{background:#f7f9fa!important;border:1px solid #e2e8eb!important;border-radius:8px;padding:9px!important}.designer-preview svg{width:100%;height:140px;display:block;background:#fff;border-radius:6px}.designer-preview p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.35}
.inspector-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.inspector-section-heading h3{margin:0}.leg-lock-intro{margin:0 0 9px;color:var(--muted);font-size:11px;line-height:1.4}.member-row .designer-field{grid-column:1/-1;margin:0}.member-row.locked{border-color:#83c6a1;background:#effaf3}.member-row .leg-lock{font-weight:700;color:#56646b}.member-row .leg-lock.locked{border-color:#168250;background:#168250;color:#fff}.member-row .leg-lock.locked:hover{background:#106f43;color:#fff}.leg-lock-help,.bend-lock-help{grid-column:1/-1;color:#19704a;font-size:10px;line-height:1.35}.bend-row.locked{border-color:#b8d9c7;background:#f5fbf7}.bend-row input:disabled,.member-row input:disabled{cursor:not-allowed;background:#e9f2ed;color:#315744;opacity:1}.designer-sources{margin-top:14px;padding-top:12px;border-top:1px solid #e7d8c9}.designer-sources h3{margin:0 0 8px;font-size:13px}.designer-source{display:block!important;margin-bottom:8px}.designer-source>span{display:block;overflow:hidden;color:#56646b;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.designer-source>div{display:flex!important;align-items:center;gap:6px;margin-top:4px}.designer-source button{padding:5px 7px;font-size:11px}.designer-source a{font-size:11px}.flashing-canvas .locked-leg-line{stroke:#168250;stroke-width:5;stroke-linecap:round;opacity:.72}.flashing-canvas .designer-handle.locked{fill:#168250;stroke:#fff;stroke-width:2.5;cursor:not-allowed}.flashing-canvas .dimension-bg.locked{fill:#e8f7ee;stroke:#168250;stroke-width:1.5}.flashing-canvas .dimension-bg.locked.selected{fill:#d9f1e3;stroke:#0e7042}.flashing-canvas .dimension-bg.locked+.dimension-label{fill:#0d633b;font-size:9px}
.release-list,.batch-list,.cut-revision-list,.production-list,.activity-list{display:flex;flex-direction:column;gap:10px}.release-card,.batch-card,.cut-revision-card,.production-card{border:1px solid var(--line);border-radius:9px;background:#fff;padding:13px}.release-card>div:first-child,.batch-card header,.cut-revision-card header,.production-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.release-card span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.release-card p,.cut-revision-card p{margin:8px 0;color:#475467}.release-card button{margin:0 6px 4px 0}.batches-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:16px}.create-batch{display:flex;flex-direction:column;gap:10px}.allocation-grid{display:grid;gap:6px;max-height:360px;overflow:auto}.allocation-grid label{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:center;border:1px solid #e8edef;border-radius:7px;padding:8px;margin:0}.allocation-grid small{color:var(--muted)}.allocation-grid input{margin:0}.cut-create{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 13px}.cut-create select{min-width:260px}.cut-revision-card header strong{font-size:15px}.production-card{align-items:center}.production-card p{margin:4px 0 0;color:var(--muted)}.activity-list article{border-left:4px solid var(--accent);border-bottom:1px solid #edf0f2;padding:9px 11px}.activity-list article>div{display:flex;align-items:start;justify-content:space-between;gap:12px}.activity-list time,.activity-list small{color:var(--muted);font-size:11px}.activity-list p{margin:5px 0;font-size:13px}
.operator-overlay{position:fixed;inset:0;z-index:100;background:#f5f8f9;overflow:auto}.operator-overlay>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;background:#17262d;color:#fff;box-shadow:0 2px 9px rgba(16,24,40,.25)}.operator-overlay>header button{background:#fff;color:#233a43}.operator-overlay>header span{display:block;color:#d3dde1;font-size:12px;margin-top:2px}.operator-overlay>main{display:flex;flex-direction:column;gap:14px;max-width:1560px;margin:0 auto;padding:18px}.operator-design{display:grid;grid-template-columns:minmax(500px,1.6fr) minmax(210px,.6fr) minmax(220px,.65fr);gap:14px;align-items:start;background:#fff;border:1px solid #d7e0e3;border-radius:10px;padding:14px}.operator-drawing .designer-canvas-wrap{min-height:0}.operator-drawing .flashing-canvas{min-height:370px}.operator-detail h2{margin:0 0 8px}.operator-detail p{font-size:14px;line-height:1.45}.operator-source-files{margin-top:11px;border:1px solid #d8e2e5;border-radius:7px;padding:7px 9px;background:#f8fafb}.operator-source-files summary{cursor:pointer;color:#9a4a09;font-weight:700;font-size:13px}.operator-source-files>div{display:flex;flex-direction:column;gap:5px;margin-top:7px}.operator-source-files a{font-size:12px}.operator-pieces{border-left:1px solid #e4eaed;padding-left:14px}.operator-pieces h3{margin-top:0}.operator-pieces>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:7px}.piece-button{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#334c55;border:1px solid #cbd6da;border-radius:8px;padding:5px}.piece-button:hover{background:var(--accent-soft);color:#9a4a09}.piece-button.done{background:#e7f5ed;color:#146c43;border-color:#8fd0ad}.piece-button:disabled{cursor:default;opacity:1}.piece-button strong{font-size:16px}.piece-button span{font-size:10px}
.operator-drawing{position:relative}.operator-expand-drawing{position:absolute;z-index:3;right:12px;top:42px;background:#17262d;color:#fff;border:1px solid #fff;padding:8px 10px;box-shadow:0 2px 8px rgba(0,0,0,.18)}.flashing-drawing-overlay{position:fixed;inset:0;z-index:150;display:flex;min-height:100dvh;flex-direction:column;background:#101b20;color:#fff}.flashing-drawing-overlay>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;background:#17262d;box-shadow:0 2px 12px rgba(0,0,0,.35)}.flashing-drawing-overlay>header strong{display:block}.flashing-drawing-overlay>header span{display:block;margin-top:3px;color:#d3dde1;font-size:12px}.flashing-drawing-overlay>header>div:last-child{display:flex;align-items:center;gap:7px}.flashing-drawing-overlay>header button{background:#fff;color:#233a43;padding:8px 11px}.flashing-drawing-overlay .drawing-zoom-readout{min-width:44px;text-align:center}.flashing-drawing-overlay>main{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;flex:1;min-height:0;padding:14px}.flashing-fullscreen-canvas{width:100%;height:100%;min-height:0;border:1px solid #40545d;border-radius:10px;background:#fff;touch-action:none;user-select:none;cursor:grab}.flashing-fullscreen-canvas.panning,.flashing-fullscreen-canvas:active{cursor:grabbing}.flashing-drawing-overlay aside{overflow:auto;border:1px solid #40545d;border-radius:10px;background:#1d3038;padding:16px}.flashing-drawing-overlay aside h2{margin:0 0 12px;font-size:17px}.flashing-drawing-overlay aside h3{margin:18px 0 7px;font-size:14px}.flashing-drawing-overlay aside p{color:#d2dcdf;font-size:13px;line-height:1.45}
.cut-source-overlay{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px;background:rgba(18,35,42,.55)}.cut-source-overlay>section{width:min(760px,100%);max-height:min(760px,94vh);overflow:auto;border:1px solid #e2c4a8;border-radius:12px;background:#fff;box-shadow:0 20px 70px rgba(16,24,40,.35)}.cut-source-overlay header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px;border-bottom:1px solid #f0ded0}.cut-source-overlay h2{margin:2px 0 6px}.cut-source-overlay header p:not(.eyebrow){max-width:560px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.source-choice-list{display:flex;flex-direction:column;gap:8px;padding:14px}.source-choice-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e5ebed;border-radius:8px;padding:11px}.source-choice-list strong,.source-choice-list span,.source-choice-list small{display:block}.source-choice-list span,.source-choice-list small{color:var(--muted);font-size:12px;margin-top:3px}.source-choice-list button{flex:0 0 auto;max-width:190px}
.orientation-panel{fill:#fff;stroke:#e6c7a9}.orientation-heading{fill:#9a4a09;font:700 8px Arial}.orientation-side{fill:#334c55;font:700 10px Arial}.orientation-copy{fill:#53616a;font:700 7px Arial}.orientation-side.on-colour,.orientation-copy.on-colour{fill:#fff}.side-orientation-help{margin-top:8px;border-left:3px solid var(--accent);background:#fff7ef;padding:8px 9px;font-size:11px;line-height:1.4}.side-orientation-help strong,.side-orientation-help span{display:block}.side-orientation-help span{margin-top:3px;color:#59676e}.document-list li{align-items:center;justify-content:space-between;gap:9px}.document-list li>div{min-width:0}.source-view-button{white-space:nowrap}.damage-sheet-overlay .source-choice-list article>div{display:flex;min-width:0;flex-direction:column}.damage-status{color:#65737a;font-size:12px;font-weight:700}
.source-viewer-overlay,.flashing-3d-overlay{position:fixed;inset:0;z-index:140;display:flex;flex-direction:column;min-height:100dvh;background:#17262d;color:#fff}.source-viewer-overlay>header,.flashing-3d-overlay>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;background:#101c21;box-shadow:0 2px 12px rgba(0,0,0,.35)}.source-viewer-overlay>header strong,.flashing-3d-overlay>header strong{display:block}.source-viewer-overlay>header span,.flashing-3d-overlay>header span{display:block;margin-top:3px;color:#cbd7db;font-size:12px}.source-viewer-overlay>header>div:last-child{display:flex;align-items:center;gap:8px}.source-viewer-overlay>header .button{padding:8px 11px}.source-viewer-overlay>header button,.flashing-3d-overlay>header button{background:#fff;color:#243c45}.source-viewer-overlay>main{display:flex;flex:1;min-height:0;flex-direction:column;padding:12px;background:#17262d}.source-pdf-viewer{flex:1;width:100%;min-height:0;border:0;border-radius:8px;background:#fff}.source-image-stage{display:grid;flex:1;min-height:0;place-items:center;overflow:auto;border-radius:8px;background:#0c1519}.source-image-stage img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}.source-viewer-fallback{margin:8px 2px 0;color:#d2dcdf;font-size:12px}.flashing-3d-overlay>main{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:14px;flex:1;min-height:0;padding:14px;background:#101b20}.flashing-3d-canvas{width:100%;height:100%;min-height:520px;border:1px solid #40545d;border-radius:10px;background:radial-gradient(circle at 45% 35%,#f2f6f7 0,#cddadd 45%,#93a3a9 100%);touch-action:none;cursor:grab}.flashing-3d-canvas:active{cursor:grabbing}.flashing-3d-overlay aside{overflow:auto;border:1px solid #40545d;border-radius:10px;background:#1d3038;padding:16px}.flashing-3d-overlay aside h2{margin:0 0 12px;font-size:17px}.flashing-3d-overlay aside p{color:#d2dcdf;font-size:13px;line-height:1.45}.three-d-face{display:flex;flex-direction:column;gap:3px;margin:0 0 9px;border:1px solid #617780;border-radius:8px;background:#dfe7e9;color:#22363e;padding:11px}.three-d-face span{font-size:11px;font-weight:700}.three-d-face.coated{background:var(--colour-face,#f58220);border-color:rgba(255,255,255,.58);color:#fff}
.flashing-canvas.pannable{cursor:grab}.flashing-canvas.panning{cursor:grabbing}.flashing-canvas.panning *{cursor:grabbing!important}.flashing-canvas .bend-ring.locked{stroke:#168250;stroke-width:2;stroke-dasharray:none}.flashing-canvas .angle-bg.locked{fill:#168250}.bend-row .bend-lock{grid-column:1/-1;background:#fff;color:#56646b;border:1px solid #d7dfe4;padding:7px;font-size:12px;font-weight:700}.bend-row .bend-lock:hover{background:#fff}.bend-row .bend-lock.locked{border-color:#168250;background:#168250;color:#fff}.bend-row .bend-lock.locked:hover{background:#106f43;color:#fff}.bend-row.angle-locked{border-color:#83c6a1;background:#effaf3}.bend-row.angle-locked input:disabled{cursor:not-allowed;background:#e9f2ed;color:#315744;opacity:1}
@media(max-width:1220px){.designer-layout{grid-template-columns:185px minmax(400px,1fr) 275px}.operator-design{grid-template-columns:minmax(420px,1.3fr) minmax(210px,.7fr)}.operator-pieces{grid-column:1/-1;border-left:0;border-top:1px solid #e4eaed;padding:12px 0 0}.operator-pieces>div{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}}
@media(max-width:980px){.flashings-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.flashings-overview-grid,.batches-layout{grid-template-columns:1fr}.designer-layout{grid-template-columns:180px minmax(0,1fr)}.designer-inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;border-left:0;border-top:1px solid var(--line)}.designer-inspector section{border-bottom:0;margin:0}.designer-inspector .designer-preview{grid-column:1/-1}.operator-design{grid-template-columns:1fr}.operator-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.operator-detail h2{grid-column:1/-1}.operator-pieces{grid-column:auto}}
@media(max-width:700px){.flashings-app-heading,.flashings-workspace-heading{flex-direction:column;gap:10px}.workspace-heading-actions{width:100%}.workspace-heading-actions>*{flex:1;text-align:center}.flashings-list-toolbar{align-items:stretch}.flashings-list-toolbar form{width:100%}.flashings-list-toolbar form input{flex:1;min-width:0}.flashings-tabs{margin-left:-4px;margin-right:-4px}.flashings-tabs button{padding:9px 11px;font-size:13px}.flashings-metrics{gap:8px}.flashings-metrics article{padding:10px}.flashings-metrics strong{font-size:21px}.designer-toolbar{align-items:flex-start;flex-direction:column}.designer-toolbar>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.designer-layout{display:flex;flex-direction:column}.designer-list{width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}.designer-list>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.designer-list p{display:none}.designer-main{width:100%;padding:8px}.flashing-canvas{min-height:320px}.designer-canvas-wrap{min-height:320px}.canvas-guide{padding-left:3px;padding-right:3px}.canvas-zoom{top:30px;left:10px}.designer-inspector{width:100%;display:block;padding:12px}.designer-inspector section{border-bottom:1px solid #edf0f2;margin:0 0 12px;padding:0 0 12px}.designer-preview{display:block!important}.member-row,.bend-row{grid-template-columns:1fr}.operator-overlay>header{padding:10px;align-items:flex-start}.operator-overlay>header>div{flex:1}.operator-overlay>main{padding:10px}.operator-design{padding:9px;gap:10px}.operator-drawing .flashing-canvas{min-height:300px}.operator-detail{display:block}.operator-pieces>div{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.cut-create select{width:100%;min-width:0}.cut-create button{width:100%}.cut-source-overlay{padding:8px;place-items:end center}.cut-source-overlay header{padding:13px}.source-choice-list{padding:10px}.source-choice-list article{align-items:stretch;flex-direction:column}.source-choice-list button{max-width:none;width:100%}}
@media(max-width:700px){.source-viewer-overlay>header,.flashing-3d-overlay>header,.flashing-drawing-overlay>header{align-items:flex-start;padding:10px}.source-viewer-overlay>header>div:last-child{flex:0 0 auto}.source-viewer-overlay>header .button{display:none}.source-viewer-overlay>main{padding:7px}.source-pdf-viewer{min-height:68dvh}.source-image-stage img{max-height:calc(100dvh - 125px)}.flashing-3d-overlay>main{grid-template-columns:1fr;grid-template-rows:minmax(52dvh,1fr) auto;gap:9px;padding:9px}.flashing-3d-canvas{min-height:52dvh}.flashing-3d-overlay aside{max-height:34dvh;padding:12px}.flashing-drawing-overlay>header>div:first-child{min-width:0}.flashing-drawing-overlay>header>div:first-child strong{font-size:14px}.flashing-drawing-overlay>header span{font-size:10px;line-height:1.25}.flashing-drawing-overlay>header>div:last-child{gap:4px}.flashing-drawing-overlay>header button{padding:7px 8px;font-size:12px}.flashing-drawing-overlay>header .drawing-zoom-readout{display:none}.flashing-drawing-overlay>main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:9px;padding:8px}.flashing-fullscreen-canvas{min-height:calc(100dvh - 170px)}.flashing-drawing-overlay aside{max-height:25dvh;padding:11px}.flashing-drawing-overlay aside h2{font-size:15px}.operator-expand-drawing{right:8px;top:38px;padding:7px 8px;font-size:12px}.three-d-face{margin-bottom:6px;padding:8px}.orientation-panel{stroke-width:1.2}.document-list li{align-items:flex-start;flex-direction:column}.source-view-button{width:100%}}
@media print{.flashings-tabs,.flashings-workspace-heading,.designer-toolbar,.designer-list,.canvas-guide,.canvas-zoom,.designer-inspector,.flashings-toast{display:none!important}.designer-layout{display:block}.designer-main{padding:0;background:#fff}.flashing-canvas{border:0}.operator-overlay>header,.operator-pieces{display:none!important}.operator-overlay{position:static;background:#fff}.operator-overlay>main{padding:0}.operator-design{display:block;border:0;padding:0;break-inside:avoid}.operator-drawing .flashing-canvas{min-height:auto}.operator-detail{margin-top:8px}}

/* Cross-application launcher is placed above the Production work menu. */
.topbar .brand{order:0}.topbar .logout{order:1;margin-left:auto}.topbar .app-switcher{order:2;display:flex;gap:6px;flex:0 0 100%;align-items:center;overflow-x:auto;padding-top:2px;white-space:nowrap;scrollbar-width:thin}.app-switcher a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(0,0,0,.12);color:#fff;padding:5px 11px;font-size:12px;font-weight:800;text-decoration:none}.app-switcher a:hover{background:rgba(255,255,255,.22);text-decoration:none}.app-switcher a.is-current{background:#fff;color:#7a3905;border-color:#fff}.topbar .clean-nav{order:3;flex:0 0 100%}@media(max-width:900px){.topbar .app-switcher{display:flex;grid-template-columns:none}.topbar .app-switcher a{width:auto;background:rgba(0,0,0,.12);padding:5px 10px}}@media print{.app-switcher{display:none!important}}

/* Unified POS-style palette: white identity header, light launcher strip and dark work menu. */
:root{--bg:#f3f5f7;--panel:#fff;--text:#13232c;--muted:#66747e;--line:#d7dde1;--accent:#f26a00;--accent-dark:#d95800;--accent-soft:#fff2e9;--danger:#b82b2b;--ok:#14834d}
body{background:var(--bg);color:var(--text)}
.topbar{background:#fff;color:var(--text);border-bottom:0;box-shadow:none;padding:8px 18px 0;gap:20px;flex-wrap:wrap}
.brand{color:var(--text)}.brand span,.logout span{color:var(--muted)}.brand img{background:#fff}
.topbar .app-switcher{margin:8px -18px 0;padding:6px 18px;gap:6px;background:#e9eef1;border-top:3px solid var(--accent);border-bottom:0}
.topbar .app-switcher a{border:1px solid #bac7ce;background:#fff;color:#263840}.topbar .app-switcher a:hover{border-color:var(--accent);background:#fff7f1;color:#ad4800}.topbar .app-switcher a.is-current{border-color:var(--accent);background:var(--accent);color:#fff}
.topbar .clean-nav{margin:0 -18px;min-height:46px;padding:0 18px;gap:3px;background:#10212a}
.clean-nav .top-link,.nav-menu>summary{min-width:0;border:0;border-radius:0;background:transparent;color:#fff;padding:13px 12px}.clean-nav .top-link:hover,.nav-menu>summary:hover,.nav-menu[open]>summary{background:var(--accent)}
.logout button{background:var(--accent)}.logout button:hover{background:var(--accent-dark)}
.panel,.card{border-color:var(--line)}th{background:#eef2f4;color:var(--text)}
@media(max-width:900px){.topbar .app-switcher{padding:6px 10px;margin-left:-18px;margin-right:-18px}.topbar .clean-nav{margin-left:-18px;margin-right:-18px;padding:0 10px}}
