:root{--radius: 12px;--touch-target: 44px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{line-height:1.5;font-size:18px;color-scheme:light;--bg: #eef1f6;--surface: #ffffff;--surface2: #e5eaf2;--border: #cfd6e2;--text: #0b2a5b;--muted: #5f6b7c;--accent: #123a78;--accent-hover: #0b2a5b;--accent-soft: rgba(18, 58, 120, .08);--accent-soft-hover: rgba(18, 58, 120, .14);--success: #059669;--warning: #c2410c;--danger: #dc2626;--brand-amber: #f2a900;--subway: #6366f1;--bus: #e07b00;--school: #10b981;--on-accent: #ffffff;--backdrop: rgba(15, 23, 42, .42);--shadow-modal: 0 16px 48px rgba(15, 23, 42, .14);--bg-gradient-start: #f6f8fb;--bg-gradient-mid: #e9eef7;--bg-gradient-end: #eef1f6;--map-tool-bg: rgba(255, 255, 255, .94);--map-tool-bg-hover: #ffffff;--map-tool-shadow: 0 2px 8px rgba(15, 23, 42, .12);--map-tool-active-bg: #ffffff;--map-ruler-accent: #c2410c;--map-ruler-accent-border: #e07b00;--map-ruler-label-bg: rgba(255, 255, 255, .96);color:var(--text);background:var(--bg)}html[data-theme=dark]{color-scheme:dark;--bg: #071a33;--surface: #0f2b52;--surface2: #163a68;--border: #2a4472;--text: #e8eef8;--muted: #a9bad6;--accent: #7fa6ff;--accent-hover: #9dbbff;--accent-soft: rgba(127, 166, 255, .1);--accent-soft-hover: rgba(127, 166, 255, .16);--success: #34d399;--warning: #fb923c;--danger: #f87171;--brand-amber: #f2a900;--subway: #6366f1;--bus: #e07b00;--school: #10b981;--on-accent: #ffffff;--backdrop: rgba(8, 12, 18, .62);--shadow-modal: 0 16px 48px rgba(0, 0, 0, .35);--bg-gradient-start: #071a33;--bg-gradient-mid: #102d4f;--bg-gradient-end: #071a33;--map-tool-bg: rgba(15, 43, 82, .92);--map-tool-bg-hover: rgba(15, 43, 82, .98);--map-tool-shadow: 0 2px 8px rgba(0, 0, 0, .25);--map-tool-active-bg: rgba(15, 43, 82, .98);--map-ruler-accent: #fb923c;--map-ruler-accent-border: #e07b00;--map-ruler-label-bg: rgba(15, 43, 82, .94)}html[data-font-size=small]{font-size:16px}html[data-font-size=large]{font-size:20px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;overflow-x:clip;background:linear-gradient(160deg,var(--bg-gradient-start) 0%,var(--bg-gradient-mid) 50%,var(--bg-gradient-end) 100%)}#root{min-height:100vh;min-height:100dvh;overflow-x:clip}button,input{font:inherit}.app{max-width:1400px;margin:0 auto;padding:24px 20px 40px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(40px,calc(24px + env(safe-area-inset-bottom)));position:relative;width:100%}.page-keep-alive[hidden]{display:none!important}.app-version{position:fixed;left:12px;bottom:8px;font-size:.68rem;color:var(--muted);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:20}.header{margin-bottom:24px}.app-layout{display:flex;min-height:100vh;min-height:100dvh;width:100%}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-sidebar-shell{position:relative;flex:0 0 240px;width:240px;transition:flex-basis .22s ease,width .22s ease}.app-sidebar-shell--collapsed{flex-basis:0;width:0}.app-sidebar{width:240px;display:flex;flex-direction:column;position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;border-right:1px solid var(--border);background:var(--surface);z-index:30;overflow:hidden;transition:transform .22s ease,opacity .22s ease,visibility .22s ease}.app-sidebar-shell--collapsed .app-sidebar{transform:translate(-100%);opacity:0;visibility:hidden;pointer-events:none}.app-sidebar-brand{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:22px 18px 18px;border-bottom:1px solid var(--border)}.app-sidebar-logo{flex-shrink:0;border-radius:7px}.app-sidebar-title{flex:1;min-width:0;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;line-height:1.25}.app-sidebar-tab{position:fixed;top:20px;left:240px;z-index:35;width:24px;height:52px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-left:none;border-radius:0 10px 10px 0;background:var(--surface);color:var(--muted);box-shadow:2px 0 8px #0f172a14;cursor:pointer;transition:left .22s ease,color .15s,border-color .15s,background .15s,box-shadow .15s}.app-sidebar-shell--collapsed .app-sidebar-tab{left:0;border-left:1px solid var(--border);box-shadow:2px 0 10px #0f172a1f}.app-sidebar-tab:hover{color:var(--accent);background:var(--surface2);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.app-sidebar-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.app-sidebar-collapse-icon{width:14px;height:14px;display:block}.app-sidebar-mobile-close{display:none;flex-shrink:0;width:var(--touch-target);height:var(--touch-target);padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer}.app-sidebar-backdrop,.app-main-toolbar{display:none}.app-mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.app-mobile-menu-btn svg{width:20px;height:20px;display:block}.app-mobile-menu-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.app-sidebar-nav{flex:1;overflow-y:auto;padding:16px 12px}.app-nav-group+.app-nav-group{margin-top:6px}.app-nav-group-caption{display:flex;align-items:center;gap:8px;padding:12px 12px 4px}.app-nav-group-caption span{flex-shrink:0;font-size:.61rem;font-weight:800;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.app-nav-group-caption:after{content:"";flex:1;height:1px;background:var(--border)}.app-nav-group--admin{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}.app-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.app-nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border:none;border-radius:8px;background:transparent;color:var(--muted);padding:11px 12px 11px 10px;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer;transition:color .15s,background .15s}@media (min-width: 1024px){.app-nav-item{min-height:36px;padding:6px 12px 6px 10px}}.app-nav-icon{flex-shrink:0}.app-nav-item-label{min-width:0;flex:1}.app-nav-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:4px;font-size:.62rem;font-weight:800;letter-spacing:.04em;line-height:1.4;text-transform:uppercase;vertical-align:middle}.app-nav-badge--beta{color:#0f766e;background:#14b8a629;border:1px solid rgba(13,148,136,.35)}.app-nav-item--active .app-nav-badge--beta{color:#0f766e;background:#14b8a638}.app-nav-badge--title{margin-left:10px;padding:2px 8px;font-size:.68rem;vertical-align:.15em}.app-nav-item:hover{color:var(--text);background:var(--accent-soft)}.app-nav-item--active{color:var(--accent);background:var(--accent-soft-hover);box-shadow:inset 3px 0 0 var(--brand-amber)}.app-sidebar-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px 12px 18px;border-top:1px solid var(--border)}.app-sidebar-plan-row{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--touch-target);padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);color:var(--text);cursor:pointer;text-align:left}.app-sidebar-plan-row:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.app-sidebar-plan-label{font-size:.8rem;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-footer-controls{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%}.app-sidebar-footer .user-menu{width:100%;min-width:0}.app-sidebar-footer .user-menu-trigger{width:100%;max-width:100%;justify-content:space-between;min-height:var(--touch-target);padding:8px 12px}.app-sidebar-footer .theme-switch{flex-shrink:0}.font-size-control{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;flex:1;min-width:0}.font-size-control-label{display:flex;align-items:center;height:var(--touch-target);line-height:1;white-space:nowrap;font-size:.75rem;font-weight:700;color:var(--muted)}.font-size-control-options{display:flex;align-items:center;gap:2px;width:100%;min-height:var(--touch-target);padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);min-width:0}.font-size-control-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:calc(var(--touch-target) - 6px);padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:color .15s,background .15s}.font-size-control-btn:hover{color:var(--text);background:#4f9cf914}.font-size-control-btn--active{color:var(--accent);background:#4f9cf924}.font-size-control-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.app-sidebar-footer .user-menu-dropdown{top:auto;bottom:calc(100% + 6px);left:0;right:auto;min-width:100%}.app-main{flex:1;min-width:0;max-width:1400px;width:100%;margin:0 auto;padding:24px 28px 32px;padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right));padding-bottom:max(32px,calc(20px + env(safe-area-inset-bottom)))}.app-main-header{margin-bottom:24px}.app-main-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px}.app-main-header-actions{display:flex;align-items:center;flex-shrink:0;gap:8px}.app-main-header-text{flex:1;min-width:0}.app-main-title{display:flex;align-items:center;flex-wrap:wrap;font-size:1.65rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.app-main-description{color:var(--muted);margin-top:10px;font-size:.95rem;max-width:720px;line-height:1.55}.page-onboarding-trigger{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--text);font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.page-onboarding-trigger:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}.page-onboarding-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.page-onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--backdrop)}.page-onboarding-modal{width:min(560px,100%);max-height:min(85vh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-modal)}.page-onboarding{display:flex;flex-direction:column;min-height:0;flex:1;padding:18px 18px 16px;background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface) 48%)}.page-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.page-onboarding-kicker{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.page-onboarding-title{margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.page-onboarding-intro{margin:8px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5;max-width:720px}.page-onboarding-close{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}.page-onboarding-close:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.page-onboarding-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;flex:1}.page-onboarding-step{padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.page-onboarding-step-title{display:block;margin-bottom:4px;font-size:.86rem;font-weight:700}.page-onboarding-step-body{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5;word-break:keep-all}.page-onboarding-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;flex-shrink:0}.prh-page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.theme-switch{flex-shrink:0;padding:0;border:1px solid var(--border);background:var(--surface2);border-radius:999px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.theme-switch:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.theme-switch:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.theme-switch-track{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:76px;height:var(--touch-target);padding:3px}.theme-switch-thumb{position:absolute;top:3px;left:3px;width:38px;height:38px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #0f172a2e;transition:transform .22s ease;pointer-events:none;z-index:0}.theme-switch--dark .theme-switch-thumb{transform:translate(32px)}.theme-switch-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0 auto;color:var(--muted);opacity:.55;transition:color .15s,opacity .15s}.theme-switch-icon--sun{grid-column:1}.theme-switch-icon--moon{grid-column:2}.theme-switch-icon--active{color:var(--accent);opacity:1}.theme-switch-glyph{width:16px;height:16px;display:block}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;min-height:var(--touch-target);border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.user-menu-trigger:hover,.user-menu-trigger--open{border-color:var(--accent);color:var(--accent);background:#4f9cf914}.user-menu-username{color:inherit}.user-menu-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.75;transition:transform .15s}.user-menu-trigger--open .user-menu-caret{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:132px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px #00000047;z-index:40}.user-menu-item{display:flex;align-items:center;width:100%;min-height:var(--touch-target);border:none;background:transparent;color:var(--text);border-radius:8px;padding:10px 12px;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s,color .15s}.user-menu-item:hover{background:#4f9cf91a;color:var(--accent)}.user-menu-item--danger{color:#ef4444}.user-menu-item--danger:hover{background:#ef44441f;color:#ef4444}.my-account-page{padding:0 4px 32px;max-width:720px}.my-account-toolbar{margin-bottom:16px}.my-account-hero h2{margin:0 0 8px;font-size:1.5rem;font-weight:800}.my-account-hero p{margin:0 0 20px;color:var(--muted);font-size:.95rem}.my-account-section{margin-bottom:24px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.my-account-section h3{margin:0 0 12px;font-size:1rem;font-weight:700}.my-account-section--danger{border-color:color-mix(in srgb,#dc2626 40%,var(--border))}.my-account-section--danger h3{color:#dc2626}.my-account-form{display:flex;flex-direction:column;gap:8px}.my-account-form label{font-size:.82rem;font-weight:600;color:var(--muted)}.my-account-form input{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface2);color:var(--text)}.my-account-actions{margin-top:4px}.my-account-error{margin:10px 0 0;color:#f87171;font-size:.88rem}.my-account-success{margin:10px 0 0;color:#34d399;font-size:.88rem}.my-account-help{margin:10px 0 0;font-size:.82rem;color:var(--muted)}.my-account-help--tight{margin-top:0;margin-bottom:12px;line-height:1.5}.app-shell-username{color:var(--muted);font-size:.9rem;font-weight:600}.app-shell-logout{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.app-shell-logout:hover{border-color:var(--accent);color:var(--accent)}.mail-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--backdrop);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 24px}.mail-modal{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow-modal)}.mail-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mail-modal-head h2{font-size:1.1rem;font-weight:700}.mail-modal-add{display:flex;flex-direction:column;gap:6px}.mail-modal-add label{font-size:.82rem;font-weight:600;color:var(--muted)}.mail-modal-add-row{display:flex;gap:8px}.mail-modal-add-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface2);color:var(--text)}.mail-modal-error{margin:10px 0 0;color:#f87171;font-size:.88rem}.mail-modal-table-wrap{margin-top:14px;max-height:280px;overflow:auto}.mail-modal-help{margin-top:12px;font-size:.82rem;color:var(--muted)}.admin-page{padding:0 4px 32px}.admin-create{margin:16px 0 24px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.admin-create h3{margin:0 0 12px;font-size:1rem}.admin-create-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:12px}.admin-create-grid label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.admin-create-grid input,.admin-create-grid select,.mail-modal-add select,.mail-modal-add input[type=datetime-local]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.app-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.app-tab{padding:10px 18px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.92rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s,box-shadow .15s}.app-tab:hover{border-color:#4f9cf973;color:var(--text);background:#4f9cf914}.app-tab--active{border-color:var(--accent);color:var(--accent);background:#4f9cf924;box-shadow:0 0 0 1px #4f9cf92e}.app-shell-description{color:var(--muted);margin-top:12px;font-size:.95rem;max-width:720px}.header--with-nav{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px}.header-main{flex:1 1 280px;min-width:0}.app-nav-link,.app-nav-back{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.app-nav-link:hover,.app-nav-back:hover{border-color:var(--accent);color:var(--accent);background:#4f9cf914}.app-nav-back{width:100%;max-width:max-content;padding-left:12px;font-weight:500}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.header p{color:var(--muted);margin-top:6px;font-size:.95rem}.search-bar{margin-bottom:20px}.search-bar .error-box{margin-top:12px}.search-form--top{display:flex;flex-direction:column;gap:12px}.search-form-advanced{border-top:1px solid var(--border)}.search-form-advanced-summary{display:flex;align-items:baseline;gap:8px;padding:12px 0;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.search-form-advanced-summary::-webkit-details-marker{display:none}.search-form-advanced-summary:before{content:"";width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;color:var(--muted);transition:transform .2s ease;flex-shrink:0}.search-form-advanced[open] .search-form-advanced-summary:before{transform:rotate(90deg)}.search-form-advanced-title{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3}.search-form-advanced-hint{font-size:.78rem;color:var(--muted);line-height:1.3}.search-form-advanced[open] .search-form-advanced-summary{padding-bottom:8px}.search-form-top-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.search-form-main{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) auto;gap:16px;align-items:start;flex:1 1 520px}.search-form-radii{width:100%;padding-top:4px}.search-form-main .field{margin-bottom:0}.address-list{display:flex;flex-direction:column;gap:8px}.address-row{display:flex;align-items:center;gap:8px}.address-row-input{flex:1 1 auto;min-width:0}.address-row-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.address-row-btn{width:var(--touch-target);height:var(--touch-target);padding:0;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.1rem;line-height:1;font-weight:600;cursor:pointer}.address-row-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.address-row-btn:disabled{opacity:.5;cursor:not-allowed}.address-row-btn--add{color:var(--accent)}.address-limit-hint{margin:6px 0 0;font-size:.75rem;color:var(--muted)}.address-count{margin-left:8px;font-size:.75rem;font-weight:500;color:var(--muted)}.land-use-parcel-summary{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--accent)}.land-use-warnings{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f59e0b1f;color:#92400e;font-size:.78rem;line-height:1.45}.land-use-warnings p{margin:0}.land-use-warnings p+p{margin-top:4px}.land-use-summary-row{display:contents}.field-submit-label{visibility:hidden}.search-form-divider{width:1px;align-self:stretch;background:var(--border)}.field-land-purchase-optional{margin-left:6px;font-size:.74rem;font-weight:500;color:var(--muted)}.field-land-purchase-estimate-hint{display:block;margin-top:4px;font-size:.74rem;font-weight:500;color:var(--muted)}.field-submit button{width:100%;min-width:148px;min-height:var(--touch-target);white-space:nowrap}.search-form-details .field-criteria{flex:1 1 320px;margin-bottom:0}.criteria-compact-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.criteria-compact-layout{display:flex;align-items:stretch;gap:0}.criteria-compact-main{flex:1 1 auto;min-width:0}.criteria-radius-main{flex:1 1 0;min-width:0}.section-filter-main{flex:0 0 auto;width:auto;max-width:none}.section-filter-main .criteria-compact-list{flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:6px}.section-filter-main .criteria-compact-item{width:112px;flex:0 0 auto;max-width:none;padding:6px 8px;font-size:.68rem;gap:2px}.section-filter-main .criteria-compact-detail{font-size:.6rem;line-height:1.35}.section-filter-main .criteria-filter-checkbox{width:14px;height:14px;min-width:14px;min-height:14px;flex-basis:14px}.section-filter-main .criteria-filter-checkbox:checked{background-size:8px 8px}.criteria-compact-divider{flex:0 0 1px;width:1px;margin:0 10px;background:var(--border);align-self:stretch}.criteria-compact-list{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 0;min-width:0}.criteria-filter-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;flex:0 0 16px}.criteria-filter-checkbox:checked{border-color:var(--accent);background:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='white' stroke-width='2' d='M2 6l3 3 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px 10px}.criteria-filter-checkbox:disabled{opacity:.5;cursor:not-allowed}.criteria-compact-head label{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:0}.criteria-reset-btn{width:auto;min-width:0;padding:1px 5px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.3;white-space:nowrap;cursor:pointer}.criteria-reset-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.criteria-reset-btn:disabled{opacity:.5;cursor:not-allowed}.criteria-compact-item{display:flex;flex-direction:column;gap:4px;width:220px;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);font-size:.72rem}.criteria-compact-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.criteria-compact-title{font-weight:600;color:var(--text);white-space:nowrap}.criteria-compact-detail{font-size:.68rem;color:var(--muted);line-height:1.45}.search-form-radii .hint{margin-top:8px;font-size:.72rem}.empty-state-inline{margin-top:12px;padding:12px;border-radius:8px;border:1px dashed var(--border);color:var(--muted);font-size:.82rem;text-align:center}.criteria-radius-input-wrap{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.radius-input{width:64px;padding:3px 5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:.72rem;text-align:right;outline:none}.radius-input:focus{border-color:var(--accent)}.radius-unit{font-size:.68rem;color:var(--muted)}.criteria-list--inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.content-layout{display:grid;grid-template-columns:minmax(400px,520px) minmax(0,1fr);gap:20px;align-items:stretch}.info-column{display:flex;flex-direction:column;min-height:0;overflow:hidden}.info-column .panel{flex:1;min-height:100%;overflow-y:auto}.map-column{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}.map-column .map-panel{flex:0 0 auto}@media (max-width: 960px){.content-layout{grid-template-columns:minmax(0,1fr)}.search-form-main{grid-template-columns:minmax(0,1fr);flex:1 1 auto}.search-form-divider{display:none}.search-form-top-row{flex-direction:column;align-items:stretch}.field-submit button{min-width:0}.criteria-compact-layout{flex-direction:column;gap:12px}.criteria-compact-divider{width:auto;height:1px;margin:0;align-self:stretch}.section-filter-main{width:100%;max-width:100%}.section-filter-main .criteria-compact-list{flex-wrap:wrap}.section-filter-main .criteria-compact-item{flex:1 1 calc(50% - 6px);width:auto;max-width:none;min-width:0}.info-column{overflow:visible;order:3}.info-column .panel{min-height:0}.map-column{order:2}.map-panel{min-height:360px}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.search-form label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:6px}.search-form .field{margin-bottom:16px}.search-form input:not([type=checkbox]){min-height:var(--touch-target);width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);outline:none;transition:border-color .15s}.search-form input:not([type=checkbox]):focus{border-color:var(--accent)}.search-form .hint{font-size:.78rem;color:var(--muted);margin-top:4px}.hint-warn{color:#b45309}.search-form button[type=submit]{width:100%;min-height:var(--touch-target);padding:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:background .15s}.search-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.search-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error-box{margin-top:12px;padding:10px 12px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#fca5a5;font-size:.88rem}.error-box--structured{display:flex;flex-direction:column;gap:4px}.error-box-title{margin:0;font-weight:700;color:#fca5a5}.error-box-desc{margin:0;color:var(--muted);font-size:.84rem}.error-box-action{align-self:flex-start;margin-top:6px}.error-box-actions{display:flex;flex-wrap:wrap;gap:8px}.error-box-actions .error-box-action{margin-top:0}.feasibility-land-use-columns{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 960px){.feasibility-land-use-columns{grid-template-columns:minmax(0,1fr)}}.land-use-panel{margin-top:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.feasibility-headline{margin-top:16px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 12px #0f172a0f}.feasibility-headline-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.feasibility-headline-kicker{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:6px}.feasibility-headline-dot{width:3px;height:3px;border-radius:50%;background:var(--muted);display:inline-block}.feasibility-headline-type-lh{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.feasibility-headline-type-lh.pass{background:#34d39926;color:var(--success)}.feasibility-headline-type-lh.fail{background:#ef444426;color:#f87171}.feasibility-headline-type-lh.pending{background:#f59e0b29;color:#d97706}.feasibility-headline-type-lh.caution{background:#f59e0b29;color:var(--warning)}.feasibility-exclusion-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(239,68,68,.35);border-radius:10px;background:#ef444412}.feasibility-exclusion-strip-label{display:inline-flex;align-items:center;gap:6px;color:#dc2626;font-size:.86rem;font-weight:700;white-space:nowrap}.feasibility-exclusion-strip-items{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0;font-size:.82rem;color:var(--text)}.feasibility-exclusion-strip-items span+span:before{content:"·";margin-right:8px;color:var(--muted)}.feasibility-exclusion-strip-btn{flex-shrink:0;padding:6px 12px;border-radius:8px;border:1px solid rgba(239,68,68,.35);background:var(--surface);color:#dc2626;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.feasibility-exclusion-strip-btn:hover{background:#ef44441a}.feasibility-exclusion-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:none;background:#f59e0b29;color:var(--warning);font-family:inherit;font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap}.feasibility-exclusion-chip:hover{background:#f59e0b3d}.feasibility-headline-type-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.feasibility-headline-lh-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feasibility-headline-main{display:flex;align-items:flex-end;flex-wrap:wrap;gap:24px}.feasibility-headline-type-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 6px}.feasibility-headline-type-half{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);transition:border-color .15s,background .15s,box-shadow .15s}.feasibility-headline-type-half:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.feasibility-headline-type-half.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface2));box-shadow:0 0 0 1px var(--accent) inset}.feasibility-headline-type-select{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}.feasibility-headline-type-select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:6px}.feasibility-headline-type-label{font-size:.82rem;font-weight:700;color:var(--muted)}.feasibility-headline-type-half.is-selected .feasibility-headline-type-label{color:var(--accent)}.feasibility-headline-type-empty{padding:10px 0 2px;font-size:.85rem;color:var(--muted)}.feasibility-headline-transit-mode{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.feasibility-headline-transit-mode-label{font-size:.75rem;color:var(--muted)}.feasibility-headline-transit-mode-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}.feasibility-headline-transit-mode-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;cursor:pointer}.feasibility-headline-transit-mode-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.feasibility-headline-transit-mode-btn.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--accent)}.feasibility-headline-transit-mode-btn:disabled{cursor:not-allowed;opacity:.5}.feasibility-headline-transit-mode-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.feasibility-headline-transit-mode-btn-label{font-size:.82rem;font-weight:700}.feasibility-headline-transit-mode-btn-sub{font-size:.7rem;color:var(--muted)}.feasibility-headline-transit-mode-btn.is-active .feasibility-headline-transit-mode-btn-sub{color:inherit}.feasibility-headline-transit-mode-hint{font-size:.7rem;color:var(--muted)}.feasibility-headline-type-price{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted)}.feasibility-headline-type-price input.won-amount-input{border:1px solid var(--border);border-radius:6px;padding:6px 9px;background:var(--bg);color:var(--text);font-size:.82rem;font-weight:600}.feasibility-headline-type-price-optional{margin-left:6px;font-size:.7rem;font-weight:500}.feasibility-headline-price-estimate{display:flex;flex-direction:column;gap:3px;margin-top:-2px;font-size:.7rem;color:var(--muted)}.feasibility-headline-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.feasibility-headline-price-row-label{padding:1px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-weight:600}.feasibility-headline-price-row-value{color:var(--text);font-weight:700}.feasibility-headline-price-estimate-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.feasibility-headline-price-estimate-badge{padding:1px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700}.feasibility-headline-price-estimate-reset{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.feasibility-headline-price-estimate-note{margin:0}.feasibility-headline-price-estimate-note.is-warning{color:var(--warning)}.feasibility-headline-divider{width:1px;align-self:stretch;background:var(--border)}.feasibility-headline-label{font-size:.82rem;color:var(--muted);margin-bottom:6px}.feasibility-headline-rate-row{display:flex;align-items:center;gap:10px}.feasibility-headline-rate{font-size:2.4rem;font-weight:800;line-height:1;letter-spacing:-.01em}.feasibility-headline-rate.grade-excellent{color:var(--success)}.feasibility-headline-rate.grade-good{color:var(--accent)}.feasibility-headline-rate.grade-caution{color:var(--warning)}.feasibility-headline-rate.grade-risk{color:#b42318}.feasibility-headline-rate.grade-pending{color:var(--muted)}.feasibility-headline-rate-unit{font-size:1.1rem;font-weight:700;margin-left:2px}.feasibility-headline-chip{font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px}.feasibility-headline-chip.grade-excellent{background:#34d39926;color:var(--success)}.feasibility-headline-chip.grade-good{background:var(--accent-soft);color:var(--accent)}.feasibility-headline-chip.grade-caution{background:#c2410c29;color:var(--warning)}.feasibility-headline-chip.grade-risk{background:#b4231826;color:#b42318}.feasibility-headline-chip.grade-pending{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.feasibility-headline-profit{font-size:1.7rem;font-weight:800;line-height:1;color:var(--text)}.feasibility-headline-profit-unit{font-size:1rem;font-weight:700;color:var(--muted);margin-left:4px}.feasibility-headline-note{display:flex;align-items:center;gap:6px;margin:14px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.feasibility-headline--incomplete .feasibility-headline-note{color:var(--text);font-size:.9rem}.feasibility-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.feasibility-kpi-card{padding:10px 12px;background:var(--surface2);border-radius:8px}.feasibility-kpi-label{font-size:.74rem;color:var(--muted);margin-bottom:4px}.feasibility-kpi-value{font-size:1rem;font-weight:700;color:var(--text)}.feasibility-kpi-value span{font-size:.76rem;font-weight:600;color:var(--muted);margin-left:2px}@media (max-width: 640px){.feasibility-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.feasibility-headline-type-split{grid-template-columns:1fr}}.feasibility-headline-sk{display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--surface2) 25%,var(--border) 37%,var(--surface2) 63%);background-size:400% 100%;animation:feasibility-sk-shimmer 1.4s ease infinite}.feasibility-headline-sk--label{width:140px;height:14px}.feasibility-headline-sk--rate{display:block;width:120px;height:40px;margin-top:4px}.feasibility-headline-sk--profit{display:block;width:100px;height:30px;margin-top:4px}@keyframes feasibility-sk-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.eligibility-snapshot{margin-top:12px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.eligibility-snapshot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.eligibility-snapshot-title{font-size:.82rem;font-weight:700;color:var(--muted)}.eligibility-snapshot-criteria{font-weight:500}.eligibility-snapshot-region-notice{margin:8px 0 0;padding:6px 10px;border-radius:8px;background:var(--surface-muted, rgba(148, 163, 184, .12));color:var(--text-muted);font-size:.76rem;line-height:1.5}.eligibility-incentive-chips{display:flex;flex-wrap:wrap;gap:8px}.eligibility-incentive-chip{padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.eligibility-incentive-chip--ok{background:#34d39926;color:var(--success)}.eligibility-incentive-chip--muted{background:var(--surface2);color:var(--muted);border-color:var(--border)}.eligibility-snapshot-detail-btn{flex-shrink:0;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s}.eligibility-snapshot-detail-btn:hover{border-color:var(--accent);color:var(--accent)}.eligibility-snapshot-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:12px 0 6px}.eligibility-snapshot-block-head--screening{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.eligibility-snapshot-block-title{font-size:.8rem;font-weight:700;color:var(--muted)}.eligibility-snapshot-block-note{font-size:.72rem;color:var(--muted)}.eligibility-snapshot-exclusion-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:var(--surface2);font-family:inherit;cursor:pointer;text-align:left}.eligibility-snapshot-exclusion-row.exclusion-level-badge--high{background:#ef44441a}div.eligibility-snapshot-exclusion-row{cursor:default}.eligibility-snapshot-exclusion-summary{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eligibility-snapshot-rows{display:flex;flex-direction:column;gap:8px}.eligibility-snapshot-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface2)}.eligibility-snapshot-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex-shrink:0}.eligibility-snapshot-row.pass .eligibility-snapshot-icon{background:#34d3992e;color:var(--success)}.eligibility-snapshot-row.fail .eligibility-snapshot-icon{background:#ef44442e;color:#f87171}.eligibility-snapshot-body{flex:1;min-width:0}.eligibility-snapshot-label{font-size:.86rem;font-weight:600;color:var(--text)}.eligibility-snapshot-detail{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eligibility-snapshot-badge{flex-shrink:0}.eligibility-snapshot-row.pass .eligibility-snapshot-badge{background:#34d39926;color:var(--success)}.eligibility-snapshot-row.fail .eligibility-snapshot-badge{background:#ef444426;color:#f87171}.feasibility-summary-card{margin:0 0 12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(165deg,rgba(79,156,249,.08),var(--surface2) 42%);container-type:inline-size;container-name:feasibility-summary}.feasibility-summary-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 14px;margin-bottom:12px}.feasibility-summary-title{margin:0;font-size:.88rem;font-weight:600}.feasibility-summary-desc{margin:4px 0 0;font-size:.75rem;color:var(--muted);line-height:1.4}.feasibility-summary-save-btn{flex-shrink:0;padding:8px 12px;border-radius:8px;border:1px solid rgba(79,156,249,.45);background:#4f9cf924;color:var(--accent);font-size:.78rem;font-weight:700;cursor:pointer}.feasibility-summary-save-btn:hover:not(:disabled){background:#4f9cf938}.feasibility-summary-save-btn:disabled{opacity:.55;cursor:not-allowed}.feasibility-summary-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.feasibility-summary-preview-btn{flex-shrink:0;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.78rem;font-weight:700;cursor:pointer}.feasibility-summary-preview-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.feasibility-summary-preview-btn:disabled{opacity:.55;cursor:not-allowed}.feasibility-summary-copy-btn{flex-shrink:0;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.78rem;font-weight:700;cursor:pointer}.feasibility-summary-copy-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.feasibility-summary-copy-btn:disabled{opacity:.55;cursor:not-allowed}.feasibility-preview-backdrop{z-index:95;align-items:flex-start;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.feasibility-preview-modal{width:min(920px,96vw);height:min(900px,calc(100vh - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;min-height:0}.feasibility-preview-head{flex-shrink:0}.feasibility-preview-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eligibility-detail-backdrop{z-index:95;align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.eligibility-detail-modal{width:min(1200px,96vw);height:min(880px,calc(100vh - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;min-height:0}.eligibility-detail-head{flex-shrink:0}.eligibility-detail-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.eligibility-detail-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;overflow:hidden}.eligibility-detail-panel-col{min-height:0;overflow-y:auto}.eligibility-detail-panel-col .panel{min-height:100%}.eligibility-detail-map-col{min-height:0;display:flex;flex-direction:column}.eligibility-detail-map-col .map-container{flex:1;min-height:0;border-radius:8px;overflow:hidden}.eligibility-detail-map-col .map-container>div:first-child{height:100%!important;min-height:0!important}@media (max-width: 900px){.eligibility-detail-body{grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;overflow-y:auto}.eligibility-detail-panel-col{overflow-y:visible}.eligibility-detail-map-col{min-height:420px}}.feasibility-preview-export-btn{flex-shrink:0;padding:6px 12px;border:1px solid #15803d;border-radius:8px;background:#16a34a;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.feasibility-preview-export-btn:hover:not(:disabled){background:#15803d;border-color:#166534;color:#fff}.feasibility-preview-export-btn:disabled{opacity:.55;cursor:not-allowed}.feasibility-preview-export-error{margin:6px 0 0;font-size:.75rem;color:#dc2626}.feasibility-preview-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:2px}.feasibility-preview-lead{margin:6px 0 0;font-size:.75rem;color:var(--muted);line-height:1.45}.feasibility-preview-title-row{display:flex;align-items:center;gap:8px}.feasibility-preview-lead-toggle{flex:none;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:700;line-height:1;cursor:pointer}.feasibility-preview-lead-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}#feasibility-preview-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feasibility-preview-empty{padding:24px 16px;color:var(--muted);font-size:.85rem}.feasibility-report-body{padding:4px 2px 8px;display:flex;flex-direction:column;gap:16px}.feasibility-report-header{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(165deg,rgba(79,156,249,.1),var(--surface2) 55%)}.feasibility-report-eyebrow{margin:0;font-size:.82rem;font-weight:700;color:var(--accent)}.feasibility-report-address{margin:6px 0 0;font-size:.95rem;font-weight:600;line-height:1.4}.feasibility-report-kpi-cards{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;min-width:min(100%,320px)}.feasibility-report-kpi-card{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.feasibility-report-kpi-card span{font-size:.72rem;color:var(--muted)}.feasibility-report-kpi-card strong{font-size:.92rem;font-variant-numeric:tabular-nums}.feasibility-report-kpi-card--accent{border-color:#4f9cf973;background:#4f9cf914}.feasibility-report-kpi-card--accent strong{color:var(--accent)}.feasibility-report-block{border:1px solid var(--border);border-radius:10px;background:var(--surface)}.feasibility-report-block-title{margin:0;padding:10px 14px;font-size:.82rem;font-weight:700;border-bottom:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;gap:6px}.feasibility-report-label-with-help{display:inline-flex;align-items:center;gap:4px}.feasibility-report-basis{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.feasibility-help-tip{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.feasibility-help-tip__btn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);font-size:.62rem;font-weight:700;line-height:1;cursor:help;vertical-align:middle}.feasibility-help-tip__btn--inline{display:inline-flex;width:14px;height:14px;font-size:.6rem;pointer-events:none}.feasibility-help-tip__btn:hover,.feasibility-help-tip__btn:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.feasibility-help-tip__bubble{position:absolute;z-index:20;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:max-content;max-width:min(280px,70vw);padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.72rem;font-weight:400;line-height:1.45;box-shadow:0 8px 24px #0000001f;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.feasibility-help-tip__bubble--bottom{bottom:auto;top:calc(100% + 6px)}.feasibility-help-tip__bubble:after{content:"";position:absolute;top:100%;left:calc(50% - var(--tip-shift, 0px));transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border)}.feasibility-help-tip__bubble--bottom:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--border)}.feasibility-help-tip:hover .feasibility-help-tip__bubble,.feasibility-help-tip:focus-within .feasibility-help-tip__bubble{opacity:1;visibility:visible}.feasibility-report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0}.feasibility-report-field{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.feasibility-report-field:nth-child(2n){border-right:none}.feasibility-report-field--editable{background:#4f9cf90a}.feasibility-report-field dt{margin:0;font-size:.74rem;color:var(--muted);font-weight:600}.feasibility-report-field dd{margin:0;font-size:.82rem;line-height:1.4}.feasibility-report-field dd small{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}.feasibility-report-field--accent dd span{font-weight:700;color:var(--accent)}.feasibility-report-field dd input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;padding:5px 8px;background:var(--bg);color:var(--text);font-size:.82rem;font-variant-numeric:tabular-nums}.feasibility-report-field dd input:focus{outline:none;border-color:var(--accent)}.feasibility-report-field-edit{display:flex;align-items:center;gap:4px;min-width:0}.feasibility-report-field-edit input{flex:1;min-width:0}.feasibility-report-field-suffix{font-size:.74rem;color:var(--muted);white-space:nowrap}.feasibility-report-amount-stack{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.feasibility-report-computed-amount{font-weight:600}.feasibility-report-override-field{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--muted)}.feasibility-report-override-field input{width:72px;padding:2px 6px;font-size:.72rem}.feasibility-report-override-label{flex-shrink:0}.feasibility-report-table input{width:100%;min-width:72px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;padding:4px 6px;background:var(--bg);color:var(--text);font-size:.76rem;font-variant-numeric:tabular-nums}.feasibility-report-table input:focus{outline:none;border-color:var(--accent)}.feasibility-report-table th:nth-child(3),.feasibility-report-table td:nth-child(3){min-width:110px}.feasibility-report-table .feasibility-report-field-edit input{max-width:96px}.feasibility-report-table-wrap{overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain}.feasibility-report-table{width:100%;border-collapse:collapse;font-size:.78rem}.feasibility-sensitivity-toggle{border:1px solid var(--border);border-radius:8px;padding:8px 14px;background:var(--surface2);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;margin-bottom:10px}.feasibility-sensitivity-row--base{background:color-mix(in srgb,var(--accent) 8%,transparent);font-weight:700}.feasibility-report-table th,.feasibility-report-table td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.feasibility-report-table thead th{background:var(--surface2);font-size:.72rem;color:var(--muted);font-weight:700}.feasibility-report-num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.feasibility-report-muted{color:var(--muted);font-size:.72rem}.feasibility-report-subtotal td{font-weight:700;background:#4f9cf90f}.feasibility-report-row-warning td{border-bottom:1px solid var(--border);padding-top:0}.feasibility-report-warning-text{padding:2px 12px 10px!important;color:#dc2626;font-size:.74rem;line-height:1.5}.feasibility-report-footer{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.feasibility-report-footer-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:.82rem}.feasibility-report-footer-row:last-child{border-bottom:none}.feasibility-report-footer-row strong{font-variant-numeric:tabular-nums}.feasibility-report-footer-row--accent{background:#4f9cf91a;font-weight:700}.feasibility-report-footer-row--accent strong{color:var(--accent);font-size:.95rem}@media (max-width: 720px){.feasibility-report-fields{grid-template-columns:1fr}.feasibility-report-field{border-right:none}.feasibility-report-kpi-cards{width:100%}}.feasibility-grid-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff}.feasibility-grid-table{border-collapse:collapse;font-size:.68rem;min-width:max-content;color:#1a1a1a}.feasibility-grid-corner,.feasibility-grid-row-head,.feasibility-grid-col-head{position:sticky;background:#f3f4f6;color:#6b7280;font-weight:600;text-align:center;z-index:2;border:1px solid #d1d5db;padding:4px 6px}.feasibility-grid-corner{left:0;top:0;z-index:4;min-width:28px}.feasibility-grid-col-head{top:0;min-width:52px}.feasibility-grid-row-head{left:0;min-width:28px;z-index:3}.feasibility-grid-cell{border:1px solid #e5e7eb;padding:3px 6px;vertical-align:middle;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;background:#fff}.feasibility-grid-cell--num{text-align:right;font-variant-numeric:tabular-nums}.feasibility-grid-cell--computed{background:#eff6ff;color:#1e40af;font-weight:600}.feasibility-grid-cell--merge{background:#fafafa}.feasibility-grid-row:nth-child(2n) .feasibility-grid-cell:not(.feasibility-grid-cell--computed){background:#fcfcfc}.feasibility-summary-ok{margin:0 0 10px;font-size:.78rem;color:#2f9e44}.feasibility-summary-err{margin:0 0 10px;font-size:.78rem;color:#e03131}.feasibility-summary-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.feasibility-summary-field{display:flex;flex-direction:column;gap:6px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.75rem;color:var(--muted)}.feasibility-summary-field input{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--bg);color:var(--text);font-size:.9rem;font-weight:600}.feasibility-summary-empty{margin:0;font-size:.8rem;color:var(--muted)}.feasibility-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@container feasibility-summary (max-width: 759px){.feasibility-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container feasibility-summary (max-width: 559px){.feasibility-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container feasibility-summary (max-width: 279px){.feasibility-summary-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.feasibility-summary-inputs{grid-template-columns:1fr}.feasibility-summary-save-btn{width:100%}}.feasibility-summary-item{padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);min-width:0}.feasibility-summary-label{font-size:.72rem;color:var(--muted);margin-bottom:4px}.feasibility-summary-value{font-size:.86rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.feasibility-summary-item--editable{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.feasibility-summary-edit{display:flex;align-items:center;gap:4px;min-width:0}.feasibility-summary-edit input{flex:1;min-width:0;width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums}.feasibility-summary-edit input:focus{outline:none;border-color:var(--accent)}.feasibility-summary-suffix{flex-shrink:0;font-size:.78rem;font-weight:600;color:var(--muted)}.feasibility-summary-item--accent{border-color:var(--border);background:var(--surface)}.feasibility-summary-item--accent .feasibility-summary-label{font-weight:700}.feasibility-summary-item--accent .feasibility-summary-value{font-size:1rem;font-weight:800}.feasibility-summary-item--accent.grade-excellent{border-color:#34d39973;background:#34d3991a}.feasibility-summary-item--accent.grade-excellent .feasibility-summary-label,.feasibility-summary-item--accent.grade-excellent .feasibility-summary-value{color:var(--success)}.feasibility-summary-item--accent.grade-good{border-color:var(--accent);background:var(--accent-soft)}.feasibility-summary-item--accent.grade-good .feasibility-summary-label,.feasibility-summary-item--accent.grade-good .feasibility-summary-value{color:var(--accent)}.feasibility-summary-item--accent.grade-caution{border-color:#c2410c80;background:#c2410c1f}.feasibility-summary-item--accent.grade-caution .feasibility-summary-label,.feasibility-summary-item--accent.grade-caution .feasibility-summary-value{color:var(--warning)}.feasibility-summary-item--accent.grade-risk{border-color:#b4231873;background:#b4231814}.feasibility-summary-item--accent.grade-risk .feasibility-summary-label,.feasibility-summary-item--accent.grade-risk .feasibility-summary-value{color:#b42318}.feasibility-summary-item--estimated{border-style:dashed}.feasibility-summary-item--blocked{border-style:dashed;border-color:var(--warning)}.feasibility-summary-item--blocked .feasibility-summary-value{color:var(--warning);font-weight:600}.feasibility-summary-warn{margin:0 0 10px;padding:8px 10px;border:1px solid var(--warning);border-radius:8px;background:#d977061a;font-size:.78rem;line-height:1.5;color:var(--text)}.feasibility-summary-source{margin-left:5px;padding:1px 5px;border-radius:999px;font-size:.62rem;font-weight:700;vertical-align:middle;white-space:nowrap}.feasibility-summary-source--estimate{background:#f59e0b29;color:#d97706}.feasibility-summary-source--input{background:var(--accent-soft);color:var(--accent)}.feasibility-headline-gradebands{margin:8px 0 0;font-size:.7rem;color:var(--muted)}.analyze-progress{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.analyze-progress-steps{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}.analyze-progress-step{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--muted)}.analyze-progress-step.is-active{color:var(--accent);font-weight:700}.analyze-progress-step.is-done{color:var(--success)}.analyze-progress-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.analyze-progress-slow{margin:8px 0 0;font-size:.72rem;color:var(--muted)}.land-use-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.land-use-title{font-size:.88rem;font-weight:600;margin:0}.land-use-excel-hint{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0 0 10px}.land-use-body{margin-top:0}.eum-metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;align-items:stretch}@media (max-width: 1100px){.eum-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.eum-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.eum-metric-card{display:flex;flex-direction:column;height:100%;min-height:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.eum-metric-card--full{grid-column:1 / -1}.eum-metric-body{flex:1 1 auto;min-height:0}.eum-district-plan-block{padding:0;overflow:hidden}.eum-district-plan-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.eum-district-plan-toggle:hover{background:var(--surface2)}.eum-district-plan-toggle-main{display:flex;flex-direction:column;gap:4px;min-width:0}.eum-district-plan-toggle-title{font-size:.78rem;font-weight:600;color:var(--muted)}.eum-district-plan-toggle-summary{font-size:.92rem;font-weight:600;color:var(--text);line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.eum-district-plan-toggle-action{flex-shrink:0;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);font-size:.78rem;font-weight:600}.eum-district-plan-toggle:hover .eum-district-plan-toggle-action{border-color:var(--accent);color:var(--accent)}.eum-district-plan-modal-backdrop{z-index:90;align-items:center;padding:24px 16px}.eum-district-plan-modal{width:min(640px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;overflow:hidden}.eum-district-plan-modal-close{flex-shrink:0;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer}.eum-district-plan-modal-close:hover{border-color:var(--accent);color:var(--accent)}.eum-district-plan-modal-lead{margin:-4px 0 12px;font-size:.84rem;color:var(--muted);line-height:1.45}.region-ordinance-modal{max-height:min(85vh,760px)}.region-ordinance-select-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.region-ordinance-select-row label{font-size:.82rem;font-weight:600;color:var(--muted)}.region-ordinance-select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem}.region-ordinance-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px;max-height:min(45vh,420px)}.region-ordinance-table{width:100%;border-collapse:collapse;font-size:.82rem}.region-ordinance-table th,.region-ordinance-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.region-ordinance-table th{background:var(--surface2);font-weight:600;position:sticky;top:0;z-index:1}.region-ordinance-table tbody tr:last-child td{border-bottom:none}.region-ordinance-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.region-ordinance-note{margin:10px 0 0;font-size:.76rem;color:var(--muted);line-height:1.5}.eum-district-plan-modal-body{overflow:auto;padding-right:4px;display:flex;flex-direction:column;gap:2px}.eum-metric-card--full .eum-metric-value{font-weight:600;white-space:pre-line;overflow-wrap:anywhere;word-break:break-word}.eum-metric-rows{display:flex;flex-direction:column;gap:8px}.eum-metric-row{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.6fr);gap:10px 14px;align-items:start;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2)}.eum-metric-row-address{position:relative;padding-left:10px;font-size:.82rem;font-weight:600;color:var(--accent);line-height:1.45;word-break:keep-all}.eum-metric-row-address:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:2px;border-radius:2px;background:var(--accent)}.eum-metric-row-content{font-size:.9rem;font-weight:600;color:var(--text);line-height:1.5;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 900px){.eum-metric-row{grid-template-columns:1fr;gap:6px}}.eum-metric-label{font-size:.78rem;color:var(--muted);margin-bottom:6px}.eum-metric-value{font-size:.95rem;font-weight:700;line-height:1.5;word-break:keep-all}.eum-metric-entry+.eum-metric-entry{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.eum-metric-sub{margin-top:auto;padding-top:8px;font-size:.72rem;color:var(--muted);line-height:1.45}.eum-metric-entry .eum-metric-sub{margin-top:6px;padding-top:0}.eum-zonerows-list{display:flex;flex-wrap:wrap;gap:6px;overflow:auto}.eum-zonerow-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:500;border:1px solid var(--border);background:var(--panel-alt, rgba(148, 163, 184, .12));color:var(--text)}.eum-zonerow-badge em{font-style:normal;font-size:.68rem;font-weight:700;opacity:.85}.eum-zonerow-badge--included{border-color:var(--success);color:var(--success);background:#0596691a}.eum-zonerow-badge--adjacent{border-color:var(--warning);color:var(--warning);background:#d977061a}.eum-zonerow-badge--conflict{border-color:#ef4444;color:#ef4444;background:#ef44441a}.land-use-hint{font-size:.82rem;color:var(--muted);line-height:1.6}.land-use-error{padding:10px 12px;border-radius:8px;border:1px solid rgba(239,68,68,.35);background:#ef44441a;color:#fca5a5;font-size:.84rem}.land-use-summary{display:grid;grid-template-columns:88px 1fr;gap:6px 10px;font-size:.82rem}.land-use-summary dt{color:var(--muted)}.land-use-summary dd{margin:0;word-break:break-all}.eum-household-section{margin-bottom:14px;padding-top:4px;border-top:1px solid var(--border)}.eum-household-head{margin:12px 0 10px}.eum-household-title{margin:0 0 4px;font-size:.82rem;font-weight:600}.eum-household-desc{margin:0;font-size:.72rem;color:var(--muted);line-height:1.5}.eum-household-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px}.eum-household-field{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.eum-household-input-wrap{display:inline-flex;align-items:center;gap:4px}.eum-household-input-wrap input{width:72px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.78rem}.eum-household-unit{font-size:.72rem;color:var(--muted);white-space:nowrap}.eum-household-check{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.eum-household-check input[type=checkbox]{width:14px;height:14px;margin:0}.eum-household-check--district{grid-column:1 / -1;margin-bottom:4px;padding:8px 10px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:.78rem}.eum-household-note{font-size:.68rem;color:var(--muted);line-height:1.4}.eum-far-scenario-btns{display:inline-flex;gap:6px;flex-wrap:wrap}.eum-far-scenario-btn{height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.82rem;cursor:pointer}.eum-far-scenario-btn.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:600}.eum-household-results{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0;align-items:stretch}.eum-zone-shares{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.eum-zone-share-block{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.eum-zone-share-parcel-label{margin-bottom:8px;font-size:.75rem;font-weight:600;color:var(--text)}.eum-zone-share-rows{display:flex;flex-direction:column;gap:8px}.eum-zone-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.eum-zone-share-name{min-width:140px;flex:1 1 140px;font-size:.78rem;color:var(--text)}.eum-zone-share-sum{margin:8px 0 0;font-size:.72rem;color:var(--muted)}.eum-zone-share-sum.is-invalid{color:#b42318}.eum-parcel-far-table-wrap{overflow-x:auto;margin-bottom:12px}.eum-parcel-far-table{width:100%;border-collapse:collapse;font-size:.72rem}.eum-parcel-far-table th,.eum-parcel-far-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.eum-parcel-far-table th{color:var(--muted);font-weight:600;white-space:nowrap}.eum-parcel-far-total td{font-weight:600}@media (max-width: 900px){.eum-household-results{grid-template-columns:1fr}}@media (max-width: 1200px) and (min-width: 901px){.eum-household-results{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-panel{min-height:460px;display:flex;flex-direction:column;position:relative;padding-top:14px}.map-panel.is-collapsed{min-height:0;padding-bottom:14px}.map-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.map-panel.is-collapsed .map-panel-header{margin-bottom:0}.map-panel-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text)}.map-panel-toggle{flex-shrink:0;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.map-panel-toggle:hover{border-color:var(--accent);color:var(--accent);background:#4f9cf914}.map-panel-toggle:disabled{opacity:.45;cursor:not-allowed}.map-panel-toggle:disabled:hover{border-color:var(--border);color:var(--muted);background:var(--surface2)}.map-panel-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.map-panel-expand{border-color:#f59e0b73;color:#f59e0b;background:#f59e0b14}.map-panel-expand:hover:not(:disabled){border-color:#f59e0b;color:#fbbf24;background:#f59e0b24}.map-panel-body[hidden]{display:none!important}.map-container{flex:1;min-height:480px;border-radius:8px;overflow:hidden;background:var(--surface2);position:relative}.map-toolbar{position:absolute;top:12px;right:12px;z-index:10;display:flex;gap:8px}.map-layer-toolbar{position:absolute;top:12px;left:12px;z-index:10;display:flex;gap:8px}.analysis-map-hover-label{padding:4px 10px;border-radius:6px;border:1px solid var(--map-ruler-accent-border);background:var(--map-tool-bg);color:var(--text);font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none}.analysis-map-tile-error{position:absolute;left:12px;right:12px;bottom:12px;z-index:11;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--map-tool-bg);box-shadow:var(--map-tool-shadow);color:var(--text);font-size:.78rem;text-align:center;pointer-events:none}.analysis-map-result-label{padding:2px 8px;border-radius:999px;background:var(--map-tool-bg);border:1px solid var(--border);box-shadow:var(--map-tool-shadow);color:var(--text);font-size:.72rem;font-weight:600;white-space:nowrap;pointer-events:none;z-index:5}.analysis-map-result-label--merged{white-space:normal;max-width:16rem;text-align:center;border-radius:12px;word-break:keep-all}.analysis-map-result-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px;vertical-align:1px}.analysis-map-result-dot+.analysis-map-result-dot{margin-left:-1px}.map-legend .legend-item--note{color:var(--muted);font-style:normal}html[data-theme=dark] .analysis-map-home-marker{background:#fff;border-color:#111}.map-tool-btn{min-height:var(--touch-target);padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--map-tool-bg);color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;box-shadow:var(--map-tool-shadow);transition:border-color .15s,background .15s,color .15s}.map-tool-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--map-tool-bg-hover)}.map-tool-btn--active{border-color:var(--map-ruler-accent-border);color:var(--map-ruler-accent);background:var(--map-tool-active-bg)}.map-ruler-hint{background:#f59e0b26;border:1px solid rgba(245,158,11,.35)}.map-ruler-panel{position:absolute;left:12px;right:12px;bottom:12px;z-index:12;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid rgba(245,158,11,.35);border-radius:12px;background:var(--map-ruler-label-bg);box-shadow:var(--map-tool-shadow)}.map-ruler-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-ruler-step{font-size:.86rem;font-weight:700;color:var(--text)}.map-ruler-actions{display:flex;flex-wrap:wrap;gap:8px}.map-ruler-action-btn{flex:1 1 auto;min-height:var(--touch-target);padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.map-ruler-action-btn:hover:not(:disabled){border-color:var(--map-ruler-accent-border);color:var(--map-ruler-accent)}.map-ruler-action-btn:disabled{opacity:.45;cursor:not-allowed}.map-ruler-action-btn--primary{border-color:var(--map-ruler-accent-border);background:#f59e0b1f;color:var(--map-ruler-accent)}.map-ruler-live{flex-shrink:0;font-size:.92rem;font-weight:800;color:var(--map-ruler-accent)}.map-container--ruler{cursor:crosshair}.analysis-map-home-marker{width:22px;height:22px;border-radius:50%;background:#111;border:3px solid #ffffff;box-shadow:0 1px 4px #0006}.analysis-map-facility-marker{width:var(--marker-size, 24px);height:var(--marker-size, 24px);border-radius:50%;background:var(--marker-color, #4f9cf9);border:2px solid #ffffff;box-shadow:0 1px 3px #00000059}.map-container--ruler .bus-pin{pointer-events:none}.map-ruler-label{padding:4px 10px;border-radius:6px;border:1px solid var(--map-ruler-accent-border);background:var(--map-ruler-label-bg);color:var(--map-ruler-accent);font-size:.82rem;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:var(--map-tool-shadow)}.map-panel-body[hidden],.map-panel-body--hidden{display:none!important}.map-panel--fullscreen{position:fixed;z-index:91;left:50%;top:50%;transform:translate(-50%,-50%);width:min(96vw,1320px);height:min(92vh,880px);max-height:92vh;margin:0;padding:16px;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000073}.map-panel--fullscreen .map-panel-body{flex:1;min-height:0;display:flex!important;flex-direction:column}.map-panel--fullscreen .map-container{flex:1;min-height:0}.map-panel--fullscreen .map-container>div:first-child{min-height:0!important;height:100%!important}.map-expand-modal-backdrop{z-index:90;align-items:center;padding:20px}.map-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.9rem}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}@media (max-width: 700px){.summary-grid{grid-template-columns:repeat(2,1fr)}}.summary-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center}.summary-card .value{font-size:1.6rem;font-weight:700}.summary-card .label{font-size:.8rem;color:var(--muted);margin-top:2px}.summary-card.subway .value{color:var(--subway)}.summary-card.bus .value{color:var(--bus)}.summary-card.school .value{color:var(--school)}.results-section{margin-top:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:12px;overflow-x:auto}.tab{min-height:var(--touch-target);padding:10px 14px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:.88rem;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.result-list{list-style:none;max-height:320px;overflow-y:auto}.result-item{padding:12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--surface2)}.result-item .name{font-weight:600;font-size:.95rem}.result-item .meta{font-size:.82rem;color:var(--muted);margin-top:4px}.result-item .distance{display:inline-block;margin-top:6px;font-size:.78rem;padding:2px 8px;border-radius:999px;background:#4f9cf926;color:var(--accent)}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.location-info{margin-top:0;padding:12px;background:var(--surface2);border-radius:8px;font-size:.85rem}.select-input{width:100%;min-height:var(--touch-target);padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text)}.criteria-list{display:flex;flex-direction:column;gap:8px}.criteria-item{padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.criteria-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.criteria-title{font-size:.88rem;font-weight:600}.criteria-radius{font-size:.78rem;color:var(--accent);white-space:nowrap}.criteria-detail{font-size:.78rem;color:var(--muted);margin-top:4px}.overall-verdict{margin-top:16px;padding:16px;border-radius:10px;border:1px solid var(--border)}.overall-verdict.pass{background:#34d3991a;border-color:#34d39959}.overall-verdict.fail{background:#ef44441a;border-color:#ef444459}.verdict-label{font-size:1.1rem;font-weight:700}.overall-verdict.pass .verdict-label{color:var(--success)}.overall-verdict.fail .verdict-label{color:#f87171}.verdict-fail{margin-top:6px;font-size:.85rem;color:var(--muted)}.type-tag{margin-top:6px;font-size:.82rem;color:var(--accent)}.status-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:600}.status-badge.pass{background:#34d39926;color:var(--success)}.status-badge.fail{background:#ef444426;color:#f87171}.status-badge.pending{background:#f59e0b29;color:#d97706}.pending-spinner{display:inline-block;width:.85em;height:.85em;margin-right:.4em;border:2px solid rgba(217,119,6,.25);border-top-color:#d97706;border-radius:50%;vertical-align:-.1em;animation:pending-spin .7s linear infinite}@keyframes pending-spin{to{transform:rotate(360deg)}}.overall-verdict.pending{border-color:#f59e0b59;background:#f59e0b0f}.overall-verdict.pending .verdict-label{color:#d97706;display:flex;align-items:center}.section-card.pending{border-color:#f59e0b59}.section-pending-msg,.land-use-pending{display:flex;align-items:center;color:#d97706}.section-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px}.section-tabs .tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.section-tabs .tab.active{border-color:var(--accent);background:#4f9cf91a}.section-card{padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--surface2)}.section-card.pass{border-color:#34d3994d}.section-card.fail{border-color:#ef44444d}.section-card.info{border-color:#f43f5e59}.section-tabs .tab.exclusion-tab{border-color:#ef444459}.section-tabs .tab.exclusion-tab.active{border-color:#dc2626;background:#ef44441a}.exclusion-section-card{border-color:#ef444433}.exclusion-item-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.exclusion-item{padding:10px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.exclusion-item--high{border-color:#ef444466}.exclusion-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.exclusion-item-title{font-size:.9rem;font-weight:700;color:var(--text)}.exclusion-item-detail{margin:6px 0 0;font-size:.82rem;color:var(--text);line-height:1.5}.exclusion-item-basis{margin:4px 0 0;font-size:.76rem;color:var(--muted)}.exclusion-level-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.exclusion-level-badge--high{background:#ef444426;color:#dc2626}.exclusion-level-badge--check{background:#f59e0b29;color:var(--warning)}.exclusion-level-badge--none{background:#34d39926;color:var(--success)}.exclusion-manual-checklist{margin-top:14px;padding:10px 12px;border-radius:8px;border:1px dashed var(--border)}.exclusion-manual-title{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:6px}.exclusion-manual-checklist ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.exclusion-manual-checklist li{font-size:.8rem;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-head h3{font-size:.95rem}.section-summary{font-size:.88rem;color:var(--muted)}.section-note{margin-top:6px;font-size:.8rem;color:var(--warning)}.sub-criteria-list{list-style:none;margin-top:12px}.sub-criteria-item{padding:10px 0;border-top:1px solid var(--border)}.sub-head{display:flex;justify-content:space-between;align-items:center}.sub-meta{font-size:.8rem;color:var(--muted);margin-top:4px}.sub-note{color:var(--warning)}.place-mini-list{list-style:none;margin-top:6px;font-size:.78rem;color:var(--muted)}.place-mini-list li{padding:2px 0}.place-item-btn{width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.place-item-btn:hover{border-color:var(--border);background:var(--bg)}.place-item-btn.focused{border-color:var(--accent);background:#4f9cf91f}.place-item-name{display:block;font-size:.82rem;font-weight:600}.place-item-detail{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}.criteria-help{margin-top:6px;font-size:.78rem;color:var(--muted);line-height:1.5}.sub-note-inline{margin-top:4px;font-size:.78rem;color:var(--warning)}.map-legend-home{border-top:none;padding-bottom:0}.map-legend+.map-legend-home{border-top:1px solid var(--border)}.ars-tag{color:var(--bus);font-weight:600;font-size:.78rem}.official-pass-tag{color:#0ea5e9;font-size:.75rem;font-weight:600;cursor:help}.brt-pass-tag{color:#8b5cf6;font-size:.75rem;font-weight:600;cursor:help}.result-tag-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.result-tag-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.result-tag-legend-text{cursor:help}.exit-status-tag{color:#d97706;font-size:.75rem;font-weight:600}.bus-pin{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));pointer-events:auto}.bus-pin__icon{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 3px;border-radius:4px;background:var(--bus-color);border:2px solid #fff;color:#fff;font-size:10px;font-weight:700;line-height:1;box-sizing:border-box}.bus-pin__tip{width:0;height:0;margin-top:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--bus-color)}.bus-pin--focus .bus-pin__icon{width:26px;height:26px;font-size:11px}.bus-pin--focus .bus-pin__tip{border-left-width:7px;border-right-width:7px;border-top-width:8px}.legend-bus-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:var(--bus);color:#fff;font-size:.65rem;font-weight:700;border-radius:2px}.map-info-window{padding:4px 2px;font-size:12px;line-height:1.5;min-width:160px;color:var(--text)}.map-info-window strong{display:block;margin-bottom:4px;font-size:13px}.map-info-window .info-pass{color:#059669;font-weight:600}.map-info-window .info-routes{margin-top:4px;color:#64748b;font-size:11px}.map-focus-hint{padding:8px 12px;border-top:1px solid var(--border);font-size:.78rem;color:var(--accent);text-align:center}.place-mini-list .more{color:var(--accent)}.place-list-more{display:block;width:100%;min-height:var(--touch-target);margin-top:6px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--accent);font-size:.78rem;cursor:pointer;transition:border-color .15s,background .15s}.place-list-more:hover{border-color:var(--accent);background:#4f9cf914}.lh-disclaimer{margin-top:16px;padding:10px;font-size:.75rem;color:var(--muted);background:var(--surface2);border-radius:8px;line-height:1.6}.lh-disclaimer--flush{margin-top:12px;margin-bottom:0}.map-legend{display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot--outline{background:transparent;border:2px solid;box-sizing:border-box}.data-page{display:flex;flex-direction:column;gap:16px;animation:data-page-in .35s ease-out}@keyframes data-page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.data-page-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;flex-wrap:wrap;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 55%),var(--surface)}.data-page-kicker{margin:0 0 4px;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.data-page-title{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.03em}.data-page-lead{margin:8px 0 0;max-width:52ch;color:var(--muted);font-size:.92rem;line-height:1.55}.data-page-stats{display:flex;gap:10px}.data-stat{min-width:88px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 55%,var(--surface2));text-align:center}.data-stat--accent{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.data-stat-value{display:block;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.data-stat-label{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:600}.data-banner{padding:10px 14px;border-radius:10px;font-size:.9rem;font-weight:600}.data-banner--ok{color:#6ee7b7;background:color-mix(in srgb,#059669 16%,var(--surface));border:1px solid color-mix(in srgb,#059669 35%,var(--border))}.data-banner--error{color:#fca5a5;background:color-mix(in srgb,#dc2626 14%,var(--surface));border:1px solid color-mix(in srgb,#dc2626 35%,var(--border))}.data-page-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.35fr);gap:16px;align-items:start}@media (max-width: 980px){.data-page-grid{grid-template-columns:1fr}}.data-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px 18px;min-width:0}.data-card--list{min-height:420px;display:flex;flex-direction:column}.data-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.data-card-head--stack{flex-direction:column}.data-card-title{margin:0;font-size:1.05rem;font-weight:750}.data-card-desc{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.data-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.data-steps li{position:relative;padding:5px 10px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:700}.data-steps li:before{counter-increment:none}.data-field-label{display:block;font-size:.82rem;font-weight:700;margin-bottom:6px}.data-field-hint{display:block;margin-top:6px;color:var(--muted);font-size:.75rem;font-weight:500}.data-card-actions,.data-search-bar,.data-pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.data-card-actions{margin-top:12px}.data-search-bar{width:100%}.data-search-bar input{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface2);color:var(--text)}.data-search-bar input:focus,.site-info-paste-form textarea:focus,.excel-drive-field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}.data-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);border:1px solid transparent;border-radius:10px;padding:10px 14px;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.data-btn:disabled{opacity:.55;cursor:not-allowed}.data-btn--primary{background:var(--accent);color:#fff}.data-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.data-btn--ghost{background:var(--surface2);color:var(--text);border-color:var(--border)}.data-btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.data-btn--danger{background:transparent;color:#f87171;border-color:color-mix(in srgb,#dc2626 40%,var(--border));padding:6px 10px;font-size:.78rem}.data-btn--danger:hover:not(:disabled){background:color-mix(in srgb,#dc2626 12%,transparent)}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--backdrop)}.confirm-dialog{width:min(420px,100%);padding:18px 18px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-modal)}.confirm-dialog-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.confirm-dialog-body{margin:8px 0 0;font-size:.88rem;line-height:1.5;color:var(--muted);word-break:keep-all}.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}.confirm-dialog-btn--danger{background:#dc2626;color:#fff}.confirm-dialog-btn--danger:hover:not(:disabled){background:#b91c1c}@media (max-width: 640px){.confirm-dialog-backdrop{align-items:flex-end;padding:16px 12px}.confirm-dialog-actions .data-btn{flex:1 1 0}}.data-hint-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.data-chip{padding:4px 8px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:.7rem;font-weight:600}.data-preview{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.data-empty,.data-empty-inline{color:var(--muted);font-size:.88rem}.data-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:48px 16px;border:1px dashed var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 40%,var(--surface));flex:1}.data-empty strong{color:var(--text);font-size:.98rem}.data-empty-inline{margin:12px 0 0;padding:14px;text-align:center;background:var(--surface2);border-radius:10px}.data-pagination{justify-content:center;margin-top:14px}.data-pagination span{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.data-secure-notes{margin:16px 0 0;padding:12px 14px;list-style:none;border-radius:10px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:.78rem;line-height:1.55}.data-secure-notes li+li{margin-top:2px}.data-secure-notes li:before{content:"• ";color:var(--accent);font-weight:700}.site-info-page .site-info-paste-form textarea{width:100%;min-height:130px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;background:var(--surface2);color:var(--text)}.site-info-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}.site-info-preview-head span{color:var(--muted);font-size:.85rem}.site-info-preview-errors{margin:0 0 10px;padding:8px 12px;list-style:none;background:color-mix(in srgb,#dc2626 8%,var(--surface2));border:1px solid color-mix(in srgb,#dc2626 25%,var(--border));border-radius:8px;color:#f87171;font-size:.8rem}.site-info-preview-errors li+li{margin-top:4px}.site-info-preview-table-wrap{max-height:240px}.data-table-wrap,.site-info-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}.data-card--list .data-table-wrap{flex:1;max-height:min(62vh,720px)}.site-info-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:1100px}.site-info-table th,.site-info-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.site-info-table th{background:var(--surface2);font-weight:600;position:sticky;top:0;z-index:1}.site-info-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.site-info-address-cell{font-weight:600;white-space:normal!important;min-width:120px}.site-info-profit-rate{color:#e03131;font-weight:800}@media (max-width: 640px){.data-table-wrap:has(.data-table--cards),.site-info-table-wrap:has(.data-table--cards),.site-info-preview-table-wrap:has(.data-table--cards),.mail-modal-table-wrap:has(.data-table--cards){overflow:visible;border:none;border-radius:0;background:transparent}.data-card--list .data-table-wrap:has(.data-table--cards){max-height:none}.site-info-preview-table-wrap:has(.data-table--cards){max-height:none}.data-table--cards{min-width:0;width:100%;border-collapse:separate;border-spacing:0}.data-table--cards thead{display:none}.data-table--cards tbody{display:flex;flex-direction:column;gap:10px}.data-table--cards tbody tr{display:flex;flex-wrap:wrap;gap:0 10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px #0f172a0a}.data-table--cards tbody tr:hover td{background:transparent}.data-table--cards tbody tr.onbid-row--pinned{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.data-table--cards tbody tr:has(>td[colspan]){display:block;padding:18px 14px;text-align:center;color:var(--muted);background:var(--surface2);border-style:dashed}.data-table--cards tbody tr td[colspan]{display:block;width:100%;padding:0;border:none;white-space:normal;text-align:center}.data-table--cards tbody tr td[colspan]:before{display:none}.data-table--cards tbody tr td{display:grid;grid-template-columns:minmax(84px,34%) 1fr;gap:4px 10px;align-items:start;width:100%;padding:5px 0;border:none;white-space:normal;text-align:left;font-size:.82rem}.data-table--cards tbody tr td:before{content:attr(data-label);font-size:.72rem;font-weight:700;color:var(--muted);line-height:1.35;word-break:keep-all}.data-table--cards tbody tr td:not([data-label]):before{display:none}.data-table--cards tbody tr td.data-table-cell--primary{flex:1 1 100%;display:block;order:-10;padding:0 0 10px;margin-bottom:6px;border-bottom:1px solid var(--border);font-size:.92rem;font-weight:700;line-height:1.45;word-break:keep-all}.data-table--cards tbody tr td.data-table-cell--primary:before{display:none}.data-table--cards tbody tr td.data-table-cell--inline{flex:0 0 auto;width:auto;order:-5;display:flex;align-items:center;gap:6px;padding:0 0 8px;grid-template-columns:none}.data-table--cards tbody tr td.data-table-cell--inline:before{display:block;flex-shrink:0;margin-right:2px}.data-table--cards.onbid-table tbody tr td.data-table-cell--inline{flex:1 1 calc(50% - 5px);min-width:0}.data-table--cards tbody tr td.data-table-cell--actions{flex:1 1 100%;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;margin-top:4px;border-top:1px solid var(--border);grid-template-columns:none}.data-table--cards tbody tr td.data-table-cell--actions:before{margin-right:auto}.data-table--cards .onbid-address-link,.data-table--cards .purchase-notices-title button{text-align:left;word-break:keep-all}.data-table--cards .data-empty{text-align:center}}.excel-drive-upload-form{display:flex;flex-direction:column;gap:14px}.excel-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:148px;padding:20px 16px;border:1.5px dashed var(--border);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent),var(--surface2);text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.excel-dropzone:hover,.excel-dropzone--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface2));transform:translateY(-1px)}.excel-dropzone--filled{border-style:solid}.excel-dropzone-title,.excel-dropzone-name{color:var(--text);font-size:.98rem}.excel-dropzone-meta{color:var(--muted);font-size:.8rem}.excel-dropzone-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.04em}.excel-drive-field{display:flex;flex-direction:column}.excel-drive-field input[type=text]{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface2);color:var(--text);font-weight:600}.excel-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;overflow:auto;max-height:min(62vh,720px)}.excel-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 35%,var(--surface2));transition:border-color .15s ease,background .15s ease}.excel-file-row:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}.excel-file-main{display:flex;align-items:center;gap:12px;min-width:0}.excel-file-ext{flex-shrink:0;min-width:48px;padding:6px 8px;border-radius:8px;text-align:center;background:var(--surface);border:1px solid var(--border);color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.03em}.excel-file-text{min-width:0;display:flex;flex-direction:column;gap:2px}.excel-file-name{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-file-meta{color:var(--muted);font-size:.76rem}.excel-drive-actions{display:flex;gap:6px;flex-shrink:0}@media (max-width: 1023px){.ui-hide-below-md,.app-nav-item--hide-md{display:none!important}}@media (max-width: 639px){.ui-hide-below-sm,.app-nav-item--hide-sm{display:none!important}.app-main-description{display:none}.map-panel-toggle:not(.map-panel-expand){display:none}.map-panel.is-collapsed .map-panel-body,.map-panel.is-collapsed .map-panel-body--hidden{display:block!important}.map-toolbar{top:8px;right:8px;left:8px;flex-wrap:wrap;justify-content:flex-end}.map-tool-btn{font-size:.72rem;padding:8px 10px}.onbid-meta{font-size:.8rem;line-height:1.45}.purchase-notices-filters .purchase-notices-sort{flex:1 1 100%}.prh-page-header-row{flex-wrap:wrap;align-items:flex-start}.prh-page-header-actions{width:100%;justify-content:flex-start}.prh-btn-notice-link.ui-hide-below-sm{display:none!important}}@media (max-width: 1023px){.app-sidebar-shell,.app-sidebar-shell--collapsed{flex-basis:0;width:0}.app-sidebar{position:fixed;left:0;top:0;width:min(280px,88vw);height:100dvh;transform:translate(-105%);transition:transform .24s ease,box-shadow .24s ease,opacity .24s ease,visibility .24s ease;box-shadow:none}.app-sidebar-shell--collapsed .app-sidebar{transform:translate(-105%);opacity:1;visibility:visible;pointer-events:auto}.app-sidebar--mobile-open{transform:translate(0);box-shadow:8px 0 24px #0f172a29}.app-sidebar-tab{display:none}.app-sidebar-mobile-close{display:inline-flex;align-items:center;justify-content:center}.app-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:none;padding:0;margin:0;background:var(--backdrop);cursor:pointer}.app-main-toolbar{display:flex;margin-bottom:12px}}@media (max-width: 640px){.app{padding:14px 12px 28px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(28px,calc(16px + env(safe-area-inset-bottom)))}.app-sidebar-brand{padding:16px 14px 14px}.app-sidebar-title{font-size:1.05rem}.app-main{padding:14px 16px 28px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(28px,calc(16px + env(safe-area-inset-bottom)))}.app-main-title{font-size:1.35rem}.app-main-description{font-size:.86rem;margin-top:8px}.app-main-header-top{flex-direction:column;align-items:stretch}.app-main-header-actions{align-self:flex-start;flex-wrap:wrap}.page-onboarding-backdrop{padding:16px 12px;align-items:flex-end}.page-onboarding-modal{max-height:min(88vh,720px)}.app-nav-item{padding:8px 10px;font-size:.82rem}.header h1{font-size:1.35rem}.panel{padding:14px}.search-bar{margin-bottom:14px}.address-row{align-items:stretch}.address-row-actions{flex-shrink:0}.address-row-btn{width:var(--touch-target);height:var(--touch-target)}.map-panel{min-height:300px}.map-panel-header{flex-wrap:wrap}.land-use-title-row{flex-wrap:wrap;align-items:flex-start}.eum-metrics-grid{grid-template-columns:minmax(0,1fr);gap:8px}.eum-metric-card{padding:10px 12px}.eum-metric-label{margin-bottom:4px;line-height:1.35;word-break:keep-all}.eum-metric-value,.eum-metric-sub,.eum-metric-row-address,.eum-metric-row-content{overflow-wrap:break-word;word-break:keep-all;line-height:1.45}.eum-metric-card--full .eum-metric-value{overflow-wrap:break-word;word-break:keep-all}.eum-metric-value{font-size:.92rem}.eum-household-controls{flex-direction:column;align-items:stretch}.eum-household-field{width:100%;justify-content:space-between}.eum-household-input-wrap input{width:88px;padding:8px 10px;font-size:16px}.eum-zone-share-name{min-width:0;flex:1 1 100%;word-break:keep-all}.feasibility-summary-inputs{grid-template-columns:minmax(0,1fr);gap:8px}.feasibility-summary-item{padding:10px 12px}.feasibility-summary-label{line-height:1.35;word-break:keep-all}.feasibility-summary-value,.feasibility-summary-desc,.land-use-excel-hint,.land-use-hint,.app-shell-description,.data-page-lead,.section-card,.place-mini-list,.lh-disclaimer{overflow-wrap:break-word;word-break:keep-all;line-height:1.45}.feasibility-summary-value{font-size:.9rem}.feasibility-summary-edit{width:100%}.feasibility-summary-edit input{font-size:16px;min-width:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card .value{font-size:1.25rem;line-height:1.2}.summary-card .label{word-break:keep-all}.tabs{gap:2px;margin-left:-4px;margin-right:-4px;padding:0 4px}.tab{padding:10px 12px;font-size:.82rem}.section-card{padding:12px}.section-card h3,.section-card p,.result-list li,.criteria-compact-item,.badge{word-break:keep-all}.data-page{gap:12px}.data-page-hero{align-items:flex-start;padding:14px;gap:14px}.data-page-title{font-size:1.25rem}.data-page-lead{font-size:.86rem}.data-page-stats{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.data-stat{min-width:0}.data-page-grid{gap:12px}.data-card{padding:14px}.data-card--list{min-height:0}.site-info-preview-head{flex-direction:column;align-items:flex-start;gap:4px}.excel-file-row{flex-direction:column;align-items:stretch}.excel-drive-actions{justify-content:stretch}.excel-drive-actions button{flex:1}.excel-dropzone{min-height:120px;padding:16px 12px}.login-hero{min-height:100dvh;padding:16px 8px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.login-card{padding:22px 16px 18px}.login-title{font-size:1.35rem}.search-form .address-row-input,.search-form select,.login-card input,.excel-drive-field input[type=text],.site-info-page .site-info-paste-form textarea,.feasibility-summary-field input{font-size:16px}.app-version{left:max(8px,env(safe-area-inset-left));bottom:max(6px,env(safe-area-inset-bottom))}}@media (max-width: 400px){.summary-grid{grid-template-columns:minmax(0,1fr)}.section-filter-main .criteria-compact-item{flex:1 1 100%}.data-page-stats{grid-template-columns:minmax(0,1fr)}}.purchase-notices-table .purchase-notices-title{max-width:28rem;text-align:left}.purchase-notices-table .purchase-notices-region{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-notices-filters label{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:.88rem;cursor:pointer}.purchase-notices-sort select{margin-left:4px;padding:2px 6px;font-size:.85rem}.purchase-notices-sort-btn{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0;white-space:nowrap}.purchase-notices-sort-btn:hover{color:var(--accent, #2563eb)}.onbid-page{display:flex;flex-direction:column;gap:12px;padding:0 0 24px}.onbid-toolbar{display:flex;flex-direction:column;gap:10px}.onbid-toolbar-row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between}.onbid-actions{display:flex;flex-wrap:wrap;gap:8px}.onbid-filters{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem}.onbid-filters label{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.onbid-meta,.onbid-message{margin:0;font-size:.88rem;color:var(--muted)}.onbid-message{color:var(--accent)}.onbid-address-link{border:0;background:transparent;color:var(--accent);text-align:left;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit;display:inline-block;max-width:320px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom}.onbid-address-cell{text-align:left;word-break:break-word}.onbid-pin-btn{border:0;background:transparent;cursor:pointer;font-size:1.1rem;color:var(--muted);line-height:1}.onbid-pin-btn.is-pinned{color:#d4a017}.onbid-analyze-btn,.onbid-retry-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);border:1px solid var(--border);background:var(--surface2);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:.8rem}.onbid-analyze-btn{border-color:var(--accent);color:var(--accent);background:transparent}.onbid-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.onbid-analyze-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.onbid-row--pinned td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.onbid-pyeong-cell{font-weight:600;text-align:right}.onbid-pyeong-icon{vertical-align:-1px;margin-right:3px}.onbid-pyeong--ok{color:#1a9a4a}.onbid-pyeong--ng{color:#d64545}.onbid-price-cell,.onbid-type-cell{font-size:.88rem;white-space:nowrap}.onbid-price-cell{text-align:right}.onbid-round-hint{color:var(--muted);font-weight:400;font-size:.8em}.login-boot{color:var(--muted);padding:48px 12px;text-align:center}.app--login{max-width:none;min-height:100dvh;margin:0;padding:0;display:flex;flex-direction:column}.landing-page{--bg: #eef1f6;--surface: #ffffff;--surface2: #e5eaf2;--border: #cfd6e2;--text: #0b2a5b;--muted: #5f6b7c;--accent: #123a78;--accent-hover: #0b2a5b;--accent-soft: rgba(18, 58, 120, .08);--accent-soft-hover: rgba(18, 58, 120, .14);--success: #059669;--warning: #c2410c;--brand-amber: #f2a900;--on-accent: #ffffff;--bg-gradient-start: #f6f8fb;--bg-gradient-mid: #e9eef7;--bg-gradient-end: #eef1f6;color-scheme:light;background:var(--bg);color:var(--text);flex:1;display:flex;flex-direction:column;min-width:0}.landing-gnb{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.landing-gnb-inner{max-width:1400px;margin:0 auto;padding:12px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;gap:24px}.landing-gnb-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;flex-shrink:0}.landing-gnb-nav{display:flex;gap:20px;flex:1}.landing-gnb-nav a{color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:600;transition:color .15s ease}.landing-gnb-nav a:hover{color:var(--text)}.landing-gnb-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.landing-gnb-login-btn{border:0;border-radius:8px;padding:8px 16px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.landing-gnb-login-btn:hover{background:var(--accent-hover)}.landing-gnb-login-btn:active{transform:scale(.97)}@media (max-width: 640px){.landing-gnb-nav{display:none}}.login-hero{position:relative;min-height:min(78dvh,640px);display:flex;align-items:center;justify-content:center;padding:40px 20px 48px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(56px,calc(24px + env(safe-area-inset-bottom)));background:radial-gradient(1200px 520px at 12% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),radial-gradient(900px 480px at 88% 110%,color-mix(in srgb,var(--success) 10%,transparent),transparent 55%),linear-gradient(165deg,var(--bg-gradient-start),var(--bg-gradient-mid) 48%,var(--bg-gradient-end))}.landing-reveal{opacity:0}.landing-reveal--visible{animation:data-page-in .35s ease-out both}.landing-trust{border-bottom:1px solid var(--border);background:var(--surface2)}.landing-trust-inner{max-width:1400px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.landing-trust-badge{font-size:.8rem;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px}.landing-trust-note{font-size:.8rem;color:var(--muted);margin-left:auto}.landing-section{max-width:1400px;margin:0 auto;padding:64px 20px;width:100%}.landing-section-title{margin:0 0 6px;font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:800;letter-spacing:-.03em;color:var(--text);text-align:center}.landing-section-sub{margin:0 0 32px;color:var(--muted);text-align:center;font-size:.95rem;word-break:keep-all;overflow-wrap:anywhere}.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.landing-feature-card{padding:22px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.landing-feature-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 8px 24px color-mix(in srgb,var(--text) 8%,transparent);transform:translateY(-2px)}.landing-feature-card h3{margin:0 0 6px;font-size:1.02rem;font-weight:750;color:var(--text)}.landing-feature-card p{margin:0;font-size:.85rem;line-height:1.55;color:var(--muted)}.landing-feature-card--listing{display:flex;flex-direction:column;gap:12px}.landing-feature-card-image{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.landing-feature-card--listing h3{margin:0}.landing-criteria-table-wrap{overflow-x:auto}.landing-criteria-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.landing-criteria-table th{text-align:left;padding:10px 14px;background:var(--surface2);color:var(--muted);font-weight:700;font-size:.78rem;border-bottom:1px solid var(--border)}.landing-criteria-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;word-break:keep-all}.landing-criteria-table tr:last-child td{border-bottom:0}.landing-criteria-row-title{font-weight:700}.landing-criteria-row-value{font-weight:700;color:var(--accent)}.landing-criteria-row--muted td,.landing-criteria-row--muted .landing-criteria-row-value{color:var(--muted)}.landing-criteria-note{margin:16px 0 0;font-size:.82rem;color:var(--muted);text-align:center;word-break:keep-all}.landing-criteria-mobile-list{display:none}@media (max-width: 640px){.landing-criteria-table-wrap{display:none}.landing-criteria-mobile-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:4px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.landing-criteria-mobile-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.landing-criteria-mobile-list li:last-child{border-bottom:0}.landing-criteria-mobile-head{font-weight:700;color:var(--muted);font-size:.76rem}.landing-criteria-mobile-detail{display:block;font-size:.76rem;color:var(--muted);font-weight:400;word-break:keep-all}.landing-criteria-mobile-value{font-weight:700;color:var(--accent);white-space:nowrap;flex-shrink:0}.landing-criteria-mobile-row--muted .landing-criteria-mobile-value{color:var(--muted)}}.landing-faq-section{background:var(--surface2)}.landing-faq-list{display:flex;flex-direction:column;gap:10px;max-width:960px;margin:0 auto}.landing-faq{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px 20px}.landing-faq-q{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:750;font-size:.98rem;color:var(--text);cursor:pointer;list-style:none;word-break:keep-all}.landing-faq-q svg{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.landing-faq[open] .landing-faq-q svg{transform:rotate(180deg)}.landing-faq-a{margin:10px 0 0;font-size:.86rem;line-height:1.55;color:var(--muted);word-break:keep-all}.landing-cta-search-bar{display:flex;width:100%;max-width:560px;margin:0 auto;border:0;border-radius:8px;overflow:hidden;cursor:pointer;font-family:inherit}.landing-cta-search-placeholder{flex:1;min-width:0;padding:12px 14px;background:#fff;color:#8b9cb3;font-size:.9rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-cta-search-submit{flex-shrink:0;padding:12px 24px;background:var(--text);color:#fff;font-weight:800;font-size:.92rem;white-space:nowrap}.landing-cta-contact{margin-top:20px;padding:18px 22px;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);border-radius:12px;width:100%;max-width:560px;margin-left:auto;margin-right:auto;text-align:left;color:#fff;display:flex;flex-direction:column;gap:8px}.landing-cta-contact-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.landing-cta-contact-title{font-weight:800;font-size:.98rem}.landing-cta-contact-btn{border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:700;color:#fff;white-space:nowrap}.landing-cta-contact-desc{font-size:.82rem;line-height:1.6;color:#ffffffe6;word-break:keep-all}.landing-steps{background:var(--surface2)}.landing-steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:40px}.landing-step{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px 36px;align-items:start}.landing-step-image{min-width:0}.landing-step-body{display:flex;gap:12px;align-items:flex-start}.landing-step-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:800;flex-shrink:0}.landing-step h3{margin:0 0 6px;font-size:1rem;font-weight:750;color:var(--text)}.landing-step p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5;word-break:keep-all}.landing-cta{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#7c3aed));padding:56px 20px}.landing-cta-inner{max-width:640px;margin:0 auto;text-align:center}.landing-cta-inner h2{margin:0 0 8px;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:800;color:#fff}.landing-cta-inner p{margin:0 0 20px;color:color-mix(in srgb,#fff 85%,transparent);font-size:.92rem}.landing-cta-btn{border:0;border-radius:8px;padding:12px 24px;background:#fff;color:var(--accent);font-weight:800;font-size:.92rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.landing-cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0000002e}.landing-cta-btn:active{transform:translateY(0) scale(.97)}.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,480px);gap:36px 56px;align-items:center}.login-intro{display:flex;flex-direction:column;gap:14px;min-width:0}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-mark{width:40px;height:40px;border-radius:10px;flex-shrink:0}.login-brand-name{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.login-value{margin:4px 0 0;font-size:clamp(1.55rem,2.6vw,2.15rem);font-weight:800;letter-spacing:-.04em;line-height:1.25;color:var(--text)}.login-support{margin:0;max-width:34rem;color:var(--muted);font-size:.98rem;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}.login-preview{margin-top:0;width:100%;max-width:none;justify-self:end;padding:20px 20px 18px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 18px 44px color-mix(in srgb,var(--text) 8%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-preview-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.login-preview-kicker{font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:none}.login-preview-address{font-size:.92rem;font-weight:650;color:var(--text)}.login-preview-form{display:flex;gap:8px;margin-bottom:12px}.login-preview-form input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:var(--surface2);color:var(--text);font-size:.88rem}.login-preview-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}.login-preview-form button{flex-shrink:0;border:0;border-radius:8px;padding:0 14px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.85rem;cursor:pointer}.login-preview-form button:disabled{opacity:.6;cursor:not-allowed}.login-preview-error{margin:0 0 12px;color:#f87171;font-size:.85rem}.login-preview-map{width:100%;height:200px;border-radius:10px;border:1px solid var(--border);overflow:hidden;margin-bottom:12px;background:var(--surface2)}.login-preview-map-error{margin:0 0 12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--muted);font-size:.85rem}.login-preview-cta{width:100%;border:0;border-radius:8px;padding:11px 14px;margin-bottom:10px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.9rem;cursor:pointer}.login-preview-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.login-preview-check{display:flex;align-items:flex-start;gap:10px}.login-preview-check-mark{flex-shrink:0;width:1.35rem;height:1.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:var(--on-accent);background:var(--success);margin-top:1px}.login-preview-check--locked .login-preview-check-mark{background:var(--surface2);border:1px solid var(--border);font-size:.7rem}.login-preview-check-text{display:flex;flex-direction:column;gap:1px;min-width:0}.login-preview-check-label{font-size:.9rem;font-weight:700;color:var(--text)}.login-preview-check-detail{font-size:.8rem;color:var(--muted)}.login-preview-note{margin:12px 0 0;font-size:.75rem;line-height:1.45;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}.login-card{width:100%;max-width:400px;justify-self:end;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 36px color-mix(in srgb,var(--text) 8%,transparent)}.login-card-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.login-help{margin:0 0 12px;color:var(--muted);font-size:.9rem}.login-card label{font-size:.82rem;font-weight:600;margin-top:6px}.login-card input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface2);color:var(--text)}.login-card input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}.login-error{margin:8px 0 0;color:#f87171;font-size:.88rem}.login-session-notice{margin:0 0 12px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;color:var(--text);font-size:.84rem}.login-card button[type=submit]{margin-top:14px;min-height:var(--touch-target);border:0;border-radius:8px;padding:11px 14px;background:var(--accent);color:var(--on-accent);font-weight:700;cursor:pointer}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-kicker{margin:2px 0 0;font-size:.86rem;font-weight:700;letter-spacing:-.01em;color:var(--accent)}@media (max-width: 860px){.login-shell{grid-template-columns:1fr;gap:28px;max-width:440px}.login-card{justify-self:stretch;max-width:none}.login-preview{max-width:none}.login-value br{display:none}}.login-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:20px}.login-modal-card{width:min(400px,100%);max-width:400px;justify-self:auto;max-height:min(88vh,640px);overflow-y:auto}.login-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-card-head .login-card-title{margin:0}.login-modal-close{flex-shrink:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.login-modal-close:hover{background:#0000000a}.landing-sample-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing-sample-stat-card{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.landing-sample-stat-type{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:6px}.landing-sample-stat-type--accent{color:var(--accent)}.landing-sample-stat-body{font-size:.84rem;color:var(--muted);line-height:1.7}.landing-sample-stat-body strong{color:var(--text);font-weight:700}.landing-sample-stat-body strong.landing-sample-stat-profit{color:var(--success)}.landing-sample-note{margin:0 2px;font-size:.84rem;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}.landing-feasibility{background:var(--surface2)}.landing-feasibility-hero{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:18px}.landing-feasibility-hero-top{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.landing-feasibility-hero-label{font-size:.82rem;color:var(--muted);margin-bottom:6px}.landing-feasibility-hero-rate{font-size:2.6rem;font-weight:800;line-height:1;color:var(--success)}.landing-feasibility-hero-rate span{font-size:1.1rem;font-weight:700;margin-left:2px}.landing-feasibility-hero-formula{font-size:.85rem;color:var(--muted);padding-bottom:6px}.landing-feasibility-bars{display:flex;flex-direction:column;gap:10px}.landing-feasibility-bar-label{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:5px;word-break:keep-all}.landing-feasibility-bar-track{height:38px;border-radius:8px;overflow:hidden;display:flex;align-items:center}.landing-feasibility-bar-fill{height:100%;display:flex;align-items:center;padding:0 14px;color:var(--on-accent);font-weight:800;font-size:.9rem;white-space:nowrap}.landing-feasibility-bar-fill--revenue{width:100%;background:var(--accent)}.landing-feasibility-bar-seg{display:flex;gap:2px;border-radius:8px;overflow:hidden}.landing-feasibility-seg{height:38px;display:flex;align-items:center;padding:0 12px;color:#fff;font-weight:700;font-size:.82rem;white-space:nowrap;overflow:hidden;min-width:0}.landing-feasibility-seg--land{background:#475569}.landing-feasibility-seg--construction{background:#7c8da3}.landing-feasibility-seg--other{background:#aab8c8;padding:0 6px;font-size:.72rem}.landing-feasibility-seg--profit{background:var(--success)}.landing-feasibility-hero-note{margin:0;font-size:.74rem;color:var(--muted);word-break:keep-all}.landing-cost-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}.landing-cost-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.landing-cost-card-head{font-size:.9rem;font-weight:700;color:var(--text)}.landing-cost-card-desc{margin:0;font-size:.79rem;color:var(--muted);line-height:1.5;word-break:keep-all}@media (max-width: 640px){.landing-cost-grid{grid-template-columns:1fr}.landing-feasibility-hero{padding:18px}}.login-value-points{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}.login-value-points li{display:flex;align-items:baseline;gap:10px;font-size:.92rem;color:var(--muted);word-break:keep-all}.login-value-points li:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:999px;background:var(--accent);transform:translateY(-1px)}.login-value-points strong{color:var(--text);font-weight:750;white-space:nowrap}.landing-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-value-card{display:flex;flex-direction:column;gap:6px;padding:24px 22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.landing-value-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 10px 28px color-mix(in srgb,var(--text) 8%,transparent);transform:translateY(-2px)}.landing-value-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.landing-value-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--surface2));color:var(--accent)}.landing-value-num{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:color-mix(in srgb,var(--muted) 70%,transparent)}.landing-value-card h3{margin:0;font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.landing-value-lead{margin:0;font-size:.95rem;font-weight:700;color:var(--accent)}.landing-value-desc{margin:4px 0 0;font-size:.88rem;line-height:1.6;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}.landing-value-more{margin-top:auto;padding-top:12px;font-size:.82rem;font-weight:700;color:var(--accent)}.landing-kicker{margin:0 0 10px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.82rem;font-weight:800;letter-spacing:.04em;color:var(--accent)}.landing-kicker-num{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.78rem;letter-spacing:.06em}.landing-subtitle{margin:44px 0 14px;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--text);text-align:center}.landing-point-list{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-point{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.landing-point h3{margin:0 0 6px;font-size:.98rem;font-weight:750;color:var(--text)}.landing-point p{margin:0;font-size:.85rem;line-height:1.55;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}.landing-figure{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}.landing-figure--wide{max-width:1160px;margin:0 auto 24px;width:100%}.landing-figure figcaption{font-size:.84rem;color:var(--muted);line-height:1.6;text-align:center;word-break:keep-all;overflow-wrap:anywhere}.landing-figure figcaption strong{color:var(--text)}.landing-shot{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:0 16px 40px color-mix(in srgb,var(--text) 8%,transparent)}.landing-step-image.landing-shot{box-shadow:none}.landing-feasibility .landing-sample-stat-grid{max-width:1160px;margin:0 auto}.landing-feasibility .landing-sample-note{max-width:1160px;margin:12px auto 0;text-align:center}.landing-feasibility .landing-feasibility-hero{max-width:1160px;margin:28px auto 0}.landing-feasibility .landing-cost-grid{max-width:1160px;margin-left:auto;margin-right:auto}.landing-cost-card-head strong{color:var(--accent);font-weight:800}.landing-sample-note--spaced{margin-top:24px}.landing-feasibility .landing-cta-btn--primary{display:block;margin:18px auto 0;background:var(--accent);color:var(--on-accent)}.landing-screens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}@media (max-width: 1023px){.landing-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.login-preview{justify-self:stretch}.landing-value-grid,.landing-point-list,.landing-screens-grid{grid-template-columns:1fr}.landing-step{grid-template-columns:1fr;gap:14px}}.prh-page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.prh-page-header-row .app-main-title{margin:0}.prh-page-header-row .prh-btn-notice-link{flex-shrink:0}.prh-toolbar-row{flex-direction:column;align-items:stretch;gap:10px}.prh-filter-bar{display:flex;flex:1;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface2) 92%,#fff 8%) 0%,var(--surface2) 100%);min-width:0}.prh-toolbar-divider{width:1px;align-self:stretch;min-height:24px;background:var(--border);flex-shrink:0}.prh-filter-group{display:flex;flex-direction:column;gap:8px}.prh-filter-group--inline{flex-direction:row;align-items:center;gap:8px;flex-shrink:0;padding-top:0;min-height:var(--touch-target)}.prh-filter-group--district{flex:0 0 auto;min-width:0}.prh-search-row{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface2) 92%,#fff 8%) 0%,var(--surface2) 100%)}.prh-search-row .prh-search-form{width:100%}.prh-handoff{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.prh-handoff-btn{white-space:nowrap}.prh-handoff-preview{min-width:0;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prh-search-form{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto auto auto;gap:4px 6px;align-items:center}.prh-search-form--inline{flex:1 1 420px;min-width:300px}.prh-search-label,.prh-search-input-primary,.prh-search-add,.prh-search-submit,.prh-search-clear,.prh-search-handoff{height:32px;min-height:32px;box-sizing:border-box}.prh-search-handoff{grid-column:6;grid-row:1;font-size:.78rem;padding:0 10px;white-space:nowrap}.prh-search-label{grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:4px}.prh-search-input-primary{grid-column:2;grid-row:1}.prh-search-add{grid-column:3;grid-row:1}.prh-search-submit{grid-column:4;grid-row:1}.prh-search-clear{grid-column:5;grid-row:1}.prh-search-extra-input{grid-column:2}.prh-search-extra-remove{grid-column:3}.prh-search-grid-spacer{display:block;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.prh-search-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.1em;font-size:.72rem;letter-spacing:0;text-transform:none;color:#60a5fa;line-height:1}.prh-search-form .prh-map-search-input{height:32px;padding:0 10px;font-size:.84rem;border-radius:8px}.prh-search-form .prh-map-search-btn,.prh-search-form .prh-map-search-clear{height:32px;display:inline-flex;align-items:center;padding:0 10px;font-size:.78rem;border-radius:8px}.prh-search-form .prh-search-add{width:var(--touch-target);height:var(--touch-target)}.prh-inline-icon-btn{flex-shrink:0}.prh-map-search-input{flex:1;min-width:120px;min-height:var(--touch-target);padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600}.prh-map-search-input:disabled{opacity:.55;cursor:not-allowed}.prh-map-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.prh-map-search-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);border:0;border-radius:10px;padding:10px 14px;background:#3b82f6;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s ease,opacity .15s ease;white-space:nowrap}.prh-map-search-btn:hover:not(:disabled){background:#2563eb}.prh-map-search-btn:disabled{opacity:.45;cursor:not-allowed}.prh-map-search-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease;white-space:nowrap}.prh-map-search-clear:hover:not(:disabled){border-color:#3b82f6;color:#60a5fa}.prh-filter-label{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.prh-filter-label--inline{margin:0;white-space:nowrap;text-transform:none;letter-spacing:0;flex-shrink:0}.prh-segment{display:inline-flex;padding:4px;border-radius:11px;background:var(--surface);border:1px solid var(--border);gap:4px}.prh-segment-btn{display:inline-flex;align-items:center;gap:7px;min-height:calc(var(--touch-target) - 8px);border:0;background:transparent;color:var(--muted);padding:8px 14px;border-radius:8px;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.prh-segment-btn:hover:not(.is-active){color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.prh-segment-btn.is-active{background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}.prh-segment-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.4;background:color-mix(in srgb,currentColor 18%,transparent)}.prh-segment-btn.is-active .prh-segment-count{background:#ffffff38}.prh-select-wrap{position:relative;width:auto}.prh-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:auto;min-width:140px;max-width:200px;padding:8px 32px 8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.prh-select:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.prh-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.prh-select option{background:var(--surface);color:var(--text)}.prh-select-chevron{position:absolute;top:50%;right:14px;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:.85rem;line-height:1}.prh-action-buttons{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;flex-shrink:0;margin-left:auto}.prh-action-buttons--inline{padding-left:8px;border-left:1px solid var(--border);padding-top:0;height:40px}.prh-btn-search,.prh-btn-import{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:8px 14px;justify-content:center;box-shadow:0 1px 2px #0f141914;white-space:nowrap;font-size:.84rem}.prh-btn-icon{font-size:.95rem;line-height:1}.data-btn--import{background:linear-gradient(135deg,#059669,#047857);color:#fff;border-color:transparent}.data-btn--import:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#059669)}.data-btn--import:disabled{background:color-mix(in srgb,#059669 45%,var(--surface2))}.prh-upload-modal{width:min(480px,100%)}.prh-upload-form{display:flex;flex-direction:column;gap:18px}.prh-upload-field{display:flex;flex-direction:column;gap:8px}.prh-upload-label{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.prh-upload-segment{align-self:flex-start}.prh-upload-file{width:100%;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:10px;background:var(--surface2);color:var(--text);font-size:.88rem;cursor:pointer}.prh-upload-file::file-selector-button{margin-right:12px;border:0;border-radius:8px;padding:8px 12px;background:var(--accent);color:#fff;font-weight:700;font-size:.82rem;cursor:pointer}.prh-upload-hint{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}.prh-upload-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.prh-layout{--prh-map-height: clamp(360px, calc(100vh - 380px) , 720px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:16px;align-items:stretch;padding:16px}.prh-map-container{min-height:0;height:var(--prh-map-height)}.prh-map-notice{position:absolute;top:54px;left:50%;transform:translate(-50%);z-index:4;max-width:calc(100% - 24px);margin:0;padding:6px 12px;border-radius:999px;background:var(--surface);color:var(--text);font-size:.82rem;box-shadow:var(--map-tool-shadow);pointer-events:none;text-align:center}.prh-map-container .map-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:var(--surface2)}.maplibregl-popup-content{background:var(--surface);color:var(--text);border-radius:8px;box-shadow:var(--map-tool-shadow);padding:10px 12px}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)}.maplibregl-popup-close-button{color:var(--muted)}.prh-list-panel{display:flex;flex-direction:column;min-height:0;height:var(--prh-map-height);border:1px solid var(--border);border-radius:8px;background:var(--surface2);overflow:hidden}.prh-list-header{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:12px 14px 8px}.prh-list-title{display:flex;align-items:baseline;gap:8px;font-size:.92rem;font-weight:700;margin:0;min-width:0}.prh-list-count{font-size:.78rem;font-weight:700;color:var(--muted)}.prh-list-toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border:0;background:none;padding:2px 0;font-size:.76rem;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.prh-list-toggle:disabled{opacity:.5;cursor:not-allowed}.prh-list-toggle:hover:not(:disabled){color:var(--text)}.prh-list-toggle-box{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--border);background:var(--surface);flex-shrink:0;transition:background .15s ease,border-color .15s ease}.prh-list-toggle.is-active{color:var(--text)}.prh-list-toggle.is-active .prh-list-toggle-box{background:var(--accent);border-color:var(--accent)}.prh-list-empty{color:var(--muted);font-size:.88rem;padding:8px 14px 16px}.prh-list-scroll{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.prh-list-scroll:before,.prh-list-scroll:after{content:"";position:absolute;left:0;right:10px;height:18px;z-index:2;pointer-events:none}.prh-list-scroll:before{top:0;background:linear-gradient(to bottom,var(--surface2),transparent)}.prh-list-scroll:after{bottom:0;background:linear-gradient(to top,var(--surface2),transparent)}.prh-list{list-style:none;overflow:auto;flex:1;min-height:0;padding:6px 8px 14px;margin:0;scrollbar-width:thin;scrollbar-color:rgba(79,156,249,.45) transparent}.prh-list::-webkit-scrollbar{width:8px}.prh-list::-webkit-scrollbar-track{margin:6px 0;background:transparent}.prh-list::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#4f9cf98c,#4f9cf947);border:2px solid transparent;background-clip:padding-box}.prh-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4f9cf9cc,#4f9cf973);background-clip:padding-box;border:2px solid transparent}.prh-list-sentinel{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:4px 4px 2px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(79,156,249,.28);background:#4f9cf90f;transition:border-color .2s ease,background .2s ease}.prh-list-sentinel.is-loading{border-style:solid;border-color:#4f9cf966;background:#4f9cf91a}.prh-list-sentinel.is-done{border-style:none;background:transparent;gap:10px}.prh-list-loading-more{font-size:.76rem;font-weight:600;letter-spacing:.01em;color:var(--muted)}.prh-list-sentinel.is-loading .prh-list-loading-more{color:var(--accent)}.prh-list-scroll-hint{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.72rem;color:var(--accent);background:#4f9cf924;animation:prh-scroll-bob 1.4s ease-in-out infinite}.prh-list-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(79,156,249,.25);border-top-color:var(--accent);animation:prh-spin .7s linear infinite}.prh-list-done-line{flex:1;max-width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}@keyframes prh-spin{to{transform:rotate(360deg)}}@keyframes prh-scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion: reduce){.prh-list-scroll-hint,.prh-list-spinner{animation:none}.landing-reveal{opacity:1}.landing-reveal--visible{animation:none}.landing-gnb-login-btn,.landing-feature-card,.landing-cta-btn{transition:none}.landing-gnb-login-btn:active,.landing-feature-card:hover,.landing-cta-btn:hover,.landing-cta-btn:active{transform:none}}.prh-list-item-wrap{display:flex;align-items:stretch;gap:6px;border-radius:8px}.prh-list-item-wrap.is-selected{background:#4f9cf929}.prh-list-item-wrap.is-search-hit{box-shadow:inset 3px 0 #3b82f6}.prh-list-item-wrap .prh-list-item{flex:1;min-width:0}.prh-list-item-wrap .prh-list-item.is-selected{background:transparent}.prh-list-go-btn{flex:0 0 auto;align-self:center;min-height:var(--touch-target);padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap}.prh-list-go-btn:hover{border-color:var(--accent);color:var(--accent)}.prh-list-analyze-btn{flex:0 0 auto;align-self:center;margin-right:4px;min-height:var(--touch-target);padding:8px 12px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.prh-list-analyze-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.prh-btn-notice-link{white-space:nowrap}.prh-list-item{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;text-align:left;border:0;background:transparent;color:var(--text);border-radius:8px;padding:8px;cursor:pointer;font-size:.84rem;line-height:1.4}.prh-list-item:hover{background:#4f9cf91a}.prh-list-item.is-selected{background:#4f9cf929}.prh-list-item.is-search-hit{box-shadow:inset 3px 0 #3b82f6}.prh-list-item-main{display:flex;align-items:center;gap:6px;min-width:0}.prh-list-address{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prh-list-item.is-selected .prh-list-address{color:var(--accent);font-weight:700}.prh-list-item.is-unmappable .prh-list-address{color:var(--muted)}.prh-list-sub{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prh-list-badge{flex:0 0 auto;font-size:.72rem;font-weight:700}.prh-list-badge--search{color:#60a5fa}.prh-list-badge--unmappable{padding:1px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface2);color:var(--muted);font-weight:700}@media (max-width: 900px){.prh-layout{grid-template-columns:1fr}.prh-map-container,.prh-list-panel{min-height:360px;height:50vh;max-height:50vh}}@media (max-width: 640px){.prh-map-container,.prh-list-panel{height:calc(100vh - 300px);min-height:360px;max-height:none}}.prh-mobile-tabs{display:flex;gap:2px;padding:3px;margin:0 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.prh-mobile-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch-target);border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.88rem;font-weight:700;cursor:pointer}.prh-mobile-tab.is-active{background:var(--accent);color:#fff}.prh-error-box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prh-btn-retry{flex-shrink:0;padding:6px 12px;border-radius:8px;border:1px solid rgba(220,38,38,.4);background:transparent;color:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.prh-btn-retry:hover{border-color:currentColor}.prh-map-chip{position:absolute;top:10px;left:10px;z-index:10;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--map-tool-bg);box-shadow:var(--map-tool-shadow);color:var(--text);font-size:.78rem;font-weight:700;white-space:nowrap}.prh-map-chip.is-capped{color:var(--warning, #c2410c)}.prh-map-legend{position:absolute;bottom:10px;left:10px;z-index:10;display:flex;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;border-radius:8px;background:var(--map-tool-bg);box-shadow:var(--map-tool-shadow);font-size:.72rem;font-weight:600;color:var(--muted)}.prh-map-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.prh-map-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1.5px solid #fff}.prh-map-legend-dot--district{background:#ef4444;box-shadow:0 0 0 1px #ef4444}.prh-map-legend-dot--search{background:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.prh-map-legend-dot--selected{background:#dc2626;box-shadow:0 0 0 3px #dc262659;border:none}.prh-map-popup-sub{margin-top:4px;font-size:.76rem;color:var(--muted)}.prh-map-popup-actions{display:flex;gap:6px;margin-top:8px}.prh-map-popup-btn{flex:0 0 auto;min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap}.prh-map-popup-btn:hover{border-color:var(--accent);color:var(--accent)}.prh-map-popup-btn--primary{border-color:var(--accent);background:var(--accent);color:#fff}.prh-map-popup-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.site-footer{flex-shrink:0;margin-top:auto;border-top:1px solid var(--border);background:var(--surface2)}.site-footer-inner{max-width:1400px;margin:0 auto;padding:18px 28px 22px;padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right));padding-bottom:max(22px,calc(14px + env(safe-area-inset-bottom)))}.site-footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}.site-footer-brand{min-width:0}.site-footer-brand-name{display:block;font-size:.82rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.site-footer-brand-desc{margin:4px 0 0;font-size:.68rem;line-height:1.4;color:var(--muted)}.site-footer-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 0;font-size:.68rem;line-height:1.5;color:var(--muted)}.site-footer-detail-btn{display:inline-flex;align-items:center;flex-shrink:0;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--accent);font-size:.64rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease}.site-footer-detail-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}.site-footer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);font-size:.64rem;color:var(--muted)}.site-footer-copy{font-weight:600}.site-footer-bottom-sep{opacity:.45}.site-footer-portal-link{color:var(--muted);text-decoration:none;transition:color .15s ease}.site-footer-link-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}.site-footer-portal-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.public-data-notice{margin:0;padding:8px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:color-mix(in srgb,var(--surface2) 88%,var(--surface));font-size:.66rem;line-height:1.5;color:var(--muted)}.public-data-notice--map{margin-top:8px}.public-data-notice--toolbar{margin-top:10px}.public-data-notice-link{display:inline;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.public-data-notice-link:hover{color:var(--accent-hover)}.public-data-modal-backdrop{align-items:center;overflow:hidden;overscroll-behavior:contain;padding:24px 16px}.public-data-modal{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(84vh,900px);overflow:hidden;padding:0}.public-data-modal-head{flex-shrink:0;align-items:flex-start;gap:12px;margin:0;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.public-data-modal-head-text{min-width:0}.public-data-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 20px 18px;-webkit-overflow-scrolling:touch}.public-data-modal-lead{margin:6px 0 0;font-size:.72rem;line-height:1.5;color:var(--muted);font-weight:400}.public-data-modal-close{flex-shrink:0;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer}.public-data-modal-close:hover{border-color:var(--accent);color:var(--accent)}.public-data-modal-section-title{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.public-data-modal-section-title+.public-data-modal-list{margin-bottom:14px}.public-data-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.public-data-modal-item{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2)}.public-data-modal-item-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin-bottom:4px}.public-data-modal-item-top strong{font-size:.76rem;font-weight:700;line-height:1.35;color:var(--text)}.public-data-modal-item-license{font-size:.64rem;font-weight:600;color:var(--accent)}.public-data-modal-item-meta,.public-data-modal-item-credit{margin:0;font-size:.68rem;line-height:1.45;color:var(--muted)}.public-data-modal-item-credit a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.public-data-modal-note{margin:12px 0 0;font-size:.66rem;line-height:1.5;color:var(--muted)}@media (max-width: 767px){.site-footer-inner{padding:14px 16px 18px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(18px,calc(12px + env(safe-area-inset-bottom)))}.public-data-modal-backdrop{padding:16px 12px;align-items:center}.public-data-modal{max-height:min(88vh,900px)}.public-data-modal-head{padding:16px 16px 12px}.public-data-modal-body{padding:12px 16px 16px}}.terms-modal-backdrop{z-index:1200;align-items:center}.terms-modal{display:flex;flex-direction:column;width:min(640px,100%);max-height:min(88vh,860px);padding:0;overflow:hidden}.terms-modal-head{flex-shrink:0;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.terms-modal-head-text{min-width:0;flex:1}.terms-modal-lead{margin:6px 0 0;font-size:.82rem;line-height:1.45;color:var(--muted)}.terms-modal-close{flex-shrink:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.terms-modal-close:hover{background:#0000000a}.terms-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 20px;-webkit-overflow-scrolling:touch}.terms-modal-section{margin:0 0 16px}.terms-modal-section:last-child{margin-bottom:4px}.terms-modal-section h3{margin:0 0 6px;font-size:.92rem;font-weight:700}.terms-modal-section p{margin:0;font-size:.84rem;line-height:1.55;color:var(--text);white-space:pre-wrap}.terms-modal-foot{flex-shrink:0;padding:12px 20px 18px;border-top:1px solid var(--border);background:var(--surface)}.terms-modal-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:.88rem;line-height:1.45;cursor:pointer}.terms-modal-check input{margin-top:3px;flex-shrink:0}.terms-modal-error{margin:0 0 10px;color:#b91c1c;font-size:.85rem}.terms-modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.terms-modal-actions--end{justify-content:flex-end}@media (max-width: 767px){.terms-modal{max-height:min(92vh,900px)}.terms-modal-head,.terms-modal-body,.terms-modal-foot{padding-left:16px;padding-right:16px}.terms-modal-actions{flex-direction:column-reverse}.terms-modal-actions .data-btn{width:100%}}.hist-toolbar-help{margin:0;flex:1}.hist-check-col{width:3rem;text-align:center}.hist-more-addr{color:var(--muted);font-size:.82rem}.hist-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.78rem;font-weight:700;background:var(--surface2);color:var(--muted)}.hist-badge--ok{background:#10b98126;color:#059669}.hist-badge--no{background:#ef44441f;color:#dc2626}.hist-row-actions{display:flex;flex-wrap:wrap;gap:6px}.analyze-history-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.analyze-history-compare{margin-bottom:16px}.analyze-history-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.analyze-history-compare-head h3{margin:0;font-size:1.05rem}.analyze-history-compare-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.analyze-history-compare-meta strong{display:block;margin-bottom:4px}.analyze-history-compare-meta p{margin:0 0 6px;font-size:.9rem;line-height:1.4}@media (min-width: 641px){.analyze-history-table{table-layout:fixed;width:100%;min-width:780px}.analyze-history-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere}.analyze-history-table th:nth-child(1),.analyze-history-table td:nth-child(1){width:44px}.analyze-history-table th:nth-child(2),.analyze-history-table td:nth-child(2){width:148px;white-space:nowrap}.analyze-history-table th:nth-child(4),.analyze-history-table td:nth-child(4){width:300px;white-space:normal}.analyze-history-table th:nth-child(5),.analyze-history-table td:nth-child(5){width:214px}.analyze-history-table .hist-row-actions{flex-wrap:nowrap}.analyze-history-table .hist-row-actions .data-btn{padding-left:8px;padding-right:8px;white-space:nowrap}.hist-compare-feas-table{table-layout:fixed;width:100%;min-width:760px}.hist-compare-feas-table th:nth-child(1),.hist-compare-feas-table td:nth-child(1){width:22%}}.hist-rate{display:inline-flex;align-items:baseline;gap:4px;font-weight:700}.hist-rate.grade-excellent{color:var(--success)}.hist-rate.grade-good{color:var(--accent)}.hist-rate.grade-caution{color:var(--warning)}.hist-rate.grade-risk{color:#b42318}.hist-rate-type{font-size:.68rem;font-weight:500;color:var(--muted)}.hist-compare-group td{background:var(--surface-muted, rgba(127, 127, 127, .08));font-weight:700}.hist-compare-group-note{margin-left:8px;font-size:.72rem;font-weight:400;color:var(--muted)}.hist-compare-empty{color:var(--muted);font-size:.8rem;line-height:1.5}.hist-compare-source-warning{margin:-4px 0 16px;padding:8px 12px;border-radius:8px;background:#d977061f;color:#d97706;font-size:.82rem;font-weight:600;line-height:1.5}.hist-addr-primary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hist-pinned-tag{flex-shrink:0;padding:1px 6px;border-radius:4px;font-size:.68rem;font-weight:800;color:var(--muted);background:var(--surface2)}.hist-addr-sub{margin-top:2px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.76rem;color:var(--muted)}.hist-source-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:.66rem;font-weight:800}.hist-source-chip--input{background:#05966924;color:var(--success)}.hist-source-chip--estimate{background:#d9770624;color:#d97706}.hist-exclusion-line{margin-bottom:6px;padding:4px 8px;border-radius:6px;font-size:.76rem;font-weight:600}.hist-exclusion-line--high{background:#ef44441f;color:#dc2626}.hist-exclusion-line--check{background:#f59e0b24;color:var(--warning)}.hist-exclusion-line--legacy{background:transparent;color:var(--muted);font-weight:500;padding:0}.hist-type-stack{display:flex;flex-direction:column;gap:6px}.hist-type-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.82rem;line-height:1.4}.hist-type-tag{flex-shrink:0;width:28px;font-size:.72rem;font-weight:800}.hist-type-tag--newlywed{color:var(--accent)}.hist-type-tag--youth{color:#7c3aed}.hist-type-hh{flex-shrink:0;min-width:46px;color:var(--muted)}.hist-type-grade{flex-shrink:0;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:4px}.hist-type-grade.grade-excellent{background:#05966924;color:var(--success)}.hist-type-grade.grade-good{background:var(--accent-soft);color:var(--accent)}.hist-type-grade.grade-caution{background:#c2410c24;color:var(--warning)}.hist-type-grade.grade-risk{background:#b423181f;color:#b42318}.hist-badge--unknown{background:var(--surface2);color:var(--muted)}.hist-type-empty{color:var(--muted);font-size:.78rem}.hist-type-legacy{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.data-btn.is-pinned{border-color:var(--accent);color:var(--accent);font-weight:700}.hist-from-banner{margin:0 0 10px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--muted);font-size:.85rem}@media (max-width: 767px){.analyze-history-compare-meta{grid-template-columns:1fr}}.won-amount-field{display:flex;align-items:center;width:100%;gap:6px;min-width:0}.won-amount-preview{flex:1 1 50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--muted);text-align:right}.won-amount-preview--empty{text-align:center}input.won-amount-input{flex:1 1 50%;width:auto;min-width:0}.data-banner--success{color:#34d399;background:color-mix(in srgb,var(--success) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border))}.admin-summary-line{margin:0;font-size:.85rem;color:var(--muted)}.admin-toolbar{display:flex;gap:8px;flex-wrap:wrap}.admin-search-input{flex:1 1 240px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface2);color:var(--text)}.admin-toolbar select{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg);color:var(--text)}.admin-user-cell{display:flex;flex-direction:column;gap:2px}.admin-user-cell-memo{font-size:.76rem;color:var(--muted);font-weight:500}.admin-plan-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:.7rem;font-weight:700;margin-right:4px;white-space:nowrap}.admin-plan-tag--free{border:1px solid var(--border);color:var(--muted);background:transparent}.admin-plan-tag--lite{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--accent);background:transparent}.admin-plan-tag--premium{background:var(--text);color:var(--surface)}.admin-plan-tag--admin{border:1px dashed var(--muted);color:var(--muted);background:transparent}.admin-status-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.admin-status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.admin-status-badge--ok{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.admin-status-badge--warn{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.admin-status-badge--neutral{color:var(--muted);background:var(--surface2)}.admin-usage{display:inline-flex;align-items:center;gap:8px}.admin-usage-bar{width:48px;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden;flex-shrink:0}.admin-usage-bar-fill{height:100%;background:var(--muted)}.admin-usage-bar-fill--warn{background:var(--warning)}.admin-usage-text{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.admin-credit-chip{display:block;margin-top:2px;font-size:.72rem;font-weight:700;color:var(--accent)}.admin-user-modal{width:min(640px,100%);max-height:88vh;overflow-y:auto}.admin-user-modal-body{display:flex;flex-direction:column;gap:18px}.admin-modal-section{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.admin-modal-section:first-child{padding-top:0;border-top:none}.admin-modal-section h3{margin:0;font-size:.92rem}.admin-section-desc{margin:0;font-size:.8rem;color:var(--muted)}.admin-user-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-user-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted)}.admin-segment{display:flex;flex-wrap:wrap;gap:6px}.admin-segment--compact{align-items:center}.admin-segment-btn{border:1px solid var(--border);border-radius:8px;padding:7px 11px;font-size:.8rem;font-weight:600;background:var(--surface2);color:var(--text);cursor:pointer}.admin-segment-btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.admin-plan-fields{display:flex;flex-direction:column;gap:8px}.admin-month-input{width:72px;border:1px solid var(--border);border-radius:8px;padding:7px 8px;background:var(--bg);color:var(--text)}.admin-plan-fields input[type=date]{border:1px solid var(--border);border-radius:8px;padding:7px 8px;background:var(--bg);color:var(--text)}.admin-plan-endnow-note{margin:0;font-size:.82rem;color:var(--danger)}.admin-reason-label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.admin-reason-label input{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface2);color:var(--text)}.admin-diff-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:.82rem}.admin-diff-row{display:grid;grid-template-columns:96px 1fr 1fr;gap:8px;padding:7px 10px}.admin-diff-row:not(:last-child){border-bottom:1px solid var(--border)}.admin-diff-row--head{background:var(--surface2);font-size:.72rem;font-weight:700;color:var(--muted)}.admin-diff-row--changed{background:color-mix(in srgb,var(--warning) 10%,transparent);font-weight:700}.admin-diff-label{color:var(--muted);font-size:.76rem;font-weight:600}.admin-effect-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.admin-account-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-temp-password{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--success) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));font-size:.85rem}.admin-action-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.admin-action-log-list li{display:grid;grid-template-columns:100px 84px 72px 1fr;gap:8px;font-size:.76rem;padding:4px 0;border-bottom:1px solid var(--border)}.admin-action-log-time{color:var(--muted);font-variant-numeric:tabular-nums}.admin-action-log-type{font-weight:700}.admin-action-log-admin{color:var(--muted)}.admin-action-log-summary{color:var(--text)}@media (max-width: 640px){.admin-diff-row,.admin-action-log-list li{grid-template-columns:1fr;gap:2px}}.billing-page{display:flex;flex-direction:column;gap:20px;max-width:1080px}.billing-page--loading{padding:40px 0;color:var(--muted);text-align:center}.plan-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:.75rem;font-weight:700;white-space:nowrap}.plan-badge--free{border:1px solid var(--border);color:var(--muted);background:transparent}.plan-badge--lite{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--accent);background:transparent}.plan-badge--premium{background:var(--text);color:var(--surface)}.billing-current-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.billing-current-usage{font-size:.85rem;color:var(--text);font-weight:600}.billing-current-note{font-size:.8rem;color:var(--muted);margin-left:auto}.billing-body{display:flex;align-items:flex-start;gap:20px}.billing-cards-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.billing-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.billing-plan-card{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:16px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.billing-plan-card:disabled{cursor:default}.billing-plan-card:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.billing-plan-card--selected{border-color:var(--accent);background:var(--accent-soft)}.billing-plan-card--current{background:var(--surface2)}.billing-plan-card-check{position:absolute;top:10px;right:12px;color:var(--accent);font-weight:700}.billing-plan-card-head{display:flex;flex-direction:column;gap:2px}.billing-plan-card-name{font-size:1rem;font-weight:700;color:var(--text)}.billing-plan-card-price{font-size:.88rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.billing-price-tbd{font-size:.68rem;font-weight:600;color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 50%,var(--border));border-radius:4px;padding:0 5px}.billing-plan-card-tagline{font-size:.78rem;color:var(--muted);margin:0}.billing-plan-card-badge{margin-top:auto;padding-top:6px;font-size:.74rem;font-weight:700;color:var(--accent)}.billing-plan-card-badge--muted{color:var(--muted)}.billing-feature-table{width:100%;border-collapse:collapse;font-size:.82rem}.billing-feature-table th,.billing-feature-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:center}.billing-feature-table th[scope=row]{text-align:left;color:var(--muted);font-weight:500}.billing-feature-table thead th{color:var(--text);font-weight:700}.billing-feature-value--yes{color:var(--success);font-weight:700}.billing-feature-value--no{color:var(--muted)}.billing-addon-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--surface)}.billing-addon-head{display:flex;justify-content:space-between;align-items:center;font-weight:700}.billing-addon-price{color:var(--muted);font-weight:500;font-size:.85rem}.billing-addon-body{display:flex;align-items:center;gap:12px;margin-top:10px}.billing-addon-stepper{display:flex;align-items:center;gap:8px}.billing-stepper-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.billing-stepper-value{min-width:20px;text-align:center;font-weight:700}.billing-addon-disabled-note{margin:10px 0 0;font-size:.8rem;color:var(--muted)}.billing-summary{position:sticky;top:16px;width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.billing-summary-title{margin:0;font-size:.95rem}.billing-summary-note{color:var(--muted);font-size:.85rem;margin:0}.billing-summary-list{display:flex;flex-direction:column;gap:8px;margin:0}.billing-summary-list>div{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.billing-summary-list dt{color:var(--muted)}.billing-summary-list dd{margin:0;color:var(--text);text-align:right}.billing-summary-total{padding-top:8px;border-top:1px solid var(--border);font-weight:700}.billing-summary-total dt,.billing-summary-total dd{color:var(--text);font-size:.95rem}.billing-summary-hint{margin:0;font-size:.74rem;line-height:1.5;color:var(--muted)}.billing-agree-row{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--text);cursor:pointer}.billing-agree-row input{margin-top:2px}.billing-policy-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.billing-summary-cta{width:100%;justify-content:center}@media (max-width: 1023px){.billing-plan-cards{grid-template-columns:1fr}.billing-feature-table th,.billing-feature-table td{padding:6px;font-size:.76rem}.billing-body{flex-direction:column}.billing-summary{position:sticky;bottom:0;top:auto;width:100%;z-index:5;box-shadow:0 -4px 16px #0f172a1f}.billing-current-note{margin-left:0;flex-basis:100%}}.eum-basis-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-top:4px;font-size:.66rem;line-height:1.45;color:var(--muted)}.eum-basis-badge{flex:0 0 auto;padding:1px 6px;border-radius:999px;border:1px solid transparent;font-size:.62rem;font-weight:600;white-space:nowrap}.eum-basis-badge.is-verified{background:#16a34a1a;border-color:#16a34a52;color:#15803d}.eum-basis-badge.is-condition{background:#d977061a;border-color:#d9770652;color:#b45309}.eum-basis-badge.is-unverified{background:#dc26261a;border-color:#dc262652;color:#b91c1c}.eum-basis-badge.is-estimate{background:#64748b1f;border-color:#64748b52;color:#475569}.eum-basis-label a{color:inherit;text-decoration:underline;text-underline-offset:2px}.eum-basis-detail{flex:1 1 100%;color:var(--muted);opacity:.85}.eum-basis-note--relax{margin-top:6px;padding:6px 8px;border:1px dashed rgba(100,116,139,.35);border-radius:6px;background:#64748b0a}
