:root{--bg:#f4f6f8;--surface:#fff;--text:#17212b;--muted:#5d6875;--border:#d8dee5;--primary:#174a7e;--primary-dark:#10365d;--danger:#a32727;--success-bg:#edf7f0;--success-text:#285d36;color:var(--text);background:var(--bg);font-family:Arial,Helvetica,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:12px;padding:24px;box-shadow:0 2px 8px #14212d0d}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}.button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;padding:13px 18px;font-weight:700}.button:hover{background:var(--primary-dark)}.button.secondary{width:auto;color:var(--text);background:#e7ebef}.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:24px;display:flex}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metric{margin:4px 0 0;font-size:2rem;font-weight:700}.full{grid-column:1/-1}.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:8px;width:180px;height:180px}.feedback-link{overflow-wrap:anywhere}@media (max-width:700px){.page{padding-top:24px}.card{padding:20px}.dashboard-grid{grid-template-columns:1fr}.full{grid-column:auto}.dashboard-header{flex-direction:column}.trend-row{grid-template-columns:90px 1fr 45px}}
