:root{
  --navy:#0f2f59;--navy-2:#0b2444;--blue:#1769aa;--blue-2:#2b85c8;--sky:#eaf5ff;
  --bg:#f3f6fa;--surface:#fff;--surface-2:#f8fafc;--line:#e3e9f0;--line-strong:#d3dce7;
  --text:#152237;--muted:#67768a;--muted-2:#91a0b2;--success:#129447;--danger:#d52f3f;
  --warning:#c97913;--purple:#6d50c7;--shadow:0 18px 50px rgba(21,42,72,.09);--shadow-sm:0 7px 20px rgba(21,42,72,.07);
  --radius:18px;--radius-sm:12px;--sidebar:270px
}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a{transition:.18s ease}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{flex:none}.no-scroll{overflow:hidden}.muted{color:var(--muted)}

/* Shared controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:11px 17px;font-weight:700;cursor:pointer;min-height:44px;background:var(--surface)}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;box-shadow:0 8px 20px rgba(23,105,170,.2)}.btn-primary:hover{box-shadow:0 10px 24px rgba(23,105,170,.28)}.btn-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--navy)}.btn-secondary:hover{border-color:#a9bfd4;background:#f7fbff}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-danger{background:#fff2f3;color:#b91c2b;border-color:#ffd2d6}.btn-sm{min-height:38px;padding:8px 13px;font-size:13px;border-radius:9px}.btn-block{width:100%}.text-link{color:var(--blue);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:4px}.icon-btn{width:38px;height:38px;padding:0;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#52657c}.icon-btn:hover{color:var(--blue);border-color:#b7cde0;background:#f5faff}.icon-btn--danger:hover{color:var(--danger);background:#fff3f4;border-color:#ffd1d5}
.alert{display:flex;align-items:flex-start;gap:10px;border-radius:12px;padding:13px 15px;margin:0 0 18px;border:1px solid}.alert ul{margin:5px 0 0;padding-left:20px}.alert-success{color:#0d7637;background:#effbf3;border-color:#bce8ca}.alert-danger{color:#a3212f;background:#fff3f4;border-color:#ffd0d5}.alert-warning{color:#8b5309;background:#fff9ed;border-color:#f6d9a9}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--blue)}
.field{display:flex;flex-direction:column;gap:7px}.field>span{font-weight:700;font-size:13px;color:#3a4c62}.field>span b{color:var(--danger)}.field>span small{font-weight:500;color:var(--muted)}.field input,.field select,.field textarea,.inline-filter select,.filter-bar input,.filter-bar select{width:100%;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:11px 13px;outline:none;min-height:44px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus,.inline-filter select:focus{border-color:#4a95cb;box-shadow:0 0 0 3px rgba(43,133,200,.12)}.field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(213,47,63,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field--wide{grid-column:1/-1}.form-stack{display:grid;gap:18px}.switch-field{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:14px}.switch-field input{appearance:none;width:44px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;flex:none;margin:1px 0 0}.switch-field input:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--surface);left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.switch-field input:checked{background:var(--success)}.switch-field input:checked:after{transform:translateX(20px)}.switch-field span{display:flex;flex-direction:column}.switch-field small{color:var(--muted);margin-top:2px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}

/* Public shell */
.public-body{min-height:100vh;background:linear-gradient(180deg,#edf4fb 0,#f6f8fb 48%,#fff 100%);position:relative;overflow-x:hidden}.public-bg-orb{position:fixed;border-radius:50%;filter:blur(4px);pointer-events:none;opacity:.3}.public-bg-orb--one{width:420px;height:420px;background:#b9dfff;top:-210px;right:-120px}.public-bg-orb--two{width:360px;height:360px;background:#d9cffb;bottom:-240px;left:-140px}.public-footer{max-width:1200px;margin:0 auto;padding:30px 24px 36px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;position:relative}.public-footer a{font-weight:700;color:#61758b}.landing-shell{max-width:1200px;margin:0 auto;padding:24px;position:relative}.landing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:165px;height:auto}.brand span{display:none}.regulation-pill{background:rgba(255,255,255,.8);border:1px solid rgba(187,205,222,.75);padding:8px 12px;border-radius:999px;color:#536b83;font-size:12px;font-weight:700;backdrop-filter:blur(10px)}
.hero-card{background:linear-gradient(125deg,#0c2c54 0%,#155c96 58%,#318fc9 100%);border-radius:28px;padding:52px 58px;min-height:360px;color:#fff;display:grid;grid-template-columns:1.4fr .8fr;align-items:center;box-shadow:0 24px 60px rgba(12,44,84,.25);position:relative;overflow:hidden}.hero-card:before,.hero-card:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.hero-card:before{width:430px;height:430px;right:-170px;top:-230px}.hero-card:after{width:270px;height:270px;right:-40px;bottom:-190px}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{color:#9dd7ff}.hero-copy h1{font-size:42px;line-height:1.12;margin:10px 0 16px;max-width:700px;letter-spacing:-.03em}.hero-copy p{font-size:17px;color:#dcecff;max-width:680px;margin:0;line-height:1.7}.hero-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px}.hero-points span{display:flex;align-items:center;gap:7px;color:#e6f4ff;font-weight:600;font-size:13px}.hero-points svg{color:#7ee2ad}.hero-visual{min-height:245px;position:relative;z-index:2}.score-ring{width:175px;height:175px;border-radius:50%;border:18px solid rgba(255,255,255,.13);box-shadow:inset 0 0 0 3px rgba(255,255,255,.34),0 25px 60px rgba(0,0,0,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:22px;right:45px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.score-ring span{font-size:44px;font-weight:800;line-height:1}.score-ring small{font-size:11px;color:#d8ecfb;margin-top:8px;font-weight:700}.floating-stat{position:absolute;background:rgba(255,255,255,.94);color:var(--navy);border-radius:13px;padding:11px 15px;box-shadow:0 10px 30px rgba(5,28,52,.2);display:flex;align-items:center;gap:9px}.floating-stat strong{font-size:22px;color:var(--blue)}.floating-stat span{font-size:11px;font-weight:700;color:#61758b}.floating-stat--one{left:10px;top:32px}.floating-stat--two{right:2px;bottom:8px}
.services-section{padding:54px 0 22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px}.section-heading h2{font-size:29px;margin:6px 0 0;letter-spacing:-.02em}.section-heading p{max-width:480px;color:var(--muted);margin:0;text-align:right}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column;min-height:330px;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--service-color)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d5e0eb}.service-icon{width:48px;height:48px;border-radius:13px;background:color-mix(in srgb,var(--service-color) 12%,var(--surface));color:var(--service-color);display:flex;align-items:center;justify-content:center}.service-code{position:absolute;top:27px;right:24px;color:var(--service-color);font-size:12px;font-weight:800;letter-spacing:.08em}.service-card h3{font-size:18px;line-height:1.35;margin:18px 0 10px}.service-card p{font-size:13px;color:var(--muted);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.service-meta{display:flex;gap:13px;font-size:11px;color:#7b8b9d;margin-top:auto;margin-bottom:15px}.service-meta span{background:#f4f7fa;padding:5px 8px;border-radius:6px}.btn-service{width:100%;background:color-mix(in srgb,var(--service-color) 10%,var(--surface));color:var(--service-color);border-color:color-mix(in srgb,var(--service-color) 20%,var(--surface))}.btn-service:hover{background:var(--service-color);color:#fff}.scale-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:32px}.scale-guide>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:10px}.scale-guide strong{font-size:13px}.scale-guide small{grid-column:2;color:var(--muted);font-size:10px}.score-dot{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800}.score-1{background:#fff0f2;color:#d1273a}.score-2{background:#fff5e9;color:#d36b08}.score-3{background:var(--bg);color:#56667a}.score-4{background:#eef8d9;color:#60950e}

/* Survey */
.survey-shell{max-width:1120px;margin:0 auto;padding:30px 20px 50px;position:relative}.survey-panel{background:var(--surface);border:1px solid #dfe6ee;border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.survey-header{display:flex;align-items:center;justify-content:space-between;padding:20px 30px;border-bottom:1px solid var(--line)}.brand--compact img{width:145px}.progress-summary{text-align:right}.progress-summary>span{display:block;color:#8b9aac;font-size:10px;letter-spacing:.12em;font-weight:800}.progress-summary strong{font-size:13px}.progress-summary strong b{color:var(--blue)}.mini-progress{width:120px;height:5px;background:#e8edf3;border-radius:999px;margin-top:6px;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#45a5da);border-radius:inherit;transition:width .3s}.autosave-note{margin:20px 30px 0;background:#fff8ec;color:#95570b;border:1px solid #f4d5a6;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:9px;font-size:12px}.survey-panel>.alert{margin:16px 30px 0}.survey-titlebar{margin:20px 30px 0;border:1px solid var(--line);border-radius:15px;padding:14px 16px;display:flex;align-items:center;gap:13px;background:linear-gradient(90deg,color-mix(in srgb,var(--service-color) 7%,var(--surface)),#fff)}.survey-titlebar .service-icon{width:42px;height:42px}.survey-titlebar span{font-size:11px;color:var(--service-color);font-weight:800}.survey-titlebar h1{font-size:17px;margin:1px 0 0}.step-tabs{display:flex;gap:5px;overflow-x:auto;padding:18px 30px 12px;scrollbar-width:thin;border-bottom:1px solid var(--line)}.step-tab{white-space:nowrap;border:0;background:transparent;color:#8391a2;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;cursor:pointer}.step-tab span{width:25px;height:25px;border:1px solid #dbe2e9;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;background:var(--surface)}.step-tab.is-active{background:#edf6ff;color:#1469a8}.step-tab.is-active span{background:var(--blue);color:#fff;border-color:var(--blue)}.step-tab.is-complete{color:#26814e}.step-tab.is-complete span{background:#e8f8ef;border-color:#b9e3c9;color:#168347}.step-tab:disabled{cursor:not-allowed;opacity:.52}.survey-step{display:none;padding:28px 30px 18px;animation:fadeUp .22s ease}.survey-step.is-active{display:block}.step-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.step-heading>span{width:39px;height:39px;border-radius:11px;background:#e9f4fd;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none}.step-heading h2{font-size:20px;margin:0 0 3px}.step-heading p{font-size:12px;color:var(--muted);margin:0}.privacy-box{display:flex;gap:10px;align-items:flex-start;background:#f4f8fb;border:1px solid var(--line);padding:13px 14px;border-radius:11px;color:#607287;font-size:12px;margin-top:20px}.questions-stack{display:grid;gap:14px}.question-card{border:1px solid var(--line);border-radius:15px;padding:19px;background:var(--surface)}.question-card.has-error{border-color:#ef9aa3;box-shadow:0 0 0 3px rgba(213,47,63,.08)}.question-header{display:flex;align-items:flex-start;gap:11px}.question-number{background:#fff0f2;color:#ca293a;border-radius:7px;padding:4px 8px;white-space:nowrap;font-size:11px;font-weight:800}.question-header h3{font-size:15px;margin:2px 0 0;line-height:1.45}.question-header h3 b{color:var(--danger)}.rationale{margin:10px 0 13px 45px;font-size:11px;color:#65768a}.rationale summary{cursor:pointer;color:#55738f;font-weight:700;display:flex;gap:6px;align-items:center}.rationale p{background:#f6f9fc;border-left:3px solid #a9cce7;padding:9px 11px;border-radius:0 7px 7px 0;line-height:1.55}.rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.rating-option{cursor:pointer}.rating-option input{position:absolute;opacity:0;pointer-events:none}.rating-box{min-height:66px;border:1px solid #dbe2e9;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface)}.rating-box strong{font-size:20px;line-height:1}.rating-box small{font-size:10px;color:#617083;margin-top:6px;text-align:center}.rating-option:hover .rating-box{transform:translateY(-1px);border-color:#abc3d8;box-shadow:0 5px 13px rgba(22,62,99,.07)}.rating-option input:focus-visible+.rating-box{outline:3px solid rgba(43,133,200,.22)}.rating-1 input:checked+.rating-box{background:#d83245;color:#fff;border-color:#d83245}.rating-2 input:checked+.rating-box{background:#e47a16;color:#fff;border-color:#e47a16}.rating-3 input:checked+.rating-box{background:#657589;color:#fff;border-color:#657589}.rating-4 input:checked+.rating-box{background:#159447;color:#fff;border-color:#159447}.rating-option input:checked+.rating-box small{color:#fff}.field-error{display:none;color:var(--danger);font-size:11px;margin-top:7px}.question-card.has-error .field-error{display:block}.consent{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:var(--surface-2);padding:14px;border-radius:11px;margin-top:20px;font-size:12px}.consent input{width:18px;height:18px;accent-color:var(--blue);margin-top:1px}.survey-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:15px 30px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.step-counter{font-size:12px;color:var(--muted)}.btn-submit{background:linear-gradient(135deg,#087f3c,#17a358);color:#fff}.honeypot{position:absolute!important;left:-99999px!important}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}

/* Thank you / Login */
.thankyou-shell,.login-shell{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:35px 20px;position:relative}.thankyou-card,.login-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:40px;text-align:center}.success-mark{width:92px;height:92px;border-radius:50%;background:#eaf9f0;color:var(--success);display:grid;place-items:center;margin:0 auto 20px;border:7px solid #f4fcf7}.thankyou-card h1{font-size:29px;margin:8px 0 12px}.thankyou-card>p{color:var(--muted);line-height:1.7}.receipt{background:var(--surface-2);border:1px dashed #b9c8d7;border-radius:13px;padding:16px;margin:22px 0;display:flex;flex-direction:column}.receipt span,.receipt small{font-size:11px;color:var(--muted)}.receipt strong{font-size:24px;letter-spacing:.12em;color:var(--navy);margin:3px}.thankyou-actions{display:flex;justify-content:center}.login-card{text-align:left;max-width:450px;padding:34px}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.login-brand img{width:150px}.login-brand>div{display:none}.login-copy{margin:25px 0 20px}.login-copy h1{font-size:27px;margin:5px 0 7px}.login-copy p{color:var(--muted);font-size:13px;margin:0}.login-form{display:grid;gap:16px}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-wrap button{position:absolute;right:5px;top:5px;width:35px;height:35px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.remember{display:flex;gap:8px;align-items:center;font-size:12px;color:#52647a}.remember input{width:17px;height:17px;accent-color:var(--blue)}.back-link{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;margin-top:18px}

/* Admin layout */
.admin-body{background:var(--bg)}.admin-app{min-height:100vh}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,#0c2d55,#0a2444);color:#dbe8f4;z-index:30;display:flex;flex-direction:column;box-shadow:8px 0 35px rgba(7,31,57,.12)}.sidebar-brand{height:82px;display:flex;align-items:center;gap:10px;padding:0 21px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand img{width:145px;filter:brightness(0) invert(1)}.sidebar-brand>div{display:none}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:20px 14px;overflow:auto}.nav-caption{font-size:9px;letter-spacing:.14em;color:#7f9bb8;font-weight:800;padding:13px 12px 5px}.sidebar-nav a,.sidebar-footer a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:11px 12px;color:#bcd0e2;font-size:13px;font-weight:650}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(72,159,219,.16);color:#fff}.sidebar-nav a.active{box-shadow:inset 3px 0 0 #5db8f1}.sidebar-footer{margin-top:auto;padding:15px;border-top:1px solid rgba(255,255,255,.08)}.admin-main{margin-left:var(--sidebar);min-height:100vh}.admin-topbar{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.topbar-title span{font-size:10px;color:var(--blue);text-transform:uppercase;letter-spacing:.11em;font-weight:800}.topbar-title h1{font-size:21px;margin:1px 0 0}.topbar-user{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:9px;border-right:1px solid var(--line);padding-right:12px}.user-chip>span{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-weight:800}.user-chip div{display:flex;flex-direction:column}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;color:var(--muted)}.mobile-menu{display:none;border:0;background:transparent;width:40px;height:40px}.admin-content{padding:26px 30px 48px;max-width:1600px;margin:0 auto}.sidebar-overlay{display:none}
.page-actions{display:flex;align-items:center;gap:12px;margin-bottom:17px}.page-actions--between{justify-content:space-between}.action-cluster{display:flex;gap:8px}.page-note{color:var(--muted);font-size:13px;margin:0}.filter-bar{display:flex;align-items:flex-end;gap:10px}.filter-bar label{display:flex;flex-direction:column;gap:5px}.filter-bar label>span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.filter-bar input,.filter-bar select{min-height:38px;padding:7px 10px;font-size:12px}.filter-panel{padding:14px 16px;margin-bottom:18px;border-radius:14px}.filter-bar--wide{flex-wrap:wrap}.filter-search{min-width:220px;flex:1}.inline-filter select{min-width:320px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px rgba(21,42,72,.04);padding:20px;margin-bottom:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-heading h2{font-size:17px;margin:3px 0 0}.panel-heading>small{color:var(--muted);font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;align-items:center;gap:13px;position:relative;box-shadow:0 5px 18px rgba(21,42,72,.04)}.metric-card--primary{background:linear-gradient(125deg,#0e315c,#176ba9);color:#fff;border-color:transparent}.metric-icon{width:43px;height:43px;border-radius:12px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.metric-card--primary .metric-icon{background:rgba(255,255,255,.13);color:#fff}.metric-card>div:nth-child(2){display:flex;flex-direction:column}.metric-card span{font-size:11px;color:var(--muted);font-weight:700}.metric-card--primary span,.metric-card--primary small{color:#cae5f8}.metric-card strong{font-size:25px;line-height:1.15;margin:2px 0}.metric-card small{font-size:10px;color:var(--muted)}.metric-card .grade-pill{position:absolute;right:16px;top:16px}.metric-label{font-size:17px!important}.grade-pill{min-width:30px;height:26px;padding:0 8px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.grade-excellent{background:#e7f8ee;color:#0b853c}.grade-good{background:#eaf4fd;color:#176ca7}.grade-fair{background:#fff4df;color:#b66a08}.grade-poor{background:#fff0f2;color:#c82939}.grade-muted{background:#eef1f5;color:#7a8795}.dashboard-services{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dashboard-service{border:1px solid var(--line);border-radius:13px;padding:15px;min-width:0}.dashboard-service-head{display:flex;align-items:center;gap:9px}.dashboard-service-head .service-icon{width:36px;height:36px;border-radius:9px}.dashboard-service-head>div:nth-child(2){min-width:0;flex:1}.dashboard-service-head span{font-size:9px;color:var(--service-color);font-weight:800}.dashboard-service-head h3{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0}.score-row{display:flex;align-items:baseline;justify-content:space-between;margin:15px 0 7px}.score-row strong{font-size:24px}.score-row span{font-size:10px;color:var(--muted)}.score-track{height:6px;background:#e9eef3;border-radius:999px;overflow:hidden}.score-track i{height:100%;display:block;background:linear-gradient(90deg,var(--service-color,var(--blue)),color-mix(in srgb,var(--service-color,var(--blue)) 65%,var(--surface)));border-radius:inherit}.dashboard-service-foot{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);margin-top:10px}.dashboard-service-foot a{display:flex;align-items:center;color:var(--blue);font-weight:800}.dashboard-columns{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.activity-list{display:grid}.activity-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.activity-item:last-child{border:0}.activity-avatar{width:35px;height:35px;border-radius:10px;background:#edf5fc;color:var(--blue);display:grid;place-items:center;font-weight:800}.activity-item div{min-width:0}.activity-item strong{font-size:12px;display:block}.activity-item small{font-size:10px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item time{font-size:9px;color:var(--muted)}.demographic-group{margin-bottom:18px}.demographic-group:last-child{margin:0}.demographic-group h3{font-size:11px;margin:0 0 9px;color:#52657a}.bar-row{display:grid;grid-template-columns:100px 1fr 24px;align-items:center;gap:8px;margin:8px 0;font-size:10px}.bar-row>div{height:6px;background:#edf1f5;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#55a8d8);border-radius:inherit}.bar-row b{text-align:right}.empty-state{text-align:center;color:var(--muted);padding:35px 15px}.empty-state svg{opacity:.45}.empty-state p{margin:8px 0 0}

/* Admin tables and forms */
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{text-align:left;background:var(--surface-2);color:#65758a;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:11px 12px;border-bottom:1px solid var(--line)}.data-table td{padding:12px;border-bottom:1px solid #edf1f5;font-size:12px;vertical-align:top}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:0}.cell-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px;max-width:400px}.question-cell{min-width:310px;line-height:1.5}.actions-col{width:90px}.table-actions{display:flex;gap:5px}.table-actions form{display:inline-flex}.tag{display:inline-flex;background:#edf5fc;color:#176ca7;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:800}.service-badge{display:inline-flex;background:color-mix(in srgb,var(--badge-color) 12%,var(--surface));color:var(--badge-color);padding:4px 8px;border-radius:7px;font-size:10px;font-weight:900}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800}.status-active{background:#e8f8ef;color:#128143}.status-inactive{background:#f0f2f5;color:#758293}.pagination{display:flex;list-style:none;padding:0;margin:18px 0 0;gap:5px;justify-content:flex-end}.page-link{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:#52657a;font-size:11px}.page-item.active .page-link{background:var(--blue);color:#fff;border-color:var(--blue)}.page-item.disabled .page-link{opacity:.45}.form-panel{padding:24px}.form-panel--narrow{max-width:680px}.color-field{display:flex;gap:8px}.color-field input[type=color]{width:52px;padding:4px}.form-panel .field textarea{line-height:1.55}.admin-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-service-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(21,42,72,.04);position:relative;overflow:hidden}.admin-service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--service-color)}.admin-service-head{display:flex;justify-content:space-between;align-items:center}.admin-service-card h2{font-size:17px;line-height:1.4;margin:6px 0 8px}.admin-service-card p{color:var(--muted);font-size:11px;min-height:52px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.admin-service-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;margin:15px 0}.admin-service-stats span{display:flex;flex-direction:column;text-align:center;padding:9px 4px;font-size:9px;color:var(--muted);border-right:1px solid var(--line)}.admin-service-stats span:last-child{border:0}.admin-service-stats b{font-size:16px;color:var(--text)}.card-actions{display:flex;flex-wrap:wrap;gap:6px}.card-actions form{display:inline-flex}.detail-grid{display:grid;grid-template-columns:1fr 280px;gap:20px}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0}.detail-list>div{padding:11px 0;border-bottom:1px solid #edf1f5}.detail-list dt{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.detail-list dd{margin:3px 0 0;font-weight:650;font-size:12px}.response-score{display:flex;flex-direction:column;justify-content:center;text-align:center}.response-score>span{font-size:11px;color:var(--muted);font-weight:700}.response-score>strong{font-size:52px;line-height:1.1;color:var(--blue)}.response-score>small{font-size:10px;color:var(--muted);margin-bottom:15px}.answer-list{display:grid;gap:8px}.answer-list article{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:12px}.answer-list h3{font-size:12px;margin:0 0 3px}.answer-list small{font-size:9px;color:var(--muted)}.answer-score{width:38px;height:38px;border-radius:10px;color:#fff;display:grid;place-items:center;font-size:18px}.answer-score-1{background:#d83245}.answer-score-2{background:#e47a16}.answer-score-3{background:#657589}.answer-score-4{background:#159447}.feedback-detail{display:grid;gap:12px}.feedback-detail>div{border:1px solid var(--line);border-radius:10px;padding:13px}.feedback-detail b{font-size:11px}.feedback-detail p{font-size:12px;color:#53657a;margin:5px 0 0;white-space:pre-wrap}.metric-grid--report{grid-template-columns:repeat(4,1fr)}.element-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.element-card{border:1px solid var(--line);border-radius:12px;padding:14px}.element-card>div:first-child{display:flex;justify-content:space-between}.element-card>div:first-child>span{color:var(--blue);font-size:10px;font-weight:900}.element-card h3{font-size:12px;margin:6px 0 10px;min-height:34px}.element-card>strong{font-size:22px}.element-card .score-track{margin:7px 0}.element-card small{font-size:9px;color:var(--muted)}.report-table{min-width:1100px}.feedback-list{display:grid;gap:10px}.feedback-item{border:1px solid var(--line);border-radius:11px;padding:14px;display:grid;gap:10px}.feedback-meta{display:flex!important;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f5;padding-bottom:9px}.feedback-meta span{font-size:9px;color:var(--muted)}.feedback-item b{font-size:10px;color:#52657a}.feedback-item p{font-size:11px;margin:3px 0 0;white-space:pre-wrap}.feedback-item>div:not(.feedback-meta){background:var(--surface-2);border-radius:8px;padding:9px}

@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:1280px){.dashboard-services{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.admin-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1024px){:root{--sidebar:250px}.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.is-open{transform:none}.sidebar-overlay{position:fixed;inset:0;background:rgba(8,27,48,.45);z-index:29}.sidebar-overlay.is-open{display:block}.sidebar-close{display:grid}.admin-main{margin-left:0}.mobile-menu{display:grid;place-items:center}.admin-topbar{padding:0 20px}.admin-content{padding:22px 20px 40px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.hero-card{padding:42px;grid-template-columns:1.25fr .75fr}.hero-copy h1{font-size:36px}.scale-guide{grid-template-columns:repeat(2,1fr)}.element-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:14px}.landing-shell{padding:16px}.landing-header{margin-bottom:16px}.brand img{width:140px}.regulation-pill{font-size:9px;padding:6px 9px}.hero-card{display:block;padding:34px 24px;min-height:auto;border-radius:22px}.hero-copy h1{font-size:30px}.hero-copy p{font-size:14px}.hero-visual{display:none}.hero-points{gap:11px;margin-top:20px}.hero-points span{font-size:11px}.services-section{padding-top:38px}.section-heading{display:block}.section-heading h2{font-size:24px}.section-heading p{text-align:left;margin-top:8px;font-size:12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.scale-guide{grid-template-columns:1fr;padding:10px}.public-footer{display:block;text-align:center;line-height:2}.survey-shell{padding:0}.survey-panel{border-radius:0;border-left:0;border-right:0;min-height:100vh}.survey-header{padding:14px 16px}.brand--compact img{width:125px}.progress-summary strong{font-size:11px}.mini-progress{width:90px}.autosave-note,.survey-panel>.alert,.survey-titlebar{margin-left:15px;margin-right:15px}.autosave-note{font-size:10px}.survey-titlebar h1{font-size:13px}.step-tabs{padding:13px 15px 10px}.survey-step{padding:20px 15px 100px}.step-heading h2{font-size:17px}.form-grid{grid-template-columns:1fr;gap:14px}.field--wide{grid-column:auto}.rating-grid{grid-template-columns:repeat(2,1fr)}.question-card{padding:15px}.question-header{display:block}.question-number{display:inline-flex;margin-bottom:8px}.rationale{margin-left:0}.survey-actions{padding:12px 15px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px rgba(25,48,73,.08)}.step-counter{display:none}.survey-actions .btn{flex:1;padding:10px 8px;font-size:12px}.thankyou-card,.login-card{padding:28px 22px;border-radius:19px}.thankyou-card h1{font-size:24px}.admin-topbar{height:68px;padding:0 13px}.topbar-title span{display:none}.topbar-title h1{font-size:17px}.user-chip div{display:none}.user-chip{padding-right:8px}.admin-content{padding:15px 12px 35px}.page-actions--between{align-items:flex-start}.filter-bar{width:100%;flex-wrap:wrap}.filter-bar label{flex:1;min-width:130px}.filter-bar .btn{flex:none}.filter-panel{padding:12px}.metric-grid,.metric-grid--report{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:13px;gap:9px}.metric-icon{width:36px;height:36px}.metric-card strong{font-size:20px}.dashboard-services{grid-template-columns:1fr}.panel{padding:15px;border-radius:13px}.panel-heading h2{font-size:15px}.admin-service-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.element-grid{grid-template-columns:1fr}.action-cluster{flex-wrap:wrap;justify-content:flex-end}.form-panel{padding:16px}.form-actions{position:sticky;bottom:0;background:var(--surface);padding:13px 0 0}.inline-filter{flex:1}.inline-filter select{min-width:0;width:100%}.answer-list article{grid-template-columns:auto 1fr}.answer-score{grid-column:2;justify-self:end}.feedback-meta{align-items:flex-start;gap:8px;flex-direction:column}.bar-row{grid-template-columns:85px 1fr 22px}}
@media(max-width:460px){.metric-grid,.metric-grid--report{grid-template-columns:1fr}.hero-copy h1{font-size:27px}.scale-guide{margin-top:20px}.survey-header .brand img{width:105px}.progress-summary>span{display:none}.mini-progress{width:75px}.question-header h3{font-size:14px}.rating-box{min-height:61px}.page-actions{flex-wrap:wrap}.page-actions>.btn{width:auto}.topbar-user .icon-btn{width:35px;height:35px}.admin-content{padding-left:10px;padding-right:10px}}

@media print{.admin-sidebar,.admin-topbar,.page-actions,.filter-panel,.public-footer,.pagination{display:none!important}.admin-main{margin:0}.admin-content{padding:0}.panel,.metric-card{box-shadow:none;break-inside:avoid}.data-table{font-size:9px}.report-table{min-width:0}.feedback-item{break-inside:avoid}body{background:var(--surface)}}

/* SOP, pertanyaan dinamis, dan formulir khusus layanan data */
.survey-title-content{min-width:0;flex:1}.survey-title-content p{margin:7px 0 0;color:#5f7185;font-size:11px;line-height:1.55;max-width:850px}.survey-titlebar.has-sop{position:relative;align-items:flex-start}.survey-titlebar.has-sop .survey-title-content{padding-right:190px}.sop-action{position:absolute;top:14px;right:16px;width:168px;display:grid;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--service-color) 18%,#dfe7ef);border-radius:12px;background:color-mix(in srgb,var(--service-color) 6%,var(--surface));color:var(--service-color);cursor:pointer;text-align:left;box-shadow:0 4px 12px rgba(26,67,105,.04);z-index:2}.sop-action__icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--service-color);color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--service-color) 24%,transparent)}.sop-action__text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.sop-action__text small{font-size:9px;color:#7a899b;font-weight:700;white-space:nowrap}.sop-action__text strong{margin-top:2px;font-size:12px;color:var(--service-color);white-space:nowrap}.sop-action__arrow{opacity:.55;transition:transform .18s ease,opacity .18s ease}.sop-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--service-color) 35%,#dfe7ef);background:color-mix(in srgb,var(--service-color) 10%,var(--surface));box-shadow:0 8px 18px rgba(26,67,105,.08)}.sop-action:hover .sop-action__arrow{transform:translateX(2px);opacity:1}.sop-action:focus-visible{outline:3px solid color-mix(in srgb,var(--service-color) 20%,transparent);outline-offset:2px}.question-header h3 small,.dynamic-text-question>span small{font-size:10px;color:var(--muted);font-weight:600}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.data-request-box{grid-column:1/-1;margin-top:20px;border:1px solid #dce7f2;background:#f8fbfe;border-radius:15px;padding:18px}.field-group-heading h3{font-size:15px;margin:4px 0}.field-group-heading h3 b{color:#d83245}.field-group-heading p{font-size:11px;color:var(--muted);margin:0}.data-option-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:14px}.data-option input{position:absolute;opacity:0;pointer-events:none}.data-option span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:1px solid #d8e3ee;background:var(--surface);border-radius:10px;padding:8px;color:#52657a;font-size:11px;font-weight:750;cursor:pointer;transition:.18s}.data-option input:checked+span{border-color:var(--blue);background:#edf6ff;color:var(--blue);box-shadow:0 0 0 2px rgba(24,112,177,.1)}.data-request-box.has-error{border-color:#e15d6b}.checkbox-group-error{margin-top:8px}.data-other-field{margin-top:14px}.dynamic-text-questions{gap:16px}.dynamic-text-question{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface)}.dynamic-text-question>span{font-weight:750}.dynamic-text-question .field-help{margin:5px 0 9px}.sop-modal[hidden]{display:none}.sop-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.sop-modal-backdrop{position:absolute;inset:0;background:rgba(5,20,38,.72);backdrop-filter:blur(3px)}.sop-modal-dialog{position:relative;width:min(1050px,100%);max-height:92vh;background:var(--surface);border-radius:17px;box-shadow:0 28px 80px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column}.sop-modal-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.sop-modal-dialog h2{font-size:17px;margin:3px 0 0}.sop-gallery{overflow:auto;padding:18px;display:grid;gap:18px;background:#f3f6f9}.sop-gallery figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.sop-gallery img{display:block;max-width:100%;height:auto;margin:auto;border-radius:7px}.sop-gallery figcaption{font-size:10px;color:var(--muted);margin-top:8px}.modal-open{overflow:hidden}.sop-upload-field input[type=file]{padding:11px;background:var(--surface-2);border:1px dashed #b9c9d8;border-radius:10px}.admin-sop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}.admin-sop-item{border:1px solid var(--line);border-radius:11px;padding:8px;background:var(--surface-2)}.admin-sop-item img{width:100%;height:150px;object-fit:contain;background:var(--surface);border-radius:7px}.admin-sop-item span{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:10px;color:#9d2632;font-weight:700}.admin-service-stats--four{grid-template-columns:repeat(4,1fr)}.data-detail-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.data-detail-list .tag{font-size:11px;padding:7px 10px}
@media(max-width:1024px){.data-option-grid{grid-template-columns:repeat(3,1fr)}.admin-sop-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.survey-titlebar{align-items:flex-start;flex-wrap:wrap}.survey-title-content,.survey-titlebar.has-sop .survey-title-content{width:calc(100% - 55px);padding-right:0}.sop-action{position:static;width:100%;margin:10px 0 0;grid-template-columns:32px minmax(0,1fr) 15px}.sop-action__icon{width:32px;height:32px}.data-option-grid{grid-template-columns:repeat(2,1fr)}.admin-sop-grid{grid-template-columns:repeat(2,1fr)}.sop-modal{padding:8px}.sop-modal-dialog{max-height:96vh;border-radius:13px}.sop-modal-dialog>header{padding:14px}.sop-gallery{padding:10px}}
@media(max-width:460px){.data-option-grid{grid-template-columns:1fr}.admin-sop-grid{grid-template-columns:1fr}.admin-service-stats--four{grid-template-columns:repeat(2,1fr)}.admin-service-stats--four span:nth-child(2){border-right:0}.admin-service-stats--four span:nth-child(-n+2){border-bottom:1px solid var(--line)}}
/* Dynamic data options and grouped service surveys */
.public-form-nav{display:flex;align-items:center;gap:8px;margin:28px 0 0;padding:6px;background:rgba(255,255,255,.82);border:1px solid rgba(211,220,231,.9);border-radius:14px;box-shadow:0 8px 24px rgba(21,42,72,.05);width:max-content;max-width:100%}.public-form-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:10px;color:#607287;font-size:12px;font-weight:800}.public-form-nav a:hover{background:#f4f8fc;color:var(--blue)}.public-form-nav a.is-active{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;box-shadow:0 7px 16px rgba(23,105,170,.2)}
.compact-public-heading{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 32px;box-shadow:var(--shadow-sm)}.compact-public-heading h1{font-size:31px;margin:6px 0 7px}.compact-public-heading p{max-width:760px;color:var(--muted);margin:0;line-height:1.7}.services-section--compact{padding-top:34px}
.group-public-card{min-height:390px}.group-card-services{display:grid;gap:6px;margin:0 0 18px}.group-card-services span{display:flex;align-items:flex-start;gap:7px;color:#52657a;font-size:10px;line-height:1.4}.group-card-services i,.group-service-list i,.thankyou-service-list i{width:7px;height:7px;border-radius:50%;flex:none;margin-top:4px}.public-empty-group{grid-column:1/-1;padding:45px 25px}.public-empty-group h3{margin:12px 0 6px}.public-empty-group p{color:var(--muted);margin:0 0 18px}
.group-service-list{display:grid;gap:6px;margin:3px 0 17px;min-height:54px}.group-service-list span{display:flex;gap:7px;align-items:flex-start;font-size:10px;color:#5c6e83;line-height:1.35}.group-admin-card .admin-service-stats{grid-template-columns:repeat(3,1fr)}
.group-service-picker{display:grid;gap:10px;margin-top:10px}.group-service-choice{display:grid;grid-template-columns:auto 42px minmax(0,1fr) 88px;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:12px;cursor:pointer;transition:.18s}.group-service-choice:hover{border-color:#b8ccde;background:#f4f9fd}.group-service-choice.is-selected{border-color:#79acd2;background:#f1f8fe;box-shadow:0 0 0 2px rgba(43,133,200,.08)}.group-service-choice>input{width:18px;height:18px;accent-color:var(--blue)}.group-service-choice__icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--choice-color) 12%,var(--surface));color:var(--choice-color)}.group-service-choice__copy{min-width:0;display:flex;flex-direction:column}.group-service-choice__copy b{font-size:12px}.group-service-choice__copy small{font-size:10px;color:var(--muted);margin-top:2px}.group-service-choice__order{display:flex;flex-direction:column;gap:3px}.group-service-choice__order small{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}.group-service-choice__order input{width:100%;min-height:37px;border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px;background:var(--surface)}.group-service-choice__order input:disabled{opacity:.45;background:#edf1f5}.data-option-admin-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px dashed #b9cbdc;background:#f8fbfe;border-radius:12px;padding:14px}.data-option-admin-link>div{display:flex;flex-direction:column}.data-option-admin-link b{font-size:13px}.data-option-admin-link small{font-size:10px;color:var(--muted);margin-top:3px}.panel-note{font-size:11px;color:var(--muted);max-width:440px;text-align:right;margin:0}
.group-survey-titlebar{margin-bottom:0}.group-step-tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.group-step-tabs .step-tab{flex:0 0 auto;min-width:105px}.group-inclusion-box{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:15px;border:1px solid #d8e5f0;background:#f6faff;border-radius:12px;color:var(--blue)}.group-inclusion-box>div{min-width:0}.group-inclusion-box b{display:block;font-size:12px;color:var(--navy)}.group-inclusion-box p{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0}.group-inclusion-box p span{background:var(--surface);border:1px solid #dbe7f1;border-radius:7px;padding:5px 8px;color:#52657a;font-size:9px;font-weight:700}
.group-service-step{padding-top:24px}.group-service-heading{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:14px;border:1px solid color-mix(in srgb,var(--service-color) 18%,var(--line));background:color-mix(in srgb,var(--service-color) 5%,var(--surface));border-radius:16px;padding:18px;margin-bottom:20px}.group-service-heading.has-sop{padding-right:205px}.group-service-heading .service-icon{width:46px;height:46px}.group-service-heading h2{font-size:19px;margin:3px 0 5px}.group-service-heading p{font-size:11px;line-height:1.55;color:var(--muted);margin:0}.group-sop-action{top:15px;right:15px}.group-question-section{margin-top:20px}.group-element-heading{display:flex;align-items:center;gap:11px;margin:0 0 12px;padding:0 2px}.group-element-heading>span{width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--service-color) 12%,var(--surface));color:var(--service-color);display:grid;place-items:center;font-size:11px;font-weight:900}.group-element-heading h3{font-size:14px;margin:0}.group-element-heading p{font-size:10px;color:var(--muted);margin:2px 0 0}.group-feedback-section{padding-top:4px;border-top:1px solid var(--line)}
.group-review-list{display:grid;gap:10px}.group-review-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px}.group-review-list .service-icon{width:38px;height:38px;border-radius:10px}.group-review-list article>div{display:flex;flex-direction:column}.group-review-list b{font-size:12px}.group-review-list small{font-size:10px;color:var(--muted)}.review-status{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:10px;font-weight:800}.thankyou-service-list{display:grid;gap:7px;text-align:left;background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:13px;margin:18px 0}.thankyou-service-list span{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#53667c}.group-thankyou-card{max-width:650px}

@media(max-width:900px){.group-service-heading.has-sop{padding-right:18px;padding-bottom:80px}.group-sop-action{top:auto;left:18px;right:18px;bottom:14px;width:auto}.group-service-choice{grid-template-columns:auto 38px minmax(0,1fr) 75px}.panel-note{text-align:left}.panel-heading{flex-direction:column}}
@media(max-width:760px){.public-form-nav{width:100%;display:grid;grid-template-columns:1fr 1fr}.public-form-nav a{justify-content:center;text-align:center;padding:9px 8px;font-size:10px}.compact-public-heading{padding:23px 20px;border-radius:18px}.compact-public-heading h1{font-size:25px}.group-public-card{min-height:0}.group-step-tabs{padding-bottom:10px}.group-step-tabs .step-tab{min-width:92px}.group-service-heading{grid-template-columns:auto 1fr;padding:15px}.group-service-heading.has-sop{padding-right:15px;padding-bottom:76px}.group-service-heading h2{font-size:16px}.group-service-choice{grid-template-columns:auto 36px minmax(0,1fr);padding:10px}.group-service-choice__order{grid-column:2/4;display:grid;grid-template-columns:55px 1fr;align-items:center}.group-service-choice__order input{max-width:120px}.data-option-admin-link{align-items:flex-start;flex-direction:column}.group-review-list article{grid-template-columns:auto 1fr}.review-status{grid-column:2}.group-inclusion-box p{display:grid}.group-question-section .question-card{margin-bottom:10px}}
@media(max-width:460px){.public-form-nav{grid-template-columns:1fr}.group-service-heading .service-icon{width:40px;height:40px}.group-service-heading p{font-size:10px}.group-element-heading{align-items:flex-start}.group-review-list article{padding:10px}.group-service-choice__copy b{font-size:11px}}

/* V4: theme, official logo, drag sorting, and raw-data export */
html[data-theme="dark"]{
  --navy:#74bdf0;--navy-2:#17395d;--blue:#4aa6e8;--blue-2:#69b7ed;--sky:#172d42;
  --bg:#0f1722;--surface:#172230;--surface-2:#1c2939;--line:#2b3b4e;--line-strong:#3a4c61;
  --text:#e9f0f8;--muted:#a1b0c2;--muted-2:#77899f;--success:#45c978;--danger:#ff7380;
  --warning:#f4b45d;--purple:#a693ef;--shadow:0 18px 50px rgba(0,0,0,.28);--shadow-sm:0 7px 20px rgba(0,0,0,.2)
}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .public-body{background:linear-gradient(180deg,#0e1926 0,#111c29 48%,#101925 100%)}
html[data-theme="dark"] .public-bg-orb{opacity:.1}
html[data-theme="dark"] .admin-topbar{background:rgba(23,34,48,.92)}
html[data-theme="dark"] .regulation-pill,
html[data-theme="dark"] .public-form-nav{background:rgba(23,34,48,.88);border-color:var(--line)}
html[data-theme="dark"] .field>span,
html[data-theme="dark"] .demographic-group h3,
html[data-theme="dark"] .remember,
html[data-theme="dark"] .group-card-services span,
html[data-theme="dark"] .group-service-list span{color:#c7d3e1}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .inline-filter select,
html[data-theme="dark"] .filter-bar input,
html[data-theme="dark"] .filter-bar select,
html[data-theme="dark"] .group-service-choice__order input{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#74869a}
html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .page-link{background:var(--surface);color:#c8d7e6;border-color:var(--line-strong)}
html[data-theme="dark"] .btn-secondary:hover,
html[data-theme="dark"] .icon-btn:hover{background:var(--surface-2);border-color:#52708c;color:#8bcaf4}
html[data-theme="dark"] .btn-danger{background:#3a2028;border-color:#67323c;color:#ff9ba4}
html[data-theme="dark"] .data-table th{background:var(--surface-2);color:#aab9ca}
html[data-theme="dark"] .data-table td,
html[data-theme="dark"] .activity-item{border-color:var(--line)}
html[data-theme="dark"] .data-table tbody tr:hover{background:#1b2a3b}
html[data-theme="dark"] .tag{background:#1c3850;color:#8ac9f3}
html[data-theme="dark"] .status-active{background:#173b2b;color:#70dfa0}
html[data-theme="dark"] .status-inactive{background:#263342;color:#a7b5c5}
html[data-theme="dark"] .grade-excellent{background:#173b2b;color:#70dfa0}
html[data-theme="dark"] .grade-good{background:#19364e;color:#81c6f4}
html[data-theme="dark"] .grade-fair{background:#45351c;color:#f4c172}
html[data-theme="dark"] .grade-poor{background:#43232c;color:#ff929d}
html[data-theme="dark"] .grade-muted{background:#263342;color:#a7b5c5}
html[data-theme="dark"] .alert-success{color:#91e7b1;background:#163626;border-color:#285b3e}
html[data-theme="dark"] .alert-danger{color:#ffadb5;background:#3b2028;border-color:#67313c}
html[data-theme="dark"] .alert-warning{color:#f6ca88;background:#3d301e;border-color:#65502b}
html[data-theme="dark"] .score-track,
html[data-theme="dark"] .bar-row>div{background:#263548}
html[data-theme="dark"] .receipt,
html[data-theme="dark"] .data-request-box,
html[data-theme="dark"] .privacy-box,
html[data-theme="dark"] .group-inclusion-box,
html[data-theme="dark"] .thankyou-service-list{background:var(--surface-2);border-color:var(--line-strong)}
html[data-theme="dark"] .rating-box{background:var(--surface-2);border-color:var(--line-strong)}
html[data-theme="dark"] .rationale{background:#192737;border-color:var(--line)}
html[data-theme="dark"] .service-meta span{background:var(--surface-2)}
html[data-theme="dark"] .public-footer a{color:#a9bed3}

.theme-toggle{flex:none}
.theme-toggle [data-theme-icon]{display:grid;place-items:center}
html[data-theme="dark"] .theme-toggle [data-theme-icon="moon"]{display:none}
html:not([data-theme="dark"]) .theme-toggle [data-theme-icon="sun"]{display:none}
.theme-toggle--public{position:fixed;right:20px;bottom:20px;z-index:70;box-shadow:var(--shadow-sm);background:var(--surface)}

.brand img{width:64px;height:64px;object-fit:contain}
.brand--compact img{width:54px;height:54px}
.sidebar-brand{height:92px;padding:12px 18px;gap:12px}
.sidebar-brand img{width:58px;height:58px;object-fit:contain;filter:none;background:#fff;border-radius:50%;padding:3px;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.sidebar-brand>div{display:flex;flex-direction:column;min-width:0}
.sidebar-brand>div strong{font-size:12px;line-height:1.25;color:#fff}
.sidebar-brand>div span{font-size:9px;color:#9fb6cc;margin-top:3px}
.login-brand{justify-content:center;flex-direction:column;text-align:center}
.login-brand img{width:104px;height:104px;object-fit:contain}
.login-brand>div{display:flex;flex-direction:column}
.login-brand>div strong{font-size:13px;color:var(--text)}
.login-brand>div span{font-size:10px;color:var(--muted)}

.drag-handle{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:9px;color:var(--muted);display:grid;place-items:center;cursor:grab;touch-action:none;flex:none}
.drag-handle:active{cursor:grabbing}
.sort-move-buttons{display:flex;gap:4px}
.sort-move-buttons .icon-btn{width:32px;height:32px}
.sort-position{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;font-weight:900;color:var(--muted)}
.sortable-item.is-dragging{opacity:.45}
.sortable-item.is-drag-over{outline:2px dashed var(--blue);outline-offset:-3px}
.sortable-item.is-order-dirty{background:#fff0f1!important;border-color:#f3a8af!important;box-shadow:0 0 0 2px rgba(213,47,63,.08)}
html[data-theme="dark"] .sortable-item.is-order-dirty{background:#40232a!important;border-color:#8e4853!important;box-shadow:0 0 0 2px rgba(255,115,128,.12)}
.sort-dirty-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #f2a7ae;background:#fff0f1;color:#a3212f;border-radius:12px;margin:12px 0;font-size:12px;font-weight:700}
html[data-theme="dark"] .sort-dirty-notice{background:#40232a;border-color:#8e4853;color:#ffadb5}
.sort-dirty-notice__actions{display:flex;gap:8px;flex-wrap:wrap}

.group-service-picker{counter-reset:selected-service}
.group-service-choice{grid-template-columns:36px auto 42px minmax(0,1fr) auto;cursor:default}
.group-service-choice:not(.is-selected){opacity:.78}
.group-service-choice.is-selected{counter-increment:selected-service}
.group-service-choice__check{display:grid;place-items:center}
.group-service-choice__check input{width:18px;height:18px;accent-color:var(--blue)}
.group-service-choice__sort{display:flex;align-items:center;gap:6px}
.group-service-choice:not(.is-selected) .drag-handle,
.group-service-choice:not(.is-selected) .sort-move-buttons,
.group-service-choice:not(.is-selected) .sort-position{visibility:hidden}

.question-sort-cell{display:flex;align-items:center;gap:8px;min-width:132px}
.question-sort-row{transition:background .16s,border-color .16s}
.question-sort-row.is-order-dirty td{background:#fff0f1;border-color:#f4c2c6}
html[data-theme="dark"] .question-sort-row.is-order-dirty td{background:#40232a;border-color:#74404a}
.question-sort-row.is-drag-over td{box-shadow:inset 0 2px 0 var(--blue)}
.question-order-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.question-order-toolbar p{margin:0;color:var(--muted);font-size:12px}

.raw-export-panel{padding:18px;margin-bottom:18px}
.raw-export-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.raw-export-heading h2{font-size:17px;margin:3px 0 4px}
.raw-export-heading p{margin:0;color:var(--muted);font-size:11px;max-width:700px}
.raw-export-form{display:grid;grid-template-columns:1.1fr 1.2fr 1.2fr .8fr .8fr auto;gap:10px;align-items:end}
.raw-export-form label{display:flex;flex-direction:column;gap:5px;min-width:0}
.raw-export-form label>span{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.raw-export-form select,.raw-export-form input{min-height:40px;width:100%;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:8px 10px;outline:none}
.raw-export-actions{display:flex;gap:7px}
.raw-export-target[hidden]{display:none!important}

@media(max-width:1100px){.raw-export-form{grid-template-columns:repeat(3,minmax(0,1fr))}.raw-export-actions{grid-column:1/-1}.raw-export-actions .btn{flex:1}}
@media(max-width:760px){.theme-toggle--public{right:12px;bottom:12px}.brand img{width:54px;height:54px}.sidebar-brand>div{display:flex}.group-service-choice{grid-template-columns:32px auto 36px minmax(0,1fr)}.group-service-choice__sort{grid-column:2/5;justify-content:flex-start}.question-order-toolbar,.sort-dirty-notice,.raw-export-heading{align-items:flex-start;flex-direction:column}.raw-export-form{grid-template-columns:1fr}.raw-export-actions{grid-column:auto;flex-direction:column}.raw-export-actions .btn{width:100%}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sort-management-note .alert{margin:0}

/* Dark-mode refinements for public survey and export screens */
html[data-theme="dark"] .floating-stat,
html[data-theme="dark"] .survey-actions{background:rgba(23,34,48,.95);border-color:var(--line-strong)}
html[data-theme="dark"] .survey-titlebar{background:linear-gradient(90deg,color-mix(in srgb,var(--service-color) 12%,var(--surface)),var(--surface));border-color:var(--line-strong)}
html[data-theme="dark"] .autosave-note{background:#3c301e;color:#f4c172;border-color:#66512c}
html[data-theme="dark"] .question-number,
html[data-theme="dark"] .score-1{background:#43232c;color:#ff929d}
html[data-theme="dark"] .score-2{background:#45351c;color:#f4c172}
html[data-theme="dark"] .score-3{background:#263342;color:#b8c5d3}
html[data-theme="dark"] .score-4{background:#173b2b;color:#70dfa0}
html[data-theme="dark"] .rationale p{background:#192737;border-color:#52708c;color:#b9c8d7}
html[data-theme="dark"] .step-tab span{background:var(--surface-2);border-color:var(--line-strong)}
html[data-theme="dark"] .step-tab.is-active{background:#1a3850;color:#8bcaf4}
html[data-theme="dark"] .step-tab.is-complete span{background:#173b2b;border-color:#2a6846;color:#70dfa0}
html[data-theme="dark"] .service-card:hover,
html[data-theme="dark"] .group-service-choice:hover{border-color:#52708c;background:#1b2a3b}
html[data-theme="dark"] .group-service-choice.is-selected{border-color:#4b8fbd;background:#193247}
html[data-theme="dark"] .raw-export-form select,
html[data-theme="dark"] .raw-export-form input{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}
html[data-theme="dark"] .drag-handle{background:var(--surface-2);border-color:var(--line-strong);color:#aab9ca}

/* Clickable regulation link configured from Admin > Pengaturan Aplikasi */
.regulation-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    max-width:min(520px,55vw);
    text-align:center;
    line-height:1.35;
}
a.regulation-pill--link{
    text-decoration:none;
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
a.regulation-pill--link:hover{
    transform:translateY(-1px);
    color:var(--blue);
    border-color:rgba(43,133,200,.45);
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 22px rgba(24,63,98,.12);
}
a.regulation-pill--link:focus-visible{
    outline:3px solid color-mix(in srgb,var(--blue) 32%,transparent);
    outline-offset:3px;
}
.regulation-pill__external{
    flex:none;
    font-size:1.05em;
    line-height:1;
    transition:transform .18s ease;
}
a.regulation-pill--link:hover .regulation-pill__external{
    transform:translate(1px,-1px);
}
html[data-theme="dark"] a.regulation-pill--link:hover{
    color:#8bcaf4;
    border-color:#52708c;
    background:rgba(28,41,57,.96);
    box-shadow:0 8px 22px rgba(0,0,0,.24);
}
@media(max-width:760px){
    .regulation-pill{max-width:54vw}
}
