*{box-sizing:border-box}body{margin:0;font-family:Amazon Ember,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;background:#eaeded;color:#0f1111}.page{min-height:100vh}.topbar{background:#131921;color:#fff;padding:16px 20px;border-bottom:3px solid #ff9900}.topbar h1{font-size:18px;margin:0 0 4px;color:#fff;text-transform:lowercase;letter-spacing:.2px}.topbar .smile{color:#f90;font-weight:700}.version-tag{font-size:11px;font-weight:400;font-family:SF Mono,Menlo,monospace;color:#8a9299;vertical-align:middle;text-transform:none}.topbar .subtitle{font-size:13px;color:#cbd3d8;margin:0}.workspace-badge{font-size:11px;font-family:SF Mono,Menlo,monospace;margin:8px 0 0;padding:4px 8px;border-radius:4px;display:inline-block}.workspace-badge-matched{color:#9be89b;background:#00760033}.workspace-badge-fallback{color:#ffcc80;background:#ff990026}.app{max-width:480px;margin:20px auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 5px #0f111126}.toggle-field{display:flex;align-items:center;justify-content:space-between;margin-top:16px;cursor:pointer}.toggle-switch.toggle-busy{opacity:.6;cursor:default}.toggle-field span:first-child{font-size:13px;font-weight:700;color:#0f1111}.toggle-switch{position:relative;width:36px;height:20px;border-radius:10px;background:#d5d9d9;transition:background .15s;flex-shrink:0}.toggle-switch.toggle-on{background:#f90}.toggle-switch:focus-visible{outline:2px solid #e77600;outline-offset:2px}.toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f11114d;transition:transform .15s}.toggle-switch.toggle-on .toggle-knob{transform:translate(16px)}.blocks-section label{display:block;font-size:12px;font-weight:700;color:#0f1111;margin-bottom:6px}.address-search-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.address-search-label-row label{font-size:12px;font-weight:700;color:#0f1111}.regrid-key-badge{font-size:11px;font-family:SF Mono,Menlo,monospace;padding:2px 8px;border-radius:10px;cursor:default}.regrid-key-found{color:#007600;background:#f0f7f0}.regrid-key-missing{color:#b12704;background:#fdf3f1}.address-search-row{display:flex;gap:8px}.address-search-row input{flex:1;padding:9px 10px;border-radius:8px;border:1px solid #d5d9d9;font-size:13px;color:#0f1111}.address-search-row input:focus{outline:none;border-color:#e77600;box-shadow:0 0 0 3px #e479114d}.address-search-row input:disabled{background:#f7f8f8;cursor:default}.address-search-button{padding:9px 16px;border-radius:8px;border:1px solid #a88734;background:linear-gradient(to bottom,#f7dfa5,#f0c14b);color:#0f1111;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.address-search-button:hover:not(:disabled){background:linear-gradient(to bottom,#f5d78e,#eeb933)}.address-search-button:disabled{cursor:default;opacity:.6}.address-search-divider{text-align:center;font-size:11px;color:#8a9299;text-transform:uppercase;letter-spacing:.5px;margin:14px 0}.parcel-select-panel{border:1px solid #d5d9d9;border-radius:8px;padding:12px;background:#fafafa}.parcel-select-instructions{font-size:13px;color:#0f1111;margin-bottom:8px}.parcel-select-preview{font-size:12px;color:#007600;font-weight:600;margin-bottom:10px}.parcel-select-actions{display:flex;gap:8px}.parcel-select-actions .secondary-button{margin-top:0;flex:1}.dropzone{border:2px dashed #d5d9d9;border-radius:8px;padding:32px 16px;text-align:center;font-size:13px;color:#565959;cursor:pointer;background:#fafafa;transition:border-color .15s,background .15s}.dropzone.drag-over{border-color:#f90;background:#fff8ee;color:#0f1111}.dropzone.disabled{cursor:default;opacity:.6}.status{margin-top:16px;font-size:12px;font-family:SF Mono,Menlo,monospace;padding:8px 10px;border-radius:6px;background:#f7f8f8;border-left:3px solid #d5d9d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-info{color:#565959;border-left-color:#8a9299}.status-success{color:#007600;border-left-color:#007600}.status-warn{color:#985006;border-left-color:#f90}.status-error{color:#b12704;border-left-color:#b12704}.trace{margin-top:12px;font-size:11px;border-radius:6px;background:#f7f8f8;border:1px solid #d5d9d9}.trace summary{padding:8px 10px;cursor:pointer;color:#565959;font-weight:600}.trace pre{margin:0;padding:0 10px 10px;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,monospace;color:#0f1111;max-height:240px;overflow-y:auto}.secondary-button{width:100%;margin-top:16px;padding:9px 10px;border-radius:8px;border:1px solid #a88734;background:linear-gradient(to bottom,#f7dfa5,#f0c14b);color:#0f1111;font-size:13px;font-weight:500;cursor:pointer}.secondary-button:hover{background:linear-gradient(to bottom,#f5d78e,#eeb933)}.secondary-button:disabled{cursor:default;opacity:.6}.blocks-section{margin-top:20px}.blocks-error,.blocks-empty{font-size:12px;color:#565959}.blocks-grid{display:flex;flex-wrap:wrap;gap:8px}.block-button{padding:8px 14px;border-radius:20px;border:1px solid #d5d9d9;background:#fff;color:#0f1111;font-size:13px;cursor:pointer}.block-button:hover{border-color:#febd69;box-shadow:0 1px 3px #0f111126}.block-button:disabled{cursor:default;opacity:.6}.parking-solve-section{margin-top:16px}.parking-solve-section>label{font-size:12px;font-weight:700;color:#0f1111}.parking-solve-progress{margin-top:12px;font-size:12px;font-family:SF Mono,Menlo,monospace;padding:8px 10px;border-radius:6px;background:#f7f8f8;border-left:3px solid #8a9299;color:#0f1111}.parking-solve-progress>div{margin-bottom:2px}.parking-solve-message{color:#565959;font-style:italic}.parking-results-list{margin-top:10px}.parking-debug-section{margin-top:16px}.parking-results-heading{font-size:11px;font-weight:700;color:#565959;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.parking-result-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;margin-bottom:4px;border-radius:6px;border:1px solid #d5d9d9;background:#fff;font-size:12px;color:#0f1111;cursor:pointer;text-align:left}.parking-result-row:hover:not(:disabled){border-color:#febd69;box-shadow:0 1px 3px #0f111126}.parking-result-row:disabled{cursor:default;opacity:.6}.parking-result-row-active{border-color:#007600;background:#f0f7f0}.parking-result-rank{font-weight:700;color:#565959;flex-shrink:0}.parking-result-count{font-weight:700;flex-shrink:0}.parking-result-params{font-family:SF Mono,Menlo,monospace;color:#565959;font-size:11px;margin-left:auto}.analytics-section{margin-top:20px}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.analytics-header label{font-size:12px;font-weight:700;color:#0f1111}.refresh-button{padding:4px 10px;border-radius:14px;border:1px solid #d5d9d9;background:#fff;color:#007185;font-size:11px;cursor:pointer}.refresh-button:hover{border-color:#febd69}.refresh-button:disabled{cursor:default;opacity:.6}.category-section{margin-bottom:14px}.category-section:last-child{margin-bottom:0}.category-heading{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#565959;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.metric-tile{display:flex;flex-direction:column;padding:10px 12px;border-radius:8px;background:#f7f8f8;border:1px solid #e3e6e6}.metric-tile-error{border-color:#f2c0b8;background:#fdf3f1}.metric-value{font-size:18px;font-weight:700;color:#0f1111}.metric-tile-error .metric-value{color:#b12704}.kpi-tile{grid-column:span 2;border-width:2px;cursor:pointer}.kpi-subtext{margin-top:2px;font-size:11px;color:#565959}.kpi-subtext-italic{font-style:italic}.kpi-edit-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid #e77600;background:#fff;color:#0f1111;font-size:16px;font-weight:700}.kpi-edit-input:focus{outline:none;box-shadow:0 0 0 3px #e4791180}.kpi-slash{color:#8a9299;font-weight:400;margin:0 2px}.kpi-pass{border-color:#007600;background:#f0f7f0}.kpi-pass .metric-value{color:#007600}.kpi-fail{border-color:#b12704;background:#fdf3f1}.kpi-fail .metric-value{color:#b12704}.metric-label{margin-top:2px;font-size:11px;color:#565959;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
