/* Shared finishing for the dashboard, city tools and public pages. */
html{background:var(--canvas);accent-color:var(--accent)}
.polished{--ink:inherit}
::selection{background:var(--accent);color:var(--canvas)}
.theme-picker{display:inline-flex!important;align-items:center;gap:0!important;position:relative;min-width:0;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--accent);overflow:visible}
.theme-picker>svg{margin-left:12px;flex-shrink:0;width:17px;height:17px}
.theme-picker select,.polished .theme-picker select,.visitor-shell .theme-picker select{width:auto;min-width:106px;min-height:44px;margin:0;padding:8px 24px 8px 10px;font-size:13px;font-weight:600;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;box-shadow:none}
.theme-picker:focus-within{outline:3px solid var(--accent);outline-offset:3px}.theme-picker select:focus-visible{outline:none}
.theme-picker option{background:var(--surface);color:var(--ink)}
.polished .primary-small,.polished .save-button,.city-shortcuts>button,.post-cta>a:not(.ghost),a.button,.blog-filter button[aria-pressed=true]{background:var(--button);color:var(--button-ink)}
.polished .primary-small:hover,.polished .save-button:hover,.city-shortcuts>button:hover,.post-cta>a:not(.ghost):hover,a.button:hover{filter:brightness(.95);box-shadow:0 3px 10px #15274518}
.polished .priority-panel,.polished .overview-toolbar,.city-card,.polished .air-widget,.polished .waste-widget{box-shadow:var(--shadow)}
.polished .priority-item{background:var(--surface-soft);box-shadow:none}
.polished .priority-item.urgent{background:color-mix(in srgb,var(--danger) 5%,var(--surface));border-left-color:var(--danger)}
.polished .priority-panel .priority-where{color:var(--muted)}
.polished .city-shortcuts{background:linear-gradient(110deg,var(--accent-soft),var(--surface));border-color:var(--line)}
.polished .nav-item.active{box-shadow:inset 3px 0 var(--accent)}
.polished .utility-card .service-icon{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
:root[data-theme=dark] .polished .utility-card.water .service-icon{color:#88c9f3}
:root[data-theme=dark] .polished .utility-card.power .service-icon{color:#f4cc86}
:root[data-theme=dark] .polished .utility-card.heating .service-icon{color:#ffb189}
:root[data-theme=dark] .polished .utility-card.waste .service-icon{color:#8dd6b0}
:root[data-theme=dark] .polished .utility-card.civil .service-icon{color:#f4acc3}
.polished .timeline-tabs button[aria-pressed=true]{background:var(--accent-soft);border-radius:8px 8px 0 0}
.polished .universal-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.polished .source-detail,.polished .white-panel,.polished .location-card,.polished .notification-settings{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}
.city-hub .city-tabs button:hover,.blog-filter button:hover,.blog-top nav a:hover{background:var(--surface-soft);color:var(--accent)}
.city-hub .city-tabs button[aria-current=page]{background:var(--accent-soft);color:var(--accent)}
.polished button:focus-visible,.visitor-shell button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.vmf-consent{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 12px 45px #0003}
.vmf-consent p,.vmf-consent a{color:var(--muted)}.vmf-consent button{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
@media(hover:hover){.polished .nav-item,.city-tabs button,.blog-filter button,.post-list>li{transition:background-color .15s,border-color .15s,box-shadow .15s}.post-list>li:hover{box-shadow:0 8px 24px #142b4a12}}
@media(max-width:680px){.theme-picker>svg{display:none}.theme-picker select,.polished .theme-picker select,.visitor-shell .theme-picker select{min-width:101px;padding-left:10px}.blog-top>.theme-picker{margin-left:auto}.blog-top nav{gap:2px}.blog-top nav a{padding-inline:8px}.polished .sidebar .nav-item.active{box-shadow:inset 0 3px var(--accent)}}
@media(prefers-reduced-motion:reduce){.polished .nav-item,.city-tabs button,.blog-filter button,.post-list>li{transition:none}}
