@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600&display=swap');
:root{--brand:#e0386a;--brand-d:#c42c5a;--violet:#7b5cff;--ink:#2b2d42}
body{font-family:'Prompt',sans-serif;color:var(--ink)}
.btn-brand{background:var(--brand);color:#fff;border:0;border-radius:14px;padding:.85rem 2.2rem;font-weight:500;font-size:1.15rem;box-shadow:0 10px 22px rgba(224,56,106,.35);transition:.2s}
.btn-brand:hover{background:var(--brand-d);color:#fff;transform:translateY(-2px)}
.bg-soft{background:linear-gradient(135deg,#fff0f5 0%,#f3ecff 55%,#e9f1ff 100%);min-height:100vh}
/* landing */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:1rem}
.hero .blob{position:absolute;border-radius:50%;opacity:.35;filter:blur(8px)}
.hero .b1{width:380px;height:380px;background:#ffb3c9;top:-120px;left:-100px}
.hero .b2{width:320px;height:320px;background:#c9b8ff;bottom:-110px;right:-80px}
.hero .b3{width:140px;height:140px;background:#a8d4ff;top:55%;left:8%}
.hero-card{position:relative;z-index:1;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-radius:28px;padding:3rem 2.2rem;max-width:640px;width:100%;text-align:center;box-shadow:0 25px 60px rgba(123,92,255,.18);animation:rise .7s ease both}
.hero-card .logo{width:96px;height:96px;object-fit:contain;margin-bottom:1rem}
.hero-card .emblem{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--violet));color:#fff;font-size:2.4rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}
.hero-card h1{font-weight:600;font-size:2.1rem;margin-bottom:.4rem}
.hero-card .org{color:#555;font-size:1.05rem;line-height:1.7;margin-bottom:1.6rem}
.hero-meta{display:flex;justify-content:center;gap:1.2rem;color:#777;font-size:.9rem;margin-top:1.4rem;flex-wrap:wrap}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* survey */
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);box-shadow:0 2px 12px rgba(0,0,0,.06);padding:.6rem 0}
.progress{height:10px;border-radius:10px;background:#eee}
.progress-bar{background:linear-gradient(90deg,var(--brand),var(--violet));transition:width .4s}
.sec-title{display:flex;align-items:center;gap:.6rem;font-weight:600;margin:1.6rem 0 1rem}
.sec-title .n{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.qbox{background:#fff;border-radius:18px;padding:1.2rem 1.3rem;margin-bottom:1rem;border-left:6px solid #e6e6ee;box-shadow:0 4px 16px rgba(0,0,0,.05);transition:.25s}
.qbox.done{border-left-color:#2dbd85}
.qbox .qt{font-weight:500;margin-bottom:.8rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip input,.rate input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:.45rem 1rem;border:2px solid #e3e3ee;border-radius:30px;cursor:pointer;transition:.15s}
.chip span:hover{border-color:var(--brand)}
.chip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.rate{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}
.rate label{margin:0;cursor:pointer}
.rate span{display:block;text-align:center;padding:.6rem .2rem;border:2px solid #e3e3ee;border-radius:14px;transition:.15s;font-size:.8rem;color:#666}
.rate span b{display:block;font-size:2rem;line-height:1.2;filter:grayscale(.8);transition:.15s}
.rate span:hover{border-color:var(--brand);transform:translateY(-3px)}
.rate input:checked+span{border-color:var(--brand);background:#fff0f5;color:var(--brand);font-weight:500}
.rate input:checked+span b{filter:none;transform:scale(1.2)}
.thanks{text-align:center;padding:2rem 1rem}
.thanks .ck{width:90px;height:90px;border-radius:50%;background:#2dbd85;color:#fff;font-size:3rem;display:inline-flex;align-items:center;justify-content:center;animation:pop .5s ease both}
@keyframes pop{0%{transform:scale(0)}80%{transform:scale(1.15)}100%{transform:scale(1)}}
/* admin */
.admin-body{background:#f4f5fb;font-family:'Prompt',sans-serif}
.admin-nav{background:linear-gradient(90deg,#3b2a6d,var(--brand))}
.admin-nav .nav-link{border-radius:8px;margin-right:.2rem}
.admin-nav .nav-link.active,.admin-nav .nav-link:hover{background:rgba(255,255,255,.18)}
.admin-body .card,.admin-body .table{border-radius:12px;overflow:hidden}
.admin-body .table th{background:#f0eefb}
.stat{border:0;color:#fff;border-radius:16px!important}
.stat .bi{font-size:2rem;opacity:.85}
@media(max-width:576px){.rate span{font-size:.7rem}.rate span b{font-size:1.6rem}.hero-card h1{font-size:1.6rem}}
