.plot-detail{z-index:20;color:#000;pointer-events:none;background:beige;inline-size:300px;padding:8px 12px 12px;position:fixed}.plot-detail__title{text-align:center;color:var(--detail-title);margin:0 0 10px;font-size:1rem;font-weight:700}.plot-detail__grid{grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;display:grid}.plot-detail__row{align-items:baseline;gap:5px;font-size:.8rem;display:flex}.plot-detail__row dt{font-weight:700}.plot-detail__row dt:after{content:":"}.plot-detail__row dd{font-variant-numeric:tabular-nums;margin:0}.plot-legend{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.plot-legend__item{color:var(--text-body);align-items:center;gap:7px;font-size:.78rem;display:inline-flex}.plot-legend__swatch{border:1.5px solid var(--plot-border);border-radius:2px;block-size:15px;inline-size:15px}.plot-legend__count{background:var(--chip-bg);font-variant-numeric:tabular-nums;color:var(--text-muted);border-radius:999px;padding:1px 6px;font-size:.68rem}.site-plan{background:var(--plan-paper);block-size:auto;display:block}.site-plan__land{fill:var(--plan-paper);stroke:var(--plan-edge);stroke-width:1px}.site-plan__roads rect{fill:var(--plan-road)}.site-plan__road-labels text{letter-spacing:.04em;fill:var(--plan-road-label);pointer-events:none;font-size:4.6px;font-weight:700}.plan-plot{cursor:pointer}.plan-plot__rect{stroke:var(--plot-border);stroke-width:.4px;transition:stroke .12s,stroke-width .12s}.plan-plot__label{letter-spacing:.01em;pointer-events:none;font-weight:700}.plan-plot:hover .plan-plot__rect{stroke:var(--plot-hover-ring);stroke-width:2px}.plan-plot:focus{outline:none}.plan-plot:focus-visible .plan-plot__rect,.plan-plot[data-selected] .plan-plot__rect{stroke:var(--plot-selected-ring);stroke-width:2.5px}@media (prefers-reduced-motion:reduce){.plan-plot__rect{transition:none}}.state{border:1px dashed var(--block-border);background:var(--block-bg);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.state__title{color:var(--text-strong);margin:0;font-size:.98rem;font-weight:600}.state__body{max-inline-size:46ch;color:var(--text-body);margin:0;font-size:.85rem;line-height:1.5}.state__meta{color:var(--text-muted);margin:0;font-family:ui-monospace,monospace;font-size:.72rem}.state__action{border:1px solid var(--block-border);background:var(--chip-bg);font:inherit;color:var(--text-strong);cursor:pointer;border-radius:4px;margin-block-start:4px;padding:7px 16px;font-size:.82rem;font-weight:600}.state__action:hover{background:var(--chip-bg-hover)}.state__action:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.state--error{border-style:solid;border-color:var(--status-confirmed)}.state__spinner{border:2.5px solid var(--block-border);border-block-start-color:var(--text-strong);border-radius:50%;block-size:22px;inline-size:22px;animation:.8s linear infinite state-spin}.state__skeleton{opacity:.45;flex-direction:column;gap:14px;margin-block-start:12px;display:flex}.state__skeleton-band{gap:12px;display:flex}.state__skeleton-column{flex-direction:column;gap:3px;display:flex}.state__skeleton-cell{background:var(--skeleton-bg);border-radius:2px;block-size:12px;inline-size:58px;animation:1.4s ease-in-out infinite state-pulse}@keyframes state-spin{to{transform:rotate(360deg)}}@keyframes state-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.state__spinner,.state__skeleton-cell{animation:none}}.plot-layout{flex-direction:column;gap:14px;inline-size:100%;max-inline-size:1500px;margin-inline:auto;padding:18px clamp(10px,2.5vw,24px) 36px;display:flex}.plot-layout__header{border-block-end:1px solid var(--block-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-block-end:10px;display:flex}.plot-layout__title{letter-spacing:.06em;color:var(--text-strong);margin:0;font-size:clamp(1rem,1.9vw,1.35rem);font-weight:800}.plot-layout__subtitle{font-variant-numeric:tabular-nums;color:var(--text-muted);margin:3px 0 0;font-size:.78rem}.plot-layout__toolbar{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.plot-layout__toggle{color:var(--text-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.76rem;display:inline-flex}.plot-layout__refresh{border:1px solid var(--block-border);background:var(--chip-bg);font:inherit;color:var(--text-strong);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:.78rem;font-weight:600}.plot-layout__refresh:hover:not(:disabled){background:var(--chip-bg-hover)}.plot-layout__refresh:disabled{opacity:.5;cursor:progress}.plot-layout__refresh:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.plot-layout__plan-scroll{border:1px solid var(--block-border);background:var(--plan-paper);scrollbar-gutter:stable;border-radius:4px;padding:8px;overflow:auto hidden}@media (width<=900px){.plot-layout__header{align-items:flex-start}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--status-open:#12924a;--status-booked:#e07a15;--status-confirmed:#cf2437;--status-hold:#e6c229;--on-status-dark:#fff;--on-status-light:#1a1500;--plot-border:#14532d;--plot-hover-ring:#1f2937;--plot-selected-ring:#1d4ed8;--detail-bg:#2f7d4f;--detail-text:#fff;--detail-title:#c0392b;--plan-paper:#fff;--plan-edge:#b9bec7;--plan-road:#dfe3e8;--plan-road-label:#c0392b;--page-bg:#f4f5f7;--canvas-bg:#fff;--block-bg:#fafbfc;--block-border:#d3d7de;--chip-bg:#eef0f4;--chip-bg-hover:#e2e6ec;--skeleton-bg:#d8dce3;--text-strong:#16191f;--text-body:#363b45;--text-muted:#6b7280;--focus-ring:#1d4ed8}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--plot-border:#0b0d11;--plot-hover-ring:#f4f5f7;--page-bg:#12141a;--canvas-bg:#191c23;--block-bg:#1e222b;--block-border:#333a46;--chip-bg:#262b35;--chip-bg-hover:#313846;--skeleton-bg:#2b313c;--text-strong:#f2f4f8;--text-body:#c7ccd6;--text-muted:#8d95a3;--focus-ring:#6f9bff}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page-bg);color:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}button{font-family:inherit}
