*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#173f3b;background:#f4f7f6}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.admin-body{display:flex;min-height:100vh}.admin-side{width:236px;background:#0b3f3c;color:#dff7f0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.admin-logo{height:84px;padding:17px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-logo>span{width:42px;height:42px;border-radius:12px;background:#71d6ba;color:#0b3f3c;display:grid;place-items:center;font-weight:900}.admin-logo b{display:block;font-size:16px}.admin-logo small{display:block;font-size:11px;opacity:.58;margin-top:3px}.admin-side nav{padding:15px 12px;display:flex;flex-direction:column;gap:3px}.admin-side nav a{min-height:43px;border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:11px;color:#b9d9d1;font-size:13px}.admin-side nav a:hover,.admin-side nav a.active{background:rgba(255,255,255,.09);color:#fff}.admin-side nav a.active{box-shadow:inset 3px 0 #74d8bc}.admin-side nav i{font-style:normal;width:18px;text-align:center;opacity:.8}.admin-side nav em{margin-left:auto;background:#ef765f;color:#fff;font-style:normal;font-size:10px;padding:2px 6px;border-radius:999px}.admin-side-foot{margin-top:auto;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:8px;font-size:12px;color:#98bdb4}.admin-main{margin-left:236px;width:calc(100% - 236px);min-height:100vh}.admin-top{height:84px;background:#fff;border-bottom:1px solid #e4ecea;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:20}.admin-top h1{font-size:20px;margin:0}.admin-top p{font-size:11px;color:#80938f;margin:5px 0 0}.admin-user{text-align:right}.admin-user span{display:block;font-weight:800;font-size:13px}.admin-user small{font-size:11px;color:#7e928e}.admin-content{padding:28px 34px 60px}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.metric-grid article{background:#fff;border:1px solid #e3ebe9;border-radius:14px;padding:20px}.metric-grid span{font-size:12px;color:#6f8581}.metric-grid strong{display:block;font-size:34px;margin:12px 0 4px;color:#0b665d}.metric-grid small{font-size:11px;color:#91a19e}.panel{background:#fff;border:1px solid #e2ebe8;border-radius:15px;padding:22px;margin-bottom:18px;box-shadow:0 8px 28px rgba(28,79,72,.035)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head small{font-size:10px;letter-spacing:.16em;color:#1b8a7d}.panel-head h2{font-size:18px;margin:4px 0 0}.panel-head>a{font-size:12px;color:#14796e}.admin-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid.wide-left{grid-template-columns:1.25fr .75fr}.bar-row{display:grid;grid-template-columns:1.5fr 55px;gap:8px 14px;align-items:center;margin:16px 0;font-size:12px}.bar-row b{text-align:right}.bar-row i{grid-column:1/3;height:7px;background:#edf3f1;border-radius:999px;overflow:hidden}.bar-row u{display:block;height:100%;background:linear-gradient(90deg,#0c7b6f,#76d9bd);border-radius:999px}.rank-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;padding:10px 0;border-bottom:1px solid #eef3f2;font-size:12px}.rank-row span{color:#58aa99;font-weight:800}.rank-row em{font-style:normal;color:#657b77}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}.table-wrap th{font-size:11px;color:#748985;text-align:left;padding:10px 12px;background:#f6f9f8;white-space:nowrap}.table-wrap td{font-size:12px;padding:13px 12px;border-bottom:1px solid #edf2f1;vertical-align:top}.table-wrap td b{display:block}.table-wrap td small{display:block;color:#839692;margin-top:4px}.status{display:inline-block;background:#edf6f3;color:#24786e;border-radius:999px;padding:4px 9px;font-size:10px;white-space:nowrap}.filterbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.filterbar input,.filterbar select{border:1px solid #dbe6e3;background:#fff;border-radius:8px;padding:10px 12px;font-size:12px}.filterbar input{min-width:280px}.filterbar span{margin-left:auto;font-size:11px;color:#768a86}.review-list{display:grid;gap:12px}.review-card{border:1px solid #e1eae8;border-radius:12px;overflow:hidden}.review-summary{display:grid;grid-template-columns:50px 1.25fr 1fr 1fr 70px auto;gap:15px;align-items:center;padding:16px;background:#fbfcfc}.review-summary>span:first-child{font-size:11px;color:#78908b}.review-summary h3{font-size:15px;margin:0 0 4px}.review-summary p{font-size:11px;color:#7b8e8a;margin:0}.review-summary small{display:block;color:#899b98;font-size:10px}.review-summary b{font-size:11px}.review-actions{padding:14px 16px;border-top:1px solid #e7eeec;display:flex;gap:12px;align-items:center}.review-actions textarea{flex:1;min-height:56px;border:1px solid #dbe5e3;border-radius:8px;padding:9px;font-size:11px;resize:vertical}.review-actions div{display:flex;gap:7px;flex-wrap:wrap}.review-actions button,.admin-btn,.mini-btn{border:0;border-radius:7px;background:#0f756a;color:#fff;padding:9px 13px;cursor:pointer;font-weight:700;font-size:11px}.review-actions .approve{background:#168a70}.review-actions .danger{background:#c85d4a}.review-actions .ghost,.admin-btn.secondary{background:#edf3f1;color:#315d57}.privacy-note{margin-top:15px;padding:12px 14px;background:#f3f7f6;border-left:3px solid #75bbaa;color:#667d78;font-size:11px;line-height:1.7}.announcement-item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #edf2f1}.announcement-item span{font-size:10px;color:#93a39f}.announcement-item h3{font-size:14px;margin:5px 0}.announcement-item p{font-size:11px;color:#667d79;line-height:1.7;margin:0}.announcement-item em{font-style:normal;font-size:10px;padding:5px 8px;border-radius:999px;background:#f1f3f3;color:#899}.announcement-item em.on{background:#e5f6ef;color:#1c806c}.admin-form{display:grid;gap:13px}.admin-form label{font-size:11px;color:#56706b}.admin-form input,.admin-form textarea,.admin-form select{width:100%;margin-top:6px;border:1px solid #dbe6e3;border-radius:8px;padding:10px;background:#fff}.admin-form .check{display:flex;align-items:center;gap:8px}.admin-form .check input{width:auto;margin:0}.form-sep{margin:5px 0;padding:12px 0;border-top:1px dashed #d9e5e2;border-bottom:1px dashed #d9e5e2}.form-sep span{display:block;font-weight:800;font-size:12px}.form-sep small{display:block;margin-top:4px;color:#879995;font-size:10px}.questionnaire-item,.admin-account,.backup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf2f1}.questionnaire-item h3{font-size:13px;margin:0 0 5px}.questionnaire-item p,.questionnaire-item small{font-size:10px;color:#80938f}.avatar{width:36px;height:36px;border-radius:50%;background:#dff2ed;color:#176d63;display:grid;place-items:center;font-weight:900}.admin-account>div:nth-child(2){flex:1}.admin-account b{display:block;font-size:12px}.admin-account small,.admin-account>span{font-size:10px;color:#7d918d}.role-help{display:grid;grid-template-columns:100px 1fr;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid #edf2f1;font-size:10px}.role-help span{color:#7c908c}.backup-row b{font-size:11px}.backup-row small{display:block;color:#849792;margin-top:4px;font-size:10px}.backup-row>span{font-size:10px;color:#16836f}.backup-callout{background:linear-gradient(145deg,#0d514d,#0b7064);color:#fff}.backup-callout>span{font-size:10px;letter-spacing:.15em;color:#8fdfca}.backup-callout p{font-size:11px;line-height:1.8;color:#cce6df}.integration-state{display:flex;align-items:center;gap:12px;padding:14px;background:#f4f7f6;border-radius:10px;margin-bottom:14px}.integration-state i{width:10px;height:10px;border-radius:50%;background:#caa054}.integration-state.ready i{background:#27a67e;box-shadow:0 0 0 5px #dff4ed}.integration-state b{font-size:12px}.integration-state p{font-size:10px;color:#78908b;margin:4px 0 0}.config-check{display:grid;grid-template-columns:1fr 1fr;font-size:10px}.config-check span,.config-check b{padding:9px 0;border-bottom:1px solid #edf2f1}.config-check span{color:#7e918d}.config-check b{text-align:right}.export-panel{display:flex;justify-content:space-between;align-items:center}.export-panel h2{font-size:15px;margin:0 0 5px}.export-panel p{font-size:11px;color:#78908b;margin:0}.admin-alert{margin:16px 34px 0;padding:11px 14px;border-radius:8px;font-size:11px;background:#e9f6f2;color:#1d7568}.admin-alert.error{background:#fff0ed;color:#a94f42}.empty{padding:30px;text-align:center;color:#91a19e;font-size:11px}.admin-login-page{min-height:100vh;background:#073e3b;display:grid;place-items:center;padding:30px}.admin-login-shell{width:min(900px,94vw);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.23)}.admin-login-brand{background:linear-gradient(145deg,#0b4c49,#0e776a);padding:58px;color:#fff;position:relative;overflow:hidden}.admin-login-brand:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-170px;bottom:-120px}.admin-brandmark{width:54px;height:54px;border-radius:14px;background:#87dec6;color:#0b4c49;display:grid;place-items:center;font-size:24px;font-weight:900;margin-bottom:38px}.admin-login-brand>span{font-size:10px;letter-spacing:.18em;color:#9fdfcf}.admin-login-brand h1{font-size:34px;line-height:1.2;margin:14px 0}.admin-login-brand p{font-size:12px;line-height:1.8;color:#cae7e0;max-width:360px}.admin-login-brand a{display:inline-block;margin-top:35px;font-size:11px;color:#bfe7dd}.admin-login-card{padding:55px 45px}.admin-login-card small{font-size:10px;letter-spacing:.15em;color:#168476}.admin-login-card h2{font-size:24px;margin:8px 0}.admin-login-card p{font-size:11px;color:#7c908c}.admin-login-card form{display:grid;gap:16px;margin-top:28px}.admin-login-card label{font-size:11px;color:#607873}.admin-login-card input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d8e5e1;border-radius:8px}.admin-login-card button{margin-top:5px;padding:12px;border:0;border-radius:8px;background:#0e776a;color:#fff;font-weight:800;cursor:pointer}.admin-login-note{font-size:10px;color:#8a9c98;margin-top:20px;line-height:1.6}.sticky-panel{align-self:start;position:sticky;top:104px}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.review-summary{grid-template-columns:45px 1fr 1fr 70px auto}.review-summary>div:nth-of-type(2){display:none}}@media(max-width:820px){.admin-side{width:72px}.admin-side .admin-logo div,.admin-side nav span,.admin-side-foot{display:none}.admin-side nav a{justify-content:center}.admin-side nav i{font-size:16px}.admin-main{margin-left:72px;width:calc(100% - 72px)}.admin-content{padding:18px}.admin-top{padding:0 18px}.metric-grid{grid-template-columns:1fr 1fr}.admin-grid.two,.admin-grid.wide-left{grid-template-columns:1fr}.review-summary{grid-template-columns:40px 1fr auto}.review-summary>div:not(:first-of-type),.review-summary>span.status{display:none}.review-actions{flex-direction:column}.admin-login-shell{grid-template-columns:1fr}.admin-login-brand{display:none}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.filterbar{align-items:stretch;flex-direction:column}.filterbar input{min-width:0}.admin-main{margin-left:0;width:100%}.admin-side{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:60px;z-index:100}.admin-side .admin-logo,.admin-side-foot{display:none}.admin-side nav{flex-direction:row;overflow:auto;padding:6px}.admin-side nav a{min-width:52px;height:48px}.admin-content{padding-bottom:90px}}
/* 2026-09-03 admin narrow mobile hardening */
html,body{max-width:100%;overflow-x:hidden}.admin-main,.admin-content,.panel,.review-card,.admin-grid>*{min-width:0}.announcement-item,.questionnaire-item,.admin-account,.backup-row{overflow-wrap:anywhere}
@media(max-width:430px){
 .admin-top{height:auto;min-height:68px;padding:10px 14px}.admin-top h1{font-size:17px}.admin-top p{max-width:220px;white-space:normal}.admin-user{max-width:110px;overflow:hidden;text-overflow:ellipsis}
 .admin-content{padding:12px 12px 82px}.panel{padding:16px;border-radius:11px}.panel-head{align-items:flex-start;gap:10px;flex-wrap:wrap}.panel-head>div{min-width:0}.panel-head h2{font-size:16px}.metric-grid{gap:8px}.metric-grid article{padding:15px}.metric-grid strong{font-size:28px}
 .review-summary{padding:12px;gap:8px;grid-template-columns:36px minmax(0,1fr) auto}.review-summary h3,.review-summary p{overflow-wrap:anywhere}.review-actions{padding:12px}.review-actions textarea{width:100%}.review-actions div{width:100%}.review-actions button{flex:1;min-width:78px}
 .filterbar{gap:8px}.filterbar input,.filterbar select{width:100%}.table-wrap{margin-left:-4px;margin-right:-4px}.table-wrap table{min-width:720px}.export-panel{align-items:flex-start;flex-direction:column;gap:12px}.export-panel>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
 .admin-login-page{padding:12px}.admin-login-shell{width:100%;border-radius:14px}.admin-login-card{padding:30px 22px}.admin-login-card h2{font-size:22px}
 .admin-side nav a{min-width:50px;padding:0 10px}.admin-side nav em{position:absolute;transform:translate(12px,-14px)}.admin-side nav{gap:2px}
 .config-check{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.config-check b{overflow-wrap:anywhere}.role-help{grid-template-columns:82px minmax(0,1fr)}
 details .admin-form{min-width:0!important;width:min(100%,320px)!important}.announcement-item{gap:10px;flex-wrap:wrap}.questionnaire-item{align-items:flex-start;flex-wrap:wrap}.admin-account{flex-wrap:wrap}
}

/* 2026-09-03 brand consistency polish */
.admin-logo>img{width:42px;height:42px;display:block;object-fit:contain;border-radius:11px;background:#eef8f4;padding:5px;flex:0 0 42px}
.admin-brand-lockup{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}
.admin-brand-lockup>img{width:58px;height:58px;object-fit:contain;border-radius:15px;background:rgba(255,255,255,.94);padding:7px;box-shadow:0 10px 30px rgba(0,0,0,.12);flex:0 0 58px}
.admin-brand-lockup span{display:block;font-size:10px;letter-spacing:.16em;opacity:.66;margin:3px 0 12px}
.admin-brand-lockup h1{margin:0!important;line-height:1.12!important}
.admin-brand-lockup h1 em{display:inline-block;font-style:normal;font-size:.55em;font-weight:600;letter-spacing:.02em;opacity:.74;margin-top:8px}
@media(max-width:820px){.admin-logo>img{width:40px;height:40px;flex-basis:40px}.admin-brand-lockup{margin-bottom:12px}}

/* 2026-09-03 admin visual polish v2 */
:root{--admin-green:#0b665d;--admin-glow:rgba(77,214,178,.18)}.admin-side{background:radial-gradient(circle at 45% 7%,rgba(65,173,147,.16),transparent 23%),linear-gradient(180deg,#0a423e,#083632 72%);box-shadow:10px 0 36px rgba(5,39,35,.06)}.admin-logo{position:relative}.admin-logo:after{content:"";position:absolute;left:17px;right:17px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(115,219,190,.3),transparent)}.admin-logo img{filter:drop-shadow(0 5px 14px rgba(101,224,189,.14));transition:transform .3s ease,filter .3s ease}.admin-logo:hover img{transform:translateY(-1px);filter:drop-shadow(0 7px 20px rgba(101,224,189,.22))}.admin-side nav a{position:relative;transition:background .2s ease,color .2s ease,transform .2s ease}.admin-side nav a:hover{transform:translateX(2px)}.admin-side nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#78dcc0;box-shadow:0 0 16px rgba(120,220,192,.45)}.admin-top{background:rgba(255,255,255,.93);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(28,79,72,.025)}.metric-grid article,.panel,.review-card,.questionnaire-item,.admin-account,.backup-row{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.metric-grid article:hover,.panel:hover{border-color:rgba(24,133,116,.20);box-shadow:0 14px 38px rgba(23,76,67,.055)}.metric-grid article:hover{transform:translateY(-2px)}.metric-grid article{position:relative;overflow:hidden}.metric-grid article:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;right:-34px;top:-36px;background:radial-gradient(circle,rgba(77,214,178,.15),transparent 68%);transition:transform .35s ease}.metric-grid article:hover:after{transform:scale(1.28)}.metric-grid strong{font-variant-numeric:tabular-nums;text-shadow:0 5px 18px rgba(20,128,107,.07)}.admin-btn,.mini-btn,.review-actions button,.admin-login-card button{transition:transform .18s ease,box-shadow .22s ease,filter .22s ease}.admin-btn:hover,.mini-btn:hover,.review-actions button:hover,.admin-login-card button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,117,106,.13);filter:brightness(1.035)}.admin-btn:active,.mini-btn:active,.review-actions button:active,.admin-login-card button:active{transform:scale(.985)}.status{transition:background .2s ease,color .2s ease,box-shadow .2s ease}.integration-state.ready i{animation:adminPulse 2.5s ease-in-out infinite}.admin-alert{animation:adminToast .28s ease both}.admin-login-brand:before{content:"";position:absolute;inset:-25%;background:repeating-linear-gradient(118deg,transparent 0 82px,rgba(255,255,255,.025) 83px 84px,transparent 85px 162px);animation:adminFlow 22s linear infinite;pointer-events:none}.admin-login-brand>*{position:relative;z-index:1}.admin-brand-lockup img{filter:drop-shadow(0 10px 24px rgba(132,229,201,.18));animation:adminLogoFloat 6s ease-in-out infinite}.table-wrap tbody tr{transition:background .18s ease}.table-wrap tbody tr:hover{background:#f8fbfa}@keyframes adminPulse{50%{box-shadow:0 0 0 7px rgba(39,166,126,.05),0 0 16px rgba(39,166,126,.22)}}@keyframes adminToast{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes adminFlow{to{transform:translateX(5%)}}@keyframes adminLogoFloat{50%{transform:translateY(-4px)}}@media(max-width:520px){.admin-side nav a:hover{transform:none}.metric-grid article:hover{transform:none}.admin-login-brand:before{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* questionnaire production analytics */
.survey-metrics{grid-template-columns:repeat(4,1fr)}.metric-text{font-size:22px!important}.survey-actions{display:flex;gap:8px;flex-wrap:wrap}.survey-overview-grid,.result-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.survey-overview-grid h3{font-size:13px;margin:0 0 18px}.trend-chart{height:180px;display:flex;align-items:flex-end;gap:8px;padding:14px 8px 0;border-bottom:1px solid #dce8e5}.trend-col{height:100%;flex:1;min-width:22px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.trend-col i{display:block;width:min(28px,75%);min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#76d9bd,#0f756a);box-shadow:0 5px 15px rgba(15,117,106,.16)}.trend-col small{font-size:9px;color:#829692;white-space:nowrap}.question-kpis{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.question-kpis span,.question-kpis b,.question-kpis em{font-size:10px;padding:5px 8px;border-radius:999px;background:#edf6f3;color:#287a70;font-style:normal}.question-kpis em{background:#0f756a;color:#fff}.distribution-bars{display:grid;gap:14px}.survey-bar>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.survey-bar i{height:10px;background:#edf3f1;border-radius:99px;display:block;overflow:hidden}.survey-bar u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0f756a,#7bdcc0)}.text-answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.text-answer-grid blockquote{margin:0;padding:14px 16px;border:1px solid #e0eae7;border-left:3px solid #65c7ad;border-radius:9px;background:#fbfdfc;font-size:12px;line-height:1.7}.danger-zone{display:flex;justify-content:space-between;align-items:end;gap:24px;border-color:#efcbc4;background:#fffafa}.danger-zone p{font-size:11px;color:#8e6d68}.danger-zone form{display:flex;gap:8px}.danger-zone input{border:1px solid #e4c4be;border-radius:8px;padding:9px}.admin-btn.danger{background:#b64f42}@media(max-width:900px){.survey-metrics{grid-template-columns:1fr 1fr}.survey-overview-grid,.result-grid{grid-template-columns:1fr}.text-answer-grid{grid-template-columns:1fr}.danger-zone{display:block}.danger-zone form{margin-top:15px;flex-direction:column}}@media(max-width:520px){.survey-metrics{grid-template-columns:1fr}.survey-actions{width:100%}.survey-actions .admin-btn{flex:1;text-align:center}.question-kpis{margin-top:8px}.trend-chart{overflow-x:auto}.trend-col{min-width:34px}}
.response-detail-list{display:grid;gap:10px}.response-detail-list article{padding:17px 18px;border:1px solid #e2ebe8;border-radius:11px;background:#fbfdfc}.response-detail-list small{font-size:10px;color:#198276;letter-spacing:.08em}.response-detail-list h3{font-size:14px;margin:7px 0}.response-detail-list p{font-size:12px;line-height:1.8;margin:0;color:#526a65;white-space:pre-wrap}
/* analytics visualization v3 */
.status-funnel{display:grid;gap:14px}.status-funnel>div>span,.status-funnel>div>b{font-size:12px}.status-funnel>div>b{float:right}.status-funnel i,.rank-bar i{display:block;height:8px;margin-top:7px;background:#edf3f1;border-radius:99px;overflow:hidden}.status-funnel u,.rank-bar u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#174f48,#64bea7)}.rank-bar{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;margin:13px 0}.rank-bar>span{width:24px;height:24px;border-radius:7px;background:#edf5f2;color:#24766b;display:grid;place-items:center;font-size:10px;font-weight:800}.rank-bar>div{min-width:0}.rank-bar b{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-bar em{font-size:11px;font-style:normal;color:#647d78}.registration-trend .trend-col b{font-size:9px;color:#42726a}.gender-viz{display:flex;align-items:center;gap:26px}.donut{--f:0;--fm:0;width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#5dc6aa 0 calc(var(--f)*1%),#317f9a calc(var(--f)*1%) calc(var(--fm)*1%),#d9e3e0 calc(var(--fm)*1%) 100%);position:relative;flex:0 0 auto}.donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.donut strong,.donut small{position:relative;z-index:1}.donut strong{font-size:24px}.donut small{font-size:9px;color:#71847f}.donut-legend{flex:1;display:grid;gap:10px}.donut-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#5dc6aa}.legend-dot.g2{background:#317f9a}.legend-dot.g3{background:#d9e3e0}.nps-visual{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px;border-radius:12px;background:linear-gradient(135deg,#f6fbf9,#eef6f3);margin-bottom:20px}.nps-score{text-align:center;border-right:1px solid #dbe8e4;display:grid;place-items:center;align-content:center}.nps-score small{font-size:8px;letter-spacing:.12em;color:#6f8580}.nps-score strong{font-size:42px;line-height:1.1;color:#146e62}.nps-score span{font-size:9px;color:#81938f}.nps-groups{display:grid;gap:9px}.nps-groups>div{display:grid;grid-template-columns:62px 48px 1fr 42px;gap:8px;align-items:center;font-size:10px}.nps-groups i{height:8px;background:#dfeae7;border-radius:99px;overflow:hidden}.nps-groups u{display:block;height:100%;background:linear-gradient(90deg,#2c7d72,#71ccb4);border-radius:99px}.number-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.number-summary>div{padding:14px;border-radius:10px;background:#f3f8f6;border:1px solid #e1ebe8}.number-summary small{display:block;font-size:9px;color:#78908a}.number-summary strong{font-size:22px;color:#165f56}.survey-qr img{image-rendering:auto}@media(max-width:700px){.gender-viz{align-items:flex-start}.donut{width:105px}.nps-visual{grid-template-columns:1fr}.nps-score{border-right:0;border-bottom:1px solid #dbe8e4;padding-bottom:14px}.number-summary{grid-template-columns:1fr 1fr 1fr}.rank-bar{grid-template-columns:24px minmax(0,1fr) auto}}@media(max-width:430px){.gender-viz{display:block}.donut{margin:0 auto 18px}.number-summary{grid-template-columns:1fr}.nps-groups>div{grid-template-columns:56px 42px 1fr}.nps-groups small{display:none}}
/* survey identity controls */
.survey-config-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.survey-config-grid small,.survey-switches small{display:block;font-size:9px;line-height:1.55;color:#7c8d89;margin-top:4px}.survey-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:12px 0}.survey-switches .check{align-items:flex-start}.respondent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.respondent-grid>div{padding:13px;border:1px solid #e1eae7;border-radius:9px;background:#fbfdfc;min-width:0}.respondent-grid small{display:block;font-size:9px;color:#7d8f8a;margin-bottom:5px}.respondent-grid b{display:block;font-size:12px;overflow-wrap:anywhere}@media(max-width:820px){.survey-config-grid,.survey-switches,.respondent-grid{grid-template-columns:1fr}}
.questionnaire-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.questionnaire-badges span{font-size:9px;padding:4px 7px;border-radius:999px;background:#eef5f3;color:#5e7770}
/* survey analysis center v3 */
.analysis-filter-panel{position:relative}.analysis-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:end}.analysis-filter label,.analysis-inline-form label,.cross-config label{font-size:10px;font-weight:800;color:#617570}.analysis-filter select,.analysis-filter input,.analysis-inline-form select,.cross-config select{width:100%;margin-top:5px;border:1px solid #d9e5e1;border-radius:9px;background:#fff;padding:9px 10px;color:#234d46}.analysis-filter-actions{display:flex;gap:7px;align-items:center}.analysis-tabs{display:flex;gap:5px;padding:5px;background:#edf4f2;border:1px solid #dce7e4;border-radius:13px;margin:16px 0 20px;overflow:auto}.analysis-tabs a{flex:1;min-width:110px;text-align:center;padding:10px 14px;border-radius:9px;color:#53706a;font-size:12px;font-weight:800;white-space:nowrap}.analysis-tabs a.active{background:#fff;color:#0f6f64;box-shadow:0 4px 14px rgba(31,86,75,.08)}.analysis-subtitle{margin:25px 0 10px;font-size:12px}.analysis-inline-form{display:flex;max-width:320px;margin-bottom:18px}.group-analysis-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group-analysis-list article{border:1px solid #e0eae7;border-radius:11px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px;background:#fbfdfc}.group-analysis-list article div{display:grid}.group-analysis-list small{font-size:9px;color:#84958f}.group-analysis-list strong{font-size:18px;color:#0f756a}.group-analysis-list i{grid-column:1/-1;height:7px;background:#edf3f1;border-radius:99px;overflow:hidden}.group-analysis-list u{display:block;height:100%;background:linear-gradient(90deg,#0f756a,#76d6bb);border-radius:99px}.cross-config{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end;margin-bottom:22px}.cross-title{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 15px;background:#f4faf8;border:1px solid #dce9e5;border-radius:10px;margin-bottom:14px}.cross-title span{font-size:10px;color:#71857f}.cross-table td{vertical-align:top}.cross-options{display:flex;flex-wrap:wrap;gap:5px}.cross-options span{font-size:9px;padding:4px 6px;background:#eef5f3;border-radius:6px;color:#506e67}.rank-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef3f1}.rank-row span{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#edf5f2;color:#0f756a;font-size:9px;font-weight:800}.rank-row b{font-size:11px}.rank-row em{font-size:10px;font-style:normal;color:#71857f}@media(max-width:1100px){.analysis-filter{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.analysis-filter{grid-template-columns:1fr 1fr}.group-analysis-list{grid-template-columns:1fr}.cross-config{grid-template-columns:1fr}.analysis-tabs a{min-width:100px}}@media(max-width:480px){.analysis-filter{grid-template-columns:1fr}.analysis-filter-actions{grid-column:1}.analysis-filter-actions .admin-btn{flex:1}.analysis-tabs{margin-left:-2px;margin-right:-2px}}
/* analysis center v4: comparison + clearer filter/export UX */
.analysis-filter-panel{position:sticky;top:12px;z-index:8;box-shadow:0 10px 30px rgba(20,65,56,.05)}.analysis-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:end}.analysis-filter label,.cross-config label,.compare-config label{font-size:10px;color:#70827e;font-weight:700}.analysis-filter select,.analysis-filter input,.cross-config select,.compare-config select{width:100%;margin-top:5px}.analysis-filter-actions{display:flex;gap:7px;align-items:center}.analysis-tabs{position:sticky;top:150px;z-index:7;display:flex;gap:5px;padding:6px;border:1px solid #e0e9e6;border-radius:13px;background:rgba(250,253,252,.96);box-shadow:0 8px 24px rgba(21,61,53,.04);overflow-x:auto}.analysis-tabs a{flex:0 0 auto;padding:10px 15px;border-radius:9px;font-size:12px;font-weight:800;color:#60746f}.analysis-tabs a.active{background:#0f756a;color:#fff;box-shadow:0 7px 18px rgba(15,117,106,.2)}.compare-config{display:grid;grid-template-columns:1.2fr repeat(3,1fr) auto;gap:10px;align-items:end}.compare-question{display:flex;align-items:center;gap:12px;margin:22px 0 14px;padding:13px 15px;border-radius:11px;background:#f5faf8;border:1px solid #dce9e5}.compare-question small{color:#7a8d87}.compare-question b{flex:1}.compare-question span{font-size:10px;color:#0f756a}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compare-card{border:1px solid #dfe9e6;border-radius:14px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdfc);min-width:0}.compare-card-head{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf2f0}.compare-card-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#0f756a;color:#fff;font-weight:900}.compare-card-head div{min-width:0}.compare-card-head b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-card-head small{display:block;margin-top:3px;color:#81918d;font-size:9px}.compare-kpis{display:flex;gap:8px;margin:13px 0}.compare-kpis>div{flex:1;padding:10px;border-radius:9px;background:#f2f8f6}.compare-kpis small{display:block;font-size:9px;color:#788984}.compare-kpis strong{font-size:21px;color:#155f56}.compare-distribution{display:grid;gap:9px}.compare-distribution>div{display:grid;grid-template-columns:minmax(60px,1fr) auto;gap:6px;font-size:10px;align-items:center}.compare-distribution i{grid-column:1/-1;height:6px;border-radius:99px;background:#edf3f1;overflow:hidden}.compare-distribution u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0f756a,#7ed8bd)}@media(max-width:1200px){.analysis-filter{grid-template-columns:repeat(3,1fr)}.compare-config{grid-template-columns:repeat(2,1fr)}.compare-config .admin-btn{grid-column:1/-1}.compare-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.analysis-filter-panel{position:static}.analysis-tabs{top:0}.analysis-filter{grid-template-columns:1fr 1fr}.compare-config{grid-template-columns:1fr}.compare-config .admin-btn{grid-column:auto}.compare-grid{grid-template-columns:1fr}.compare-question{align-items:flex-start;flex-direction:column}.analysis-filter-actions{grid-column:1/-1}.analysis-filter-actions .admin-btn{flex:1}}@media(max-width:460px){.analysis-filter{grid-template-columns:1fr}.analysis-filter-actions{grid-column:auto}.analysis-tabs a{padding:9px 12px}.survey-actions{gap:5px}}
