@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Saira+Condensed:wght@600;700&display=swap";:root{color:oklch(19% .028 250);font-kerning:normal;--navy:oklch(24% .095 252);--navy-ink:oklch(18% .065 252);--paper:oklch(98% .006 82);--bench:oklch(92% .02 78);--bench-strong:oklch(87% .028 76);--line:oklch(77% .018 82);--line-strong:oklch(65% .025 78);--wood:oklch(55% .07 68);--green:oklch(42% .074 142);--green-ink:oklch(30% .08 142);--danger:oklch(52% .15 35);--warning:oklch(55% .105 58);--muted:oklch(43% .02 250);--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--radius:8px;--focus:0 0 0 3px oklch(68% .09 142/.28);--preview-symbol-font-size:.95px;--preview-dimension-font-size:.86px;--preview-overall-dimension-font-size:1px;--exact-overlay-font-size:14px;background:oklch(94% .014 82);font-family:Atkinson Hyperlegible,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus);outline:none}.workbench-frame{background:linear-gradient(90deg, var(--navy-ink) 0 12px, transparent 12px), linear-gradient(180deg, oklch(96% .01 85), var(--bench));grid-template-rows:auto minmax(0,1fr);min-height:100vh;display:grid}.password-frame{min-height:100vh;padding:var(--space-lg);background:linear-gradient(90deg, var(--navy-ink) 0 12px, transparent 12px), linear-gradient(180deg, oklch(96% .01 85), var(--bench));place-items:center;display:grid}.password-panel{gap:var(--space-lg);width:min(440px,100%);padding:var(--space-lg);color:var(--navy-ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);display:grid;box-shadow:0 2px 8px oklch(25% .03 250/.14)}.password-brand{padding-bottom:var(--space-sm);border-bottom:1px solid var(--line);gap:3px;display:grid}.password-brand span{color:var(--green-ink);font-size:.78rem;font-weight:900}.password-brand strong,.password-heading h1{letter-spacing:0;font-family:Saira Condensed,Atkinson Hyperlegible,sans-serif}.password-brand strong{color:var(--navy-ink);font-size:1.5rem;line-height:1}.password-heading{gap:var(--space-sm);grid-template-columns:auto 1fr;align-items:start;display:grid}.password-heading svg{color:var(--green-ink);margin-top:2px}.password-heading h1{margin:0;font-size:1.55rem;line-height:1}.password-heading p{color:var(--muted);margin:6px 0 0;line-height:1.45}.password-form{gap:var(--space-xs);display:grid}.password-form label{color:var(--navy-ink);font-size:.82rem;font-weight:900}.password-form input{width:100%;min-height:44px;color:var(--navy-ink);border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 11px}.password-error{padding:var(--space-xs) var(--space-sm);color:var(--danger);background:oklch(96% .025 35);border:1px solid oklch(84% .035 35);border-radius:6px;margin:0;font-size:.9rem;font-weight:700;line-height:1.35}.workbench-topbar{align-items:center;gap:var(--space-md);min-height:76px;padding:var(--space-sm) var(--space-lg) var(--space-sm) 36px;color:var(--paper);background:var(--navy);border-bottom:4px solid var(--wood);grid-template-columns:minmax(170px,auto) minmax(220px,1fr) auto;display:grid}.brand-lockup{gap:3px;display:grid}.brand-lockup span,.job-label,.sheet-kicker,.link-form label,.source-divider,.number-field span,.number-field em,.dimension-row span,.readout-grid span,.legend-list span,.production-strip dt{letter-spacing:0;text-transform:none}.brand-lockup span{color:oklch(86% .08 84);font-size:.73rem;font-weight:800}.brand-lockup strong{font-family:Saira Condensed,Atkinson Hyperlegible,sans-serif;font-size:1.45rem;line-height:1}.job-context{min-width:0}.job-label,.sheet-kicker{color:oklch(83% .028 250);font-size:.75rem;font-weight:800;display:block}.job-context h1{color:var(--paper);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-family:Saira Condensed,Atkinson Hyperlegible,sans-serif;font-size:1.7rem;line-height:1;overflow:hidden}.command-status,.toolbar-actions{justify-content:flex-end;align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.status-chip{min-height:32px;color:var(--paper);white-space:nowrap;background:oklch(100% 0 0/.1);border:1px solid oklch(100% 0 0/.18);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-chip-success{color:oklch(95% .03 145);background:oklch(39% .08 142)}.status-chip-warning{color:oklch(98% .02 82);background:oklch(48% .1 54)}.status-chip-busy{color:oklch(96% .02 250);background:oklch(40% .07 252)}.workbench-layout{gap:var(--space-sm);min-height:0;padding:var(--space-sm) var(--space-md) var(--space-md) 28px;grid-template-columns:minmax(232px,280px) minmax(560px,1fr) minmax(320px,370px);display:grid}.review-closed .workbench-layout{grid-template-columns:minmax(232px,280px) minmax(640px,1fr)}.review-closed .review-rail{display:none}.tool-rail,.review-rail{align-content:start;gap:var(--space-xs);min-width:0;display:grid}.tool-panel,.editor-section,.editor-empty{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-sm)}.upload-panel h2,.reference-panel h2,.warning-panel h2,.editor-section h2,.editor-empty h2,.sheet-toolbar h2{color:var(--navy-ink);letter-spacing:0;margin:0;font-family:Saira Condensed,Atkinson Hyperlegible,sans-serif;font-size:1.3rem;line-height:1}.panel-heading-row{justify-content:space-between;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.link-form{gap:var(--space-xs);margin-bottom:var(--space-xs);display:grid}.link-form label{color:var(--navy-ink);font-size:.76rem;font-weight:900}.link-input-row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr);display:grid}.link-input-row input{min-width:0;min-height:40px;color:var(--navy-ink);border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 10px}.source-divider{gap:var(--space-xs);margin:2px 0 var(--space-xs);color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;font-size:.75rem;font-weight:800;display:grid}.source-divider:before,.source-divider:after{content:"";background:var(--line);height:1px}.upload-target{min-height:88px;padding:var(--space-sm);text-align:center;color:var(--navy);cursor:pointer;background:oklch(95% .014 82);border:1.5px dashed oklch(62% .035 78);border-radius:7px;place-items:center;gap:6px;display:grid}.upload-target input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-target span{font-size:.9rem;font-weight:800}.reference-panel img{border:1px solid var(--line);background:#fff;border-radius:5px;width:100%;display:block}.reference-thumb{gap:var(--space-xs);width:100%;padding:var(--space-xs);color:var(--navy-ink);border:1px solid var(--line);cursor:pointer;text-align:left;background:oklch(96% .01 82);border-radius:6px;display:grid}.reference-thumb img{object-fit:contain;max-height:120px}.reference-thumb span{font-size:.83rem;font-weight:800}.warning-panel{background:oklch(97% .022 78);border-color:oklch(72% .075 58)}.warning-heading{align-items:center;gap:var(--space-xs);color:var(--danger);margin-bottom:var(--space-xs);display:flex}.warning-item{gap:var(--space-xs);margin:var(--space-xs) 0;grid-template-columns:auto 1fr;align-items:start;font-size:.82rem;line-height:1.4;display:grid}.sheet-stage{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:calc(100vh - 104px);display:grid;overflow:hidden}.sheet-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--line);background:oklch(97% .008 86);display:flex}.sheet-toolbar .sheet-kicker{color:var(--green-ink)}.primary-button,.secondary-button,.text-button{justify-content:center;align-items:center;gap:var(--space-xs);cursor:pointer;white-space:nowrap;border-radius:6px;min-height:40px;font-weight:800;display:inline-flex}.primary-button{color:var(--paper);background:var(--green);padding:0 14px}.secondary-button{color:var(--navy-ink);border:1px solid var(--line);background:oklch(95% .01 82);padding:0 12px}.text-button{min-height:32px;color:var(--green-ink);background:0 0;padding:0 8px}.compact-action{width:100%}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.text-button:hover,.reference-thumb:hover,.upload-target:hover{filter:brightness(.98)}.upload-target:focus-within{box-shadow:var(--focus)}.sheet-preview{min-height:0;padding:var(--space-lg);background:linear-gradient(oklch(96% .008 82),oklch(89% .015 82));place-items:center;display:grid;overflow:auto}.preview-empty{align-content:center;place-items:center;gap:var(--space-sm);color:oklch(38% .035 250);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-align:center;width:min(620px,100%);min-height:340px;padding:var(--space-lg);display:grid}.preview-empty p{max-width:320px;margin:0;line-height:1.45}.blueprint-preview{aspect-ratio:11/8.5;background:#fff;border:1px solid oklch(78% .01 85);width:100%;max-width:1160px;display:block;box-shadow:0 2px 7px oklch(25% .03 250/.2)}.exact-plan-preview-shell{aspect-ratio:11/8.5;width:100%;max-width:1160px;padding:var(--space-lg);background:#fff;border:1px solid oklch(78% .01 85);place-items:center;display:grid;box-shadow:0 2px 7px oklch(25% .03 250/.2)}.exact-plan-preview-stage{width:100%;max-height:100%;position:relative}.exact-plan-preview{object-fit:contain;width:100%;height:100%;display:block}.production-strip{border-top:1px solid var(--line);background:var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0;display:grid}.production-strip div{background:var(--paper);min-width:0;padding:9px 12px}.production-strip dt{color:var(--muted);font-size:.72rem;font-weight:800}.production-strip dd{color:var(--navy-ink);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.95rem;font-weight:900;overflow:hidden}.measurement-overlay-label{color:#030303;min-width:22px;min-height:15px;font-family:Saira Condensed,Atkinson Hyperlegible,sans-serif;font-size:var(--exact-overlay-font-size);letter-spacing:0;white-space:nowrap;background:#fff;place-items:center;padding:1px 3px;font-weight:900;line-height:1;display:grid;position:absolute;transform:translate(-2px,-1px)}.preview-grid line{stroke:oklch(74% .01 250);stroke-width:.035px}.wall-line{stroke:#050505;stroke-width:.32px;stroke-linecap:square}.porch-zone{fill:oklch(74% .05 72/.22);stroke:oklch(28% .02 80);stroke-width:.04px}.opening-cut{stroke:#fff;stroke-width:.44px;stroke-linecap:square}.opening-line{stroke:#050505;stroke-width:.12px;stroke-linecap:square}.door-swing{fill:none;stroke:oklch(62% .01 250/.48);stroke-width:.075px;stroke-linecap:round;stroke-dasharray:none}.opening-cut-transom{stroke-width:.3px}.opening-line-transom{stroke-width:.085px}.opening-label,.feature-label,.dimension text{fill:#111;text-anchor:middle;dominant-baseline:middle;font-family:Atkinson Hyperlegible,Arial,sans-serif;font-weight:700}.opening-label,.feature-label{font-size:var(--preview-symbol-font-size)}.dimension line{stroke:oklch(43% .01 250);stroke-width:.055px}.dimension-overall line{stroke:#111;stroke-width:.075px}.dimension text{font-size:var(--preview-dimension-font-size)}.dimension-overall text{font-size:var(--preview-overall-dimension-font-size)}.editor-stack,.field-grid{gap:var(--space-xs);display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-row{gap:var(--space-xs);padding:var(--space-xs) 0;border-top:1px solid oklch(90% .011 82);grid-template-columns:minmax(104px,1fr) repeat(3,62px);align-items:end;display:grid}.edit-row:first-of-type{border-top:0;padding-top:0}.edit-row strong,.edit-row span,.edit-row small{display:block}.edit-row strong{color:var(--navy-ink)}.edit-row small{color:oklch(45% .023 72);font-size:.72rem;line-height:1.25}.edit-row span{color:var(--muted);margin-top:3px;font-size:.75rem;line-height:1.25}.number-field{grid-template-columns:1fr;gap:4px;display:grid}.number-field span,.number-field em{color:var(--muted);font-size:.7rem;font-style:normal;font-weight:800}.number-field input,.dimension-row input{width:100%;min-height:34px;color:var(--navy-ink);border:1px solid var(--line);background:#fff;border-radius:5px}.number-field input{padding:6px 7px}.dimension-row{gap:var(--space-xs);border-top:1px solid oklch(91% .01 82);grid-template-columns:82px 1fr;align-items:center;padding:6px 0;display:grid}.dimension-row:first-of-type{border-top:0}.dimension-row input{padding:6px 8px;font-weight:800}.dimension-row span{color:var(--muted);text-transform:capitalize;font-size:.75rem}.editor-empty p{margin:var(--space-xs) 0 0;color:var(--muted);line-height:1.45}.mode-copy{margin:var(--space-xs) 0 0;color:oklch(34% .025 250);line-height:1.45}.readout-grid{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.readout-grid div,.legend-list div{background:oklch(97% .01 82);border:1px solid oklch(88% .014 82);border-radius:6px}.readout-grid div{padding:10px}.readout-grid span,.legend-list span{color:var(--muted);font-size:.75rem;line-height:1.3;display:block}.readout-grid strong{color:var(--navy-ink);margin-top:4px;font-size:1.5rem;display:block}.legend-list{gap:var(--space-xs);display:grid}.legend-list div{gap:var(--space-xs);padding:var(--space-xs) 10px;grid-template-columns:40px 1fr;align-items:start;display:grid}.legend-list strong{color:var(--navy-ink)}.error-message{padding:var(--space-sm) var(--space-md);color:var(--danger);background:oklch(96% .025 35);border-top:1px solid oklch(84% .035 35);margin:0;font-weight:700}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1220px){.workbench-layout,.review-closed .workbench-layout{grid-template-columns:minmax(220px,270px) minmax(480px,1fr)}.review-rail{grid-column:1/-1}.review-closed .review-rail{display:grid}.workbench-frame.review-closed .review-rail{display:none}}@media (width<=860px){.workbench-topbar{padding:var(--space-md) var(--space-md) var(--space-md) 28px;grid-template-columns:1fr;align-items:start}.job-context h1{white-space:normal}.command-status,.toolbar-actions{justify-content:stretch;width:100%}.command-status .primary-button,.command-status .secondary-button,.toolbar-actions .secondary-button{flex:150px}.workbench-layout,.review-closed .workbench-layout{padding:var(--space-sm);grid-template-columns:1fr}.sheet-stage{min-height:auto}.sheet-toolbar{flex-direction:column;align-items:flex-start}.sheet-preview{padding:var(--space-sm)}.blueprint-preview,.exact-plan-preview-shell{min-width:620px}.production-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-row{grid-template-columns:1fr}}@media (width<=520px){.status-chip{flex:100%;justify-content:center}.production-strip{grid-template-columns:1fr}}@media (pointer:coarse){.primary-button,.secondary-button,.text-button,.link-input-row input,.number-field input,.dimension-row input{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
