:root{--navy:#0b2648;--gold:#fcb52c;--ink:#0b223e;--muted:#586474;--line:#dee6ec;--surface:#fff;--page:#f4f7fa;--danger:#e7000b;color:var(--ink);background:var(--page);font-family:Outfit,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;padding:3rem 1rem}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;gap:1.5rem;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand strong,.brand span{display:block}.brand span{color:#ffffffb3;font-size:.8rem}.brand-mark{border-radius:10px;flex-shrink:0;width:36px;height:36px}nav{flex-direction:column;gap:.25rem;display:flex}.nav-link{color:#ffffffd1;border-radius:10px;padding:.6rem .75rem;text-decoration:none}.nav-link:hover{background:#ffffff14}.nav-link.active{color:var(--navy);background:#fff;font-weight:600}.sidebar-footer{color:#fffc;flex-direction:column;gap:.5rem;margin-top:auto;font-size:.85rem;display:flex;overflow:hidden}.sidebar .btn.ghost{color:#fff;border-color:#ffffff73;width:100%}.sidebar .btn.ghost:hover{background:#ffffff1a}.sidebar-footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{width:100%;min-width:0;padding:2rem 2.5rem}.page-header{margin-bottom:1.25rem}.page-header h1{font-size:1.75rem;font-weight:700}.page-header p{color:var(--muted);margin:.35rem 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:1.25rem;padding:1.25rem}.card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.card-header h2{font-size:1.1rem;font-weight:600}.card-actions{gap:.5rem;display:flex}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.row:first-child{border-top:none}.row.resolved{opacity:.6}.row-main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.row-main p{color:var(--muted);margin:0}.row-actions{flex-shrink:0;align-items:flex-start;gap:.4rem;display:flex}.empty{color:var(--muted);margin:.5rem 0}.pill{letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:#e5f5fd;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.pill.gold{background:var(--gold);color:var(--ink)}.form-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.9rem 1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:grid}.field{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.field.wide,.wide{grid-column:1/-1}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:.6rem .75rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:-1px}.check{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.check input{width:auto}.form-actions{gap:.5rem;display:flex}.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:.55rem 1rem;font-size:.9rem;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);background:0 0}.btn.wide{width:100%}.link{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.notice{border-radius:12px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.9rem}.notice.error{color:var(--danger);background:#fff1f1}.notice.success{color:#1c6b34;background:#eef9f1}.signin{background:linear-gradient(160deg, var(--navy), #163a6b);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.signin-card{background:#fff;border-radius:20px;flex-direction:column;gap:.9rem;width:100%;max-width:400px;padding:2rem;display:flex}.signin-card h1{font-size:1.5rem;font-weight:700}.signin-card p{margin:0}.password-field{position:relative}.password-field input{padding-right:2.75rem}.password-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--navy);background:var(--page)}.password-toggle:focus-visible{outline:2px solid var(--navy);outline-offset:1px}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.content{padding:1.25rem}.form-grid{grid-template-columns:1fr}.row{flex-direction:column}}.dialog-backdrop{z-index:100;background:#0b264873;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:18px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 18px 48px #0b264840}.dialog h2{font-size:1.15rem;font-weight:700}.dialog p{color:var(--muted);margin:.5rem 0 1.25rem;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.csv-upload{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem;padding-top:1.25rem;display:flex}.csv-upload p{margin:.25rem 0 0}.file-button{cursor:pointer;align-items:center;display:inline-flex}.csv-preview{background:var(--page);border-radius:12px;margin-top:1rem;padding:1rem}.csv-preview p{margin:0 0 .75rem}.back-link{color:var(--navy);margin-bottom:.75rem;font-weight:600;text-decoration:none;display:inline-block}.muted-pill{background:var(--page);color:var(--muted)}.poll-options{color:var(--muted);margin:.4rem 0 0;padding-left:1.1rem;font-size:.9rem}.feedback-summary{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.big-number{font-size:2rem}.star-bars{flex-direction:column;flex:1;gap:.35rem;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.star-bars li{grid-template-columns:2.5rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.bar{background:var(--page);border-radius:999px;height:8px;overflow:hidden}.bar>div{background:var(--gold);border-radius:999px;height:100%}.live-badge{color:var(--muted);background:var(--page);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.live-badge.on{color:#1c6b34;background:#eef9f1}.csv-errors{color:var(--danger);margin:0 0 .75rem;padding-left:1.2rem;font-size:.9rem}.policy-page{background:var(--page);min-height:100vh}.policy-hero{background:var(--navy);color:#fff;padding:2.25rem 1.25rem 0}.policy-hero-inner{align-items:center;gap:1rem;margin:0;padding-bottom:2rem;display:flex}.policy-hero-inner img{background:#fff;border-radius:14px;flex-shrink:0}.policy-kicker{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.policy-hero h1{color:#fff;margin:.15rem 0 .25rem;font-size:1.9rem;font-weight:700}.policy-meta{color:#ffffffbf;margin:0;font-size:.9rem}.policy-accent{background:var(--gold);height:4px}.policy-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:-1.5rem 1.25rem 0;padding:2rem 2.25rem 2.5rem;line-height:1.65;position:relative}.policy-card h2{color:var(--navy);border-bottom:1px solid var(--line);margin-top:1.9rem;padding-bottom:.35rem;font-size:1.1rem;font-weight:700}.policy-card h2:first-child{margin-top:0}.policy-card p,.policy-card li{color:var(--ink);font-size:.98rem}.policy-card ul{padding-left:1.2rem}.policy-card li{margin-bottom:.4rem}.policy-card a{color:var(--navy);font-weight:600}.policy-footer{text-align:center;color:var(--muted);padding:1.5rem 1.25rem 3rem;font-size:.88rem}.policy-footer p{margin:.25rem 0}.policy-footer a{color:var(--navy)}@media (width<=600px){.policy-card{margin:-1rem .75rem 0;padding:1.5rem 1.2rem 2rem}.policy-hero-inner{padding-bottom:1.5rem}.policy-hero h1{font-size:1.6rem}}
