:root{--navy:#1b2a41;--navy-light:#2d4160;--sage:#8fa998;--sage-light:#e7edea;--coral:#e4572e;--coral-light:#fcebe5;--bg:#fafaf7;--card:#ffffff;--text:#2b2b2b;--text-muted:#6b7280;--border:#e5e3dc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;font-weight:600;margin:0}button{cursor:pointer;font-family:inherit}a{color:inherit}:root{--text-xs:0.8125rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:clamp(1.5rem,1.2rem + 1vw,1.75rem);--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--warning-bg:#fff8e6;--warning-border:#f0d58a;--warning-text:#6b4e00;--error-text:#a33318}:focus-visible{outline:3px solid var(--navy-light);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.65}.dashboard-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.dashboard-header{gap:var(--space-4);flex-wrap:wrap}.help-text{color:var(--text-muted);font-size:var(--text-xs);line-height:1.6}.error-text{color:var(--error-text);font-size:var(--text-sm);line-height:1.6}.feedback-link{margin-bottom:var(--space-6)}.feedback-link label{font-weight:600;font-size:var(--text-sm)}.feedback-link-controls{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.feedback-link-controls input{flex:1 1 240px;min-width:0;max-width:100%}.feedback-link input,.public-feedback input:not([aria-hidden]),.public-feedback textarea{padding:var(--space-3);border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:var(--text-sm)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);border-radius:8px;font-size:var(--text-sm);text-decoration:none;border:1px solid var(--border)}.secondary-button{background:var(--card);color:var(--navy)}.primary-button{background:var(--navy);color:white;border-color:var(--navy)}.inbox{margin-block:var(--space-8) var(--space-10);scroll-margin-top:var(--space-6)}.inbox h2{font-size:var(--text-lg);color:var(--navy)}.feedback-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.feedback-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:var(--space-4);overflow-wrap:anywhere}.feedback-item-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm)}.feedback-item-meta time{font-size:var(--text-xs);color:var(--text-muted)}.feedback-item p{font-size:var(--text-sm);line-height:1.6;margin-block:var(--space-2)}.feedback-message{white-space:pre-wrap}.inbox-pagination{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;font-size:var(--text-sm);margin-top:var(--space-4)}.inbox-pagination a{display:inline-flex;min-height:44px;align-items:center}.public-feedback{max-width:520px;margin:0 auto;padding:var(--space-10) var(--space-6)}.public-feedback h1{font-size:var(--text-xl);color:var(--navy);line-height:1.3}.public-feedback p{font-size:var(--text-sm);line-height:1.7}.public-feedback form{margin-top:var(--space-6)}.public-feedback label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.public-feedback input:not([aria-hidden]),.public-feedback textarea{width:100%;margin-bottom:var(--space-4)}.public-feedback textarea{resize:vertical}.rating-fieldset{border:0;padding:0;margin:0 0 var(--space-5)}.rating-fieldset legend{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.rating-buttons{display:flex;gap:var(--space-2)}.rating-buttons button{width:44px;height:44px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--navy);font-size:var(--text-base)}.rating-buttons button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.privacy-notice{font-size:var(--text-xs);line-height:1.6;background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:8px;padding:var(--space-3);margin-bottom:var(--space-5)}.public-review-disclosure{color:var(--navy);border-block:1px solid var(--border);padding-block:var(--space-3)}@media (max-width:480px){.dashboard-actions{width:100%}.feedback-link-controls input{flex-basis:100%}}