:root{--background-color: #f4f6fb;--surface-color: #ffffff;--surface-alt-color: #f0f3ff;--text-primary: #1f2937;--text-secondary: #4b5563;--accent-color: #2563eb;--accent-color-strong: #1d4ed8;--success-color: #16a34a;--error-color: #dc2626;--chip-bg: rgba(37, 99, 235, .12);--border-color: rgba(148, 163, 184, .4);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 10px 25px rgba(15, 23, 42, .1);--shadow-lg: 0 15px 30px rgba(15, 23, 42, .12)}.theme-dark{--background-color: #0f1729;--surface-color: #111827;--surface-alt-color: #1f2937;--text-primary: #f8fafc;--text-secondary: #cbd5f5;--accent-color: #60a5fa;--accent-color-strong: #3b82f6;--success-color: #34d399;--error-color: #f87171;--chip-bg: rgba(96, 165, 250, .15);--border-color: rgba(148, 163, 184, .25);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .6);--shadow-md: 0 10px 25px rgba(15, 23, 42, .45);--shadow-lg: 0 15px 30px rgba(15, 23, 42, .5)}html,body{margin:0;padding:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--background-color);color:var(--text-primary);min-height:100%}a{color:inherit}button{font:inherit}.container{width:min(1200px,100%);margin:0 auto;padding-inline:1.5rem}.flex{display:flex;align-items:center;gap:1rem}.text-muted{color:var(--text-secondary)}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.shadow-sm{box-shadow:var(--shadow-sm)}app-station-list .filters-fab{position:fixed;right:1.25rem;bottom:1.25rem;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.15rem;border-radius:999px;border:none;background:var(--accent-color);color:var(--surface-color);font-weight:600;box-shadow:0 1rem 2.25rem -1.5rem #0f172af2;cursor:pointer;z-index:9;transition:transform .2s ease,box-shadow .2s ease}app-station-list .filters-fab:hover,app-station-list .filters-fab:focus-visible{transform:translateY(-2px);box-shadow:0 1.5rem 3rem -1.25rem #0f172ab3;outline:none}app-station-list .filters-fab mat-icon{font-size:1.25rem}@media (min-width: 1024px){app-station-list .filters-fab{display:none}}app-station-list .filters-pane-container{position:fixed;inset:0;pointer-events:none;z-index:1200}app-station-list .filters-pane-container--open{pointer-events:auto}app-station-list .filters-pane__backdrop{position:absolute;inset:0;background:#0f172a8c;opacity:0;transition:opacity .3s ease}app-station-list .filters-pane-container--open .filters-pane__backdrop{opacity:1}app-station-list .filters-pane{position:absolute;inset-inline:0;bottom:0;margin:0 auto;width:min(640px,100vw);max-width:100%;box-sizing:border-box;max-height:calc(100vh - 1.5rem);transform:translateY(100%);opacity:0;border-radius:1.5rem 1.5rem 0 0;background:color-mix(in srgb,var(--surface-color) 92%,var(--surface-alt-color));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 -.75rem 2.5rem #0f172a73;--filters-pane-block-padding: clamp(1rem, 3vw, 1.35rem);--filters-pane-inline-padding: clamp(1rem, 4vw, 1.75rem);--filters-pane-bottom-padding: max(1.25rem, calc(1rem + env(safe-area-inset-bottom, 0px)) );--filters-pane-top-padding: calc( var(--filters-pane-block-padding) + env(safe-area-inset-top, 0px) );padding:var(--filters-pane-top-padding) var(--filters-pane-inline-padding) var(--filters-pane-bottom-padding);display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(.75rem,2vw,1.25rem);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s cubic-bezier(.22,1,.36,1)}app-station-list .filters-pane--open{transform:translateY(0);opacity:1}app-station-list .filters-pane:before{content:"";position:absolute;top:calc(env(safe-area-inset-top,0px) + .45rem);left:50%;width:3rem;height:.35rem;transform:translate(-50%);border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 35%,transparent)}app-station-list .filters-pane__header{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(.75rem,2vw,1.25rem);padding-top:0}app-station-list .filters-pane__title h3{margin:0;font-size:1.15rem;color:var(--text-primary)}app-station-list .filters-pane__title p{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary)}app-station-list .filters-pane__header button[mat-icon-button]{width:2.75rem;height:2.75rem;border-radius:50%;border:none;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .2s ease}app-station-list .filters-pane__header button[mat-icon-button]:hover,app-station-list .filters-pane__header button[mat-icon-button]:focus-visible{background:color-mix(in srgb,var(--accent-color) 12%,transparent);outline:none}app-station-list .filters-pane__body{overflow-y:auto;padding:0 clamp(.25rem,2vw,.75rem);scrollbar-gutter:stable both-edges;scroll-padding-top:clamp(1rem,3vw,1.5rem)}app-station-list .filters-pane__body app-filters{display:block}app-station-list .filters-pane .filters__actions{position:sticky;bottom:0;margin:0 calc(var(--filters-pane-inline-padding) * -1) calc(-1 * var(--filters-pane-bottom-padding));padding:1rem var(--filters-pane-inline-padding) calc(.5rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface-color) 94%,transparent);border-top:1px solid color-mix(in srgb,var(--border-color) 85%,transparent);box-shadow:0 -.85rem 1.5rem -1.1rem #0f172a8c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-left-radius:1.35rem;border-bottom-right-radius:1.35rem;gap:clamp(.65rem,2vw,1rem)}app-station-list .filters-pane .filters__actions-group{flex:1 1 auto}app-station-list .filters-pane .filters__close{font-size:.95rem}app-station-list .map-feedback__ranking{display:grid;gap:.5rem;padding:.75rem 1rem;border-radius:.85rem;border:1px solid color-mix(in srgb,var(--accent-color) 22%,var(--border-color));background:color-mix(in srgb,var(--accent-color) 8%,var(--surface-color))}app-station-list .map-feedback__ranking h3{margin:0;font-size:.95rem;color:var(--text-primary)}app-station-list .map-feedback__ranking ol{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}app-station-list .map-feedback__ranking-item{list-style:none}app-station-list .map-feedback__ranking-button{display:grid;grid-template-columns:min-content 1fr;align-items:center;gap:.75rem;width:100%;padding:.55rem .75rem;border-radius:.75rem;background:var(--surface-color);border:none;border-left:4px solid var(--accent-color);box-shadow:0 1.25rem 2.5rem -2rem #0f172a73;cursor:pointer;text-align:left;color:inherit;transition:transform .2s ease,box-shadow .2s ease}app-station-list .map-feedback__ranking-button--selected{background:color-mix(in srgb,var(--accent-color) 14%,var(--surface-color));box-shadow:0 1.5rem 3rem -2rem #0f172a8c;transform:translateY(-2px);border-left-color:color-mix(in srgb,var(--accent-color) 75%,transparent)}app-station-list .map-feedback__ranking-button:hover,app-station-list .map-feedback__ranking-button:focus-visible{transform:translateY(-2px);box-shadow:0 1.5rem 3rem -2rem #0f172a8c;outline:none}app-station-list .map-feedback__ranking-button:focus-visible{box-shadow:0 0 0 2px var(--surface-color),0 0 0 4px color-mix(in srgb,var(--accent-color) 70%,transparent),0 1.5rem 3rem -2rem #0f172a8c}app-station-list .map-feedback__ranking-item--1 .map-feedback__ranking-button{border-left-color:#f59e0b}app-station-list .map-feedback__ranking-item--2 .map-feedback__ranking-button{border-left-color:#94a3b8}app-station-list .map-feedback__ranking-item--3 .map-feedback__ranking-button{border-left-color:#b45309}app-station-list .map-feedback__ranking-medal{font-size:1.5rem}app-station-list .map-feedback__ranking-info{display:grid;gap:.1rem}app-station-list .map-feedback__ranking-name{font-weight:600;color:var(--text-primary)}app-station-list .map-feedback__ranking-price{font-size:.85rem;color:var(--text-secondary)}app-station-list .stations-page__search{display:flex;justify-content:center}app-station-list .search-panel{width:min(960px,100%);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-radius:1.25rem;background:linear-gradient(130deg,color-mix(in srgb,var(--accent-color) 18%,transparent) 0%,color-mix(in srgb,var(--surface-color) 85%,transparent) 45%,var(--surface-alt-color));border:1px solid color-mix(in srgb,var(--accent-color) 25%,transparent 75%);box-shadow:var(--shadow-md)}app-station-list .search-panel__header{display:flex;flex-direction:column;gap:.35rem}app-station-list .search-panel__header h3{margin:0;font-size:clamp(1.15rem,.95rem + .6vw,1.5rem);color:var(--text-primary)}app-station-list .search-panel__header p{margin:0;color:var(--text-secondary);font-size:.95rem}app-station-list .search-panel__body{display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch}app-station-list .search-panel__field{position:relative;flex:1 1 320px;display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:1rem;background:color-mix(in srgb,var(--surface-color) 92%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 75%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-alt-color) 35%,transparent 65%);transition:box-shadow .2s ease,border-color .2s ease}app-station-list .search-panel__field--open,app-station-list .search-panel__field:focus-within{border-color:color-mix(in srgb,var(--accent-color) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-color) 16%,transparent)}app-station-list .search-panel__field mat-icon{color:var(--accent-color)}app-station-list .search-panel__input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:1rem}app-station-list .search-panel__input:focus{outline:none}app-station-list .search-panel__clear{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:.5rem;transition:background .2s ease,color .2s ease}app-station-list .search-panel__clear:hover,app-station-list .search-panel__clear:focus-visible{background:color-mix(in srgb,var(--surface-alt-color) 85%,transparent);color:var(--accent-color);outline:none}app-station-list .search-panel__suggestions{position:absolute;top:calc(100% + .35rem);left:0;right:0;margin:0;padding:.35rem 0;list-style:none;background:var(--surface-color);border:1px solid color-mix(in srgb,var(--accent-color) 25%,transparent);border-radius:.85rem;box-shadow:var(--shadow-lg);z-index:10;max-height:18rem;overflow-y:auto}app-station-list .search-panel__suggestions li{width:100%}app-station-list .search-panel__suggestions button{width:100%;border:none;background:transparent;text-align:left;padding:.65rem 1rem;color:var(--text-primary);cursor:pointer;font-size:.95rem;transition:background .2s ease,color .2s ease}app-station-list .search-panel__suggestions button:hover,app-station-list .search-panel__suggestions button:focus-visible{background:color-mix(in srgb,var(--surface-alt-color) 85%,transparent);color:var(--accent-color);outline:none}app-station-list .search-panel__actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:.5rem}app-station-list .search-panel__submit{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:1rem;border:none;background:color-mix(in srgb,var(--accent-color) 82%,transparent 18%);color:color-mix(in srgb,var(--surface-color) 92%,black 8%);font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease;min-width:9rem;justify-content:center}app-station-list .search-panel__submit:hover,app-station-list .search-panel__submit:focus-visible{background:color-mix(in srgb,var(--accent-color) 90%,transparent 10%);transform:translateY(-1px);outline:none}app-station-list .search-panel__submit[disabled]{cursor:not-allowed;opacity:.7;transform:none}app-station-list .search-panel__locate{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--accent-color) 40%,transparent);background:color-mix(in srgb,var(--accent-color) 15%,var(--surface-color));color:color-mix(in srgb,var(--accent-color) 90%,black 10%);font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease;min-width:11rem;justify-content:center}app-station-list .search-panel__locate:hover,app-station-list .search-panel__locate:focus-visible{background:color-mix(in srgb,var(--accent-color) 22%,var(--surface-color));transform:translateY(-1px);outline:none}app-station-list .search-panel__locate[disabled]{cursor:not-allowed;opacity:.65;transform:none}app-station-list .search-panel__feedback{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}app-station-list .search-panel__status,app-station-list .search-panel__error,app-station-list .search-panel__hint{margin:0}app-station-list .search-panel__error{color:var(--error-color);font-weight:600}app-station-list .search-panel__hint{font-style:italic}@media (max-width: 768px){app-station-list .search-panel{padding:1.25rem}app-station-list .search-panel__actions,app-station-list .search-panel__locate{width:100%}}.breadcrumbs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;color:var(--text-secondary);font-size:.95rem}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--text-primary);text-decoration:underline}.breadcrumbs__divider{color:var(--border-color-strong, var(--border-color))}.breadcrumbs__item--current{color:var(--text-primary);font-weight:600}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-color);text-decoration:none;font-weight:700}.back-link:hover,.back-link:focus-visible{text-decoration:underline}:root{color-scheme:light}.theme-dark{color-scheme:dark}body{line-height:1.5;letter-spacing:.01em;margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-primary);letter-spacing:-.01em}p{margin:0 0 1rem;color:var(--text-secondary)}img{max-width:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:999px;border:none;background:var(--accent-color);color:#fff;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease;text-decoration:none}.btn:hover{background:var(--accent-color-strong)}.btn:disabled{opacity:.6;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
