:root{--navy-900: #071a33;--navy-800: #0b2545;--navy-700: #13345f;--navy-600: #1d4e89;--accent: #3e92cc;--accent-dark: #2a7bb0;--ink: #101b2d;--ink-soft: #46556b;--ink-faint:#7c8aa0;--line: #e2e8f0;--line-soft:#eef2f7;--surface: #ffffff;--canvas: #f5f7fa;--ok: #1f8a5f;--warn: #b8860b;--danger: #b3261e;--radius: 14px;--shadow-sm: 0 1px 2px rgba(11, 37, 69, .06), 0 1px 3px rgba(11, 37, 69, .04);--shadow-md: 0 4px 12px rgba(11, 37, 69, .08), 0 2px 4px rgba(11, 37, 69, .04);--shadow-lg: 0 18px 40px rgba(11, 37, 69, .12);--maxw: 760px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--canvas);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--navy-800);line-height:1.25;letter-spacing:-.015em;margin:0}h1{font-size:1.9rem;font-weight:700}h2{font-size:1.25rem;font-weight:650}h3{font-size:1rem;font-weight:600}p{margin:0 0 1rem}a{color:var(--navy-600)}.shell{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.wrap.wide{max-width:1040px}.masthead{background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-700) 65%,var(--navy-600) 100%);color:#fff;padding:18px 0;border-bottom:3px solid var(--accent)}.masthead .bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.01em}.brand .mark{width:30px;height:30px;border-radius:8px;flex:none;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center}.brand .mark svg{width:17px;height:17px}.brand small{display:block;font-weight:400;font-size:.74rem;color:#ffffffa8;letter-spacing:.08em;text-transform:uppercase}.masthead .who{display:flex;align-items:center;gap:14px;font-size:.82rem;color:#ffffffb8}.masthead .signout{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:8px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;color:#ffffffe0;background:#ffffff14;border:1px solid rgba(255,255,255,.2);transition:background .15s ease,border-color .15s ease}.masthead .signout:hover{background:#ffffff29;border-color:#ffffff57}.masthead .signout svg{width:15px;height:15px}@media(max-width:520px){.masthead .who span{display:none}}main{flex:1;padding:34px 0 72px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:30px 32px;margin-bottom:20px}.card.hero{box-shadow:var(--shadow-md);padding:38px 36px}.lede{color:var(--ink-soft);font-size:1.02rem;white-space:pre-line}footer{border-top:1px solid var(--line);background:#fff;padding:20px 0;color:var(--ink-faint);font-size:.8rem}footer .bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:.76rem;font-weight:600;letter-spacing:.02em;background:var(--line-soft);color:var(--navy-700);border:1px solid var(--line)}.pill.open{background:#e8f5ee;color:var(--ok);border-color:#c6e6d4}.pill.closed{background:#fdecea;color:var(--danger);border-color:#f5c9c5}.pill.soon{background:#fdf6e3;color:var(--warn);border-color:#f0e2bb}.pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--ink-faint);font-size:.84rem;margin-top:18px}.meta b{color:var(--navy-700);font-weight:600}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;background:var(--navy-800);color:#fff;transition:background .15s ease,transform .06s ease,box-shadow .15s ease}.btn:hover{background:var(--navy-700);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.accent{background:var(--accent)}.btn.accent:hover{background:var(--accent-dark)}.btn.ghost{background:transparent;color:var(--navy-700);border-color:var(--line)}.btn.ghost:hover{background:var(--line-soft);box-shadow:none}.btn.sm{padding:8px 15px;font-size:.84rem}.notice{border-left:3px solid var(--accent);background:#f3f8fc;padding:14px 18px;border-radius:0 10px 10px 0;color:var(--ink-soft);font-size:.92rem}.notice.warn{border-color:var(--warn);background:#fdf8ec}.notice.bad{border-color:var(--danger);background:#fdeeec}.progress{position:sticky;top:0;z-index:20;background:var(--canvas);padding:12px 0 14px}.progress .track{height:5px;background:var(--line);border-radius:999px;overflow:hidden}.progress .fill{height:100%;background:linear-gradient(90deg,var(--navy-600),var(--accent));transition:width .35s cubic-bezier(.4,0,.2,1)}.progress .label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ink-faint);margin-bottom:7px}.section-head{margin:34px 0 6px;display:flex;align-items:baseline;gap:12px}.section-head .n{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.q{padding:24px 0;border-bottom:1px solid var(--line-soft)}.q:last-child{border-bottom:none}.q .text{font-weight:550;color:var(--ink);margin-bottom:4px}.q .help{font-size:.85rem;color:var(--ink-faint);margin-bottom:14px}.q .req{color:var(--accent);margin-left:4px}.q.missing{background:#fdf6f5;margin:0 -16px;padding:24px 16px;border-radius:10px}.scale{display:flex;gap:8px;margin-top:12px}.scale button{flex:1;padding:13px 4px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:all .12s ease}.scale button:hover{border-color:var(--accent);color:var(--navy-700)}.scale button[aria-pressed=true]{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:var(--shadow-md)}.scale-labels{display:flex;justify-content:space-between;font-size:.76rem;color:var(--ink-faint);margin-top:7px}.scale.nps{flex-wrap:wrap}.scale.nps button{flex:1 1 8%;min-width:46px}.choice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin-top:8px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fff;transition:all .12s ease}.choice:hover{border-color:var(--accent);background:#fafcfe}.choice.on{border-color:var(--navy-700);background:#f4f8fc;box-shadow:inset 0 0 0 1px var(--navy-700)}.choice input{margin-top:5px;accent-color:var(--navy-700)}textarea{width:100%;min-height:108px;resize:vertical;padding:14px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff;transition:border-color .12s ease,box-shadow .12s ease}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3e92cc26}.counter{text-align:right;font-size:.76rem;color:var(--ink-faint);margin-top:5px}.actions{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}.actions .spacer{flex:1}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0 6px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}.stat .v{font-size:1.7rem;font-weight:700;color:var(--navy-800);line-height:1.15}.stat .k{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-top:3px}.bar-row{display:grid;grid-template-columns:180px 1fr 48px;gap:12px;align-items:center;margin:7px 0;font-size:.88rem}.bar-row .track{height:22px;background:var(--line-soft);border-radius:6px;overflow:hidden}.bar-row .fill{height:100%;background:linear-gradient(90deg,var(--navy-600),var(--accent));border-radius:6px}.bar-row .n{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.bar-row .k{color:var(--ink-soft)}.avg{display:inline-flex;align-items:baseline;gap:6px;font-weight:700;color:var(--navy-800);font-size:1.15rem}.avg small{font-weight:500;color:var(--ink-faint);font-size:.8rem}.quote{border-left:3px solid var(--line);padding:8px 0 8px 16px;margin:10px 0;color:var(--ink-soft);white-space:pre-line}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:10px 8px;border-bottom:1px solid var(--line-soft)}td.state{font-weight:600}td.state.yes{color:var(--ok)}td.state.no{color:var(--ink-faint)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:none;background:none;font:inherit;font-weight:600;color:var(--ink-faint);padding:11px 16px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--navy-800);border-bottom-color:var(--accent)}.gate{min-height:64vh;display:grid;place-items:center;padding:24px 0 48px}.gate-card{position:relative;width:100%;max-width:420px;text-align:center;padding:46px 40px 40px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:rise .5s cubic-bezier(.2,.7,.3,1) both}.gate-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--navy-800),var(--accent) 65%,#7fc4ea)}.gate-crest{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(140deg,var(--navy-900),var(--navy-600));box-shadow:0 10px 22px #0b254547}.gate-crest svg{width:30px;height:30px}.gate-card h1{font-size:1.55rem;letter-spacing:-.02em}.gate-org{margin:7px 0 30px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.gate-card .btn{width:100%}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.btn.lg{padding:16px 30px;font-size:.98rem}.btn svg{width:17px;height:17px}.center{text-align:center}.muted{color:var(--ink-faint);font-size:.88rem}.spin{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.card{padding:22px 18px}.card.hero{padding:26px 20px}h1{font-size:1.5rem}.scale{flex-wrap:wrap}.scale button{flex:1 1 18%}.bar-row{grid-template-columns:110px 1fr 40px;font-size:.82rem}}
