:root{--bg:#f6f7f9;--surface:#fff;--text:#17202a;--muted:#66717d;--border:#e1e5ea;--primary:#174a7e;--primary-dark:#10365d;--danger:#a32727;--success-bg:#edf7f0;--success-text:#285d36;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}a{color:var(--primary)}button,input,textarea{font:inherit}.page{width:min(100% - 32px,1080px);margin:0 auto;padding:40px 0 64px}.narrow{width:min(100% - 32px,620px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 8px 28px #14212d0e}h1,h2,h3{margin-top:0;line-height:1.2}h1{margin-bottom:8px;font-size:clamp(1.8rem,4vw,2.4rem)}h2{margin-bottom:16px;font-size:1.25rem}p{line-height:1.55}.muted{color:var(--muted)}.form-group{margin:24px 0}.label{margin-bottom:10px;font-weight:700;display:block}.input,.textarea{width:100%;color:var(--text);background:#fff;border:1px solid #aeb8c2;border-radius:8px;padding:12px 13px}.input:focus,.textarea:focus{border-color:var(--primary);outline:3px solid #174a7e2e}.textarea{resize:vertical;min-height:105px}.rating-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.rating-option input,.category-option input{opacity:0;pointer-events:none;position:absolute}.rating-option span{cursor:pointer;background:#fff;border:1px solid #aeb8c2;border-radius:8px;place-items:center;min-height:52px;font-weight:700;display:grid}.rating-option input:checked+span,.category-option input:checked+span{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#eaf2fa}.rating-option input:focus-visible+span,.category-option input:focus-visible+span{outline:3px solid #174a7e40}.category-grid{gap:8px;display:grid}.category-option span{cursor:pointer;background:#fff;border:1px solid #aeb8c2;border-radius:8px;padding:12px 13px;display:block}.privacy-note,.privacy-notice{background:#f7fafc;border:1px solid #d9e3ec;border-radius:12px;margin:18px 0 4px;padding:14px 15px}.privacy-note strong,.privacy-notice strong{margin-bottom:4px;display:block}.privacy-note p,.privacy-notice p{color:var(--muted);margin:0;font-size:.92rem}.form-hint{color:var(--muted);margin:7px 0 0;font-size:.86rem}.button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:12px 18px;font-weight:650;transition:background .15s,transform .15s}.button:hover{background:var(--primary-dark)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button.secondary{width:auto;color:var(--text);background:#eef1f4}.error{color:var(--danger);font-weight:700}.success{background:var(--success-bg);color:var(--success-text)}.dashboard-header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px;display:flex}.dashboard-header .muted{margin:4px 0 0}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.metric{letter-spacing:-.03em;margin:4px 0 0;font-size:2.15rem;font-weight:750}.full{grid-column:1/-1}.location-switcher{scrollbar-width:thin;gap:10px;margin-bottom:6px;padding:2px 2px 14px;display:flex;overflow-x:auto}.location-tab{border:1px solid var(--border);background:var(--surface);min-width:178px;color:var(--text);border-radius:14px;flex:none;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;box-shadow:0 3px 12px #14212d0a}.location-tab:hover{border-color:#b9c6d2;transform:translateY(-1px);box-shadow:0 7px 20px #14212d12}.location-tab.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#f0f6fc}.location-tab-title{font-weight:750;line-height:1.25;display:block}.location-tab-meta{color:var(--muted);margin-top:5px;font-size:.84rem;display:block}.trend-list,.area-list,.feedback-list{margin:0;padding:0;list-style:none}.trend-row{grid-template-columns:110px 1fr 52px;align-items:center;gap:10px;margin:12px 0;display:grid}.trend-track{background:#e6ebef;border-radius:999px;height:10px;overflow:hidden}.trend-bar{background:var(--primary);border-radius:inherit;height:100%}.area-row,.feedback-item{border-top:1px solid var(--border);padding:12px 0}.area-row:first-child,.feedback-item:first-child{border-top:0;padding-top:0}.area-row{justify-content:space-between;gap:12px;display:flex}.feedback-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-bottom:5px;font-size:.9rem;display:flex}.feedback-comment{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.summary-content{margin-top:2px}.summary-section+.summary-section{margin-top:18px}.summary-section h3{margin-bottom:7px;font-size:.98rem}.summary-section p{margin:0}.summary-points{margin:0;padding-left:20px}.summary-points li{margin:6px 0;line-height:1.5}.summary-focus{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:18px;padding:13px 14px}.summary-focus strong{margin-bottom:5px;display:block}.summary-focus p{margin:0}.summary-meta{margin:16px 0 10px;font-size:.9rem}.qr-wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.qr-wrap img{border:1px solid var(--border);border-radius:10px;width:180px;height:180px}.qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.qr-location{border:1px solid var(--border);background:#fafbfc;border-radius:14px;padding:18px}.qr-location h3{margin-bottom:12px}.qr-location img{border:1px solid var(--border);border-radius:10px;width:150px;height:150px}.feedback-link{overflow-wrap:anywhere;font-size:.9rem}.settings-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.settings-heading h2{margin-bottom:6px}.settings-heading p{margin:0}.settings-count{color:var(--muted);background:#eef1f4;border-radius:999px;flex:none;padding:5px 9px;font-size:.82rem;font-weight:700}.feedback-area-settings{gap:10px;display:grid}.feedback-area-row{border:1px solid var(--border);background:#fafbfc;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.feedback-area-rename{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.feedback-area-add{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px;display:grid}.compact-button{white-space:nowrap;width:auto}.remove-area-button{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;padding:9px 8px;font-weight:700}.remove-area-button:hover{text-decoration:underline}@media (max-width:700px){.page{width:min(100% - 24px,1080px);padding-top:22px}.card{border-radius:14px;padding:20px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.full{grid-column:auto}.dashboard-header{flex-direction:column;margin-bottom:16px}.trend-row{grid-template-columns:90px 1fr 45px}.location-switcher{margin-right:-12px;padding-right:12px}.location-tab{min-width:160px}.qr-grid{grid-template-columns:1fr}.settings-heading{align-items:center}.feedback-area-row,.feedback-area-rename,.feedback-area-add{grid-template-columns:1fr}.compact-button,.remove-area-button{width:100%}}.topic-ratings-list{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:16px;padding:0 16px}.topic-rating-row{justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:10px 0;display:flex}.topic-rating-entry+.topic-rating-entry{border-top:1px solid #eef0f3}.topic-rating-name{font-size:.96rem;font-weight:650;line-height:1.35}.star-rating{flex:none;align-items:center;gap:6px;display:inline-flex}.star-rating-stars{flex-direction:row-reverse;justify-content:flex-end;gap:1px;display:flex}.star-option{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:42px;display:inline-flex;position:relative}.star-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.star-glyph{pointer-events:none;color:#cbd3dd;font-size:31px;line-height:1;transition:color .12s,transform .12s}.star-option:has(input:checked) .star-glyph{color:#e3a42b}.star-option:has(input:checked)~.star-option .star-glyph{color:#e3a42b}.star-rating-stars:hover .star-glyph{color:#cbd3dd}.star-rating-stars .star-option:hover .star-glyph,.star-rating-stars .star-option:hover~.star-option .star-glyph{color:#e3a42b;transform:scale(1.07)}.star-option:has(input:focus-visible){outline-offset:1px;outline:3px solid #174a7e52}.star-empty-input{opacity:0;width:1px;height:1px;position:absolute}.star-rating-reset{color:var(--muted);cursor:pointer;opacity:0;pointer-events:none;padding:5px 2px;font-size:.8rem;transition:opacity .12s}.star-rating:has(.star-option input:checked) .star-rating-reset{opacity:1;pointer-events:auto}.star-rating-reset:hover{text-decoration:underline}.star-rating:has(.star-empty-input:focus-visible) .star-rating-reset{opacity:1;pointer-events:auto;outline-offset:2px;outline:3px solid #174a7e52}@media (max-width:440px){.topic-rating-row{flex-direction:column;align-items:flex-start;gap:2px;padding:13px 0}.star-rating{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.star-glyph,.star-rating-reset{transition:none}}.topic-comment-details{padding:0 0 14px;display:none}.topic-rating-entry:has(.star-option input:checked) .topic-comment-details{display:block}.topic-comment-details summary{cursor:pointer;width:fit-content;color:var(--primary);font-size:.85rem;font-weight:600;list-style:none}.topic-comment-details summary::-webkit-details-marker{display:none}.topic-comment-details summary:before{content:"+ "}.topic-comment-details[open] summary:before{content:"− "}.topic-comment-details summary:hover{text-decoration:underline}.topic-comment-details summary:focus-visible{outline-offset:3px;outline:3px solid #174a7e4d}.topic-comment-label{margin:12px 0 6px;font-size:.82rem;font-weight:600;display:block}.topic-comment-textarea{max-width:100%;min-height:76px;font-size:.92rem}.feedback-topic-comment{border-left:2px solid #e4e8ed;margin:4px 0 12px 10px;padding-left:10px}
