[hidden] { display:none!important; }
.field-error:empty,.validation-summary:empty { display:none; }
.field-error,.calculator-field > .field-error { color:#9d2525; font-size:12px; line-height:1.4; text-transform:none; letter-spacing:normal; font-weight:normal; }
.calculator-field [aria-invalid="true"] { border:2px solid #b52d2d; }
.validation-summary { margin:16px 25px; padding:12px; border-left:4px solid #b52d2d; background:#fff0ed; font-size:13px; line-height:1.5; }
.calculator-toggle { flex-wrap:wrap; }
.calculator-toggle .field-error { flex-basis:100%; }
.input-note { margin:0 0 18px; font-size:12px; line-height:1.5; color:#456170; }
.calculator-actions { margin:0 25px 25px; }
.print-controls { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:22px 0 10px; }
.print-controls .calculator-field { flex:1 1 220px; }
.print-controls .calculator-button { flex:1 1 170px; }
.print-help { color:#456170; font-size:13px; line-height:1.5; }
.print-help a { color:#102d42; text-decoration:underline; }
.calculator-button:disabled { opacity:.5; cursor:default; transform:none; }
.calculator-status { white-space:normal; }
.calculator-results .calculator-panel-header { align-items:start; }
.table-scroll { overflow:visible; }
#machine-settings,#totals-table { table-layout:fixed; }
#machine-settings th,#machine-settings td,#totals-table th,#totals-table td { white-space:normal; overflow-wrap:anywhere; padding:10px 5px; }
#machine-settings th { letter-spacing:0; font-family:Arial,Helvetica,sans-serif; line-height:1.4; text-transform:none; font-size:10px; }
#machine-settings td { font-size:12px; }
#machine-settings th:first-child { width:55px; }
#machine-settings th:last-child { width:66px; }
.remove-button { min-height:36px; padding:8px 6px; }
.totals-block { grid-template-columns:1fr; }
.totals-label { padding:12px; }
#totals-table th { letter-spacing:0; font-family:Arial,Helvetica,sans-serif; text-transform:none; }
#totals-table td { font-size:15px; }
.planning-assumptions { padding:15px; margin-top:18px; background:#edf2f4; border-left:4px solid var(--gold); color:#294b5f; font-size:12px; line-height:1.55; }
.planning-assumptions p { margin:0 0 9px; }
.planning-assumptions p:last-child { margin-bottom:0; }
.result-status,.storage-status { font-size:12px; line-height:1.5; color:#456170; }
.result-status:empty { display:none; }
.result-status:focus { outline:2px solid #8a6d00; outline-offset:3px; }
.visual-group { grid-template-columns:250px minmax(0,1fr); }
.configuration-heading { grid-column:1/-1; padding:0 0 15px; border-bottom:1px solid #b5c2c8; min-width:0; }
.configuration-heading h3 { margin:0 0 8px; font-size:23px; }
.configuration-heading p { margin:5px 0; font-size:13px; line-height:1.5; }
.configuration-id code { font-size:12px; overflow-wrap:anywhere; word-break:break-word; }
.description-container h4 { margin:0 0 12px; color:var(--gold); font-size:15px; }
.description-container dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 12px; margin:0; line-height:1.5; }
.description-container dt { color:#c4d0d6; }
.description-container dd { margin:0; font-weight:bold; text-align:right; }
.configuration-views { min-width:0; }
.schematic-note { margin:0 0 12px; font-size:13px; font-weight:bold; }
.tables-container { grid-template-columns:minmax(0,1fr) minmax(140px,.4fr); gap:12px; }
.parking-table,.side-view-table { width:100%; table-layout:fixed; }
.parking-table td,.side-view-table td { height:62px; min-width:0; overflow-wrap:anywhere; white-space:normal; }
.parking-table .car img { width:100%; max-width:70px; height:60px; }
.side-view-table .car img { width:100%; max-width:145px; height:60px; }
.vacancy { display:block; font-size:9px; line-height:1.2; color:#536a76; padding:2px; }
.pit-level { border-top:3px dashed #73613c; }
.dimension-caption,.calculation-note,.measurement-note { font-size:12px; line-height:1.5; color:#456170; }
.dimension-caption { padding:10px; margin:0; border-top:1px solid #bdc8cd; }
.calculation-note { margin-top:15px; padding:12px; background:#f3f6f6; }
.measurement-note { margin:12px 0 0; }
@media (max-width:1200px) and (min-width:1051px) {
  .calculator-workspace { padding-left:24px; padding-right:24px; grid-template-columns:320px minmax(0,1fr); gap:18px; }
  .table-container-top { padding:14px; }
  .calculator-results .calculator-panel-header { flex-direction:column; gap:12px; }
}
@media (max-width:760px) {
  .calculator-results .calculator-panel-header { flex-direction:column; gap:12px; }
  .visual-group,.tables-container { grid-template-columns:1fr; }
  #machine-settings { display:block; border:0; }
  #machine-settings thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #machine-settings tbody { display:block; }
  #machine-settings tbody tr { display:grid; grid-template-columns:1fr 1fr; border-bottom:2px solid #8ca0ab; }
  #machine-settings td { display:block; text-align:left; padding:12px; font-size:15px; }
  #machine-settings td::before { content:attr(data-label); display:block; margin-bottom:6px; font-size:10px; line-height:1.3; color:#456170; }
  #machine-settings td:first-child { grid-column:1/-1; background:#102d42; color:#fff; }
  #machine-settings td:first-child::before { color:#c4d0d6; }
  #machine-settings td:last-child { grid-column:1/-1; }
  .remove-button { min-height:44px; padding:10px 16px; }
  #totals-table td { font-size:13px; }
  #totals-table th { font-size:9px; }
  .description-container dl { grid-template-columns:1fr auto; }
  .parking-table .car img { height:48px; }
  .parking-table td { height:50px; }
  .vacancy { font-size:8px; }
}

.identity-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; }
.identity-row > strong { grid-column:1/-1; }
.identity-row code { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.identity-actions { display:inline-flex; align-items:center; gap:7px; }
.identity-copy { min-width:74px; min-height:38px; display:inline-grid; place-items:center; padding:7px 9px; border:1px solid #8fa2ac; background:#fff; color:#102d42; cursor:pointer; font-size:12px; font-weight:bold; line-height:1; white-space:nowrap; }
.identity-copy:hover,.identity-copy:focus-visible { border-color:#8a6d00; outline:2px solid rgba(248,200,14,.35); outline-offset:1px; }
.identity-builder { display:inline-flex; min-height:32px; align-items:center; padding:6px 9px; background:#f8c80e; color:#07131d; font-size:10px; font-weight:900; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.identity-builder:hover,.identity-builder:focus-visible { text-decoration:underline; }
.group-builder-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:3px 0 6px; }
.group-builder-note { color:#456170; font-size:12px; }
.machine-identifiers { border:1px solid #b8c6cd; border-top:4px solid #f8c80e; margin:18px 0; padding:16px; background:#f1f5f6; }
.machine-identifiers-heading h3 { margin:0; font-size:19px; color:#102d42; }
.machine-identifiers-heading p { margin:7px 0 14px; color:#456170; font-size:12px; line-height:1.5; }
.machine-identifier-list { display:grid; gap:14px; }
.machine-identifier-entry { min-width:0; background:#fff; border:1px solid #c6d1d7; padding:12px; }
.machine-identifier-entry h4 { margin:0 0 12px; color:#102d42; font-size:15px; }
.machine-identifier-entry .identity-row { grid-template-columns:minmax(0,1fr); margin:10px 0; font-size:12px; }
.machine-identifier-entry .identity-row code { display:block; border:1px solid #d7e0e5; border-radius:3px; background:#f5f8fa; padding:9px; color:#102d42; font-size:12px; line-height:1.6; user-select:all; }
.machine-identifier-entry .identity-actions { flex-wrap:wrap; }
.machine-identifiers .identity-builder { min-height:38px; font-size:10px; white-space:normal; }
.builder-project-action { margin-top:16px; padding-top:14px; border-top:1px solid #b8c6cd; }
.builder-project-action>a { display:flex; align-items:center; justify-content:center; width:100%; text-align:center; text-decoration:none; white-space:normal; }
.builder-project-action>a[aria-disabled=true] { opacity:.5; cursor:default; }
.builder-project-action p { margin:8px 0 0; color:#456170; font-size:12px; line-height:1.5; }
.calculator-email-dialog { width:min(620px,calc(100% - 30px)); max-height:90vh; padding:0; border:1px solid #536a76; background:#07131d; color:#fff; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.calculator-email-dialog::backdrop { background:rgba(2,9,14,.72); }
.calculator-email-dialog > * { margin-left:28px; margin-right:28px; }
.calculator-email-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin:0; padding:26px 28px 20px; border-bottom:1px solid #304550; background:#102d42; }
.calculator-email-heading h2 { margin:7px 0 0; font-size:28px; letter-spacing:-.03em; }
.calculator-email-close { width:38px; height:38px; flex:0 0 auto; border:1px solid #657985; background:transparent; color:#fff; cursor:pointer; font-size:25px; line-height:1; }
.calculator-email-dialog > p:first-of-type { margin-top:24px; color:#c4d0d6; line-height:1.55; }
.calculator-email-project-summary { padding:13px 15px; border-left:4px solid #f8c80e; background:#102d42; color:#fff; font-size:13px; line-height:1.5; }
.calculator-email-status { color:#c4d0d6; font-size:13px; line-height:1.5; }
.calculator-email-status[data-state="error"] { color:#ffd0c9; }
.calculator-email-status[data-state="success"] { color:#d8f7d4; }
.calculator-email-field { display:grid; gap:8px; color:#fff; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.calculator-email-field input { width:100%; height:46px; padding:0 12px; border:1px solid #8598a2; background:#fff; color:#102d42; font-size:16px; font-weight:400; letter-spacing:normal; text-transform:none; }
.calculator-email-verification { margin:18px 0 8px; min-height:65px; }
.calculator-email-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; margin-bottom:26px; }
.calculator-email-actions .calculator-button,.calculator-email-contact { flex:1 1 180px; text-align:center; text-decoration:none; }
.calculator-email-contact { display:inline-flex; align-items:center; justify-content:center; }
.calculator-email-text-button { margin:0 28px 22px; padding:0; border:0; background:transparent; color:#f8c80e; cursor:pointer; text-decoration:underline; }
.calculator-email-success { margin-bottom:26px; padding:16px; background:#102d42; }
.calculator-email-success p { line-height:1.5; }
.calculator-email-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
@media (max-width:760px) {
  .identity-row { grid-template-columns:1fr; }
  .identity-actions { justify-content:flex-start; flex-wrap:wrap; }
  .calculator-email-heading { padding:22px 20px 18px; }
  .calculator-email-dialog > * { margin-left:20px; margin-right:20px; }
  .calculator-email-heading { margin:0; }
}
@media print {
  .calculator-app { overflow:visible; }
  .calculator-results .calculator-panel-header { display:block; }
  .print-controls,.print-help,.result-status,.storage-status,.identity-actions,.group-builder-actions,.machine-identifiers { display:none!important; }
  .table-scroll,.table-container { overflow:visible!important; }
  #machine-settings { display:table; width:100%; }
  #machine-settings thead { position:static; display:table-header-group; width:auto; height:auto; clip-path:none; }
  #machine-settings tbody { display:table-row-group; }
  #machine-settings tbody tr { display:table-row; break-inside:avoid; }
  #machine-settings td { display:table-cell; text-align:center; background:#fff!important; color:#102d42!important; }
  #machine-settings td::before { display:none; }
  #machine-settings th,#machine-settings td { font-size:10px; padding:7px; }
  .planning-assumptions { font-size:10px; padding:10px; break-inside:avoid; }
  .visual-container { display:block; }
  .visual-group { display:block; break-before:page; break-inside:avoid; padding:12px; }
  .visual-group::after { content:""; display:block; clear:both; }
  .configuration-heading h3 { font-size:18px; }
  .configuration-heading p,.configuration-id code { font-size:10px; }
  .configuration-heading { padding-bottom:8px; margin-bottom:12px; }
  .description-container { display:inline-block; vertical-align:top; width:24%; padding:12px; font-size:10px; }
  .configuration-views { display:inline-block; vertical-align:top; width:74%; margin-left:1%; }
  .description-container h4 { color:#102d42; }
  .description-container dl { gap:6px 9px; }
  .description-container dt { color:#385363; }
  .tables-container { display:table; width:100%; table-layout:fixed; border-spacing:6px 0; }
  .tables-container .table-container { display:table-cell; width:70%; vertical-align:top; }
  .tables-container .table-container:last-child { width:30%; }
  .parking-table td,.side-view-table td { height:45px; }
  .parking-table .car img,.side-view-table .car img { height:43px; }
  .parking-table .car img { width:36px; max-width:100%; }
  .side-view-table .car img { width:112px; max-width:100%; }
  .dimension-caption,.calculation-note,.measurement-note,.schematic-note { font-size:10px; }
  .disclaimer-container { display:block!important; width:100%; padding:12px; margin:16px 0 0; box-shadow:none; font-size:10px; break-inside:avoid; }
}

.group-manager{margin:0 0 18px;padding:15px;border:1px solid #b8c6cd;background:#f1f5f6;color:#102d42;border-radius:5px}
.group-manager-top{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.group-manager-top h3{font-size:19px;margin:0}
.group-manager-top p{font-size:12px;color:#456170;margin:4px 0 12px;line-height:1.45}
.group-manager-top label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.group-manager-top input,.group-entry input[type=checkbox]{width:18px;height:18px;accent-color:#b18c00}
.group-manager-list{display:grid;gap:8px;margin:8px 0 12px}
.group-entry{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #bbcbd3;background:#fff;min-width:0}
.group-entry.drag-over{border:2px dashed #b18c00;background:#fffbea}
.group-entry .drag-handle{display:grid;place-items:center;min-width:30px;min-height:34px;border:1px solid #bdcbd2;color:#102d42;cursor:grab;font-size:18px;user-select:none}
.group-entry .drag-handle:focus-visible{outline:3px solid #b18c00}
.group-entry input.group-name-input{flex:1;width:auto;min-width:105px;max-width:280px;padding:7px 9px;font-size:14px;font-weight:700;border:1px solid #9aaeb8;background:#fff;color:#102d42}
.group-entry .group-spaces{color:#456170;font-size:12px;white-space:nowrap}
.group-entry .group-move{width:30px;height:34px;border:1px solid #b8c6cd;background:white;color:#102d42;cursor:pointer;font-size:17px}
.group-entry .group-move:disabled{opacity:.35;cursor:default}
#transfer-selected-groups{display:flex;justify-content:center;text-align:center;text-decoration:none;white-space:normal}
#transfer-selected-groups[aria-disabled=true]{opacity:.5;cursor:default}
#selected-transfer-summary{font-size:12px;line-height:1.5;color:#456170;margin:7px 0 0}
@media(max-width:650px){.group-entry{flex-wrap:wrap}.group-entry input.group-name-input{flex:1 1 160px}.group-entry .group-spaces{margin-left:auto}.group-manager{padding:11px}}
@media print{.group-manager{display:none!important}}

/* Selection, rename, and ordering controls live inside the calculator's summary rows. */
#machine-settings{min-width:950px}
#machine-settings th:first-child{width:190px}
#machine-settings th:last-child{width:88px}
#machine-settings .remove-button{white-space:nowrap;overflow-wrap:normal;font-size:11px;padding:8px;min-width:65px}
.calculator-results .table-scroll:has(#machine-settings){overflow-x:auto;overflow-y:visible;max-width:100%}
.table-select-all{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;cursor:pointer}
.table-select-all input,.table-group-check{width:16px;height:16px;flex:0 0 16px;accent-color:#ae8500;cursor:pointer}
.table-group-controls{display:grid;grid-template-columns:18px 25px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
.table-group-controls input.table-group-name{width:100%;min-width:0;box-sizing:border-box;font-size:12px;line-height:1.25;color:#102d42;background:#fff;border:1px solid #9cadb7;border-radius:3px;padding:6px 4px;overflow-wrap:normal}
.table-drag-handle{display:grid;place-items:center;width:25px;height:31px;cursor:grab;font-size:18px;user-select:none;border:1px solid #c6d1d7;background:#f0f4f5;touch-action:none}
.table-drag-handle:active{cursor:grabbing}
.table-drag-handle:focus-visible{outline:2px solid #b18c00;outline-offset:2px}
.table-move-controls{grid-column:3;display:flex;gap:4px;justify-content:end;margin-top:4px}
.table-move{min-width:32px;min-height:23px;padding:1px 4px;background:#edf2f4;border:1px solid #b9c7ce;font-size:15px;cursor:pointer}
.table-move:disabled{opacity:.4;cursor:default}
#machine-settings tr.drag-over td{background:#fff9db!important}
.table-group-rear{font-size:12px;overflow-wrap:anywhere}
.table-transfer-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 2px 2px}
.table-transfer-controls a{display:inline-flex;justify-content:center;text-align:center;min-width:235px;text-decoration:none}
.table-transfer-controls a[aria-disabled=true]{opacity:.5;cursor:default}
.table-transfer-controls p{margin:0;font-size:12px;color:#456170}
.machine-identifiers{padding:0}
.machine-identifiers-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:15px 16px;color:#102d42;font-size:16px}
.machine-identifiers-toggle::-webkit-details-marker{display:none}
.machine-identifiers-toggle:focus-visible{outline:2px solid #ac8300;outline-offset:-2px}
.codes-toggle-status::after{content:'Show +';font-size:12px;white-space:nowrap;font-weight:700;color:#614f08}
.machine-identifiers[open] .codes-toggle-status::after{content:'Hide −'}
.machine-identifiers-body{padding:0 16px 16px}
.machine-identifiers-body>p{margin:0 0 12px;color:#456170;font-size:12px;line-height:1.5}
@media(max-width:760px){
  #machine-settings{min-width:0;width:100%}
  #machine-settings .table-group-controls{max-width:400px}
  #machine-settings td:first-child{background:#102d42}
  #machine-settings td:first-child .table-group-name{background:#fff;color:#102d42}
  #machine-settings .table-group-rear{color:#fff}
  .table-transfer-controls a{flex:1}
}
@media print{
  #machine-settings{min-width:0}
  #machine-settings th:first-child{width:95px}
  #machine-settings td:first-child{width:95px}
  .table-select-all input,.table-group-check,.table-drag-handle,.table-move-controls,.table-transfer-controls{display:none!important}
  #machine-settings .table-group-controls{display:block}
  #machine-settings .table-group-name{border:0!important;text-align:center;padding:0}
}
