:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;--bg-canvas: #f4f6f8;--bg-app: #ffffff;--bg-surface: #ffffff;--bg-surface-strong: #edf2f7;--bg-surface-soft: #f7fafc;--bg-nav: #ffffff;--bg-nav-active: rgba(79, 209, 197, .12);--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-accent: rgba(79, 209, 197, .1);--border-subtle: rgba(148, 163, 184, .28);--border-strong: rgba(15, 118, 110, .28);--text-primary: #16202a;--text-secondary: #5f6b76;--text-muted: #80909d;--accent: #0f766e;--accent-strong: #0b5f59;--accent-warm: #9a6a1d;--danger: #c95b5b;--success: #2f855a;--shadow-lg: 0 10px 28px rgba(15, 23, 42, .08);--shadow-xl: 0 16px 40px rgba(15, 23, 42, .12);background:var(--bg-canvas);color:var(--text-primary)}*{box-sizing:border-box}html,body,#root{min-height:100%}ion-app{background:var(--bg-canvas);color:var(--text-primary)}body{margin:0;min-width:320px;background:var(--bg-canvas);color:var(--text-primary)}body,button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--text-primary)}strong,h1,h2,h3{font-family:inherit}.app-shell{min-height:100vh}.app-shell-desktop{display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--bg-canvas)}.app-shell-desktop.has-detail{grid-template-columns:280px minmax(0,1fr) 420px}.app-shell-mobile{background:var(--bg-canvas)}.shell-mobile-toolbar-wrap{position:fixed;top:0;left:0;right:0;z-index:48;padding-top:max(0px,env(safe-area-inset-top));background:var(--bg-nav);border-bottom:1px solid var(--border-subtle)}.shell-mobile-toolbar,.shell-mobile-tab-toolbar{overflow:hidden;margin:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;--background: var(--bg-nav);--border-color: transparent;--border-style: solid;--border-width: 0;--color: var(--text-primary);--min-height: 4rem;--padding-start: 1rem;--padding-end: 1rem;--padding-top: 0;--padding-bottom: 0}.shell-mobile-toolbar::part(background),.shell-mobile-tab-toolbar::part(background){-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-nav)}.shell-mobile-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.35rem}.shell-content-mobile{padding-top:calc(4.8rem + env(safe-area-inset-top));padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.shell-mobile-tab-wrap{position:fixed;left:0;right:0;bottom:0;z-index:48;padding-bottom:max(0px,env(safe-area-inset-bottom));background:var(--bg-nav);border-top:1px solid var(--border-subtle)}.shell-mobile-tab-toolbar{margin:0;--min-height: 4.1rem;--padding-start: .25rem;--padding-end: .25rem}.shell-sidebar{position:sticky;top:0;height:100vh;padding:2rem 1.25rem;border-right:1px solid var(--border-subtle);background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}.shell-main-column{min-width:0}.shell-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,2.6vw,2rem);border-bottom:1px solid var(--border-subtle);background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}.shell-content{padding:clamp(1rem,2.8vw,2rem)}.shell-detail-panel{position:sticky;top:0;height:100vh;border-left:1px solid var(--border-subtle);background:var(--bg-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.detail-panel-frame{height:100%;overflow:auto}.brand-lockup{display:flex;align-items:baseline;gap:.7rem;min-width:0}.brand-lockup.expanded{flex-direction:column;align-items:flex-start;gap:.15rem;margin-bottom:2rem}.brand-kicker{margin:0;color:var(--accent);font-size:.88rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.brand-phrase{color:var(--text-secondary);font-size:.82rem;font-weight:700;line-height:1.4}.header-utilities{display:flex;align-items:center;gap:.75rem;margin-left:auto}.header-utilities.mobile{gap:.4rem}.language-toggle{display:flex;gap:.35rem}.language-toggle.mobile{gap:.15rem;padding:.15rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface-soft)}.utility-chip,.auth-button,.auth-badge,.secondary-button,.primary-button,.favorite-button,.detail-close-button,.segmented-tab,.table-sort-button,.map-action-button{border:1px solid var(--border-subtle);background:var(--bg-surface-soft);color:var(--text-primary);transition:border-color .14s ease,background .14s ease,transform .14s ease,color .14s ease}.utility-chip{min-width:2.1rem;height:2rem;padding:0 .7rem;border-radius:999px;font-size:.76rem;font-weight:800}ion-button.utility-chip.ionic,ion-button.auth-button.ionic,ion-button.auth-badge.ionic,ion-button.bottom-tab-item-ionic{margin:0;text-transform:none}ion-button.utility-chip.ionic{min-width:2.25rem;min-height:2.1rem;--background: transparent;--border-radius: 999px;--box-shadow: none;--color: var(--text-secondary);--padding-start: .55rem;--padding-end: .55rem}ion-button.utility-chip.ionic.active{--background: rgba(79, 209, 197, .14);--color: var(--accent)}.utility-chip.active,.segmented-tab.active,.sidebar-nav-item.active,.bottom-tab-item.active{border-color:var(--border-strong);background:var(--bg-nav-active);color:var(--accent)}.auth-button{height:2rem;padding:0 .85rem;border-radius:999px;font-size:.82rem;font-weight:700}.auth-badge{width:2rem;height:2rem;border-radius:50%;font-size:.76rem;font-weight:900}ion-button.auth-button.ionic{min-height:2.15rem;--background: rgba(79, 209, 197, .1);--border-radius: 999px;--box-shadow: none;--color: var(--text-primary);--padding-start: .7rem;--padding-end: .7rem;font-size:.78rem;font-weight:700}ion-button.auth-button.ionic ion-icon{margin-right:.3rem;font-size:1rem}ion-button.auth-badge.ionic{width:2.15rem;height:2.15rem;--background: rgba(79, 209, 197, .12);--border-radius: 999px;--box-shadow: none;--color: var(--text-primary);--padding-start: 0;--padding-end: 0;font-size:.78rem;font-weight:900}.sidebar-nav{display:grid;gap:.6rem}.sidebar-nav-item{display:flex;align-items:center;width:100%;padding:.9rem 1rem;border:1px solid transparent;border-radius:1rem;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:700;text-align:left}.sidebar-nav-item:hover,.utility-chip:hover,.auth-button:hover,.auth-badge:hover,.secondary-button:hover,.primary-button:hover,.favorite-button:hover,.detail-close-button:hover,.segmented-tab:hover,.table-sort-button:hover,.map-action-button:hover,.bottom-tab-item:hover{border-color:var(--border-strong);background:var(--bg-nav-active)}.bottom-tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--border-subtle);background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-tab-bar-ionic{position:static;gap:0;padding:0;border-top:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-tab-item{min-height:3.15rem;border-radius:1rem;font-size:.82rem;font-weight:800}ion-button.bottom-tab-item-ionic{min-height:3.8rem;--background: transparent;--border-radius: 0;--box-shadow: none;--color: var(--text-secondary);--padding-start: .35rem;--padding-end: .35rem}ion-button.bottom-tab-item-ionic.active{--color: var(--accent)}.bottom-tab-item-inner{display:grid;justify-items:center;gap:.2rem;width:100%}.bottom-tab-item-inner ion-icon{font-size:1.25rem}.bottom-tab-item-inner span:last-child{font-size:.76rem;font-weight:800}.page-surface{display:grid;gap:1.25rem}.page-header{display:grid;gap:.55rem}.page-header h1{margin:0;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em}.page-header p{max-width:62rem;margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.6}.toolbar-card,.state-surface,.map-view-shell,.list-view-shell,.data-band,.ranking-table-wrap,.ranking-card,.collection-row,.empty-state-card,.school-detail-surface,.school-brief{border:1px solid var(--border-subtle);border-radius:1.5rem;background:var(--bg-card);box-shadow:var(--shadow-lg)}.state-surface,.empty-state-card{display:grid;place-items:center;min-height:16rem;padding:2rem;text-align:center}.state-surface h2,.empty-state-card h2,.empty-state-card h3{margin:0 0 .65rem}.state-surface p,.empty-state-card p{margin:0;color:var(--text-secondary);line-height:1.6}.search-toolbar{display:grid;gap:1rem}.address-search-shell{position:relative}.address-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.4rem;padding:.55rem;border:1px solid var(--border-subtle);border-radius:1.25rem;background:var(--bg-card);box-shadow:var(--shadow-lg)}.address-icon{width:1rem;height:1rem;margin-left:.45rem;color:var(--text-muted)}.address-input{height:2.75rem;border:none;background:transparent;color:var(--text-primary);font-size:1rem;font-weight:600;outline:none}.address-input::placeholder{color:var(--text-muted)}.clear-button,.submit-button{border:none;border-radius:1rem;background:transparent;color:var(--text-secondary)}.clear-button{width:2rem;height:2rem;font-size:1.1rem}.submit-button{height:2.4rem;padding:0 .9rem;background:#4fd1c51f;color:var(--accent);font-weight:800}.address-suggestions{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:12;display:grid;overflow:hidden;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-card);box-shadow:var(--shadow-xl)}.address-suggestion{padding:.9rem 1rem;border:none;border-bottom:1px solid rgba(142,164,184,.08);background:transparent;color:var(--text-primary);text-align:left}.address-suggestion:last-child{border-bottom:none}.address-suggestion:hover{background:var(--bg-nav-active)}.segmented-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));width:fit-content;gap:.4rem;padding:.35rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface-soft)}.segmented-tab{min-width:6rem;height:2.35rem;border-radius:999px;font-size:.88rem;font-weight:800}.search-view-segment{width:fit-content;max-width:100%;padding:.2rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface-soft);--background: transparent}.search-view-segment ion-segment-button{min-width:5.75rem;text-transform:none}.search-view-segment ion-label{font-size:.88rem;font-weight:800}.search-stage{position:relative;display:grid;gap:1rem}.map-view-shell{position:relative;min-height:34rem;overflow:hidden}.school-map-shell,.school-map-canvas{width:100%;height:100%;min-height:34rem}.school-map-shell{position:relative}.map-load-error{position:absolute;inset:1rem;display:grid;place-items:center;padding:1rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-card);color:var(--text-secondary);text-align:center}.map-prompt{position:absolute;inset:0;display:grid;place-items:center;padding:1.5rem;pointer-events:none}.map-prompt p{max-width:18rem;margin:0;padding:.9rem 1rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-card);color:var(--text-secondary);text-align:center}.map-action-button{position:absolute;top:1rem;left:1rem;min-height:2.5rem;padding:0 .9rem;border-radius:999px;font-size:.82rem;font-weight:800}.map-action-button.locating{color:var(--accent-warm)}.location-status-chip{position:absolute;left:1rem;bottom:5rem;display:flex;align-items:center;gap:.55rem;max-width:min(24rem,calc(100% - 2rem));padding:.7rem .9rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;font-weight:700}.location-status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--accent-warm)}.location-status-chip.found .location-status-dot,.location-status-chip.manual .location-status-dot{background:var(--accent)}.map-legend{position:absolute;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.85rem;max-width:min(24rem,calc(100% - 2rem));padding:.75rem .9rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-card);color:var(--text-secondary);font-size:.75rem;font-weight:700}.legend-point,.legend-line{display:inline-block;margin-right:.35rem}.legend-point{width:.65rem;height:.65rem;border-radius:50%}.legend-address{background:var(--accent-warm)}.legend-primary{background:#53a8ff}.legend-secondary{background:#ff8b8b}.legend-combined{background:#d0adff}.legend-line{width:1rem;height:.18rem;background:var(--accent)}.list-view-shell,.data-band,.ranking-table-wrap{padding:1.2rem}.list-heading-row,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.list-heading-row h2,.section-heading h3,.data-band h2{margin:.2rem 0 0}.eyebrow{margin:0;color:var(--accent);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nearby-school-list,.collection-list,.ranking-card-list{display:grid;gap:.85rem;margin-top:1rem}.school-list-row,.collection-row,.ranking-card{display:flex;align-items:start;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.1rem;border:1px solid var(--border-subtle);border-radius:1.15rem;background:var(--bg-surface-soft);color:var(--text-primary);text-align:left}.school-list-row:hover,.collection-row:hover,.ranking-card:hover{border-color:var(--border-strong);background:var(--bg-nav-active)}.school-list-row-title,.school-detail-badges,.collection-row-meta,.school-brief-meta,.ranking-card-meta,.school-list-row-meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem}.school-list-row-title{align-items:center;margin-bottom:.45rem}.school-list-row strong,.collection-row h3,.ranking-card h3,.school-brief h3{margin:0;font-size:1.02rem}.school-list-row-meta,.collection-row p,.collection-row-meta,.ranking-card p,.ranking-card-meta,.school-list-row-aside,.source-list,.data-band p,.school-brief p,.school-brief-meta,.detail-footnote,.school-detail-header p,.metric-card span,.chart-empty,.trend-chart-summary{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.school-list-row-aside,.collection-row-aside{display:grid;gap:.3rem;justify-items:end}.school-brief{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem}.school-brief.floating{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:14;background:var(--bg-card);-webkit-backdrop-filter:none;backdrop-filter:none}.school-brief-art,.school-detail-art{display:grid;place-items:center;width:4.25rem;height:4.25rem;border:2px solid var(--border-strong);border-radius:1.25rem;background:var(--bg-nav-active);color:var(--accent-strong);font-size:1.15rem;font-weight:900}.school-detail-art{width:5rem;height:5rem;border-radius:1.4rem}.school-brief-copy,.school-detail-headline{min-width:0}.school-brief-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem}.school-brief-actions,.empty-state-actions,.detail-header-actions{display:flex;align-items:center;gap:.75rem}.favorite-button,.primary-button,.secondary-button,.detail-close-button{min-height:2.5rem;padding:0 1rem;border-radius:999px;font-size:.85rem;font-weight:800}.primary-button{border-color:#4fd1c573;background:#4fd1c524;color:var(--accent)}.secondary-button,.detail-close-button{background:transparent}.favorite-button.active{border-color:#d2a75d73;background:#d2a75d24;color:var(--accent-warm)}.data-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);gap:1.25rem}.source-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.source-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(142,164,184,.08)}.source-list li:last-child{border-bottom:none;padding-bottom:0}.source-list a{text-decoration:none}.ranking-table{width:100%;border-collapse:collapse}.ranking-table th,.ranking-table td{padding:.95rem .75rem;border-bottom:1px solid rgba(142,164,184,.08);text-align:left}.ranking-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-surface-strong)}.table-sort-button{display:flex;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:800}.table-sort-button.active{color:var(--accent)}.ranking-table-row{cursor:pointer}.ranking-table-row:hover{background:#4fd1c50d}.ranking-school-cell{display:grid;gap:.22rem}.ranking-card{flex-direction:column;align-items:stretch}.ranking-compact-list{overflow:hidden;margin:0;padding:.25rem 0;border:1px solid var(--border-subtle);border-radius:1.35rem;background:var(--bg-card);box-shadow:var(--shadow-lg)}.ranking-compact-item{--background: transparent;--color: var(--text-primary);--min-height: 4.7rem;--padding-start: 1rem;--padding-end: 1rem;--inner-padding-end: 0;--border-color: rgba(142, 164, 184, .08)}.ranking-compact-item::part(native){background:transparent}.ranking-compact-item h3{margin:0 0 .2rem;font-size:.98rem}.ranking-compact-item p{margin:0 0 .35rem;color:var(--text-secondary);font-size:.84rem;line-height:1.45}.ranking-compact-meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;color:var(--text-secondary);font-size:.78rem}ion-badge.ranking-badge-ionic{align-self:flex-start;min-height:1.8rem;margin-inline-end:.75rem;border:1px solid rgba(210,167,93,.28);border-radius:999px;--background: rgba(210, 167, 93, .12);--color: var(--accent-warm)}ion-note.ranking-year-note{align-self:flex-start;padding-top:.15rem;color:var(--text-secondary);font-size:.78rem;font-weight:700}.ranking-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary)}.ranking-badge,.type-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;padding:.2rem .65rem;border:1px solid rgba(210,167,93,.28);border-radius:999px;background:#d2a75d1f;color:var(--accent-warm);font-size:.74rem;font-weight:800}.type-badge.muted{border-color:var(--border-subtle);background:#8ea4b814;color:var(--text-secondary)}.school-detail-surface{display:grid;gap:1.2rem;padding:1.25rem;min-height:100%}.school-detail-surface.mobile{min-height:calc(100vh - 5rem);border-radius:1.5rem}.school-detail-header{display:grid;gap:1rem}.detail-close-button{justify-self:start}.school-detail-headline{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center}.school-detail-headline h2{margin:.15rem 0 .35rem;font-size:clamp(1.6rem,3.5vw,2.4rem)}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.metric-card{display:grid;gap:.35rem;padding:1rem;border:1px solid rgba(142,164,184,.1);border-radius:1rem;background:var(--bg-surface-soft)}.metric-card strong{font-size:1.15rem}.detail-section{display:grid;gap:.9rem}.trend-chart-wrap{display:grid;gap:.85rem}.trend-chart{width:100%;height:auto}.trend-year-label{fill:#8fa0ae;font-size:12px;font-family:IBM Plex Sans,sans-serif}.trend-chart-summary{display:flex;flex-wrap:wrap;gap:.75rem}.chart-empty{padding:1.1rem;border:1px dashed rgba(142,164,184,.2);border-radius:1rem;background:var(--bg-surface-soft)}.data-table-wrap{overflow:auto;border:1px solid rgba(142,164,184,.08);border-radius:1rem}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.85rem .9rem;border-bottom:1px solid rgba(142,164,184,.08);text-align:left;white-space:nowrap}.data-table thead th{color:var(--text-secondary);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.data-table tbody tr:last-child td{border-bottom:none}.detail-footnote{margin:0}.compact{min-height:auto;padding:1rem;text-align:left}.collection-empty-state{min-height:18rem}@media(max-width:920px){.shell-header{padding:1rem 1rem .9rem}.shell-content:not(.shell-content-mobile){padding:1rem 1rem calc(6rem + env(safe-area-inset-bottom))}.page-header h1{font-size:clamp(1.65rem,8vw,2.4rem)}.data-band,.school-brief,.school-detail-headline,.metrics-grid{grid-template-columns:1fr}.school-brief.floating{left:.75rem;right:.75rem;bottom:.75rem}.map-legend{left:1rem;right:1rem;justify-content:flex-start}.location-status-chip{bottom:6.2rem}}@media(max-width:640px){.header-utilities{gap:.5rem}.shell-mobile-toolbar,.shell-mobile-tab-toolbar{margin-left:0;margin-right:0}.shell-content-mobile{padding-left:.85rem;padding-right:.85rem}.brand-lockup{flex-direction:column;align-items:flex-start;gap:.1rem}.brand-phrase{font-size:.76rem}.school-list-row,.collection-row{flex-direction:column}.school-list-row-aside,.collection-row-aside{justify-items:start}.address-search{grid-template-columns:auto minmax(0,1fr) auto}.submit-button{display:none}.map-view-shell,.school-map-canvas{min-height:28rem}.map-action-button{top:.75rem;left:.75rem}.ranking-table-wrap{padding:.85rem}}
