/* Shared product surfaces: public details, entry flows, account and workspaces. */
.product-screen .wrap.page{width:calc(100% - 32px);max-width:1240px;padding:24px 0 56px;margin:0 auto;min-width:0}
.product-screen .page-title{font-size:30px;line-height:38px;letter-spacing:-.8px;font-weight:700;margin:12px 0 16px;overflow-wrap:anywhere}
.product-screen h2{font-size:22px;line-height:30px;letter-spacing:-.4px;margin:0 0 14px;font-weight:650}
.product-screen h3{font-size:18px;line-height:26px;letter-spacing:-.2px;margin:24px 0 10px}
.product-screen p{font-size:15px;line-height:24px;overflow-wrap:anywhere}
.product-screen .page-lead{font-size:16px;line-height:26px;max-width:none;color:var(--muted);margin:0 0 24px}
.product-screen .eyebrow{display:block;font-size:10px;line-height:16px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}
.product-screen .back-link,.product-screen .info-back,.product-screen .page>a:first-child:not(.btn){display:inline-flex;align-items:center;gap:8px;min-height:48px;font-size:14px;line-height:20px;color:var(--md-primary);margin:0 0 12px;text-decoration:none}
.product-screen .back-link:hover,.product-screen .info-back:hover{text-decoration:underline;text-underline-offset:4px}
.product-screen .surface-card,.product-screen .account-card{min-width:0;background:var(--md-surface-lowest);border:1px solid var(--md-outline-variant);border-radius:20px;padding:20px;margin:0;box-shadow:none}
.product-screen .surface-card>:first-child,.product-screen .account-card>:first-child{margin-top:0}
.product-screen .surface-card>:last-child,.product-screen .account-card>:last-child{margin-bottom:0}
.product-screen .page-section{margin-top:24px}
.product-screen .muted{font-size:13px;line-height:21px;color:var(--muted)}
.product-screen .btn{min-height:48px;max-width:100%;padding:12px 20px;white-space:normal;text-align:center;line-height:20px}
.product-screen .btn.small{font-size:13px;padding:10px 16px;min-height:44px}
.product-screen .header-actions{gap:8px}
.product-screen .flash{width:100%;max-width:100%;padding:16px 18px;margin:16px 0;border-radius:12px;font-size:14px;line-height:22px;background:#eef6f0}
.product-screen>.flash{width:calc(100% - 32px);max-width:1240px;margin:16px auto}
.product-screen .flash.error{background:#fff0f0}
.product-screen .ticket-row,.product-screen .ticket-row:hover{display:flex;align-items:flex-start;gap:16px;min-width:0;border:1px solid var(--line)!important;border-left:5px solid var(--ticket-color,var(--md-primary))!important;border-radius:16px!important;padding:20px!important;background:white!important;box-shadow:none;transform:none}
.product-screen .ticket-row .ticket-content{min-width:0;padding:0;width:100%;flex:1 1 auto}
.product-screen .category-label{display:inline-block;font-size:11px;line-height:18px;font-weight:600;letter-spacing:.1px;color:var(--md-primary);padding:4px 8px;background:var(--md-primary-container);border-radius:6px}
.product-screen .idea-ticket .category-label{color:#64507b;background:#ede4fa}
.product-screen .ticket-title{display:block;font-family:inherit;font-size:19px;line-height:26px;font-weight:650;letter-spacing:-.3px;margin:10px 0;overflow-wrap:anywhere}
.product-screen .ticket-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;line-height:20px}
.product-screen .ticket-status .status{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:18px;font-weight:600;padding:6px 10px;border-radius:8px;background:var(--md-surface-low);white-space:normal}
.product-screen .ticket-status>span:not(.status){font-size:12px;line-height:20px;color:var(--muted)}
.product-screen .dot{display:inline-block;width:8px;height:8px;flex-shrink:0;border-radius:50%}
.product-screen .ticket-grid{display:flex;flex-direction:column;gap:12px;padding-top:0}
/* Reading pages: a clear report surface and secondary metadata. */
.detail-screen .detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.detail-screen .detail-card,.detail-screen .detail-card:hover{margin:0;padding:24px 20px!important}
.detail-screen .detail-card .page-title{font-size:30px;line-height:38px;margin:14px 0 16px;max-width:none}
.detail-screen .detail-location{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:14px;line-height:22px;margin:0 0 16px}
.detail-screen .detail-location .ui-icon{width:20px;height:20px;flex-basis:20px;margin-top:1px}
.detail-screen .detail-description{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.detail-screen .detail-description h2{font-size:18px;line-height:26px}
.detail-screen .preserve-lines{font-size:15px;line-height:26px;max-width:none;overflow-wrap:anywhere}
.detail-screen .detail-card .ticket-content>h2{margin-top:28px}
.detail-screen .detail-card .ticket-content>.preserve-lines{margin-top:12px}
.detail-screen .detail-photo{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;background:var(--md-surface-low);border-radius:12px;margin:16px 0}
.detail-screen .report-photo{margin:24px 0}.detail-screen .report-photo .detail-photo{margin:0 0 8px}
.detail-screen .photo-credit{font-size:11px!important;line-height:18px;overflow-wrap:anywhere;color:var(--muted)}
.detail-screen .detail-sidebar{min-width:0}.detail-screen .detail-sidebar h2{font-size:18px;line-height:26px;margin:8px 0 18px}
.facts-list{margin:0}.facts-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.facts-list>div:last-child{border-bottom:0}
.facts-list dt{font-size:11px;line-height:18px;font-weight:500;color:var(--muted);margin-bottom:4px}.facts-list dd{font-size:14px;line-height:22px;font-weight:600;margin:0;overflow-wrap:anywhere}
.detail-screen .detail-social,.detail-screen .idea-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}
.product-screen .vote{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;width:auto;min-height:48px;border:1px solid var(--line);border-radius:24px;padding:10px 16px;background:white;color:var(--md-primary)}
.product-screen .vote>span:first-child{font-size:20px;line-height:24px}.product-screen .vote strong{font-size:16px;line-height:24px}.product-screen .vote>span:last-child{font-size:13px;line-height:20px;flex-basis:auto}
.product-screen .vote:hover,.product-screen .vote.voted{background:var(--md-primary-container);color:var(--md-on-primary-container);border-color:var(--md-primary-container)}
.detail-screen .idea-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:24px 0}
.detail-screen .idea-facts>div{padding:18px;border-radius:14px;background:var(--md-surface-low);min-width:0}.detail-screen .idea-facts h2,.detail-screen .idea-facts h3{font-size:16px;line-height:24px;margin:0 0 8px}.detail-screen .idea-facts p{margin:0}
.detail-screen .idea-summary{margin:24px 0 0;background:var(--md-surface-low);border:1px solid var(--line);border-radius:20px;padding:20px}
.detail-screen .idea-summary h2{font-size:22px}.detail-screen .idea-summary h3{font-size:15px;line-height:22px;color:var(--muted)}
.detail-screen .idea-history{margin:0;padding:0;list-style:none}.detail-screen .idea-history li{position:relative;padding:18px 0 18px 20px;border:0;border-left:2px solid var(--line)}
.detail-screen .idea-history li:before{content:'';position:absolute;left:-5px;top:24px;width:8px;height:8px;border-radius:50%;background:var(--md-primary)}
.detail-screen .idea-history time{display:block;font-size:11px;line-height:18px;color:var(--muted);margin-bottom:6px}.detail-screen .idea-history strong{font-size:14px;line-height:22px}
.detail-screen .idea-history p{font-size:14px;margin:8px 0 0}
/* Conversations and moderation. */
.product-screen .discussion-section{padding:20px;border-radius:20px;border:1px solid var(--line);background:white}
.product-screen .section-heading p{font-size:14px;color:var(--muted);margin:0 0 24px}
.product-screen .comment{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.product-screen .comment>p{margin:10px 0}
.product-screen .comment-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.product-screen .comment strong{font-size:13px;line-height:20px}.product-screen .comment small{font-size:11px;line-height:18px;color:var(--muted)}
.product-screen .comment-reply{margin:16px 0 0 8px;padding:16px 0 0 16px;border-left:2px solid var(--line);border-bottom:0}
.product-screen .official-answer{padding:18px;margin:16px 0;background:#eef5ff;border:0;border-left:3px solid var(--md-primary);border-radius:0 12px 12px 0}
.product-screen .discussion-label{font-size:11px;line-height:18px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--md-secondary-container);margin:0 8px 4px 0}
.product-screen .idea-discussion-rules{font-size:12px;line-height:20px;padding:14px;border-radius:10px;background:var(--md-surface-low);color:var(--muted)}
.product-screen .empty-state{border:1px dashed var(--line);border-radius:12px;padding:20px;color:var(--muted);font-size:14px;background:var(--md-surface-low)}
.product-screen .sign-in-prompt{display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding-top:16px}.product-screen .sign-in-prompt p{font-size:14px;color:var(--muted);margin:0}
.product-screen .comment-composer{margin-top:24px}
/* Every form uses the same label spacing, input size and consent layout. */
.product-screen .form-stack{display:flex;flex-direction:column;gap:10px;margin:24px 0;min-width:0}
.product-screen .form-stack label{font-size:14px;line-height:22px;font-weight:600;margin-top:12px}
.product-screen input:not([type=checkbox]):not([type=radio]),.product-screen select{width:100%;min-height:52px;border-radius:12px;border:1px solid var(--md-outline);background:var(--md-surface-lowest);color:var(--md-on-surface);font-size:16px;line-height:24px;padding:12px 14px;min-width:0;max-width:100%}
.product-screen textarea{width:100%;min-height:128px;resize:vertical;font-size:16px;line-height:24px;padding:14px;border:1px solid var(--md-outline);border-radius:12px;max-width:100%;background:white}
.product-screen input[readonly]{background:var(--md-surface-low);color:var(--muted)}
.product-screen input[type=file]{font-size:13px;line-height:22px;padding:12px;min-height:52px;white-space:normal}
.product-screen input[type=file]::file-selector-button{border:0;border-radius:8px;padding:8px 10px;margin-right:8px;background:var(--md-secondary-container);color:var(--md-on-secondary-container);font:inherit;cursor:pointer}
.product-screen .form-stack .btn{align-self:flex-start;margin-top:8px}
.product-screen .form-stack .muted{margin:0;font-weight:400}
.product-screen .checkbox,.product-screen .account-checkbox{display:block!important;position:relative;padding:4px 0 4px 32px;min-height:48px;line-height:22px;font-size:13px!important;font-weight:400!important;margin:12px 0!important}
.product-screen .checkbox input,.product-screen .account-checkbox input{position:absolute;left:0;top:5px;min-height:0;width:20px!important;height:20px;margin:0!important;accent-color:var(--md-primary)}
.product-screen .checkbox a{text-decoration:underline;text-underline-offset:3px;color:var(--md-primary)}
.product-screen .field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.product-screen fieldset{min-width:0}
.product-screen .form-stack label>input,.product-screen .form-stack label>select,.product-screen .form-stack label>textarea{margin-top:8px}
.product-screen details:not(.account-menu){border:1px solid var(--line);border-radius:14px;padding:16px;background:white;margin:16px 0}
.product-screen details:not(.account-menu)>summary{font-size:14px;line-height:22px;min-height:32px;align-items:center;gap:12px;cursor:pointer}
.product-screen details:not(.account-menu)>summary:after{font-size:22px}
.product-screen details[open]:not(.account-menu)>summary{margin-bottom:16px}
.product-screen details:not(.account-menu) .form-stack{margin-bottom:0}
/* Two-step reporting and idea submission. */
.entry-screen .wrap.page{max-width:1240px}
.entry-screen .form-stack{width:100%;max-width:none}
.entry-screen .page-title{max-width:none}
.entry-screen .page>.page-title+p{max-width:none;font-size:15px;color:var(--muted)}
.entry-steps{display:flex;gap:12px;list-style:none;padding:0;margin:24px 0;font-size:12px;line-height:20px;color:var(--muted)}
.entry-steps li{display:flex;align-items:center;gap:8px;flex:1;padding:12px;background:var(--md-surface-high);border-radius:12px}
.entry-steps span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:white;color:var(--muted);font-size:12px;font-weight:700}
.entry-steps .entry-step-description{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.location-pending .entry-step-location{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.location-pending .entry-step-description{background:var(--md-surface-high);color:var(--muted)}
.entry-screen .report-location{padding:16px;border-radius:20px;margin:0 0 20px;background:white}
.entry-screen #reportDetails.surface-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:white;margin-top:8px;gap:10px}
.entry-screen #reportDetails legend{font-size:20px;line-height:28px;padding:0 8px;font-weight:650}
.entry-screen .location-map{border-radius:12px}.entry-screen #createMap{height:360px;height:clamp(300px,48svh,440px)}
.entry-screen .location-confirm-bar{gap:12px;padding:16px 0 0;background:white;position:static;align-items:stretch;flex-direction:column}
.entry-screen .location-confirm-bar strong{font-size:14px;line-height:22px}.entry-screen .location-confirm-bar p{font-size:11px;line-height:18px;color:var(--muted)}
.entry-screen .location-confirm-bar .btn{margin:0;width:100%}
.entry-screen .idea-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.entry-screen .idea-form-grid>.surface-card{padding:20px;min-width:0}.entry-screen .idea-form-grid label{display:block;margin:18px 0 8px}
.entry-screen .idea-form-grid .idea-summary{background:var(--md-surface-low);border-radius:12px;border:0;margin:20px 0 0;padding:16px}
.entry-screen .idea-form-grid .idea-summary h2{font-size:17px;line-height:24px}.entry-screen .idea-form-grid .idea-summary p{font-size:13px;line-height:21px}
.entry-screen .idea-create>input,.entry-screen .idea-create>label,.entry-screen .idea-create>.muted{max-width:none}
.product-screen .map-toolbar{padding:0 0 12px;background:transparent;border:0;gap:8px;margin:0;min-width:0}
.product-screen .map-toolbar .map-search-control{flex-basis:100%;max-width:none;border-radius:14px;background:var(--md-surface-high);border:0;box-shadow:none}
.product-screen .map-search-form{padding:4px;background:transparent;gap:4px}
.product-screen .map-search-form input{font-size:16px;min-height:48px;padding:10px 12px;background:transparent;border:0!important}
.product-screen .map-search-form button{min-height:48px;min-width:48px;width:48px;height:48px;border-radius:50%;background:transparent;color:var(--md-primary);padding:12px}
.product-screen .map-search-results{border-radius:0 0 14px 14px;background:white}
.product-screen .map-place-result{min-height:48px;font-size:14px;line-height:22px;padding:12px}
.product-screen .map-search-status{font-size:12px;line-height:18px;margin:0;padding:0 12px 10px}
.product-screen .map-navigation{gap:4px;box-shadow:none!important}
.product-screen .map-toolbar .map-navigation{display:flex;flex-wrap:wrap;border:0!important;background:transparent;overflow:visible}
.product-screen .map-toolbar .map-navigation button{display:flex;align-items:center;justify-content:center;gap:8px;width:48px;min-width:48px;height:48px;border:0;border-radius:12px;background:var(--md-surface-low);padding:12px}
.product-screen .map-toolbar .map-navigation .control-label,.product-screen .leaflet-container .map-navigation .control-label{display:none}
.product-screen .map-toolbar .leaflet-control-zoom{display:flex;border:0;border-radius:12px;overflow:hidden;margin-left:auto}
.product-screen .map-toolbar .leaflet-control-zoom a{width:48px!important;height:48px!important;line-height:48px!important;border:0;background:var(--md-surface-low)}
.product-screen .map-toolbar .map-view-options{padding:0;border:0;margin:0 0 0 auto;background:transparent;border-radius:12px}
.product-screen .map-toolbar .map-view-options>summary{padding:12px;font-size:12px;line-height:20px;min-height:48px;border-radius:12px;background:var(--md-surface-low);margin:0;gap:8px}
.product-screen .map-toolbar .map-view-options[open]{flex-basis:100%;margin-left:0}
.product-screen .map-toolbar .leaflet-control-layers{padding-top:12px!important;background:transparent;border:0!important;box-shadow:none!important}
.product-screen .leaflet-control-layers input{width:20px;height:20px;min-height:0;accent-color:var(--md-primary)}
.product-screen .leaflet-control-layers label{min-height:48px}
.product-screen #ideaMap{border-radius:12px;margin-top:16px;height:340px}
/* Account and confirmation views. */
.auth-screen .wrap.page{max-width:1240px}.account-screen .wrap.page{max-width:1240px}
.product-screen .account-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:24px 0}
.product-screen .account-card h2{font-size:21px;line-height:28px;margin:0 0 12px}.product-screen .account-card>p{font-size:14px;line-height:23px;color:var(--muted)}
.product-screen .account-card .form-stack{margin:20px 0 0;max-width:none}
.account-screen .account-card{margin:20px 0}
.confirmation-screen .wrap.page{max-width:1240px;margin:32px auto 56px;padding:28px 24px;background:white;border:1px solid var(--line);border-radius:24px}
.confirmation-screen .page-title{font-size:28px;line-height:36px;margin-top:0}
.confirmation-screen .page>form{margin-top:24px}.confirmation-screen .page .btn{width:100%}
.confirmation-screen .page>p:last-child{margin-bottom:0}
/* Municipal workspaces and administration. */
.workspace-screen .page-top{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0 0 24px}
.workspace-screen .page-top .page-title{margin:8px 0 0}
.workspace-screen .page-top .header-actions{display:flex;flex-wrap:wrap;gap:8px}
.workspace-screen .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.workspace-screen .stats>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:white;min-width:0}
.workspace-screen .stats strong{font-size:28px;line-height:36px;letter-spacing:-.6px;display:block;margin:6px 0}
.workspace-screen .stats small{font-size:11px;line-height:18px;display:block;white-space:normal;color:var(--muted)}
.workspace-screen .dashboard-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:var(--md-surface-low);padding:20px;border-radius:20px;margin:24px 0;align-items:end}
.workspace-screen .dashboard-filters label{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:20px;font-weight:600;min-width:0}
.workspace-screen .dashboard-filters label>input,.workspace-screen .dashboard-filters label>select{margin:0;font-size:14px}
.workspace-screen .dashboard-filters .checkbox{display:block!important;margin:0!important;align-self:center}
.workspace-screen .manage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;margin:24px 0}
.workspace-screen .manage-grid>div{min-width:0}
.workspace-screen .manage-photo{max-width:100%;max-height:320px;border-radius:12px;object-fit:contain;background:var(--md-surface-low);margin:20px 0}
.workspace-screen .assignment{background:var(--md-surface-low);border-radius:12px;padding:16px;margin:12px 0}
.workspace-screen .assignment label{margin:0}.workspace-screen .assignment .btn{margin-top:0}
.product-screen .pagination{margin:24px 0;max-width:100%;overflow:auto}
.product-screen .pagination nav{flex-wrap:wrap;gap:12px;min-width:0}
.product-screen .pagination a,.product-screen .pagination button{min-height:44px;min-width:44px}
.product-screen .pagination svg{width:20px;height:20px}
.admin-screen .admin-stats{grid-template-columns:minmax(0,1fr);gap:12px}.admin-screen .admin-stats>div{border-radius:16px;background:white}
.admin-screen .admin-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;background:var(--md-surface-low);border-radius:20px;margin:24px 0}
.admin-screen .admin-filters label{width:auto;min-width:0;font-size:12px;line-height:20px;gap:8px}
.admin-screen .admin-filters .btn{align-self:end}.admin-screen .admin-filters .text-link{min-height:48px;display:flex;align-items:center}
.admin-screen .admin-table-wrap{border:1px solid var(--line);border-radius:16px;background:white;margin:20px 0;overflow:auto;max-width:100%}
.admin-screen .admin-table{min-width:720px}.admin-screen .admin-table th{background:var(--md-surface-low)}
.admin-screen .admin-table th,.admin-screen .admin-table td{padding:16px;line-height:22px}.admin-screen .admin-table a{display:inline-flex;align-items:center;min-height:44px}
.admin-screen .admin-event summary{justify-content:flex-start}.admin-screen .admin-event p{font-size:14px}
/* Information and legal pages share a readable editorial column. */
.product-screen .wrap.page.info-page{max-width:1240px;padding-top:24px}
.product-screen .info-page h1{font-size:32px;line-height:40px;letter-spacing:-1px;margin:12px 0 20px}
.product-screen .info-page .eyebrow{margin-top:12px}
.product-screen .info-page .info-lead{font-size:18px;line-height:28px;margin:0 0 32px;max-width:none;color:var(--muted)}
.product-screen .info-page h2{font-size:24px;line-height:32px;margin:32px 0 14px}
.product-screen .info-page p{font-size:16px;line-height:28px;margin:12px 0 20px}
.product-screen .info-note{background:var(--md-primary-container);color:var(--md-on-primary-container);border:0;border-radius:20px;padding:24px;margin:28px 0}
.product-screen .info-note h2{margin-top:0}.product-screen .info-note p{font-size:15px;line-height:26px}
.product-screen .info-steps{padding:0;margin:0;list-style:none}.product-screen .info-steps>li{padding:0 0 20px 44px;position:relative}
.product-screen .info-steps>li:before{display:grid;place-items:center;top:0;width:30px;height:30px;font-size:12px;line-height:20px;padding:0;letter-spacing:0;border-radius:50%;background:var(--md-primary-container);color:var(--md-on-primary-container)}
.product-screen .info-steps h2{font-size:20px;line-height:28px;margin-top:24px}.product-screen .info-steps p{font-size:15px;line-height:26px}
.product-screen .info-actions{gap:8px;flex-wrap:wrap;margin:24px 0}.product-screen .info-actions .btn{flex:1 1 auto}
.product-screen .info-questions details{padding:18px}.product-screen .info-questions details p{font-size:15px;line-height:26px;margin-bottom:0}
.product-screen .package-table-wrap{border-radius:16px;background:white}.product-screen .package-table th,.product-screen .package-table td{padding:16px;line-height:24px}
.product-screen .package-terms{font-size:13px!important;line-height:22px!important}
@media(min-width:600px){
 .product-screen .wrap.page{width:calc(100% - 64px);padding-top:32px;padding-bottom:64px}
 .product-screen .page-title{font-size:36px;line-height:44px;letter-spacing:-1.2px}
 .product-screen .surface-card,.product-screen .account-card{padding:28px}
 .product-screen .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-screen .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-screen .detail-card,.detail-screen .detail-card:hover{padding:32px!important}.detail-screen .detail-card .page-title{font-size:36px;line-height:44px}
 .detail-screen .idea-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-screen .discussion-section{padding:28px}.product-screen .sign-in-prompt{flex-direction:row;align-items:center;justify-content:space-between}
 .entry-screen .location-confirm-bar{flex-direction:row;align-items:center;justify-content:space-between}.entry-screen .location-confirm-bar .btn{width:auto;flex-shrink:0}
 .product-screen .map-toolbar .map-search-control{flex:1 1 280px}
 .product-screen .map-toolbar .map-navigation button{width:auto}.product-screen .map-toolbar .map-navigation .control-label{display:inline;font-size:12px}
 .product-screen .map-toolbar .leaflet-control-zoom{margin-left:0}
 .workspace-screen .dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace-screen .stats.live-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-screen .idea-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-screen .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-screen .admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-screen .info-page h1{font-size:42px;line-height:50px;letter-spacing:-1.5px}
 .product-screen .info-actions .btn{flex:0 1 auto}
 .confirmation-screen .wrap.page{padding:36px;max-width:1240px;margin-top:48px}
}
@media(min-width:840px){
 .detail-screen .detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
 .detail-screen .detail-sidebar{position:sticky;top:24px}.detail-screen .detail-sidebar .surface-card{padding:24px}
 .detail-screen .discussion-section{max-width:none}
 .detail-screen .idea-summary{padding:28px}
 .entry-screen .idea-form-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .entry-screen .report-location{padding:24px}.entry-screen #reportDetails.surface-card{padding:28px}
 .workspace-screen .page-top{flex-direction:row;justify-content:space-between;align-items:center}
 .workspace-screen .manage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .workspace-screen .dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-screen .admin-filters{grid-template-columns:minmax(200px,1fr) minmax(140px,.6fr) minmax(140px,.6fr) auto auto}
}
@media(min-width:1200px){
 .product-screen .wrap.page{width:calc(100% - 96px);padding-top:40px}
 .workspace-screen .wrap.page,.admin-screen .wrap.page{max-width:1240px}
 .workspace-screen .dashboard-filters{grid-template-columns:repeat(5,minmax(0,1fr))}
 .workspace-screen .idea-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
 .product-screen .page-title{font-size:40px;line-height:48px}
}
.product-screen .confirmation-symbol{display:grid;place-items:center;width:56px;height:56px;background:var(--md-primary-container);color:var(--md-primary);border-radius:18px;margin:0 0 24px}
.product-screen .confirmation-symbol .ui-icon{width:28px;height:28px}
.product-screen .wrap.page.info-page.info-page-wide{max-width:1240px}
.detail-screen .facts-list.surface-card{margin:24px 0}
.product-screen .page-section.surface-card{margin-top:24px}
@media(max-width:359px){
 .product-screen .surface-card,.product-screen .account-card,.product-screen .discussion-section{padding:16px}
 .product-screen .page-title,.detail-screen .detail-card .page-title{font-size:26px;line-height:34px}
 .product-screen .detail-social .btn,.product-screen .detail-social .vote,.product-screen .idea-actions .btn,.product-screen .idea-actions .vote{width:100%}
 .product-screen .map-toolbar .map-view-options{flex-basis:100%;margin-left:0}
 .entry-steps{gap:8px}.entry-steps li{padding:10px 8px;gap:6px;font-size:11px}
 .entry-steps span{width:24px;height:24px;flex-basis:24px}
 .workspace-screen .stats>div{padding:12px}
}

/* Dashboard: context first, compact status shortcuts, then a focused inbox. */
.dashboard-screen .dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;height:auto;min-height:0;margin:0 0 20px;padding:0;border:0;background:transparent;position:relative;z-index:2}
.dashboard-screen .dashboard-heading>div{min-width:0}.dashboard-screen .dashboard-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
.dashboard-screen .dashboard-title .page-title{margin:0;font-size:30px;line-height:38px;letter-spacing:-.8px}
.dashboard-screen .dashboard-plan{display:inline-block;max-width:100%;padding:5px 9px;border-radius:7px;background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-size:11px;line-height:18px;font-weight:600}
.dashboard-screen details.dashboard-tools{position:relative;flex:0 0 auto;padding:0;margin:0;border:0;background:transparent;border-radius:12px}
.dashboard-screen details.dashboard-tools>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 16px;margin:0;font-size:13px;line-height:20px;border:1px solid var(--line);border-radius:12px;background:white}
.dashboard-screen details.dashboard-tools>summary:after{display:none}.dashboard-screen details.dashboard-tools[open]>summary{margin-bottom:0;background:var(--md-surface-high)}
.dashboard-screen .dashboard-tools nav{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:0;width:250px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 8px 24px #1c25381a;z-index:20}
.dashboard-screen .dashboard-tools nav a{display:flex;align-items:center;min-height:48px;padding:10px 12px;font-size:13px;line-height:20px;border-radius:8px;font-weight:500}
.dashboard-screen .dashboard-tools nav a:hover{background:var(--md-primary-container)}
.dashboard-screen .dashboard-context{display:flex;flex-direction:column;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.dashboard-screen .municipality-switch{width:100%;max-width:560px;margin:0;min-width:0}
.dashboard-screen .municipality-switch label{display:block;font-size:12px;line-height:20px;color:var(--muted);font-weight:500;margin-bottom:6px}
.dashboard-screen .municipality-switch>div{display:flex;gap:8px;min-width:0}
.dashboard-screen .municipality-switch select{min-height:48px;font-size:14px;padding:10px 12px;flex:1;min-width:0}
.dashboard-screen .municipality-switch .btn{min-height:48px;border-radius:12px;padding:10px 16px;flex:0 0 auto;font-size:13px}
.dashboard-screen .dashboard-context-note{max-width:420px;margin:0;font-size:12px;line-height:20px;color:var(--muted)}
.dashboard-screen .dashboard-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.dashboard-screen .dashboard-section-label h2{font-size:15px;line-height:22px;font-weight:600;letter-spacing:0;margin:0}
.dashboard-screen .dashboard-section-label>span{font-size:12px;color:var(--muted);line-height:20px}
.dashboard-screen .dashboard-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px}
.dashboard-screen .dashboard-status{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;padding:16px;background:white;border:1px solid var(--line);border-left:3px solid var(--ticket-color);border-radius:12px;transition:background .15s,border-color .15s}
.dashboard-screen .dashboard-status>span{display:flex;align-items:center;gap:7px;font-size:12px;line-height:18px;color:var(--muted);font-weight:500}
.dashboard-screen .dashboard-status strong{font-size:28px;line-height:32px;letter-spacing:-.6px;font-weight:650}
.dashboard-screen .dashboard-status:hover,.dashboard-screen .dashboard-status.is-selected{background:var(--ticket-surface);border-color:var(--ticket-color)}
.dashboard-screen details.dashboard-analytics{margin:0 0 24px;padding:16px 20px;border-radius:12px;background:transparent}
.dashboard-screen details.dashboard-analytics>summary{justify-content:flex-start;flex-wrap:wrap;min-height:24px;gap:4px 12px;font-size:14px}
.dashboard-screen details.dashboard-analytics>summary>span{font-size:12px;line-height:20px;font-weight:400;color:var(--muted)}
.dashboard-screen details.dashboard-analytics>summary:after{margin-left:auto}
.dashboard-screen .dashboard-inbox{min-width:0}
.dashboard-screen .dashboard-inbox-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0 0 16px}
.dashboard-screen .dashboard-inbox-heading h2{display:flex;align-items:center;gap:10px;font-size:22px;line-height:30px;margin:0}
.dashboard-screen .dashboard-inbox-heading h2>span{display:grid;place-items:center;min-width:28px;min-height:26px;padding:2px 8px;font-size:12px;line-height:20px;border-radius:8px;background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.dashboard-screen .dashboard-tabs{display:flex;gap:4px;padding:4px;background:var(--md-surface-high);border-radius:12px;width:100%}
.dashboard-screen .dashboard-tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px;color:var(--muted);font-size:13px;line-height:20px;font-weight:600}
.dashboard-screen .dashboard-tabs a.active{background:white;color:var(--md-primary);box-shadow:0 1px 4px #1c25380d}
.dashboard-screen .dashboard-filterbar{padding:16px;margin:0 0 20px;background:var(--md-surface-low);border-radius:16px}
.dashboard-screen .dashboard-filter-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:end}
.dashboard-screen .dashboard-filter-fields label{display:block;min-width:0;font-size:12px;line-height:20px;font-weight:500;color:var(--muted)}
.dashboard-screen .dashboard-filter-fields input,.dashboard-screen .dashboard-filter-fields select{display:block;margin-top:6px;min-height:48px;height:48px;font-size:14px;line-height:22px;padding:10px 12px;border-color:#b2bdcf}
.dashboard-screen .dashboard-filter-fields .btn{min-height:48px;border-radius:12px;padding:10px 22px;font-size:14px}
.dashboard-screen .dashboard-filter-options{display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;margin-top:10px;min-height:44px}
.dashboard-screen .dashboard-filter-options .checkbox{margin:0!important;min-height:44px;font-size:12px!important;padding-top:8px;padding-bottom:8px;font-weight:400!important}
.dashboard-screen .dashboard-filter-options .checkbox input{top:9px}
.dashboard-screen .dashboard-reset{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;font-size:12px;line-height:20px;color:var(--md-primary);text-decoration:underline;text-underline-offset:3px}
.dashboard-screen .dashboard-ticket-list{gap:10px}
.dashboard-screen .dashboard-ticket{display:flex;flex-direction:column;gap:16px;padding:18px!important}
.dashboard-screen .dashboard-ticket-labels{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.dashboard-screen .publication-badge{font-size:10px;line-height:18px;padding:3px 7px;border-radius:6px;color:#785819;background:#fff2d5;font-weight:600}
.dashboard-screen .dashboard-ticket .ticket-title{margin:9px 0 10px;font-size:18px;line-height:26px}
.dashboard-screen .dashboard-ticket-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;width:100%;border-top:1px solid var(--line);padding-top:12px;font-size:12px;line-height:20px;min-width:0}
.dashboard-screen .dashboard-ticket-meta>span,.dashboard-screen .dashboard-ticket-meta small{font-size:11px;line-height:18px;color:var(--muted)}
.dashboard-screen .dashboard-ticket-meta strong{font-size:12px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.dashboard-screen .dashboard-ticket-meta small{margin-left:auto}
.dashboard-screen .dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:36px 20px;min-height:230px;background:white;border:1px dashed #c6cedc;border-radius:16px}
.dashboard-screen .dashboard-empty>.ui-icon{width:40px;height:40px;flex-basis:40px;color:#8998b3;background:var(--md-surface-low);padding:8px;border-radius:12px}
.dashboard-screen .dashboard-empty h3{font-size:19px;line-height:26px;letter-spacing:-.3px;margin:0}
.dashboard-screen .dashboard-empty p{font-size:13px;line-height:22px;color:var(--muted);max-width:500px;margin:0}
.dashboard-screen .dashboard-empty .btn{margin-top:4px;font-size:13px}
@media(min-width:600px){
 .dashboard-screen .dashboard-title .page-title{font-size:36px;line-height:44px}
 .dashboard-screen .dashboard-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .dashboard-screen .dashboard-inbox-heading{flex-direction:row;align-items:center;justify-content:space-between}
 .dashboard-screen .dashboard-tabs{width:auto}.dashboard-screen .dashboard-tabs a{flex:0 0 auto;min-width:80px}
 .dashboard-screen .dashboard-filter-fields{grid-template-columns:minmax(0,1fr) minmax(150px,.6fr) auto}
 .dashboard-screen .dashboard-filterbar{padding:18px 20px}
}
@media(min-width:840px){
 .dashboard-screen .dashboard-context{flex-direction:row;align-items:flex-end;justify-content:space-between}
 .dashboard-screen .dashboard-context-note{text-align:right;margin-bottom:4px}
 .dashboard-screen .dashboard-status{flex-direction:row;align-items:center;padding:18px 20px;gap:12px}
 .dashboard-screen .dashboard-status>span{font-size:13px}.dashboard-screen .dashboard-status strong{font-size:30px;line-height:36px}
 .dashboard-screen .dashboard-ticket{flex-direction:row;align-items:center;justify-content:space-between;padding:20px!important;gap:24px}
 .dashboard-screen .dashboard-ticket-meta{flex:0 0 200px;flex-direction:column;align-items:flex-start;gap:3px;border:0;border-left:1px solid var(--line);padding:0 0 0 20px;width:auto}
 .dashboard-screen .dashboard-ticket-meta small{margin:4px 0 0}
}
@media(max-width:359px){
 .dashboard-screen .dashboard-heading{flex-wrap:wrap}
 .dashboard-screen .dashboard-status{padding:12px}
 .dashboard-screen .municipality-switch>div{flex-wrap:wrap}
 .dashboard-screen .municipality-switch .btn{width:100%}
 .dashboard-screen .dashboard-filter-options{gap:0 12px}
}

/* Moderation: explain the reason for each item and the next useful action. */
.moderation-screen .moderation-heading{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.moderation-screen .moderation-heading .page-title{margin:8px 0 12px}
.moderation-screen .moderation-heading .page-lead{font-size:15px;line-height:24px;margin:0;color:var(--muted)}
.moderation-screen .moderation-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.moderation-screen .moderation-navigation .btn{font-size:13px}.moderation-screen .moderation-navigation .text-link{display:flex;align-items:center;min-height:44px;font-size:12px}
.moderation-screen .moderation-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.moderation-screen .moderation-queue{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;min-width:0}
.moderation-screen .moderation-queue>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.moderation-screen .moderation-queue span{font-size:13px;line-height:20px;font-weight:600}.moderation-screen .moderation-queue strong{font-size:26px;line-height:32px;letter-spacing:-.5px}
.moderation-screen .moderation-queue small{font-size:11px;line-height:18px;color:var(--muted)}
.moderation-screen .moderation-queue.active,.moderation-screen .moderation-queue:hover{border-color:var(--md-primary);background:#f0f3ff}
.moderation-screen .moderation-queue.active span{color:var(--md-primary)}
.moderation-screen .moderation-queue-note{font-size:11px;line-height:18px;margin:10px 0 22px;color:var(--muted)}
.moderation-screen .moderation-filters{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;padding:18px;margin:0 0 20px;background:var(--md-surface-low);border-radius:16px}
.moderation-screen .moderation-filters label{display:block;font-size:12px;line-height:20px;font-weight:500;color:var(--muted);min-width:0}
.moderation-screen .moderation-filters input,.moderation-screen .moderation-filters select{display:block;min-height:48px;font-size:14px;line-height:22px;margin:6px 0 0;padding:10px 12px;border-color:#b2bdcf}
.moderation-screen .moderation-filters .btn{border-radius:12px;min-height:48px;font-size:14px}
.moderation-screen .moderation-reset{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:12px;color:var(--md-primary);text-decoration:underline;text-underline-offset:3px}
.moderation-screen .moderation-guidance{padding:14px 18px;margin-bottom:24px;border-radius:12px;background:var(--md-primary-container);color:var(--md-on-primary-container)}
.moderation-screen .moderation-guidance strong{display:block;font-size:13px;line-height:20px;margin-bottom:4px}.moderation-screen .moderation-guidance p{font-size:12px;line-height:20px;margin:0}
.moderation-screen .moderation-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.moderation-screen .moderation-list-heading h2{font-size:20px;line-height:28px;margin:0}.moderation-screen .moderation-list-heading>span{font-size:12px;line-height:20px;color:var(--muted)}
.moderation-screen .moderation-list{display:flex;flex-direction:column;gap:12px}
.moderation-screen .moderation-entry{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:white}
.moderation-screen .moderation-entry-content{min-width:0}.moderation-screen .moderation-entry-category{display:flex;align-items:center;gap:8px;font-size:11px;line-height:18px;color:var(--muted)}
.moderation-screen .moderation-entry h3{font-size:19px;line-height:27px;letter-spacing:-.3px;margin:8px 0}.moderation-screen .moderation-entry h3 a:hover{color:var(--md-primary)}
.moderation-screen .moderation-entry-meta{font-size:12px;line-height:20px;margin:0 0 12px;color:var(--muted)}
.moderation-screen .moderation-entry-meta span{display:inline-block}
.moderation-screen .moderation-reasons{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.moderation-screen .moderation-reasons>span{display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;line-height:18px;font-weight:600}
.moderation-screen .reason-email{background:#fff1d3;color:#77540e}.moderation-screen .reason-unassigned{background:#ede5fa;color:#634c81}
.moderation-screen .reason-private{background:var(--md-surface-high);color:var(--md-on-surface-variant)}.moderation-screen .reason-public{background:#e5f3eb;color:#2b6d50}
.moderation-screen .moderation-next-step{font-size:12px;line-height:21px;margin:0;color:var(--muted)}.moderation-screen .moderation-next-step strong{color:var(--md-on-surface);font-weight:600}
.moderation-screen .moderation-open{align-self:flex-start;font-size:13px;white-space:nowrap}
.moderation-screen .moderation-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:36px 20px;border:1px dashed #c6cedc;border-radius:16px;background:white}
.moderation-screen .moderation-empty>.ui-icon{width:40px;height:40px;flex-basis:40px;padding:8px;border-radius:12px;background:#e5f3eb;color:#2b6d50}
.moderation-screen .moderation-empty h3{font-size:19px;line-height:26px;margin:0}.moderation-screen .moderation-empty p{font-size:13px;line-height:22px;margin:0;color:var(--muted)}
@media(min-width:600px){
 .moderation-screen .moderation-queues{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .moderation-screen .moderation-filters{grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) auto}
 .moderation-screen .moderation-reset{justify-self:start}
}
@media(min-width:840px){
 .moderation-screen .moderation-heading{flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
 .moderation-screen .moderation-navigation{justify-content:flex-end;flex-shrink:0;max-width:400px}
 .moderation-screen .moderation-entry{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}
 .moderation-screen .moderation-open{flex-shrink:0;align-self:center}
 .moderation-screen .moderation-queue{padding:18px 20px}
 .moderation-screen .moderation-filters{grid-template-columns:minmax(0,1fr) minmax(180px,.5fr) auto auto}
}
@media(max-width:359px){.moderation-screen .moderation-queues{grid-template-columns:minmax(0,1fr)}.moderation-screen .moderation-entry{padding:16px}}

/* One consistent native select affordance across public and management pages. */
body:is(.home-screen,.product-screen) select:not([multiple]):not([size]),
body:is(.home-screen,.product-screen) select[size="1"]:not([multiple]){
 -webkit-appearance:none;appearance:none;
 padding-right:48px;
 background-image:url('select-chevron.svg'),radial-gradient(circle closest-side,#eef1fa 96%,transparent 100%);
 background-repeat:no-repeat;
 background-size:20px 20px,32px 32px;
 background-position:right 10px center,right 4px center;
 cursor:pointer;
 transition:border-color .15s,box-shadow .15s;
}
body:is(.home-screen,.product-screen) select:not([multiple]):not([size]):hover:not(:disabled),
body:is(.home-screen,.product-screen) select[size="1"]:not([multiple]):hover:not(:disabled){
 border-color:var(--md-primary);
 background-image:url('select-chevron.svg'),radial-gradient(circle closest-side,#dfe6ff 96%,transparent 100%);
}
body:is(.home-screen,.product-screen) select:not([multiple]):not([size]):focus-visible,
body:is(.home-screen,.product-screen) select[size="1"]:not([multiple]):focus-visible{
 outline:2px solid var(--md-primary);outline-offset:2px;
}
body:is(.home-screen,.product-screen) select:disabled{cursor:not-allowed;opacity:.6}
@media(forced-colors:active){
 body:is(.home-screen,.product-screen) select:not([multiple]):not([size]),
 body:is(.home-screen,.product-screen) select[size="1"]:not([multiple]){appearance:auto;background-image:none;padding-right:14px}
}

/* Idea discussion review shares the moderation shell and keeps context visible. */
.idea-moderation-screen .idea-review-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:white}
.idea-moderation-screen .idea-review-context{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.idea-moderation-screen .idea-review-context>div{min-width:0}.idea-moderation-screen .idea-review-context h3{font-size:19px;line-height:27px;margin:6px 0}
.idea-moderation-screen .idea-review-context h3 a:hover{color:var(--md-primary)}.idea-moderation-screen .idea-review-context p{font-size:12px;line-height:20px;color:var(--muted);margin:0}
.idea-moderation-screen .idea-review-context>.text-link{display:flex;align-items:center;min-height:44px;font-size:12px;flex-shrink:0}
.idea-moderation-screen .idea-review-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:18px;color:var(--muted);margin:18px 0 12px}
.idea-moderation-screen .idea-review-meta .discussion-label{margin:0}
.idea-moderation-screen .idea-review-body{font-size:15px;line-height:26px;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px 18px;margin:0 0 16px;border-left:3px solid #c4cce0;border-radius:0 10px 10px 0;background:var(--md-surface-low)}
.idea-moderation-screen .idea-review-flags{padding:16px 18px;margin:16px 0;border:1px solid #ead9b7;border-radius:12px;background:#fffaef}
.idea-moderation-screen .idea-review-flags h4{font-size:13px;line-height:20px;margin:0 0 8px}.idea-moderation-screen .idea-review-flags ul{margin:0;padding-left:18px}
.idea-moderation-screen .idea-review-flags li{font-size:13px;line-height:22px;overflow-wrap:anywhere}
.idea-moderation-screen details.idea-review-decision{margin:16px 0 0;padding:16px;border-radius:12px;background:transparent}
.idea-moderation-screen .idea-review-decision .form-stack{margin:12px 0 0}.idea-moderation-screen .idea-review-decision label{margin-top:0}
.idea-moderation-screen .idea-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.idea-moderation-screen .idea-review-actions .btn{margin:0;font-size:13px}
@media(min-width:600px){
 .idea-moderation-screen .moderation-queues{grid-template-columns:repeat(3,minmax(0,1fr))}
 .idea-moderation-screen .moderation-filters{grid-template-columns:minmax(0,1fr) auto auto}
 .idea-moderation-screen .idea-review-card{padding:24px}
}
@media(max-width:359px){.idea-moderation-screen .idea-review-actions .btn{width:100%}.idea-moderation-screen .idea-review-card{padding:16px}}

/* Public preview during the municipality's 24-hour lead time. */
.release-page .release-card{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;padding:28px 20px;background:var(--md-surface-low,#f0f2fc);border:1px solid var(--md-outline-variant,#dce0ee);border-radius:28px;margin-top:24px}
.release-countdown{position:relative;width:220px;max-width:100%;aspect-ratio:1;margin:auto;color:var(--md-primary,#3958bd)}
.release-countdown svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.release-countdown circle{fill:none;stroke-width:9}.release-track{stroke:#dde3f7}.release-progress{stroke:currentColor;stroke-linecap:round;stroke-dasharray:100}
.release-clock{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.release-clock strong{font-size:32px;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.release-clock span{font-size:14px;color:var(--md-on-surface-variant,#566176)}
.release-eyebrow{font-size:13px;font-weight:700;color:var(--md-primary,#3958bd);letter-spacing:.06em;text-transform:uppercase}
.release-page .release-content h1{font-size:clamp(28px,3.4vw,48px);line-height:1.12;letter-spacing:-.04em;margin:12px 0 16px}.release-content>p{max-width:65ch;margin:0;color:var(--md-on-surface-variant,#566176);line-height:1.65}
.release-date{display:flex;flex-direction:column;gap:5px;margin-top:24px}.release-date>span,.release-date small{font-size:14px;color:var(--md-on-surface-variant,#566176)}.release-date strong{font-size:20px}
.release-facts{display:grid;gap:20px;padding:24px 4px;margin:0;border-bottom:1px solid #dce0ee}.release-facts dt{font-size:13px;color:var(--md-on-surface-variant,#566176);margin-bottom:6px}.release-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.release-hint{font-size:14px;color:var(--md-on-surface-variant,#566176)}
@media(min-width:720px){.release-page .release-card{grid-template-columns:260px minmax(0,1fr);padding:44px;gap:48px}.release-countdown{width:250px}.release-clock strong{font-size:36px}.release-facts{grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 16px}}

/* Calm, thumb-friendly capture flows. */
.entry-screen .wrap.page:has(.entry-flow) {max-width:1240px}
.entry-screen .form-stack.entry-flow {max-width:none;margin:24px 0 0}
.entry-kicker {font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--md-primary);margin:24px 0 10px}
.entry-lead {color:var(--muted)}
.entry-flow [data-entry-stage][hidden],.entry-flow [data-entry-nav][hidden],.entry-progress[hidden] {display:none!important}
.entry-progress {font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--md-primary);padding:12px 0;border-bottom:2px solid var(--md-primary-container);margin:0 0 24px}
.entry-flow [data-entry-stage]>h2 {font-size:28px;letter-spacing:-.7px;margin:0 0 10px}
.entry-flow [data-entry-stage]>p {color:var(--muted);font-size:15px;line-height:24px;margin:0 0 22px}
.entry-flow [data-entry-stage]>label:not(.checkbox):not(.entry-photo) {display:block;font-weight:600;font-size:14px;margin:22px 0 8px}
.entry-flow input:not([type=checkbox]):not([type=radio]):not([type=file]),.entry-flow textarea,.entry-flow select {width:100%}
.entry-flow fieldset {min-width:0;border:0;padding:0;margin:0}
.entry-flow .entry-categories {margin:20px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.entry-categories legend {font-size:14px;font-weight:600;margin-bottom:12px}
.entry-flow .entry-categories label {position:relative;margin:0;cursor:pointer}
.entry-categories input {position:absolute;top:16px;left:12px;width:18px;height:18px;accent-color:var(--md-primary)}
.entry-categories span {display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 12px 12px 40px;border:1px solid var(--md-outline-variant);border-radius:16px;font-size:14px;background:var(--md-surface)}
.entry-categories b {font-size:22px;color:var(--md-primary);font-weight:400}
.entry-categories input:checked+span {border-color:var(--md-primary);background:var(--md-primary-container)}
.entry-categories input:focus-visible+span {outline:2px solid var(--md-primary);outline-offset:3px}
.entry-photo {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:210px;padding:24px;border:2px dashed #aebcde;border-radius:24px;background:var(--md-surface-low);color:var(--md-primary);cursor:pointer;text-align:center}
.entry-photo>span {display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--md-primary-container);font-size:32px}
.entry-photo small {color:var(--muted);font-size:12px}
.entry-file {display:block;width:100%;font-size:13px;margin:12px 0}
.entry-flow .photo-preview {max-height:260px;max-width:100%;object-fit:contain;border-radius:18px}
.entry-navigation {display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:26px 0 10px}
.entry-navigation>.primary:only-child {margin-left:auto}
.entry-flow .idea-form-grid {display:block}
.entry-flow .idea-form-grid>.surface-card {padding:0;background:transparent;border:0;box-shadow:none}
.entry-flow .idea-form-grid>.surface-card:has(>[hidden]) {margin:0}
.entry-flow .report-location {margin-top:22px}
.entry-flow .location-confirm-bar {flex-wrap:wrap;gap:12px}
.entry-flow h2:focus {outline:none}
@media(max-width:540px) {
 .entry-screen .page-title {font-size:32px;line-height:1.15}
 .entry-flow .entry-categories {grid-template-columns:1fr}
 .entry-navigation .btn {flex:1;min-height:50px;padding:12px 18px}
 .entry-flow .location-confirm-bar .btn {width:100%}
 .entry-flow .checkbox {font-size:13px;line-height:21px}
}

/* Public review uses the same controls as the rest of the entry flow. */
.entry-review-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e2e5eb}
.entry-review-row p{margin:0;overflow-wrap:anywhere}
.entry-review-row button{flex-shrink:0;min-height:44px}
.entry-progress{font-weight:700;color:#24374a}
.status.accepted,.status.scheduled{background:#fff3cd;color:#574000}.status.fixed{background:#d9f4e4;color:#164b31}
.status.rejected,.status.not_responsible,.status.duplicate,.status.archived{background:#eeeef2;color:#353545}
@media(max-width:600px){.entry-review-row{align-items:flex-start;flex-direction:column}.feed-controls>label{width:100%}.feed-controls input,.feed-controls select{max-width:100%;min-height:44px}}

.entry-step-overview{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-left:1.5rem;color:#525f70}.entry-step-overview [aria-current=step]{font-weight:800;color:#263a79;text-decoration:underline;text-underline-offset:4px}

/* A persistent route home, with the current page kept readable on small screens. */
.site-header .breadcrumbs{display:block;flex:1;min-width:0;margin-right:auto;font-size:14px;color:#525f70}
.breadcrumbs ol{display:flex;align-items:center;gap:0;min-width:0;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;min-width:0}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;color:#263a79;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.breadcrumbs a:focus-visible{outline:2px solid #3155eb;outline-offset:3px;border-radius:3px}
.breadcrumb-separator{flex-shrink:0;padding:0 10px;color:#747e8e}
.breadcrumb-current{flex:1}
.breadcrumb-current>[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-header .header-actions{flex-shrink:0}
@media(max-width:600px){.site-header .breadcrumbs{font-size:12px}.breadcrumb-separator{padding:0 7px}.breadcrumbs .breadcrumb-parent{display:none}}

.own-entry-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.own-entry-filters [aria-current=page]{background:#e4e8ff;border-color:#3155eb;font-weight:700}

/* The ticket is a chronological log, with ownership and elapsed time as its summary. */
.ticket-log-page{max-width:1180px}
.ticket-log-heading{padding:24px 0 20px}.ticket-log-heading .page-title{max-width:920px;margin:10px 0 14px;font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-1.3px}
.ticket-responsibility{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;padding:22px 24px;background:#fff;border:1px solid #e2e5ee;border-radius:16px;margin:16px 0 30px}
.ticket-responsibility>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.log-caption{font-size:11px;font-weight:600;color:#687384;letter-spacing:.6px;text-transform:uppercase}
.ticket-owner>strong{font-size:20px;line-height:1.4;letter-spacing:-.3px;overflow-wrap:anywhere}.ticket-owner>span:not(.log-caption),.ticket-clock>span:not(.log-caption){font-size:12px;color:#687384}
.ticket-clock time{font-size:20px;line-height:1.4;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.ticket-current-status strong{font-size:14px;line-height:1.6;font-weight:600}
.ticket-log-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}
.ticket-log-main{min-width:0}.ticket-log-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:28px}.ticket-log-section-heading h2,.ticket-log-compose h2{font-size:20px;letter-spacing:-.4px;margin:0}.ticket-log-section-heading>span{font-size:12px;color:#687384}
.ticket-timeline{list-style:none;padding:0;margin:0}.ticket-log-entry{position:relative;margin-left:7px;padding:0 0 30px 27px;border-left:1px solid #dbe0e9}.ticket-log-entry:last-child{border-left-color:transparent;padding-bottom:0}.ticket-log-entry::before{content:'';position:absolute;left:-5px;top:5px;width:9px;height:9px;background:#9aa8bb;border:2px solid #f9f9ff;border-radius:50%}.ticket-log-entry.log-entry-official::before{background:#3155eb}
.log-entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#687384;margin-bottom:10px}.log-entry-meta time{font-variant-numeric:tabular-nums}.log-official-label{font-size:10px;font-weight:650;color:#294bb6;background:#edf1ff;padding:3px 7px;border-radius:5px}
.log-entry-content{padding:20px 22px;border:1px solid #e2e5ee;border-radius:12px;background:#fff}.log-entry-content h3{font-size:16px;line-height:1.5;letter-spacing:-.2px;margin:0 0 10px}.log-entry-content p{font-size:14px;line-height:1.8;margin:0 0 10px}.log-entry-content p:last-child{margin-bottom:0}.log-entry-content .log-entry-note{font-size:12px;color:#687384}.log-entry-content .report-photo{margin:16px 0 0}.log-entry-content .detail-photo{max-height:420px;object-fit:contain;width:auto;max-width:100%;border-radius:8px;margin:0}
.ticket-log-sidebar{min-width:0}.log-sidebar-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #e2e5ee}.log-sidebar-section h2{font-size:14px;letter-spacing:-.1px;margin:0 0 12px}.log-sidebar-section p{font-size:13px;line-height:1.8}.log-sidebar-section .muted{font-size:12px}.log-sidebar-section .detail-social{flex-wrap:wrap;margin:14px 0}.log-sidebar-section .detail-social .btn{font-size:12px}
.log-action-details summary{font-size:13px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.log-action-details summary::before{content:'+';font-size:18px}.log-action-details[open]>summary::before{content:'−'}.ticket-log-sidebar #status-follow{padding:0;margin:0;background:transparent;border:0;box-shadow:none}.ticket-log-sidebar #status-follow h2{display:none}.ticket-log-sidebar .form-stack{margin:12px 0}.ticket-log-sidebar .form-stack label{font-size:12px}.ticket-log-compose{border-top:1px solid #e2e5ee;margin-top:32px;padding-top:24px}.ticket-log-compose .form-stack{margin-top:12px}
@media(max-width:800px){.ticket-log-layout{grid-template-columns:minmax(0,1fr);gap:30px}.ticket-log-sidebar{border-top:1px solid #e2e5ee;padding-top:24px}.ticket-responsibility{grid-template-columns:1fr 1fr;gap:20px;padding:20px}.ticket-current-status{grid-column:1/-1;border-top:1px solid #e2e5ee;padding-top:14px}.ticket-log-section-heading{display:block}.ticket-log-section-heading>span{display:block;margin-top:6px}}
@media(max-width:450px){.ticket-responsibility{grid-template-columns:minmax(0,1fr)}.ticket-current-status{grid-column:auto}.ticket-clock time,.ticket-owner>strong{font-size:20px}.ticket-log-entry{padding-left:18px}.log-entry-content{padding:16px}.log-entry-meta{gap:4px 10px}}

.breadcrumbs a>.ui-icon{width:18px;height:18px;flex:0 0 18px;margin-right:6px}

/* One compact stepper replaces the duplicated list and progress label. */
.entry-flow .entry-step-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 28px;color:#687384}
.entry-step-overview li{display:flex;align-items:center;gap:10px;min-width:0;min-height:68px;padding:10px 14px;border:1px solid transparent;border-radius:12px;background:#f0f2f7;text-decoration:none}
.entry-step-number{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e1e5ee;color:#596579;font-size:12px;font-weight:750}
.entry-step-overview strong{display:block;font-size:13px;font-weight:600;line-height:20px}.entry-step-overview small{display:block;font-size:11px;line-height:15px;font-weight:400}
.entry-step-overview li[aria-current=step]{background:#edf0ff;border-color:#c3cdf9;color:#263a79;text-decoration:none;font-weight:600}.entry-step-overview [aria-current=step] .entry-step-number,.entry-step-overview [data-state=complete] .entry-step-number{background:#3155eb;color:white}.entry-step-overview [data-state=complete]{color:#354769}
#reportPhotoStage{width:100%;max-width:none;margin:0}.photo-step-heading h2{font-size:26px;letter-spacing:-.6px;margin:0 0 8px}.photo-step-heading p{font-size:14px;color:#687384;margin:0 0 18px;line-height:1.7}
.photo-picker{scroll-margin-top:100px}.photo-picker .entry-photo{min-height:190px;border:1.5px dashed #aebcde;border-radius:18px;margin:0;gap:9px;padding:20px;background:#f0f3fc}.photo-picker .entry-photo>.ui-icon{width:36px;height:36px;margin-bottom:6px}.photo-picker .entry-photo strong{font-size:15px}.photo-picker .entry-photo:hover{border-color:#3155eb;background:#eaf0ff}.photo-picker:focus-within .entry-photo{outline:2px solid #3155eb;outline-offset:4px}
.photo-picker.is-enhanced .entry-file{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.photo-picker [hidden]{display:none!important}.entry-photo-preview{display:flex;align-items:center;justify-content:center;height:clamp(180px,34svh,320px);background:#e9edf5;border:1px solid #dce2ee;border-radius:18px;overflow:hidden}.entry-photo-preview:focus{outline:none}.entry-flow .entry-photo-preview .photo-preview{display:block;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;image-orientation:from-image}
.photo-preview-tools{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;padding:8px 2px 0}.photo-selected-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#25694d;margin-right:auto}.photo-selected-label .ui-icon{width:17px;height:17px}.photo-preview-tools button{border:0;background:transparent;color:#354b9b;font:inherit;font-size:12px;min-height:44px;padding:6px 2px;cursor:pointer}.photo-preview-tools button:hover{text-decoration:underline}.photo-preview-tools button:focus-visible{outline:2px solid #3155eb;outline-offset:2px;border-radius:4px}.photo-status:empty{display:none}.photo-status{font-size:13px;color:#a12f32;margin:10px 0}
.photo-step-navigation{align-items:center;margin-top:16px}.photo-step-navigation>span{font-size:12px;color:#687384}.photo-step-navigation .btn{margin-left:auto}
.entry-problem:has(.photo-picker.has-photo) .entry-kicker,.entry-problem:has(.photo-picker.has-photo) .entry-lead{display:none}.entry-problem:has(.photo-picker.has-photo) .entry-page>.page-title{font-size:28px;margin:12px 0}.entry-problem:has(.photo-picker.has-photo) .entry-flow{margin-top:12px}
@media(max-width:600px){.entry-flow .entry-step-overview{gap:5px;margin-bottom:20px}.entry-step-overview li{flex-direction:column;justify-content:flex-start;gap:5px;min-height:76px;padding:9px 3px;text-align:center}.entry-step-overview strong{font-size:11px;line-height:17px}.entry-step-overview small{font-size:10px}.entry-step-number{width:24px;height:24px;flex-basis:24px;font-size:11px}.photo-step-heading h2{font-size:23px}.photo-picker .entry-photo{min-height:165px}.entry-photo-preview{height:clamp(160px,32svh,260px)}.photo-step-navigation>span{display:none}.entry-problem .entry-kicker{margin-top:12px}.entry-problem .entry-flow{margin-top:18px}}

.site-header .header-actions{gap:8px}
.entry-menu>summary{background:#3155eb;color:#fff;font-weight:650;cursor:pointer}.entry-menu>summary:hover{background:#2848cc}.entry-menu>summary:focus-visible{outline:2px solid #3155eb;outline-offset:3px}.entry-menu>summary>.ui-icon{width:20px;height:20px;flex:0 0 20px}
.entry-menu-panel{z-index:1400;background:#fff}.entry-menu-panel a{gap:12px}.entry-menu-panel a>.ui-icon{width:24px;height:24px;flex:0 0 24px;color:#3155eb}.entry-menu-panel strong{display:block;font-size:14px;font-weight:650;line-height:22px}.entry-menu-panel small{display:block;font-size:11px;line-height:18px;color:#687384}
@media(max-width:600px){.entry-menu>summary{width:auto;min-height:44px;padding:10px 12px;gap:5px;font-size:12px}.entry-menu>summary>span{display:inline}.entry-menu>summary>.ui-icon{width:18px;height:18px;flex-basis:18px}}

.ticket-reference{display:inline-block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:650;letter-spacing:.5px;color:#52647c;background:#edf0f6;padding:3px 7px;border-radius:5px;margin-right:8px;white-space:nowrap}.ticket-reference-bar{padding-top:16px}.ticket-reference-bar+.wrap.page{padding-top:16px}

.follow-dialog:not([open]){display:none}.follow-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid #e2e5ee;border-radius:22px;background:#fff;color:#17213a;box-shadow:0 24px 90px #17213a33;overflow-y:auto;text-align:left}
.follow-dialog::backdrop{background:rgba(20,30,51,.48);backdrop-filter:blur(3px)}.has-follow-dialog{overflow:hidden}
.follow-dialog h2{font-size:26px;line-height:1.25;letter-spacing:-.6px;margin:16px 40px 8px 0}.follow-dialog p{font-size:14px;line-height:1.7}.follow-dialog-context{font-weight:600;color:#52647c;overflow-wrap:anywhere}.follow-dialog .form-stack{margin:20px 0 0;gap:8px}.follow-dialog .form-stack label{margin-top:6px}.follow-dialog .checkbox{font-size:13px;line-height:1.6;margin-top:12px}.follow-dialog .checkbox input{display:inline-block;width:auto;margin-top:4px}.follow-dialog .form-stack>.btn{width:100%;margin-top:6px;min-height:48px}.follow-dialog .muted{font-size:12px}.follow-dialog .follow-field-error{font-size:12px;color:#ab2835;margin:0}
.follow-dialog-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f0f2f7;color:#52647c;font-size:26px;line-height:1;cursor:pointer}.follow-dialog-close:hover{background:#e2e7f1}.follow-account-option{padding:16px;background:#f4f6fb;border-radius:12px;margin-top:20px}.follow-account-option p{margin-top:0}.follow-other-email{margin:18px 0 0!important}.follow-other-email summary{font-size:13px;cursor:pointer}
@media(max-width:500px){.follow-dialog{padding:24px 20px;border-radius:18px}.follow-dialog h2{font-size:24px}}

.follow-feedback:empty{display:none}.follow-dialog .follow-feedback{font-size:13px;color:#354b9b;margin:12px 0}

/* Prominent notifications sit above the top bar, with persistent success feedback. */
#toast.site-toast{position:relative;top:auto;right:auto;bottom:auto;left:auto;display:none;align-items:center;gap:14px;width:100%;max-width:none;min-height:64px;padding:10px max(24px,calc((100% - 1240px)/2));margin:0;border:0;border-radius:0;background:#294694;color:#fff;box-shadow:0 3px 12px #17213a1a;font-size:15px;font-weight:600;line-height:1.6;transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:none;z-index:2500}
#toast.site-toast.visible{display:flex;transform:none}#toast.site-toast.notification-ready{position:sticky;top:0}
#toast.site-toast[data-toast-kind=success]{background:#197452}
#toast[data-toast-kind=success]::before{content:'✓';display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#ffffff26;color:#fff;font-size:18px;font-weight:750}
#toast [data-toast-message]{min-width:0;flex:1;overflow-wrap:anywhere}
#toast [data-toast-dismiss]{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;margin:0;border:0;border-radius:50%;background:#ffffff18;color:#fff;font-size:26px;line-height:1;cursor:pointer}
#toast [data-toast-dismiss][hidden]{display:none}#toast [data-toast-dismiss]:hover{background:#ffffff30}#toast [data-toast-dismiss]:focus-visible{outline:2px solid #fff;outline-offset:2px}
.home-screen:has(#toast.visible) .site-header{top:var(--notice-height,64px)}
@media(max-width:600px){#toast.site-toast{padding:10px 16px;font-size:14px;gap:10px}}

/* Framework-independent pagination for every list, including administration. */
.r360-pagination,.pagination nav.r360-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%;margin:24px 0;padding:0;font-size:13px;font-weight:400}
.r360-pagination .pagination-summary{margin:0;color:#687384;font-size:12px;line-height:1.8}.r360-pagination .pagination-summary span{white-space:nowrap}
.r360-pagination .pagination-pages{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.r360-pagination a,.r360-pagination span{margin:0}
.r360-pagination .page-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:42px;padding:8px 12px;border:1px solid #dce2ed;border-radius:10px;background:#fff;color:#354769;font-size:13px;font-weight:600;text-decoration:none;line-height:24px}
.r360-pagination a.page-button:hover{background:#edf0ff;border-color:#bac6f0}.r360-pagination a:focus-visible{outline:2px solid #3155eb;outline-offset:3px}
.r360-pagination .page-button[aria-current=page]{background:#3155eb;border-color:#3155eb;color:#fff}.r360-pagination .page-button[aria-disabled=true]{background:transparent;color:#9aa3b2;border-color:#e7eaf1}
.r360-pagination .page-ellipsis{padding:0 3px;color:#687384}
@media(max-width:600px){.r360-pagination,.pagination nav.r360-pagination{flex-direction:column;align-items:flex-start;gap:12px}.r360-pagination .pagination-pages{gap:4px}.r360-pagination .page-button{min-width:40px;min-height:44px;padding:8px 10px}}
@media(max-width:480px){.r360-pagination .page-number:not([aria-current]),.r360-pagination .page-ellipsis{display:none}.r360-pagination .page-step{min-width:96px}.r360-pagination .pagination-pages{width:100%;justify-content:space-between}}

/* Discovery controls stay tucked away until requested. */
.home-screen .feed-heading{align-items:center;gap:16px}.feed-heading-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.feed-heading-actions #resultCount{font-size:12px;color:#687384;white-space:nowrap}
.feed-filter-toggle{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:10px;border:1px solid #dce2ed;border-radius:12px;background:#fff;color:#52647c;cursor:pointer}.feed-filter-toggle .ui-icon{width:22px;height:22px}.feed-filter-toggle:hover,.feed-filter-toggle[aria-expanded=true],.feed-filter-toggle.has-active-filters{background:#edf0ff;border-color:#bdc8f3;color:#3155eb}.feed-filter-toggle:focus-visible{outline:2px solid #3155eb;outline-offset:3px}
.filter-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #f9f9ff;border-radius:10px;background:#3155eb;color:#fff;font-size:10px;font-weight:700}.filter-count[hidden]{display:none}
.home-screen .feed-controls[hidden]{display:none!important}.home-screen .feed-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;margin:0 0 20px;padding:20px;border:1px solid #e0e5ef;border-radius:16px;background:#f1f3f9}
.home-screen .feed-controls>label,.home-screen .feed-controls .filter-type-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;font-size:12px;font-weight:600;color:#52647c}.home-screen .feed-controls .filter-search{grid-column:1/-1}.filter-field-label{font-size:12px;line-height:19px}
.home-screen .feed-controls input,.home-screen .feed-controls select,.home-screen .feed-controls .status-select select{box-sizing:border-box;width:100%;height:48px;min-height:48px;margin:0;border:1px solid #d6deec;border-radius:10px;background-color:#fff;padding:10px 14px;font-size:13px;line-height:24px;color:#24334c;font-weight:400}.home-screen .feed-controls select{padding-right:40px}
.home-screen .feed-controls .type-filters{display:flex;gap:4px;margin:0;padding:0;min-height:48px}.home-screen .feed-controls .type-filters button{flex:1;box-sizing:border-box;height:48px;min-height:48px;margin:0;padding:10px 8px;border:1px solid #d6deec;border-radius:10px;background:#fff;font-size:12px;line-height:24px}.home-screen .feed-controls .type-filters button.active{background:#e1e7ff;border-color:#b6c4f4;color:#294ab3}
.home-screen .feed-controls .reset-filters{grid-column:1/-1;justify-self:start;height:40px;min-height:40px;margin:0;padding:6px 0;font-size:12px;background:transparent;border:0}.home-screen .feed-controls .reset-filters[hidden]{display:none}
@media(max-width:600px){.home-screen .feed-heading h2{font-size:17px}.feed-heading-actions{gap:8px}.home-screen .feed-controls{padding:16px;gap:14px;grid-template-columns:minmax(0,1fr)}.home-screen .feed-controls>label{width:auto}.home-screen .feed-controls .filter-search,.home-screen .feed-controls .reset-filters{grid-column:auto}}

.account-follow-form{display:inline-flex;margin:0;padding:0}.account-follow-form .btn{min-height:48px}

.detail-location-section{width:100%;margin:24px 0 32px}.detail-location-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.detail-location-heading h2{font-size:18px;line-height:1.5;letter-spacing:-.3px;margin:0}.detail-location-heading p{font-size:13px;color:#687384;margin:0}
.detail-location-panel{overflow:hidden;border:1px solid #dce2ed;border-radius:16px;background:#fff}.detail-location-panel .map-wrap{height:auto!important;border-radius:0;overflow:hidden}.detail-location-panel [data-detail-map]{height:clamp(340px,52vh,540px);width:100%;z-index:0;background:#e9edf4}.detail-location-panel .map-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:56px;padding:8px 12px;border-bottom:1px solid #e2e5ee}.detail-location-panel .map-navigation{display:flex;gap:6px;border:0!important;box-shadow:none!important;margin-left:auto}.detail-location-panel .map-navigation button{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;border:0;border-radius:10px;background:#f0f3fa;font-size:12px;gap:6px}.detail-location-panel .map-navigation .ui-icon{width:20px;height:20px}.detail-location-panel .leaflet-control{margin:0}.detail-location-panel .leaflet-control-layers{font-size:12px;box-shadow:none;border:0;background:transparent}.detail-location-panel .map-expanded [data-detail-map],.detail-location-panel.map-expanded [data-detail-map]{height:calc(100dvh - 80px)!important}
.detail-location-marker span{display:block;width:28px;height:28px;border:5px solid white;border-radius:50%;background:#3155eb;box-shadow:0 2px 12px #17213a66}.detail-location-coordinates{font-size:12px;color:#687384;margin:10px 0 0}
@media(max-width:600px){.detail-location-panel [data-detail-map]{height:340px}.detail-location-panel .map-navigation .control-label{display:none}.detail-location-heading{display:block}.detail-location-heading p{margin-top:4px}}

/* Original content is the ticket's lead story, separate from later activity. */
.report-origin{display:grid;grid-template-columns:minmax(0,1fr);margin:24px 0 32px;background:#fff;border:1px solid #dfe5ef;border-radius:20px;overflow:hidden}.report-origin-with-photo{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}
.report-origin-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px}.report-origin-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.1px;text-transform:uppercase;color:#526ba8}.report-origin h2{font-size:27px;line-height:1.3;letter-spacing:-.7px;margin:12px 0 18px}.report-origin-description{font-size:17px;line-height:1.85;color:#29384f;max-width:75ch;margin:0 0 28px}.report-origin-footer{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding-top:18px;border-top:1px solid #e8ecf2;width:100%;font-size:11px;line-height:1.7;color:#748094}.report-origin-footer time{font-size:12px;color:#52647c}
.report-origin-photo{display:flex;flex-direction:column;min-width:0;margin:0;background:#edf1f7;border-left:1px solid #e2e7ef}.report-origin-image-link{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;height:100%;padding:20px}.report-origin-image-link img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:10px}.report-origin-image-link:focus-visible{outline:3px solid #3155eb;outline-offset:-4px}.report-origin-zoom{position:absolute;right:16px;bottom:16px;padding:7px 11px;border:1px solid #e0e5ef;border-radius:9px;background:#ffffffed;color:#354b78;font-size:11px;font-weight:600;box-shadow:0 2px 8px #17213a10}.report-origin-photo figcaption{padding:10px 18px;font-size:11px;line-height:1.6;color:#687384}.report-origin-photo figcaption a{text-decoration:underline}
.ticket-log-entry.log-entry-milestone .log-entry-content{background:transparent;border:0;border-radius:0;padding:0}.ticket-log-entry.log-entry-milestone h3{font-size:14px;margin:0;color:#52647c}
@media(max-width:760px){.report-origin-with-photo{grid-template-columns:minmax(0,1fr)}.report-origin-photo{order:-1;border-left:0;border-bottom:1px solid #e2e7ef}.report-origin-image-link{min-height:0;padding:14px}.report-origin-image-link img{max-height:380px}.report-origin-content{padding:24px}.report-origin h2{font-size:24px;margin-bottom:14px}.report-origin-description{font-size:16px;line-height:1.8}}

/* Shared connected process for reports and ideas. */
.entry-flow .entry-step-overview{gap:30px}
.entry-step-overview li{position:relative;overflow:visible}
.entry-step-overview li:not(:last-child)::after{content:'→';position:absolute;left:calc(100% + 1px);top:50%;width:28px;transform:translateY(-50%);text-align:center;font-size:21px;font-weight:500;color:#a5afc2;pointer-events:none}
.entry-step-overview li[data-state=complete]{background:#eaf1ff;border-color:#ccd9f6}
.entry-step-overview li[data-state=complete]::after{color:#3155eb}
.entry-step-overview li[aria-current=step]{box-shadow:0 0 0 1px #c3cdf9}
.entry-idea .entry-kicker{font-size:14px;letter-spacing:.1em;font-weight:750;color:#3856b8;margin:22px 0 14px}
.entry-idea .entry-lead{color:var(--muted);font-size:16px;line-height:1.7}
.entry-flow .idea-photo-heading{margin-top:28px}.idea-photo-heading h3{margin-bottom:8px}
.entry-flow .idea-summary{background:#f0f3fc;border:1px solid #dce2ee;border-radius:16px;padding:20px;margin:24px 0}
.entry-flow .idea-summary h2{font-size:20px;margin-top:0}
@media(max-width:600px){.entry-flow .entry-step-overview{gap:17px}.entry-step-overview li:not(:last-child)::after{width:15px;font-size:16px}.entry-step-overview li{min-height:82px}.entry-idea .entry-kicker{margin-top:12px}.entry-idea .entry-flow{margin-top:18px}}

.product-screen .unavailable-page{max-width:900px;min-height:50vh;padding-top:48px;padding-bottom:64px}.unavailable-page .page-title{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-1px}.unavailable-page .page-lead{max-width:650px}.unavailable-page .info-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.unavailable-page>.muted{font-size:13px;max-width:650px}@media(max-width:600px){.product-screen .unavailable-page{padding-top:28px}.unavailable-page .info-actions{align-items:stretch;flex-direction:column}}

/* Shared location controls also remain styled on idea and release pages. */
.detail-map-actions{display:flex;gap:16px;align-items:center;padding:8px 0}.detail-map-actions button,.detail-map-actions a{background:transparent;border:0;font:inherit;font-size:13px;color:#354f9b;cursor:pointer;min-height:36px;padding:0}[data-detail-map].leaflet-container{touch-action:pan-y!important}.detail-map-expanded{min-height:450px}.detail-map-expanded #detailLocationMap{height:450px}
/* Shared public status tones: the feed, map and report edge use the same evidence. */
.ticket-row[data-status-tone=rose]{--ticket-color:var(--tw-color-rose-600,#e11d48)!important;--ticket-surface:#fff1f2;--ticket-hover:#ffe4e6;border-left-color:var(--ticket-color)!important}.ticket-row[data-status-tone=amber]{--ticket-color:var(--tw-color-amber-500,#f59e0b)!important;--ticket-surface:#fffbeb;--ticket-hover:#fef3c7;border-left-color:var(--ticket-color)!important}.ticket-row[data-status-tone=blue]{--ticket-color:var(--tw-color-blue-600,#2563eb)!important;--ticket-surface:#eff6ff;--ticket-hover:#dbeafe;border-left-color:var(--ticket-color)!important}.ticket-row[data-status-tone=emerald]{--ticket-color:var(--tw-color-emerald-600,#059669)!important;--ticket-surface:#ecfdf5;--ticket-hover:#d1fae5;border-left-color:var(--ticket-color)!important}.ticket-row[data-status-tone=slate]{--ticket-color:var(--tw-color-slate-500,#64748b);--ticket-surface:#f1f5f9;--ticket-hover:#e2e8f0;border-left-color:var(--ticket-color)!important}
.status[data-status-tone=rose]{color:#be123c!important;background:#fff1f2!important}.status[data-status-tone=amber]{color:#92400e!important;background:#fffbeb!important}.status[data-status-tone=blue]{color:#1d4ed8!important;background:#eff6ff!important}.status[data-status-tone=emerald]{color:#047857!important;background:#ecfdf5!important}.status[data-status-tone=slate]{color:#475569!important;background:#f1f5f9!important}
.dot[data-status-tone=rose],.pin[data-status-tone=rose]{background:var(--tw-color-rose-600,#e11d48)!important}.dot[data-status-tone=amber],.pin[data-status-tone=amber]{background:var(--tw-color-amber-500,#f59e0b)!important}.dot[data-status-tone=blue],.pin[data-status-tone=blue]{background:var(--tw-color-blue-600,#2563eb)!important}.dot[data-status-tone=emerald],.pin[data-status-tone=emerald]{background:var(--tw-color-emerald-600,#059669)!important}.dot[data-status-tone=slate],.pin[data-status-tone=slate]{background:var(--tw-color-slate-500,#64748b)!important}

/* Keep the detail map layer picker beside the navigation controls. */
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers{flex:0 0 auto;order:3;margin-left:auto;padding:0!important;border:0!important}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-toggle{display:flex;align-items:center;justify-content:center;min-height:48px;height:48px;padding:0 16px;border-radius:12px;background:var(--md-surface-low);color:var(--md-primary)}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-toggle::before{content:'Kartenansicht'}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-expanded{flex-basis:100%;margin-left:0;padding:12px!important;border-radius:12px;background:var(--md-surface-low)}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}
@media(max-width:500px){
.product-screen .detail-location-panel .map-toolbar .map-navigation{flex-wrap:nowrap;gap:4px}
.product-screen .detail-location-panel .map-toolbar .map-navigation button{width:40px;min-width:40px;height:44px;min-height:44px;padding:8px}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-zoom a{width:40px!important;height:44px!important;line-height:44px!important}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-toggle{height:44px;min-height:44px;padding:0 12px}
.product-screen .detail-location-panel .map-toolbar .leaflet-control-layers-toggle::before{content:'Karten'}
}

@media(max-width:600px){
.playful-error-screen .breadcrumbs{flex-shrink:0}
.playful-error-screen .breadcrumbs .breadcrumb-parent,
.playful-error-screen .breadcrumbs .breadcrumb-current{display:none}
}

/* Public idea colors follow the same four-state palette as API, list and map. */
.product-screen .idea-ticket[data-status-tone]{background:var(--ticket-surface)!important}
.product-screen .idea-ticket[data-status-tone]:hover{background:var(--ticket-hover)!important}
.dot.submitted,.pin.submitted{background:var(--tw-color-rose-600,#e11d48)!important}
.dot.discussion,.pin.discussion{background:var(--tw-color-amber-500,#f59e0b)!important}
.dot.paused,.pin.paused{background:var(--tw-color-blue-600,#2563eb)!important}
.dot.closed,.pin.closed,.dot.done,.pin.done{background:var(--tw-color-emerald-600,#059669)!important}

.map-key .map-legend-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;flex-basis:100%}
.map-key .map-legend-group>span{display:inline-flex;align-items:center;gap:5px}
.map-key .map-legend-group>strong{min-width:65px;font-size:inherit}

/* Authentication stays in context; native dialog supplies focus containment. */
.auth-dialog{width:min(460px,calc(100% - 24px));padding:28px;border:1px solid var(--line);border-radius:20px;max-height:calc(100dvh - 24px);overflow:auto}
.auth-dialog-close{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;font-size:28px;color:var(--muted)}
.auth-dialog .auth-dialog-eyebrow{margin:0 38px 10px 0;font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--md-primary)}
.auth-dialog h2{margin:0;padding-right:28px;font-size:25px;letter-spacing:-.6px;line-height:1.2}
.auth-dialog .auth-dialog-context{margin:12px 0 18px;font-size:14px;line-height:1.5}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#edf0f8;border-radius:12px;margin-bottom:18px}
.auth-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;font-size:14px;font-weight:600;color:var(--muted)}
.auth-tabs button[aria-selected=true]{background:white;color:var(--navy);box-shadow:0 1px 4px #17213a14}
.auth-dialog [role=tabpanel][hidden]{display:none}
.auth-dialog form>.btn{width:100%;min-height:44px;margin-top:18px}
.auth-dialog .auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;line-height:1.5}
.auth-dialog .auth-remember input{width:18px;height:18px;margin:0;flex-shrink:0}
.auth-dialog .auth-link-hint{font-size:12px;line-height:1.5}
.auth-dialog .auth-feedback{font-size:13px;line-height:1.5;margin:14px 0 0;color:var(--md-primary)}
.auth-dialog .auth-feedback:empty{display:none}
.auth-dialog-open{overflow:hidden}
.vote .vote-heart{display:inline-flex;color:#64748b}.vote .vote-heart .ui-icon{width:21px;height:21px;flex:none}
.vote.voted .vote-heart{color:#e11d48}.vote.voted .vote-heart svg{fill:currentColor}
@media(max-width:400px){.auth-dialog{padding:22px}.auth-dialog h2{font-size:23px}}

/* Search only accessible municipalities; the full catalogue stays on the server. */
.dashboard-screen .municipality-switch .municipality-search-row{display:flex;gap:8px;align-items:flex-start}
.dashboard-screen .municipality-search-field{position:relative;flex:1;min-width:0}
.dashboard-screen .municipality-search-field input[type=search]{width:100%;min-height:48px;font-size:14px;padding:10px 12px}
.dashboard-screen .municipality-search-results{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow-y:auto;list-style:none;padding:5px;margin:0;border:1px solid var(--md-outline-variant);border-radius:12px;background:#fff;box-shadow:0 8px 24px #1d29451f}
.dashboard-screen .municipality-search-results[hidden]{display:none}
.dashboard-screen .municipality-search-results li{padding:10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.4}
.dashboard-screen .municipality-search-results li:hover,.dashboard-screen .municipality-search-results li[aria-selected=true]{background:var(--md-surface-container)}
.dashboard-screen .municipality-search-results li span,.dashboard-screen .municipality-search-hint{color:var(--muted);font-size:12px;line-height:1.5}
.dashboard-screen .municipality-search-hint{margin:6px 0 0}
@media(max-width:600px){.dashboard-screen .municipality-search-row{flex-wrap:wrap}.dashboard-screen .municipality-search-field{flex-basis:100%}}

.discovery-location-open{overflow:hidden}
.discovery-location-dialog{padding:30px;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto}
.discovery-location-dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:12px 0}
.discovery-location-dialog .eyebrow{font-size:11px}
.discovery-location-dialog p{line-height:1.6}
.discovery-location-search{display:flex;gap:8px;align-items:center}
.discovery-location-search input{flex:1;min-width:0;min-height:48px;margin:0}
.discovery-location-search .btn{flex-shrink:0;min-height:48px;padding:10px 16px}
.discovery-place-results{list-style:none;margin:10px 0 0;padding:4px;max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}
.discovery-place-results[hidden]{display:none}
.discovery-place-results li{display:flex;flex-direction:column;gap:3px;padding:10px;cursor:pointer;font-size:14px;border-radius:8px}
.discovery-place-results li span{font-size:12px;color:var(--muted)}
.discovery-place-results li:hover,.discovery-place-results li[aria-selected=true]{background:#eef1ff}
.discovery-location-dialog .discovery-location-feedback{font-size:13px;margin:10px 0;min-height:0}
.discovery-location-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0}
.discovery-location-divider:before,.discovery-location-divider:after{content:'';height:1px;background:var(--line);flex:1}
.discovery-location-dialog .discovery-locate{display:flex;width:100%;justify-content:center;gap:8px;min-height:50px}
.discovery-location-dialog .discovery-location-privacy{font-size:12px;margin:10px 0 16px}
.discovery-location-later{display:block;margin:0 auto;border:0;background:transparent;color:var(--primary);text-decoration:underline;padding:8px;font:inherit;font-size:13px;cursor:pointer}
@media(max-width:420px){.discovery-location-dialog{padding:24px 20px}.discovery-location-dialog h2{font-size:26px}}
.discovery-location-dialog h2:focus{outline:none}

/* Compact mobile actions leave the available width to the breadcrumb. */
@media(max-width:600px){
 .site-header .header-actions>.account-menu>summary,.site-header .header-actions>.header-login{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;gap:0;justify-content:center}
 .site-header .header-actions>.account-menu>summary>span,.site-header .header-actions>.header-login>.header-action-label{display:none}
 .site-header .header-actions>.account-menu>summary>.ui-icon,.site-header .header-actions>.header-login>.ui-icon{display:block;width:22px;height:22px;flex-basis:22px}
 .site-header .breadcrumbs a>.ui-icon{margin-right:0}
}

/* Consistent feed cards: reserved image column and a shared action row. */
.home-screen .ticket-row.public-feed-card,.home-screen .ticket-row.public-feed-card:hover{display:block;padding:0!important;overflow:hidden}
.home-screen .public-feed-card .public-feed-body{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;padding:20px}
.home-screen .public-feed-card .public-feed-body.has-photo{grid-template-columns:minmax(0,1fr) 144px}
.home-screen .public-feed-card .ticket-photo{display:block;width:100%;height:120px;min-width:0;margin:0;border-radius:12px;overflow:hidden;background:#f0f3fa;position:relative}
.home-screen .public-feed-card .ticket-photo img{display:block;width:100%;height:100%;object-fit:cover}
.home-screen .public-feed-card .ticket-photo-placeholder{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#7d899f}
.home-screen .public-feed-card .ticket-photo-placeholder .ui-icon{width:28px;height:28px}
.home-screen .public-feed-card .ticket-photo-placeholder small{font-size:12px;text-align:center}
.home-screen .public-feed-card .ticket-content{padding:0;min-width:0;width:auto}
.home-screen .public-feed-card .ticket-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:0}
.home-screen .public-feed-card .public-feed-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px;border-top:1px solid #e3e8f1;background:#fff}
.home-screen .public-feed-card .list-action{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;margin:0;padding:9px 6px;border:1px solid #e1e7f0;border-radius:9px;background:#fff;color:#445572;font-size:13px;line-height:20px;font-weight:600;white-space:nowrap;text-decoration:none;box-shadow:none;cursor:pointer}
.home-screen .public-feed-card .list-action strong{font-size:14px;line-height:20px}
.home-screen .public-feed-card .list-action .ui-icon{display:block;width:22px;height:22px;flex:0 0 22px;transition:transform .18s ease}
.home-screen .public-feed-card .list-action:hover{background:#f5f7fc}
.home-screen .public-feed-card .list-action:hover .ui-icon{transform:translateY(-2px)}
.home-screen .public-feed-card .list-action.voted,.home-screen .public-feed-card .list-follow[data-subscribed="1"]{background:#fff1f2;color:#e11d48;border-color:#fecdd3}
.home-screen .public-feed-card .list-follow[data-subscribed="1"]>.ui-icon{fill:currentColor}
.home-screen .public-feed-card .list-action:focus-visible{outline:3px solid #3155eb;outline-offset:2px}
.home-screen .public-feed-card .list-action[aria-busy=true]{opacity:.65;cursor:wait}
@media(max-width:600px){
 .home-screen .public-feed-card .public-feed-body{gap:12px;padding:14px}
 .home-screen .public-feed-card .public-feed-body.has-photo{grid-template-columns:minmax(0,1fr) 80px}
 .home-screen .public-feed-card .ticket-photo{height:80px;border-radius:9px}
 .home-screen .public-feed-card .ticket-photo>span{font-size:8px;padding:2px 4px;left:4px;bottom:4px}
 .home-screen .public-feed-card .ticket-title{font-size:17px;line-height:1.3}
 .home-screen .public-feed-card .ticket-heading{gap:5px;margin-bottom:8px}
 .home-screen .public-feed-card .ticket-location{font-size:11px}
 .home-screen .public-feed-card .ticket-status{gap:6px;flex-wrap:wrap}
 .home-screen .public-feed-card .status-age{font-size:11px}
 .home-screen .public-feed-card .public-feed-actions{padding:10px 12px;gap:7px}
 .home-screen .public-feed-card .list-action-label{display:none}
 .home-screen .public-feed-card .list-action{gap:5px}
}
@media(prefers-reduced-motion:reduce){.home-screen .public-feed-card .list-action .ui-icon{transition:none}}

.idea-point-dialog{width:calc(100% - 32px);max-width:680px;max-height:85dvh;padding:24px;border:0;border-radius:18px;overflow-y:auto;background:#fff;color:#25334a}
.idea-point-dialog::backdrop{background:#17213a88}
.idea-point-dialog form{margin:16px 0;padding:16px;border:1px solid #dce3ef;border-radius:12px}
.idea-point-dialog textarea{display:block;width:100%;min-height:90px;margin:8px 0 12px;font-weight:400}
.idea-point-dialog form .btn{margin:4px 8px 4px 0}

.idea-point-dialog [data-point-close][aria-label]{width:44px;height:44px;min-width:44px;padding:0;flex-shrink:0;font-size:24px}

/* Idea synthesis: the same three panels in public details and the editor. */
.idea-argument-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.idea-argument-panel{min-width:0;border:1px solid #dce3ef;border-radius:16px;background:#fff;overflow:hidden;--argument-color:#059669;--argument-surface:#ecfdf5}
.idea-argument-panel-question{--argument-color:#3155eb;--argument-surface:#eef2ff}
.idea-argument-panel-concern{--argument-color:#e11d48;--argument-surface:#fff1f2}
.idea-argument-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;position:static;height:auto;min-height:60px;margin:0;padding:16px 20px;border:0;border-top:4px solid var(--argument-color);background:var(--argument-surface);z-index:auto}
.idea-argument-heading h3{margin:0;font-size:18px;line-height:24px;letter-spacing:0;color:var(--argument-color)}
.idea-argument-count{display:flex;min-width:28px;height:28px;align-items:center;justify-content:center;padding:0 8px;border-radius:20px;background:#fff;font-size:13px;font-weight:700;color:var(--argument-color)}
.idea-argument-empty{margin:0;padding:20px;font-size:14px;color:#68778f}
.idea-argument-list>li{overflow-wrap:anywhere}
.idea-argument-list textarea,.idea-argument-list select{max-width:100%;min-width:0}
@media(min-width:900px){.idea-argument-panels{grid-template-columns:repeat(3,minmax(0,1fr))}}

.idea-point-loading{display:flex;align-items:center;gap:12px;padding:20px 0;color:#435682;font-weight:600}
.idea-point-loading[hidden]{display:none}
.idea-point-spinner{width:26px;height:26px;flex:0 0 26px;border:3px solid #dfe5ff;border-top-color:#3155eb;border-radius:50%;animation:idea-point-spin .8s linear infinite}
@keyframes idea-point-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.idea-point-spinner{animation:none}}
.idea-point-dialog [hidden]{display:none!important}

.idea-argument-panels{align-items:stretch}
.idea-argument-panel{display:flex;flex-direction:column}
.idea-argument-footer{display:block;margin:0;margin-top:auto;padding:12px 16px;border:0;border-top:1px solid #e3e8f1;background:#fff}
.idea-argument-add{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 12px;border:1px solid #dce3ef;border-radius:10px;background:#fff;color:var(--argument-color);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.idea-argument-add:hover{background:var(--argument-surface)}
.idea-argument-add:focus-visible{outline:3px solid #3155eb;outline-offset:2px}
.idea-argument-add:disabled{opacity:.55;cursor:not-allowed}
#idea-point-add-dialog [data-point-add-close][aria-label]{width:44px;height:44px;min-width:44px;padding:0;font-size:24px}

.idea-point-dialog form.idea-point-confirmed{padding:18px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;animation:idea-point-confirmed .3s ease-out}
.idea-point-dialog form.idea-point-confirmed[data-point-state=accepted][data-point-kind=positive]{background:#ecfdf5;border-color:#6ee7b7;color:#047857}
.idea-point-dialog form.idea-point-confirmed[data-point-state=accepted][data-point-kind=concern]{background:#fff1f2;border-color:#fda4af;color:#be123c}
.idea-point-dialog form.idea-point-confirmed[data-point-state=accepted][data-point-kind=question]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.idea-point-confirmed-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.idea-point-confirmed-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ffffffb3;font-size:13px;font-weight:700}
.idea-point-dialog .idea-point-confirmed-text{margin:0;font-size:17px;line-height:1.55;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit}
.idea-point-dialog .idea-point-confirmed-note{margin:12px 0 0;font-size:13px;line-height:1.5;color:inherit}
@keyframes idea-point-confirmed{from{opacity:.4;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.idea-point-dialog form.idea-point-confirmed{animation:none}}

.entry-flow .entry-finish-explanation>.entry-finish-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:18px 0 8px;font-size:14px;font-weight:600;color:#3858a1}
.entry-flow .entry-finish-flow small{font-size:12px;font-weight:400}
.entry-flow .entry-finish-explanation>.entry-finish-note,.entry-flow .entry-finish-explanation>.entry-finish-privacy{margin:6px 0 14px;font-size:13px;line-height:1.5}
.confirmation-publication-note{margin:24px 0;padding:20px;border:1px solid #dce3ef;border-radius:14px;background:#f8faff}
.confirmation-publication-note h2{margin:0 0 14px;font-size:20px}
.confirmation-publication-note p{font-size:15px;line-height:1.6}
.confirmation-publication-note p:last-child{margin-bottom:0}

.comment-moderation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.comment-moderation-actions>form{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.comment-moderation-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:720px;max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:18px;padding:24px;background:#fff;color:#25334a;box-shadow:0 24px 80px #0f172a40}
.comment-moderation-dialog::backdrop{background:#14203db3}
.comment-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.comment-dialog-heading h2{margin:0;font-size:23px}
.comment-moderation-dialog textarea{box-sizing:border-box;width:100%;font:inherit;line-height:1.6}
.comment-original-history{margin:16px 0;padding:14px;border:1px solid #dce3ef;border-radius:12px;background:#f8fafc}
.comment-original-history h3{font-size:14px}.comment-original-history p{font-size:14px;overflow-wrap:anywhere}
