@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#f4f8f5;--surface:#fff;--ink:#10251c;--muted:#66756e;--line:#dfe9e3;--green:#0e4b37;--green2:#176b4b;--green3:#24936a;--mint:#dff5e9;--danger:#a93a3a;--shadow:0 24px 70px rgba(20,73,52,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh}h1,h2,h3,.brand{font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.ambient{position:fixed;border-radius:999px;filter:blur(1px);pointer-events:none;z-index:-1;opacity:.65}.ambient-a{width:540px;height:540px;right:-220px;top:-220px;background:radial-gradient(circle,#bfead2 0,rgba(191,234,210,0) 70%);animation:float 10s ease-in-out infinite}.ambient-b{width:460px;height:460px;left:-190px;bottom:-180px;background:radial-gradient(circle,#cde9d7 0,rgba(205,233,215,0) 70%);animation:float 12s ease-in-out infinite reverse}@keyframes float{50%{transform:translate(20px,25px) scale(1.05)}}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:white;background:linear-gradient(145deg,var(--green),var(--green3));box-shadow:0 8px 22px rgba(14,75,55,.25)}.portal-nav{height:86px;display:flex;align-items:center;justify-content:space-between}.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#0b4432,#1b7b56);box-shadow:0 10px 28px rgba(18,93,65,.22)}.btn-light,.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--green)}.btn-ghost{background:rgba(255,255,255,.65);backdrop-filter:blur(10px)}.btn-small{padding:9px 13px;border-radius:11px;font-size:13px}.btn-danger-soft{background:#fff1f1;color:var(--danger);border:1px solid #f3cece}.portal-main{padding:55px 0 90px}.hero{max-width:820px;margin-bottom:50px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--green3);margin-bottom:14px}.hero h1,.page-head h1{margin:0}.hero h1{font-size:clamp(42px,7vw,72px);line-height:1.03;letter-spacing:-.05em}.hero h1 span{background:linear-gradient(120deg,var(--green),var(--green3));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:660px;color:var(--muted);font-size:18px;line-height:1.75}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.portal-card{display:block;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:24px;overflow:hidden;box-shadow:0 12px 35px rgba(28,77,58,.08);transition:.3s}.portal-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.portal-card-visual,.portal-card-image{height:165px;width:100%;object-fit:cover}.portal-card-visual{display:grid;place-items:center;background:linear-gradient(140deg,#0b4432,#176b4b 52%,#52aa7f);position:relative;overflow:hidden}.portal-card-visual:after{content:'';position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-45px;top:-70px}.portal-card-visual span{font-size:42px;color:#fff}.portal-card-body{padding:24px}.tiny-badge,.type-pill,.required-pill,.count-pill,.status{display:inline-flex;font-size:10px;font-weight:800;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:var(--mint);color:var(--green)}.portal-card h2{margin:13px 0 8px;font-size:21px}.portal-card p{color:var(--muted);line-height:1.55;min-height:48px}.card-link{display:flex;justify-content:space-between;margin-top:22px;color:var(--green);font-weight:700}.empty-card{grid-column:1/-1;text-align:center;padding:60px;background:#fff;border:1px dashed #bdd1c4;border-radius:24px}.empty-icon{font-size:34px;color:var(--green3)}.reveal{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}
.form-page{padding:55px 20px}.form-shell{width:min(760px,100%);margin:auto}.back-link{display:inline-block;color:var(--green);font-weight:700;font-size:14px;margin-bottom:18px}.back-link.centered{display:block;text-align:center;margin:18px 0 0}.form-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(222,235,227,.8)}.form-header-image{width:100%;height:230px;object-fit:cover}.form-heading{padding:38px 42px 22px;border-top:7px solid var(--green)}.form-heading h1{font-size:34px;letter-spacing:-.03em;margin:0 0 12px}.form-heading p{color:var(--muted);line-height:1.7}.required-note{font-size:12px;color:var(--muted);margin-top:20px}.required-note span,.field-label span,.admin-form label>span,.add-field-card label>span{color:#c54545}.dynamic-form{padding:0 42px 42px}.field-block{padding:24px 0;border-top:1px solid var(--line)}.field-label{display:block;font-weight:700;margin-bottom:12px}.field-block input:not([type=radio]):not([type=checkbox]),.field-block textarea,.field-block select,.admin-form input,.admin-form textarea,.admin-form select,.add-field-card input,.add-field-card textarea,.add-field-card select,.field-editor input,.field-editor textarea,.field-editor select,.share-box input,.login-card input{width:100%;border:1px solid #d6e3da;background:#fbfdfc;border-radius:13px;padding:13px 14px;outline:none;color:var(--ink);transition:.2s}.field-block textarea{min-height:115px;resize:vertical}.field-block input:focus,.field-block textarea:focus,.field-block select:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.login-card input:focus{border-color:#55a582;box-shadow:0 0 0 4px rgba(62,147,106,.10);background:#fff}.choice-list{display:grid;gap:10px}.choice{display:flex;gap:10px;align-items:flex-start;background:#f8fbf9;border:1px solid var(--line);padding:12px 14px;border-radius:12px;cursor:pointer}.choice input{accent-color:var(--green2);margin-top:3px}.btn-submit{width:100%;justify-content:space-between;padding:15px 18px}.btn-submit:disabled{opacity:.65;cursor:not-allowed}.validated :invalid{border-color:#d77575!important}.form-footer{text-align:center;color:#7c8b83;font-size:12px;margin:18px}.alert{padding:13px 15px;border-radius:12px;background:#eef4f0;border:1px solid var(--line);margin:14px 0}.form-card>.alert{margin:0 42px 16px}.alert-error{background:#fff3f3;color:#8f3131;border-color:#f0caca}.alert-success{background:#ecfaf2;color:#1a6949;border-color:#c8ead6}.success-page{display:grid;place-items:center;padding:25px}.success-card{width:min(520px,100%);text-align:center;background:#fff;padding:52px 42px;border-radius:28px;box-shadow:var(--shadow)}.success-icon{width:72px;height:72px;border-radius:24px;margin:0 auto 22px;display:grid;place-items:center;background:linear-gradient(140deg,var(--green),var(--green3));color:#fff;font-size:34px;box-shadow:0 18px 36px rgba(14,75,55,.24)}.success-card h1{font-size:36px;margin:8px 0}.success-card p{color:var(--muted);line-height:1.7;margin-bottom:28px}
.login-page{display:grid;place-items:center;padding:35px}.login-wrap{width:min(1040px,100%);display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.login-brand{padding:55px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#092f25,#0d4c37 55%,#1b7654);position:relative}.login-brand:after{content:'';position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-140px;bottom:-100px}.login-brand .eyebrow{color:#8bd1ae}.login-brand h1{font-size:43px;line-height:1.08;letter-spacing:-.04em}.login-brand p{color:#c5ded1;line-height:1.7}.login-card{background:#fff;padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:29px;margin:0 0 6px}.login-card>p{color:var(--muted);margin:0 0 24px}.login-card label{display:block;font-size:13px;font-weight:700;margin:14px 0}.login-card label input{margin-top:8px}
.admin-page{background:#f4f7f5}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:linear-gradient(180deg,#082d23,#0c4634);padding:26px 18px;z-index:20;color:#dcebe4;display:flex;flex-direction:column}.sidebar-brand{padding:0 10px 26px;color:#fff}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px 13px;border-radius:12px;color:#bfd3c8;font-weight:600;display:flex;gap:12px;align-items:center}.sidebar nav a.active,.sidebar nav a:hover{background:rgba(255,255,255,.10);color:#fff}.sidebar nav a span{width:20px;text-align:center}.sidebar-bottom{margin-top:auto}.admin-chip{display:flex;gap:10px;align-items:center;padding:12px;border-top:1px solid rgba(255,255,255,.10);margin-top:15px}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.12);font-weight:800}.admin-chip div{display:grid}.admin-chip small{color:#8fb4a2}.logout-link{display:block;padding:10px 12px;color:#f4b5b5;font-size:13px}.admin-content{margin-left:260px;min-height:100vh}.admin-topbar{height:76px;padding:0 30px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;position:sticky;top:0;z-index:10}.admin-topbar>div{display:grid}.admin-topbar small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.admin-topbar .btn{margin-left:auto}.menu-toggle{display:none}.icon-btn{border:0;background:#edf4f0;width:36px;height:36px;border-radius:10px;cursor:pointer}.admin-main{padding:30px}.admin-hero{background:linear-gradient(130deg,#0a3b2d,#17684b);border-radius:24px;padding:34px 38px;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 36px rgba(14,75,55,.16);overflow:hidden;position:relative}.admin-hero:after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-60px;top:-100px}.admin-hero .eyebrow{color:#94d3b5}.admin-hero h1{margin:0;font-size:34px}.admin-hero p{color:#c7ded2;margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:8px}.stat-card small{color:var(--muted);font-weight:600}.stat-card strong{font:800 34px 'Manrope';color:var(--green)}.stat-card span{font-size:11px;color:#8a9891}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin:20px 0}.panel-head,.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head{margin-bottom:18px}.panel-head h2,.page-head h1{margin:0}.panel-head p,.page-head p{margin:4px 0 0;color:var(--muted)}.page-head{margin-bottom:22px}.page-head h1{font-size:34px}.head-actions,.row-actions{display:flex;gap:9px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #edf2ef}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b8a82}td{font-size:14px}.table-sub{display:block;color:#8a9991;margin-top:3px}.text-right{text-align:right}.table-action,.row-actions a,.row-actions button{color:var(--green2);font-weight:700;font-size:13px}.row-actions button{border:0;background:none;padding:0;cursor:pointer}.row-actions .link-danger{color:#b44a4a}.status-active{background:#e7f8ee;color:#16724d}.status-draft{background:#f1f3f2;color:#607068}.status-closed{background:#fff0f0;color:#a14444}.panel-empty{text-align:center;color:var(--muted);padding:38px}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.builder-grid>.panel{margin:0}.builder-side{display:grid;gap:14px;align-content:start}.mini-preview,.share-box{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.mini-gradient{height:110px;display:grid;place-items:center;color:#fff;font-size:28px;background:linear-gradient(140deg,#0b4432,#2c8e66)}.mini-preview>div:last-child{padding:20px}.mini-preview small,.share-box small{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--green3)}.mini-preview h3{margin:7px 0}.mini-preview p{font-size:13px;color:var(--muted);line-height:1.5}.share-box{padding:17px}.share-box input{margin:8px 0 10px;font-size:11px}.admin-form label,.add-field-card label,.field-editor label{display:block;font-size:12px;font-weight:700;margin:13px 0}.admin-form label small,.add-field-card label small,.field-editor label small{display:block;color:var(--muted);font-weight:400;margin:4px 0}.admin-form input,.admin-form textarea,.admin-form select,.add-field-card input,.add-field-card textarea,.add-field-card select,.field-editor input,.field-editor textarea,.field-editor select{margin-top:7px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-header-preview{width:100%;max-height:200px;object-fit:cover;border-radius:14px;margin:8px 0}.field-builder-layout{display:grid;grid-template-columns:290px 1fr;gap:18px}.add-field-card{background:#f7faf8;border:1px solid var(--line);border-radius:16px;padding:18px;height:max-content;position:sticky;top:96px}.add-field-card h3{margin:0}.switch-row{display:flex!important;align-items:center;gap:9px}.switch-row input{width:auto!important;margin:0!important;accent-color:var(--green2)}.existing-fields{display:grid;gap:12px}.field-editor{border:1px solid var(--line);border-radius:16px;overflow:hidden}.field-editor-head{padding:14px 15px;display:flex;align-items:center;justify-content:space-between;background:#fbfdfc}.field-editor-head>div{display:flex;align-items:center;gap:8px}.drag-dot{color:#a6b5ad}.required-pill{background:#fff0f0;color:#a64747}.type-pill{background:#eef5f1;color:#547064}.field-editor-body{padding:0 16px 16px;border-top:1px solid var(--line)}.field-editor.collapsed .field-editor-body{display:none}.field-actions{display:flex;gap:8px}.response-sheet{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.answer-row{padding:20px 24px;border-bottom:1px solid var(--line)}.answer-row:last-child{border:0}.answer-row small{font-weight:800;color:#6c7d74}.answer-row div{margin-top:8px;line-height:1.65}.meta-card{margin-top:15px;font-size:11px;color:#728279;display:grid;gap:4px}.narrow-panel{max-width:650px}.count-pill{font-size:11px}
@media(max-width:980px){.form-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.builder-grid{grid-template-columns:1fr}.builder-side{grid-template-columns:1fr 1fr}.field-builder-layout{grid-template-columns:1fr}.add-field-card{position:static}.login-wrap{grid-template-columns:1fr}.login-brand{display:none}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar-open .sidebar{transform:none}.admin-content{margin-left:0}.menu-toggle{display:block}}
@media(max-width:640px){.container{width:min(100% - 24px,1180px)}.portal-main{padding-top:25px}.hero h1{font-size:42px}.form-grid{grid-template-columns:1fr}.portal-nav{height:70px}.form-page{padding:20px 12px}.form-heading,.dynamic-form{padding-left:22px;padding-right:22px}.form-heading h1{font-size:28px}.form-header-image{height:170px}.login-page{padding:12px}.login-card{padding:42px 25px}.admin-main{padding:18px 12px}.admin-topbar{padding:0 14px}.admin-topbar strong{font-size:13px}.admin-topbar .btn{font-size:0;padding:10px}.admin-topbar .btn:after{content:'+';font-size:18px}.admin-hero{padding:25px;display:block}.admin-hero .btn{margin-top:15px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:28px}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.two-col,.builder-side{grid-template-columns:1fr}.panel{padding:17px}.field-editor-head>div{flex-wrap:wrap}.head-actions{width:100%}.head-actions .btn{flex:1}.success-card{padding:40px 24px}}

/* Quick status action in form manager */
.inline-form{display:inline;margin:0;padding:0}.inline-form button{font:inherit;background:none;border:0;padding:0;cursor:pointer}

/* ===== Survey layout v2: model form bertahap ===== */
.survey-page{padding:34px 20px 60px;background:linear-gradient(135deg,#edf5f0 0%,#f8fbf9 48%,#e8f3ed 100%)}
.survey-shell{width:min(820px,100%)}
.survey-card{border-radius:16px;box-shadow:0 24px 70px rgba(10,55,40,.16);border:1px solid rgba(20,91,65,.10);overflow:hidden;position:relative}
.survey-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#0b4432,#1f8b62,#5ab98b);z-index:2}
.survey-cover-wrap{height:190px;overflow:hidden;background:#e7f1eb}
.survey-cover{height:100%;width:100%;object-fit:cover;display:block}
.survey-content{padding:38px 40px 34px}
.survey-heading{padding:0 0 8px}
.survey-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#218761;margin-bottom:8px}
.survey-heading h1{font-family:'DM Sans',system-ui,sans-serif;font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px;color:#20282c}
.survey-heading p{margin:0 0 14px;color:#68736e;line-height:1.55;font-size:14px}
.scale-legend{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 20px}
.scale-chip{display:inline-flex;align-items:center;gap:8px;background:#f8f9f9;border:1px solid #dfe4e1;border-radius:999px;padding:4px 10px 4px 5px;font-size:13px;color:#3a4145;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.scale-number,.rating-circle,.admin-scale-num{display:inline-grid;place-items:center;color:#fff;font-weight:800;border-radius:999px;width:23px;height:23px;line-height:1}
.scale-red,.admin-scale-num.n1{background:#e94142}.scale-yellow,.admin-scale-num.n2{background:#f4b72b}.scale-purple,.admin-scale-num.n3{background:#8920ad}.scale-blue,.admin-scale-num.n4{background:#238bd2}.scale-green,.admin-scale-num.n5{background:#32984b}
.survey-progress{display:flex;gap:8px;align-items:center;width:min(230px,45%);margin:4px 0 8px}
.step-segment{height:5px;flex:1;border-radius:99px;background:#c9cdcb;transition:.3s ease}
.step-segment.active,.step-segment.done{background:linear-gradient(90deg,#0b5a40,#28a876);box-shadow:0 2px 8px rgba(25,135,94,.18)}
.survey-alert{margin:12px 0 0!important}
.dynamic-form.survey-form{padding:0!important}
.form-step{display:none;animation:surveyStepIn .34s ease both}
.form-step.is-active{display:block}
@keyframes surveyStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.step-caption{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#7d8983;margin:12px 0 2px}
.survey-field.field-block{border-top:0!important;padding:23px 0 5px}
.survey-field .field-label{font-size:15px;font-weight:500;margin:0 0 11px;color:#30373a}
.survey-field .field-label span{color:#66736c}
.survey-field .line-control{width:100%!important;border:0!important;border-bottom:2px solid #d1d6d3!important;border-radius:0!important;background:transparent!important;padding:10px 1px 9px!important;outline:none!important;box-shadow:none!important;color:#1e2824!important;transition:border-color .2s,box-shadow .2s!important}
.survey-field select.line-control{padding-right:30px!important;cursor:pointer}
.survey-field textarea.line-control{min-height:72px!important;resize:vertical}
.survey-field .line-control:focus{border-bottom-color:#197a56!important;box-shadow:0 2px 0 rgba(25,122,86,.06)!important}
.survey-field .line-control::placeholder{color:#a2aaa6}
.survey-choice-list{display:flex;flex-wrap:wrap;gap:9px}
.survey-choice.choice{background:#fafcfb;border:1px solid #dce5df;border-radius:999px;padding:9px 13px;align-items:center;transition:.2s}
.survey-choice.choice:hover{border-color:#84b69f;background:#f3f9f5}
.survey-choice.choice input{margin:0;accent-color:#176b4b}
.rating-control{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:3px}
.rating-option{position:relative;display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:7px;padding:8px 9px;border:1px solid #dfe5e1;border-radius:13px;background:#fbfcfc;cursor:pointer;transition:.2s}
.rating-option:hover{transform:translateY(-2px);border-color:#98bbaa;box-shadow:0 8px 18px rgba(21,91,65,.08)}
.rating-option input{position:absolute;opacity:0;pointer-events:none}
.rating-option .rating-circle{width:25px;height:25px;flex:0 0 25px}
.rating-option small{font-size:10px;line-height:1.2;color:#5f6964;overflow:hidden}
.rating-option:has(input:checked){border-color:#287b5d;background:#eef8f2;box-shadow:0 0 0 3px rgba(40,123,93,.09)}
.field-error{font-size:12px;color:#a93a3a;min-height:17px;margin-top:5px}
.survey-actions{display:flex;gap:10px;align-items:center;margin-top:27px}
.survey-actions .btn{min-width:96px;border-radius:10px;padding:13px 24px}
.survey-actions .btn-primary{background:linear-gradient(135deg,#0d573e,#19865d);box-shadow:0 10px 25px rgba(19,112,78,.20)}
.survey-actions .btn-step-back{background:#f1f5f3;color:#315447;border:1px solid #dde7e1}
.survey-actions .btn-submit{width:auto!important;justify-content:center;gap:16px}
.step-empty{padding:22px 0;color:#8a9490;font-size:13px}
.survey-form .validated :invalid,.survey-field.has-error .line-control{border-bottom-color:#d45c5c!important}
.survey-field.has-error .survey-choice-list,.survey-field.has-error .rating-control{outline:2px solid rgba(201,76,76,.18);outline-offset:5px;border-radius:10px}

/* Admin settings for survey layout */
.legend-settings{margin:8px 0 20px;padding:17px;border:1px solid #dce7e1;border-radius:16px;background:#f8fbf9}
.legend-settings>.switch-row{margin-bottom:14px}
.scale-admin-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.scale-admin-grid label{font-size:11px!important}
.scale-admin-grid label .admin-scale-num{display:inline-grid;margin-right:4px;width:20px;height:20px;font-size:10px}
.scale-admin-grid input{margin-top:7px}
.survey-mini-preview{background:linear-gradient(145deg,#f7faf8,#fff)!important;border:1px solid #dfe8e3!important}
.survey-mini-preview>div{padding:24px!important}
.survey-mini-preview small{color:#20805d;font-weight:800;letter-spacing:.12em}
.survey-mini-preview h3{margin:8px 0 11px}
.mini-scale{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 15px}
.mini-scale i{font-style:normal;width:23px;height:23px;border-radius:99px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800}
.mini-scale i:nth-child(1){background:#e94142}.mini-scale i:nth-child(2){background:#f4b72b}.mini-scale i:nth-child(3){background:#8920ad}.mini-scale i:nth-child(4){background:#238bd2}.mini-scale i:nth-child(5){background:#32984b}
.mini-progress{display:flex;gap:5px;width:130px;margin-bottom:13px}.mini-progress span{height:4px;flex:1;border-radius:99px;background:#c8cfcb}.mini-progress span.on{background:#1a865e}

@media(max-width:760px){
  .survey-page{padding:16px 10px 38px}.survey-content{padding:28px 22px 26px}.survey-heading h1{font-size:24px}.scale-legend{gap:6px}.scale-chip{font-size:11px}.survey-progress{width:55%}.rating-control{grid-template-columns:repeat(5,minmax(48px,1fr));overflow-x:auto;padding-bottom:5px}.rating-option{flex-direction:column;justify-content:center;text-align:center;padding:7px 5px}.rating-option small{display:none}.survey-actions{justify-content:space-between}.survey-actions .btn{flex:1}.scale-admin-grid{grid-template-columns:1fr 1fr}.survey-cover-wrap{height:145px}
}
@media(max-width:440px){.scale-admin-grid{grid-template-columns:1fr}.scale-chip{padding-right:8px}.survey-heading h1{font-size:22px}.survey-progress{width:70%}}

/* ===== Upload File field v3 ===== */
.upload-field-config{margin:12px 0 14px;padding:15px;border:1px solid #d7e6de;border-radius:15px;background:linear-gradient(145deg,#f5faf7,#fbfdfc)}
.upload-field-config[hidden]{display:none!important}
.upload-config-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.upload-config-title strong{font-size:13px;color:#1b5d43}.upload-config-title small{font-size:11px;color:#7d8b84}
.choice-options-config.is-muted-config{opacity:.62}
.file-upload-control{margin-top:4px}.file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.file-picker{display:flex;align-items:center;gap:12px;border:1.5px dashed #a7c7b7;border-radius:14px;padding:14px 15px;background:linear-gradient(145deg,#f8fcfa,#f2f8f5);cursor:pointer;transition:.22s ease}.file-picker:hover,.file-upload-control.has-file .file-picker{border-color:#378e68;background:#edf8f2;transform:translateY(-1px)}
.file-picker-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#0b4e38,#218a62);color:#fff;font-weight:800;font-size:20px;box-shadow:0 8px 20px rgba(17,102,72,.18)}
.file-picker>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.file-picker strong{font-size:14px;color:#1f3f32}.file-picker small{font-size:12px;color:#718078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-picker b{font-size:12px;padding:7px 10px;border-radius:10px;background:#fff;border:1px solid #dce8e1;color:#176b4b}
.file-upload-help{margin-top:7px;font-size:11px;color:#7a8981}.survey-field.has-error .file-picker{border-color:#ce6666;background:#fff5f5}
.admin-file-answer{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin-top:10px!important;padding:12px 14px;border:1px solid #dce8e1;border-radius:14px;background:#f8fbf9}.admin-file-meta{display:flex!important;align-items:center;gap:10px;margin:0!important}.admin-file-meta>span:last-child{display:grid;gap:2px}.admin-file-meta strong{font-size:13px}.admin-file-meta small{font-size:10px!important;font-weight:700!important;color:#7c8a83!important}.admin-file-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0d513a,#238a63);color:#fff;font-size:18px}
@media(max-width:640px){.upload-config-title{align-items:flex-start;flex-direction:column}.file-picker b{display:none}.admin-file-answer{align-items:stretch;flex-direction:column}.admin-file-answer .btn{width:100%}}

/* Google Drive storage */
.drive-status-panel{position:relative;overflow:hidden}.drive-status-panel:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(31,139,95,.16),transparent 70%);right:-70px;top:-90px;pointer-events:none}.drive-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:8px}.drive-status-grid>div{padding:16px;border:1px solid rgba(18,75,55,.1);border-radius:16px;background:rgba(246,251,248,.75);display:flex;flex-direction:column;gap:5px}.drive-status-grid small{color:var(--muted,#718078);font-size:.77rem}.drive-status-grid strong{font-size:.94rem}.drive-actions{margin-top:18px}.setup-steps{margin:0;padding-left:24px;display:grid;gap:11px;color:var(--text,#17352a)}.setup-steps li{padding-left:5px;line-height:1.65}.notice-soft{margin-top:18px;padding:15px 17px;border-radius:15px;background:linear-gradient(135deg,rgba(22,111,77,.08),rgba(66,171,124,.06));border:1px solid rgba(22,111,77,.12);line-height:1.6}.notice-soft code{font-weight:700;color:#116345}.admin-form label small{display:block;margin-top:7px;color:#7b8982;line-height:1.45}.admin-form input[readonly]{background:#f4f7f5;cursor:text}.admin-file-answer .row-actions{flex-wrap:wrap}
@media(max-width:900px){.drive-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.drive-status-grid{grid-template-columns:1fr}}

/* ===== Stage / Tahap settings v5 ===== */
.stage-settings-panel{overflow:hidden}
.stage-settings-form{padding-top:0!important}
.stage-admin-list{display:grid;gap:14px}
.stage-admin-card{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:18px;border:1px solid #dbe7e0;border-radius:18px;background:linear-gradient(145deg,#f9fcfa,#f4f9f6);box-shadow:0 10px 28px rgba(18,82,57,.05)}
.stage-admin-number{min-height:86px;border-radius:16px;display:grid;align-content:center;justify-items:center;background:linear-gradient(145deg,#0d4e38,#1f815d);color:#fff;box-shadow:0 10px 24px rgba(16,86,60,.18)}
.stage-admin-number span{font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;line-height:1}
.stage-admin-number small{margin-top:7px;font-size:9px;font-weight:800;letter-spacing:.16em;opacity:.8}
.stage-admin-fields{min-width:0}
.stage-settings-actions{display:flex;justify-content:flex-end;margin-top:16px}
.stage-public-heading{margin:5px 0 2px;padding:15px 17px;border-left:4px solid #1b7b58;border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(27,123,88,.08),rgba(27,123,88,.02))}
.stage-public-heading h2{margin:0;color:#173c2e;font-family:'Manrope',sans-serif;font-size:19px;line-height:1.3}
.stage-public-heading p{margin:5px 0 0!important;color:#718078!important;font-size:13px!important;line-height:1.55!important}
@media(max-width:700px){.stage-admin-card{grid-template-columns:1fr}.stage-admin-number{min-height:62px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 16px}.stage-admin-number small{margin:0}.stage-settings-actions .btn{width:100%}}

/* ===== Multi-user / Teacher Workspace v7 ===== */
.portal-auth-actions{display:flex;align-items:center;gap:9px}.portal-admin-link{opacity:.72}.portal-auth-actions .btn{padding:10px 14px}
.teacher-sidebar{background:linear-gradient(180deg,#0a3f2f 0%,#0e533b 55%,#0a3f2f 100%)}
.teacher-hero{background:linear-gradient(135deg,#0c4c36,#1f815d 62%,#42a77a)}
.teacher-login-brand{background:linear-gradient(145deg,#083d2d,#176b4b 55%,#2b8e68)!important}
.teacher-avatar{background:linear-gradient(135deg,#1d8a61,#63bd91)!important;color:#fff!important}
.user-manager-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:20px;margin-bottom:20px}
.user-info-panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px!important;background:linear-gradient(145deg,#f2faf6,#fff)!important}
.user-info-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-family:'Manrope',sans-serif;font-size:26px;font-weight:800;color:#fff;background:linear-gradient(145deg,#0d513a,#2d986f);box-shadow:0 14px 30px rgba(15,91,64,.2);margin-bottom:17px}.user-info-panel h3{margin:0 0 8px}.user-info-panel p{color:var(--muted);line-height:1.65;margin:0 0 20px}
.user-table-name{display:flex;align-items:center;gap:11px;min-width:230px}.user-table-name>span:last-child{display:grid;gap:2px}.user-table-name .avatar{flex:0 0 auto}
.two-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.teacher-page .admin-topbar small{color:#348a68}.teacher-page .sidebar nav a.active{background:rgba(255,255,255,.16)}
.login-help{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:12px;font-weight:700;color:#4f7565}.login-help a:hover{color:#0d6245}
@media(min-width:1180px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:900px){.user-manager-grid,.two-panel-grid{grid-template-columns:1fr}}
@media(max-width:560px){.portal-auth-actions{gap:5px}.portal-auth-actions .btn{font-size:11px;padding:9px 10px}.portal-admin-link{display:none}.user-table-name{min-width:190px}}


/* V8 — deadline / batas waktu formulir */
.deadline-settings-card{margin:16px 0;padding:18px;border:1px solid rgba(14,92,69,.16);border-radius:18px;background:linear-gradient(135deg,rgba(18,109,81,.055),rgba(255,255,255,.86));}
.deadline-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.deadline-settings-head>div{display:flex;flex-direction:column;gap:3px}.deadline-settings-head strong{color:#0b4e3b;font-size:15px}.deadline-settings-head small{color:#6d7f78}.deadline-settings-head>span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#0e6d51;background:#daf2e8;padding:6px 10px;border-radius:999px}
.deadline-current{margin-top:2px;padding:10px 12px;border-radius:12px;background:#edf8f4;color:#2d5c4e;font-size:13px}.deadline-current.is-expired{background:#fff0ee;color:#a24135}.deadline-expired-text{color:#b04438!important;font-weight:700}
.portal-deadline,.form-deadline-banner{display:flex;align-items:center;gap:10px}.portal-deadline{margin:14px 0 4px;padding:10px 12px;border-radius:13px;background:#f0f8f5;color:#184f3f}.portal-deadline span,.form-deadline-banner>span{font-size:18px}.portal-deadline div,.form-deadline-banner div{display:flex;flex-direction:column}.portal-deadline small,.form-deadline-banner small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#70837d}.portal-deadline strong,.form-deadline-banner strong{font-size:12px;color:#154b3b}
.form-deadline-banner{margin-top:14px;padding:11px 14px;border:1px solid rgba(15,104,77,.14);border-radius:14px;background:linear-gradient(90deg,rgba(220,242,234,.72),rgba(247,252,250,.9));width:max-content;max-width:100%}
.closed-form-content{text-align:center;padding-top:54px!important;padding-bottom:58px!important}.closed-form-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:24px;display:grid;place-items:center;font-size:30px;background:linear-gradient(145deg,#e4f5ee,#f7fbf9);box-shadow:0 14px 30px rgba(9,74,54,.12)}.closed-form-content h1{margin:8px auto 12px;max-width:760px}.closed-form-content>p{max-width:680px;margin:0 auto 18px;color:#667971}.closed-form-deadline{display:inline-block;margin:0 auto 24px;padding:10px 14px;border-radius:999px;background:#eef7f3;color:#315e50;font-size:13px}.closed-form-content .btn{display:inline-flex}
@media(max-width:720px){.deadline-settings-head{align-items:flex-start}.form-deadline-banner{width:100%}.closed-form-content{padding-top:38px!important;padding-bottom:42px!important}}

/* V9: Import akun guru dari Excel .xlsx */
.import-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:20px;align-items:start}.import-grid>.panel{margin-top:0}.xlsx-badge{padding:7px 11px;border-radius:10px;background:#e5f6ed;color:#116444;font-size:11px;font-weight:800;letter-spacing:.08em}.xlsx-dropzone{position:relative!important;margin:0!important;min-height:220px;border:2px dashed #bad5c7;border-radius:20px;background:linear-gradient(145deg,#f7fcf9,#fff);display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px!important;cursor:pointer;transition:.2s}.xlsx-dropzone:hover{border-color:#57a982;background:#f1faf5}.xlsx-dropzone input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.xlsx-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(135deg,#0b5138,#248563);color:#fff;font:800 22px Manrope;box-shadow:0 12px 28px rgba(11,81,56,.18)}.xlsx-dropzone strong{font-size:16px}.xlsx-dropzone>span:not(.xlsx-icon){margin-top:6px;color:#3e6b5a;font-weight:600}.xlsx-dropzone small{margin-top:9px!important;color:#84968d!important}.import-submit{margin-top:14px;width:100%;justify-content:center}.import-help-panel{background:linear-gradient(145deg,#f3faf6,#fff)!important}.import-column-list{display:grid;gap:8px;margin:18px 0}.import-column-list>div{padding:10px 12px;border:1px solid #e2ece7;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.import-column-list strong{font-size:12px}.import-column-list span{font-size:10px;color:#6d8076}.import-note{font-size:12px!important;line-height:1.65!important;color:#718078!important}.import-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.import-stat{padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8fbf9;display:grid;gap:3px}.import-stat small{font-size:9px;font-weight:800;letter-spacing:.11em;color:#74877d}.import-stat strong{font:800 30px Manrope;color:#264b3f}.import-stat span{font-size:11px;color:#829189}.import-stat.ok{background:#effaf4;border-color:#cae9d7}.import-stat.ok strong{color:#14734d}.import-stat.fail{background:#fff5f4;border-color:#f0d5d1}.import-stat.fail strong{color:#a6473b}.import-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.06em}.import-pill.ok{background:#e7f8ee;color:#16724d}.import-pill.fail{background:#fff0f0;color:#a14444}.import-result-table td:last-child{max-width:420px;white-space:normal}.import-result-panel{animation:revealUp .35s ease both}@media(max-width:900px){.import-grid{grid-template-columns:1fr}.import-stats{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.import-stats{grid-template-columns:1fr}.xlsx-dropzone{min-height:190px}}


/* ============================================================
   V10 — Profil lembaga, logo, pagination, SweetAlert
   ============================================================ */
.brand-logo{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;border:1px solid rgba(15,90,62,.12);box-shadow:0 6px 18px rgba(11,81,56,.12);flex:0 0 auto}.institution-sidebar-brand{align-items:center}.institution-sidebar-brand>span:last-child{display:grid;min-width:0}.institution-sidebar-brand strong{font-size:12px;line-height:1.25;white-space:normal}.institution-sidebar-brand small{font-size:8px;opacity:.58;letter-spacing:.06em;margin-top:2px}.institution-public-brand{display:flex;align-items:center;gap:11px;max-width:min(650px,60vw)}.institution-public-brand>span:last-child{display:grid}.institution-public-brand strong{font:800 14px Manrope;color:var(--ink);line-height:1.25}.institution-public-brand small{font-size:9px;letter-spacing:.08em;color:#678078;margin-top:2px}.public-logo{width:48px;height:48px;border-radius:14px}.institution-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.institution-meta-row span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e8f5ee;color:#28604d;font-size:10px;font-weight:800;letter-spacing:.06em}.institution-footer{margin-top:18px;margin-bottom:28px;padding:22px 0;border-top:1px solid rgba(53,99,80,.14);display:flex;justify-content:space-between;align-items:center;gap:20px;color:#60756c}.institution-footer>div{display:flex;align-items:center;gap:12px}.institution-footer img{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:4px}.institution-footer strong{display:block;color:#1d4034;font-size:13px}.institution-footer p{margin:3px 0 0;font-size:10px;max-width:620px}.institution-footer>small{font-size:10px}.institution-login-brand{align-items:center;gap:14px}.institution-login-brand>span:last-child{display:grid}.institution-login-brand strong{font-size:14px;line-height:1.3}.institution-login-brand small{font-size:9px;letter-spacing:.08em;opacity:.7;margin-top:2px}.login-logo{width:58px;height:58px;border-radius:18px;object-fit:contain;background:#fff;padding:6px;box-shadow:0 12px 30px rgba(3,50,34,.18)}.login-card-institution{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.login-card-institution img{width:40px;height:40px;object-fit:contain;border-radius:10px;padding:3px;background:#f7fbf9}.login-card-institution div{display:grid}.login-card-institution small{font-size:8px;letter-spacing:.13em;font-weight:800;color:#2d8463}.login-card-institution strong{font-size:11px;line-height:1.35;margin-top:3px;color:#28463c}.form-institution-bar{display:flex;align-items:center;gap:11px;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(24,95,68,.13);background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:15px;width:max-content;max-width:100%}.form-institution-bar img{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#fff;padding:3px}.form-institution-bar>div{display:grid}.form-institution-bar strong{font-size:12px;color:#173e31;line-height:1.3}.form-institution-bar small{font-size:9px;color:#6c8178;margin-top:2px}.success-institution{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:20px;color:#214b3c}.success-institution img{width:38px;height:38px;object-fit:contain;border-radius:10px}.success-institution strong{font-size:11px}.institution-profile-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.institution-logo-editor{padding:24px;border:1px solid #dce9e3;border-radius:20px;background:linear-gradient(145deg,#f1faf5,#fff);display:flex;flex-direction:column;align-items:center;text-align:center}.institution-logo-preview{width:150px;height:150px;border-radius:32px;background:#fff;border:1px solid #dce9e3;display:grid;place-items:center;overflow:hidden;box-shadow:0 18px 38px rgba(10,75,51,.1);margin-bottom:16px}.institution-logo-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.institution-logo-preview span{font:800 54px Manrope;color:#14724f}.institution-logo-editor>strong{font-size:14px}.institution-logo-editor>small{font-size:10px;line-height:1.6;color:#73867d;margin:7px 0 15px}.logo-upload-btn{cursor:pointer;width:100%;justify-content:center}.remove-logo-check{margin-top:12px;font-size:10px;color:#8b4c46;display:flex;align-items:center;gap:7px}.institution-fields{margin:0}.profile-badge{padding:6px 10px;border-radius:999px;background:#e5f7ed;color:#176b4a;font-size:9px;font-weight:800;letter-spacing:.1em}.pagination-footer,.portal-pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px 2px;color:#71847b;font-size:10px}.portal-pagination-wrap{margin-top:22px;padding:18px 0}.pagination-summary{font-size:10px;color:#71847b}.pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.page-btn{min-width:34px;height:34px;padding:0 10px;border-radius:10px;border:1px solid #dbe8e2;background:#fff;color:#2f604f;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;transition:.18s;text-decoration:none}.page-btn:hover{border-color:#85bea5;transform:translateY(-1px)}.page-btn.active{background:linear-gradient(135deg,#0b5138,#1c7657);color:#fff;border-color:transparent;box-shadow:0 7px 18px rgba(11,81,56,.18)}.page-btn.disabled{opacity:.35;pointer-events:none}.page-ellipsis{padding:0 4px;color:#789086}.premium-swal{border-radius:24px!important;padding:30px!important;font-family:Inter,Arial,sans-serif!important;box-shadow:0 24px 70px rgba(7,60,41,.18)!important}.premium-swal .swal2-title{font:800 23px Manrope,Inter,sans-serif!important;color:#163d30!important}.premium-swal .swal2-html-container{font-size:13px!important;line-height:1.65!important;color:#63766e!important}.swal-action{margin:6px!important;min-width:110px;justify-content:center}.swal2-icon.swal2-success{border-color:#54a77e!important}.swal2-icon.swal2-success [class^=swal2-success-line]{background:#17835b!important}.swal2-icon.swal2-warning{border-color:#e6b769!important;color:#c58b2d!important}
@media(max-width:900px){.institution-profile-grid{grid-template-columns:1fr}.institution-logo-editor{max-width:360px}.institution-footer{align-items:flex-start;flex-direction:column}.institution-public-brand{max-width:55vw}.pagination-footer,.portal-pagination-wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.institution-public-brand strong{font-size:11px}.institution-public-brand small{display:none}.public-logo{width:40px;height:40px}.institution-public-brand{max-width:48vw}.portal-auth-actions{gap:5px}.portal-auth-actions .btn{padding:9px 10px;font-size:9px}.institution-logo-preview{width:120px;height:120px}.pagination{gap:4px}.page-btn{min-width:31px;height:31px;padding:0 8px}.form-institution-bar{width:100%}}


/* V10.1 — Copyright footer */
.copyright-footer,.portal-copyright-footer,.form-copyright-footer,.login-copyright-footer,.success-copyright-footer,.app-copyright-footer{font-size:10px;line-height:1.55;color:#70847b;text-align:center;letter-spacing:.01em}
.portal-copyright-footer{padding:0 0 26px;margin-top:-12px}
.form-copyright-footer{padding:2px 14px 20px;color:#788c83}
.login-copyright-footer{position:fixed;left:0;right:0;bottom:10px;z-index:3;padding:0 18px;color:rgba(25,71,55,.62);pointer-events:none}
.app-copyright-footer{padding:5px 30px 22px;margin-top:auto;color:#819188}
.success-copyright-footer{position:fixed;left:0;right:0;bottom:16px;padding:0 18px;color:#72857c}
.copyright-preview{margin:14px 0 18px;padding:14px 16px;border-radius:13px;background:#f3f8f5;border:1px dashed #cfe0d7;display:grid;gap:4px}
.copyright-preview small{font-size:9px!important;text-transform:uppercase;letter-spacing:.09em;color:#739084!important}
.copyright-preview strong{font-size:11px;color:#2b5d4b;font-weight:700}
@media(max-width:640px){.login-copyright-footer,.success-copyright-footer{position:static;margin-top:14px;padding-bottom:8px}.app-copyright-footer{padding:0 14px 18px}.portal-copyright-footer{padding-bottom:18px}.form-copyright-footer{padding-bottom:14px}}

/* ============================================================
   V10.2 — Mobile responsive & proportional UI
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.admin-main>* ,.panel>* ,.builder-grid>* ,.field-builder-layout>* ,.two-col>* ,.form-grid>*{min-width:0}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}
.table-wrap table{margin-bottom:2px}

/* Sidebar drawer overlay on tablet/mobile */
@media(max-width:980px){
  body.sidebar-open{overflow:hidden;touch-action:none}
  body.sidebar-open:before{content:"";position:fixed;inset:0;background:rgba(3,29,21,.48);backdrop-filter:blur(2px);z-index:18;animation:mobileFade .2s ease both}
  .sidebar{width:min(82vw,300px);padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));box-shadow:20px 0 55px rgba(0,0,0,.20);overflow-y:auto;overscroll-behavior:contain}
  .sidebar-open .sidebar{transform:translateX(0)}
  .admin-topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .admin-main{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
}
@keyframes mobileFade{from{opacity:0}to{opacity:1}}

@media(max-width:760px){
  :root{--radius:18px;--shadow:0 16px 40px rgba(20,73,52,.10)}
  body{font-size:14px}
  .container{width:min(100% - 28px,1180px)}
  .ambient-a{width:360px;height:360px;right:-180px;top:-160px}.ambient-b{width:320px;height:320px;left:-170px;bottom:-150px}

  /* Portal */
  .portal-nav{height:auto;min-height:72px;padding:10px 0;gap:10px;align-items:center}
  .institution-public-brand{max-width:calc(100% - 126px);gap:9px;min-width:0}
  .institution-public-brand>span:last-child{min-width:0}
  .institution-public-brand strong{font-size:12px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .institution-public-brand small{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-logo{width:42px;height:42px;border-radius:12px;flex:0 0 42px}
  .portal-auth-actions{gap:6px;flex:0 0 auto}.portal-auth-actions .btn{min-height:38px;padding:9px 11px;font-size:10px;border-radius:11px;white-space:nowrap}
  .portal-main{padding:32px 0 56px}
  .hero{margin-bottom:30px}.hero .eyebrow{font-size:10px;margin-bottom:10px}.hero h1{font-size:clamp(34px,11vw,48px);line-height:1.06;letter-spacing:-.04em}.hero p{font-size:15px;line-height:1.65;margin-top:15px}
  .institution-meta-row{gap:6px;margin-top:14px}.institution-meta-row span{padding:6px 8px;font-size:8.5px}
  .form-grid{grid-template-columns:1fr;gap:15px}.portal-card{border-radius:19px}.portal-card:hover{transform:none}.portal-card-visual,.portal-card-image{height:145px}.portal-card-body{padding:18px}.portal-card h2{font-size:18px;margin:10px 0 7px}.portal-card p{font-size:13px;min-height:0;margin:0;line-height:1.55}.card-link{margin-top:16px;font-size:12px}
  .empty-card{padding:40px 20px;border-radius:19px}
  .institution-footer{margin:12px 0 20px;padding:18px 0;gap:12px}.institution-footer>div{align-items:flex-start}.institution-footer img{width:38px;height:38px;flex:0 0 38px}.institution-footer strong{font-size:12px}.institution-footer p{font-size:9px;line-height:1.55}.institution-footer>small{font-size:9px}

  /* Public form */
  .survey-page,.form-page{padding:16px max(10px,env(safe-area-inset-left)) 34px}
  .survey-shell,.form-shell{width:100%;max-width:680px}
  .survey-card,.form-card{border-radius:20px;box-shadow:0 12px 32px rgba(20,73,52,.10)}
  .survey-cover-wrap{height:130px}.form-header-image{height:150px}
  .survey-content{padding:24px 18px 22px}.form-heading{padding:27px 20px 17px}.dynamic-form{padding:0 20px 26px}
  .form-institution-bar{padding:9px 11px;gap:9px;border-radius:13px}.form-institution-bar img{width:36px;height:36px;flex:0 0 36px}.form-institution-bar strong{font-size:11px}.form-institution-bar small{font-size:8px}
  .survey-heading h1,.form-heading h1{font-size:clamp(22px,7vw,29px);line-height:1.2;letter-spacing:-.025em}.survey-heading p,.form-heading p{font-size:13px;line-height:1.6}
  .scale-legend{gap:5px;margin:16px 0 18px}.scale-chip{padding:6px 8px;font-size:9px;border-radius:999px;flex:0 1 auto}.scale-chip .scale-dot{width:18px;height:18px;flex-basis:18px;font-size:9px}
  .survey-progress-wrap{gap:8px;align-items:center}.survey-progress{width:auto;flex:1;max-width:none}.survey-progress-caption{flex:0 0 auto;font-size:9px;white-space:nowrap}
  .stage-public-heading{padding:12px 13px;margin-top:3px}.stage-public-heading h2{font-size:17px}.stage-public-heading p{font-size:12px!important}
  .survey-field{padding:20px 0}.survey-field label,.survey-label,.field-label{font-size:14px;line-height:1.45}.survey-field-help{font-size:11px}
  .line-control,.field-block input:not([type=radio]):not([type=checkbox]),.field-block textarea,.field-block select{font-size:16px!important;min-height:44px}
  .survey-choice-list,.choice-list{gap:8px}.survey-choice,.choice{padding:11px 12px;font-size:13px;border-radius:11px}
  .rating-control{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible;padding-bottom:0}.rating-option{min-width:0;padding:8px 3px;flex-direction:column;justify-content:center;text-align:center;border-radius:11px;gap:4px}.rating-option .rating-circle{width:23px;height:23px;flex-basis:23px;font-size:10px}.rating-option small{display:block;font-size:8px;white-space:normal;line-height:1.15;max-width:100%}
  .file-picker{padding:12px;gap:9px}.file-picker-icon{width:34px;height:34px;flex:0 0 34px}.file-picker strong{font-size:12px}.file-picker small{font-size:10px}.file-upload-help{font-size:10px;line-height:1.45}
  .survey-actions{gap:8px;margin-top:22px;flex-wrap:wrap}.survey-actions .btn{min-height:46px;padding:12px 14px;font-size:12px;min-width:0;flex:1 1 120px}.survey-actions .btn-submit{flex:1 1 160px}
  .back-link{font-size:12px;margin-bottom:12px}

  /* Login */
  .login-page{display:block;padding:max(18px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));min-height:100svh}
  .login-wrap{display:block;min-height:0;width:min(460px,100%);margin:0 auto;border-radius:22px;overflow:hidden}.login-brand{display:none}.login-card{padding:32px 22px;min-height:0}.login-card h2{font-size:25px}.login-card>p{font-size:13px;line-height:1.55;margin-bottom:18px}.login-card label{font-size:12px;margin:12px 0}.login-card input{font-size:16px!important;min-height:46px}.login-card .btn{width:100%;min-height:46px;margin-top:4px}.login-card-institution{margin-bottom:20px;padding-bottom:15px}.login-card-institution img{width:42px;height:42px;flex:0 0 42px}.login-card-institution strong{font-size:11px}.login-copyright-footer{font-size:9px;padding-left:10px;padding-right:10px}

  /* Admin / teacher workspace */
  .admin-topbar{height:66px;gap:10px}.menu-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;font-size:19px}.admin-topbar>div{min-width:0;overflow:hidden}.admin-topbar small{font-size:8px}.admin-topbar strong{font-size:12px;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar .btn{width:40px;height:40px;padding:0;flex:0 0 40px;border-radius:11px}.admin-topbar .btn:after{font-size:20px}
  .admin-main{padding:16px 12px 8px}.admin-hero{padding:22px 18px;border-radius:18px}.admin-hero h1{font-size:25px;line-height:1.2}.admin-hero p{font-size:12px;line-height:1.55}.admin-hero .btn{width:100%;min-height:42px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.stat-card{padding:14px;border-radius:15px;gap:5px}.stat-card small{font-size:10px;line-height:1.35}.stat-card strong{font-size:25px}.stat-card span{font-size:9px;line-height:1.35}
  .page-head{margin-bottom:15px;gap:12px}.page-head h1{font-size:25px}.page-head p{font-size:12px;line-height:1.5}.page-head .head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.page-head .head-actions .btn{width:100%;min-width:0;padding:10px 9px;font-size:10px;white-space:normal;text-align:center}
  .panel{padding:16px;margin:14px 0;border-radius:17px}.panel-head{align-items:flex-start;gap:10px;margin-bottom:14px}.panel-head h2{font-size:18px}.panel-head p{font-size:11px;line-height:1.45}.panel-head>.btn,.panel-head>.head-actions{flex-shrink:0}
  .two-col,.builder-side,.institution-profile-grid,.import-grid,.user-manager-grid,.two-panel-grid{grid-template-columns:1fr!important;gap:12px}
  .builder-grid,.field-builder-layout{gap:12px}.builder-side{display:grid}
  .admin-form label,.add-field-card label,.field-editor label{font-size:11px;margin:11px 0}.admin-form input,.admin-form textarea,.admin-form select,.add-field-card input,.add-field-card textarea,.add-field-card select,.field-editor input,.field-editor textarea,.field-editor select,.share-box input{font-size:16px!important;min-height:44px;padding:11px 12px}
  textarea{max-width:100%}.admin-form textarea,.field-editor textarea,.add-field-card textarea{min-height:92px}
  .add-field-card{padding:15px;border-radius:14px}.field-editor{border-radius:14px}.field-editor-head{padding:12px;align-items:flex-start;gap:8px}.field-editor-head>div{gap:6px}.field-editor-body{padding:0 12px 13px}.head-actions,.row-actions{gap:7px}.row-actions a,.row-actions button,.table-action{font-size:11px}
  .stage-admin-card{padding:14px;gap:12px;border-radius:15px}.stage-admin-number{min-height:52px;border-radius:13px}.stage-admin-number span{font-size:22px}.stage-settings-actions{margin-top:12px}.stage-settings-actions .btn{min-height:44px}
  .drive-status-grid{grid-template-columns:1fr!important;gap:9px}.drive-status-grid>div{padding:13px;border-radius:13px}.drive-actions{display:grid;grid-template-columns:1fr;gap:8px}.drive-actions .btn{width:100%}
  .institution-logo-editor{max-width:none;width:100%;padding:18px}.institution-logo-preview{width:110px;height:110px;border-radius:24px}.institution-fields{width:100%}
  .xlsx-dropzone{min-height:170px!important;padding:22px 14px!important}.xlsx-icon{width:48px;height:48px;border-radius:15px}.import-column-list>div{align-items:flex-start;flex-direction:column}.import-stats{grid-template-columns:1fr!important;gap:8px}.import-stat{padding:14px}

  /* Tables stay usable without breaking the page */
  .table-wrap{margin-left:-4px;margin-right:-4px;padding:0 4px 5px;position:relative}.table-wrap:after{content:"Geser tabel ke samping →";display:block;position:sticky;left:0;width:max-content;margin:7px 0 0;padding:4px 8px;border-radius:999px;background:#eef6f2;color:#698079;font-size:8px;font-weight:700;letter-spacing:.03em}
  table{min-width:680px}th,td{padding:11px 10px}th{font-size:9px}td{font-size:12px}.table-sub{font-size:9px}.response-sheet{border-radius:16px}.answer-row{padding:16px}.answer-row div{font-size:13px;overflow-wrap:anywhere}

  /* Pagination */
  .pagination-footer,.portal-pagination-wrap{align-items:center;flex-direction:column;text-align:center;gap:10px;padding-top:14px}.pagination-summary{font-size:9px}.pagination{justify-content:center;width:100%;gap:4px}.page-btn{min-width:32px;height:32px;padding:0 8px;font-size:10px;border-radius:9px}.page-ellipsis{font-size:10px}

  /* SweetAlert */
  .premium-swal{width:min(92vw,420px)!important;padding:22px 16px!important;border-radius:20px!important}.premium-swal .swal2-title{font-size:20px!important}.premium-swal .swal2-html-container{font-size:12px!important;padding-left:0!important;padding-right:0!important}.premium-swal .swal2-actions{width:100%!important;margin-top:18px!important;gap:7px!important}.swal-action{min-width:0!important;flex:1 1 120px!important;margin:0!important;min-height:42px!important;padding:10px 12px!important;font-size:11px!important}

  /* Footer / success */
  .success-page{display:block;min-height:100svh;padding:24px 12px}.success-card{width:min(440px,100%);margin:0 auto;padding:34px 20px;border-radius:21px}.success-icon{width:62px;height:62px;border-radius:20px;font-size:28px}.success-card h1{font-size:27px}.success-card p{font-size:13px}.success-copyright-footer,.app-copyright-footer,.form-copyright-footer,.portal-copyright-footer{font-size:9px;line-height:1.55}
  .app-copyright-footer{padding:2px 12px calc(16px + env(safe-area-inset-bottom))}
}

@media(max-width:480px){
  .container{width:calc(100% - 22px)}
  .portal-admin-link{display:none}.institution-public-brand{max-width:calc(100% - 98px)}.portal-auth-actions .btn{padding:9px 10px}
  .hero h1{font-size:34px}.hero p{font-size:14px}
  .stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:104px}
  .admin-topbar strong{max-width:42vw}
  .page-head .head-actions{grid-template-columns:1fr}
  .panel-head{flex-direction:column}.panel-head>.btn,.panel-head>.head-actions{width:100%}.panel-head>.btn{justify-content:center}.panel-head>.head-actions .btn{flex:1}
  .rating-option{padding:7px 2px}.rating-option .rating-circle{width:22px;height:22px;flex-basis:22px}.rating-option small{font-size:7px}
  .scale-chip{font-size:8px;padding:5px 7px}.scale-chip .scale-dot{width:17px;height:17px;flex-basis:17px}
  .survey-actions{display:grid;grid-template-columns:1fr 1fr}.survey-actions .btn{width:100%;flex:none}.survey-actions .btn:only-child,.survey-actions .btn-submit:first-child{grid-column:1/-1}
  .file-picker{align-items:flex-start}.file-picker b{display:none}.file-picker>span:nth-child(2){min-width:0}
  .institution-footer>div{width:100%}.institution-footer p{overflow-wrap:anywhere}
}

@media(max-width:360px){
  .stats-grid{grid-template-columns:1fr}.stat-card{min-height:0}.admin-topbar strong{max-width:36vw}.hero h1{font-size:31px}.survey-content{padding-left:14px;padding-right:14px}.form-heading,.dynamic-form{padding-left:16px;padding-right:16px}.rating-option small{display:none}.survey-actions{grid-template-columns:1fr}.survey-actions .btn{grid-column:1!important}.pagination .page-btn{min-width:30px;padding:0 6px}
}

/* Touch devices: prevent hover jumps and improve target size */
@media(hover:none){
  .btn:hover,.portal-card:hover,.page-btn:hover,.rating-option:hover,.file-picker:hover{transform:none}
  .sidebar nav a,.logout-link{min-height:44px}
  .row-actions a,.row-actions button{min-height:34px;display:inline-flex;align-items:center}
}


/* ============================================================
   V11 — Portal lebih hidup + tema warna per formulir
   ============================================================ */
.portal-v11{overflow-x:hidden;background:
  radial-gradient(circle at 90% 8%,rgba(48,161,113,.12),transparent 30%),
  radial-gradient(circle at 4% 45%,rgba(17,102,72,.07),transparent 28%),
  linear-gradient(180deg,#f6faf7 0%,#f3f8f5 48%,#f7faf8 100%)}
.portal-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(.2px);opacity:.55}
.portal-orb-a{width:180px;height:180px;border:1px solid rgba(23,107,75,.13);right:8%;top:18%;animation:portalOrbit 14s ease-in-out infinite}
.portal-orb-b{width:54px;height:54px;background:linear-gradient(145deg,rgba(36,147,106,.12),rgba(36,147,106,.02));left:7%;top:32%;animation:portalOrbit 10s ease-in-out infinite reverse}
@keyframes portalOrbit{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(18px,-18px,0) rotate(18deg)}}
.portal-hero-v11{min-height:560px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:52px;padding:48px 0 56px;position:relative}
.portal-hero-copy{position:relative;z-index:2}.portal-live-pill{width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(25,117,81,.14);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(22,82,59,.06);margin-bottom:20px;font-size:11px;color:#527064}.portal-live-pill i{width:8px;height:8px;border-radius:50%;background:#28a56f;box-shadow:0 0 0 5px rgba(40,165,111,.11);animation:portalPulse 1.8s ease-out infinite}.portal-live-pill b{padding-left:8px;border-left:1px solid #dbe8e1;color:#176b4b}@keyframes portalPulse{50%{box-shadow:0 0 0 9px rgba(40,165,111,0)}}
.portal-hero-v11 h1{font-family:'Manrope',sans-serif;font-size:clamp(44px,5.7vw,72px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:720px}.portal-hero-v11 h1 span{background:linear-gradient(120deg,#0e4b37,#24936a 58%,#4ead80);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}.portal-hero-v11 p{font-size:18px;line-height:1.75;color:var(--muted);max-width:660px;margin:20px 0 24px}.portal-hero-actions{display:flex;align-items:center;gap:20px;margin:28px 0 22px}.portal-hero-actions .btn{padding:14px 19px}.portal-soft-link{font-weight:800;color:#285e48;display:inline-flex;gap:8px;align-items:center}.portal-soft-link span{transition:.2s}.portal-soft-link:hover span{transform:translateX(4px)}
.portal-hero-visual{min-height:480px;position:relative;display:grid;place-items:center;isolation:isolate}.portal-visual-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(66,177,126,.24) 0%,rgba(51,151,109,.08) 47%,transparent 72%);filter:blur(5px);animation:visualGlow 5s ease-in-out infinite}@keyframes visualGlow{50%{transform:scale(1.08);opacity:.72}}
.portal-phone-mock{width:270px;height:455px;border-radius:36px;padding:19px;background:linear-gradient(160deg,#fff,#eef7f2);border:8px solid #13382b;box-shadow:0 35px 80px rgba(16,64,45,.22),inset 0 0 0 1px rgba(255,255,255,.85);transform:rotate(5deg);animation:phoneFloat 6s ease-in-out infinite;position:relative;z-index:2}.portal-phone-mock:after{content:"";position:absolute;inset:7px;border-radius:25px;border:1px solid rgba(24,100,70,.08);pointer-events:none}@keyframes phoneFloat{50%{transform:translateY(-12px) rotate(2.5deg)}}.mock-top{display:flex;gap:5px;justify-content:center;margin-bottom:28px}.mock-top i{width:8px;height:8px;border-radius:50%;background:#12382b}.mock-top span{width:46px;height:8px;border-radius:99px;background:#12382b}.mock-logo{width:56px;height:56px;margin:0 auto 21px;border-radius:18px;background:linear-gradient(145deg,#0d4b36,#27936b);display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;box-shadow:0 12px 24px rgba(13,75,54,.2);overflow:hidden}.mock-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}.mock-line{height:9px;width:68%;border-radius:99px;background:#d5e6dc;margin:9px auto}.mock-line.wide{width:84%;height:14px;background:#bedacb}.mock-field{height:48px;border-radius:12px;background:#fff;border:1px solid #d9e8e0;margin:25px 6px 0;box-shadow:0 8px 20px rgba(25,74,55,.04)}.mock-field.short{margin-top:12px;height:48px}.mock-button{height:44px;margin:30px 6px 0;border-radius:13px;background:linear-gradient(135deg,#0d4b36,#24936a);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800;box-shadow:0 12px 25px rgba(16,94,65,.18)}
.portal-floating-card{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;padding:13px 15px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(14px);border-radius:17px;box-shadow:0 18px 45px rgba(18,72,52,.14);animation:floatCard 5s ease-in-out infinite}.portal-floating-card.card-one{left:-6px;top:91px}.portal-floating-card.card-two{right:-5px;bottom:92px;animation-delay:-2s}.portal-floating-card .float-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0d4b36,#2c9d71)}.portal-floating-card div{display:grid;gap:2px}.portal-floating-card small{font-size:9px;color:#779087;text-transform:uppercase;letter-spacing:.06em}.portal-floating-card strong{font-size:12px;color:#163c2e}.portal-floating-card>b{color:#2b7e5e;margin-left:5px}@keyframes floatCard{50%{transform:translateY(-8px)}}.spark{position:absolute;color:#42a87a;font-weight:900;z-index:1}.spark-1{font-size:27px;right:9%;top:15%;animation:spinSpark 10s linear infinite}.spark-2{font-size:18px;left:12%;bottom:17%;animation:spinSpark 8s linear infinite reverse}.spark-3{font-size:42px;right:3%;bottom:30%;opacity:.22}@keyframes spinSpark{to{transform:rotate(360deg)}}
.portal-metric-strip{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;gap:25px;padding:22px 30px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.86);box-shadow:0 16px 45px rgba(20,75,54,.07);backdrop-filter:blur(12px);margin:-4px 0 78px}.portal-metric-strip>div{display:flex;align-items:baseline;justify-content:center;gap:10px}.portal-metric-strip strong{font:800 26px 'Manrope',sans-serif;color:#124b37}.portal-metric-strip span{font-size:12px;color:#74847c}.portal-metric-strip>i{width:1px;height:28px;background:#dfe9e3}
.portal-forms-section{scroll-margin-top:100px}.portal-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}.portal-section-head h2{font:800 clamp(27px,4vw,38px) 'Manrope',sans-serif;letter-spacing:-.035em;margin:0 0 8px}.portal-section-head p{margin:0;color:var(--muted)}.section-count{padding:9px 12px;border-radius:999px;background:#e8f5ee;color:#17694b;font-size:11px;font-weight:800;white-space:nowrap}
.portal-form-grid-v11{gap:24px}.portal-card-v11{--form-primary:#0E4B37;--form-secondary:#24936A;--form-accent:#DFF5E9;position:relative;border:1px solid rgba(21,82,59,.08);background:rgba(255,255,255,.86);box-shadow:0 14px 38px rgba(20,70,52,.075);will-change:transform}.portal-card-v11:hover{transform:translateY(-9px) scale(1.008);box-shadow:0 25px 60px rgba(var(--form-primary-rgb,14,75,55),.14);border-color:rgba(var(--form-primary-rgb,14,75,55),.16)}.portal-card-media{height:168px;position:relative;overflow:hidden}.portal-card-v11 .portal-card-image,.portal-card-v11 .portal-card-visual{height:100%;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.portal-card-v11:hover .portal-card-image,.portal-card-v11:hover .portal-card-visual{transform:scale(1.045)}.portal-card-v11 .portal-card-visual{background:linear-gradient(145deg,var(--form-primary),var(--form-secondary))}.portal-card-status{position:absolute;left:15px;top:15px;display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);font-size:9px;font-weight:900;color:#234c3c;letter-spacing:.08em}.portal-card-status i{width:6px;height:6px;border-radius:50%;background:#29a973;box-shadow:0 0 0 4px rgba(41,169,115,.14)}.portal-card-number{position:absolute;right:14px;bottom:10px;color:rgba(255,255,255,.8);font:800 32px 'Manrope',sans-serif;text-shadow:0 2px 12px rgba(0,0,0,.16)}.portal-card-v11 .portal-card-body{padding:22px 23px 24px}.portal-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-card-v11 .tiny-badge{background:var(--form-accent);color:var(--form-primary);max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-card-topline small{font-size:10px;color:#829087;font-weight:700}.portal-card-v11 h2{font-size:20px;line-height:1.3}.portal-card-v11 .card-link{color:var(--form-primary);align-items:center}.portal-card-v11 .card-link b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--form-accent);transition:.2s}.portal-card-v11:hover .card-link b{transform:translateX(3px);background:var(--form-primary);color:#fff}

/* Theme settings in Admin / Guru */
.theme-settings-card{margin:18px 0;padding:19px;border:1px solid #d9e7df;border-radius:19px;background:linear-gradient(145deg,#f8fcfa,#fff);overflow:hidden}.theme-settings-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}.theme-settings-head>div{display:grid;gap:4px}.theme-settings-head strong{font-size:15px;color:#164b37}.theme-settings-head small{font-size:11px;color:#77877f}.theme-settings-head>span{font-size:9px;font-weight:900;letter-spacing:.09em;padding:6px 9px;border-radius:999px;background:#e6f4ec;color:#217052}.theme-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.theme-preset-option{position:relative!important;margin:0!important;padding:11px!important;border:1px solid #dde8e2;border-radius:14px;background:#fff;cursor:pointer;display:grid!important;gap:7px;transition:.2s}.theme-preset-option:hover{transform:translateY(-1px);border-color:#b9d3c6}.theme-preset-option:has(input:checked){border-color:#428d6d;box-shadow:0 0 0 3px rgba(45,135,96,.09);background:#f7fbf9}.theme-preset-option input{position:absolute;opacity:0;pointer-events:none}.theme-preset-option b{font-size:11px;color:#314e42}.theme-preset-swatch{height:24px;display:grid;grid-template-columns:1.1fr .8fr .7fr;border-radius:9px;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.theme-preset-swatch i{display:block}.custom-swatch{background:linear-gradient(100deg,#eb5757,#f2c94c,#27ae60,#2f80ed,#9b51e0)}.custom-swatch i{background:transparent!important}.theme-custom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.theme-custom-grid label{margin:0!important}.color-input-row{display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:center;margin-top:7px}.color-input-row input[type=color]{width:46px!important;height:42px!important;min-height:42px!important;padding:3px!important;border-radius:10px!important;cursor:pointer}.color-input-row code{display:flex;align-items:center;min-height:42px;padding:0 11px;border:1px solid #dbe7e0;border-radius:10px;background:#fff;font:700 11px monospace;color:#4e665b}.theme-live-preview{--preview-primary:#0E4B37;--preview-secondary:#24936A;--preview-accent:#DFF5E9;margin-top:15px;padding:17px;border-radius:16px;background:linear-gradient(135deg,var(--preview-accent),#fff 65%);border-top:5px solid var(--preview-primary);display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center}.theme-live-preview>span{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--preview-primary)}.theme-live-preview>strong{font-size:14px;color:#213d32}.theme-live-preview>small{font-size:10px;color:#74847c;grid-column:1}.theme-live-preview>button{grid-column:2;grid-row:1/4;border:0;border-radius:11px;padding:10px 13px;color:#fff;font-size:10px;font-weight:800;background:linear-gradient(135deg,var(--preview-primary),var(--preview-secondary))}

/* Public form theme variables */
.themed-form-page{--form-primary:#0E4B37;--form-secondary:#24936A;--form-accent:#DFF5E9;background:linear-gradient(180deg,var(--form-accent) 0%,#f7faf8 34%,#f4f8f5 100%)}
.themed-form-page .ambient-a{background:radial-gradient(circle,rgba(var(--form-secondary-rgb),.20) 0,rgba(var(--form-secondary-rgb),0) 70%)}.themed-form-page .ambient-b{background:radial-gradient(circle,rgba(var(--form-primary-rgb),.12) 0,rgba(var(--form-primary-rgb),0) 70%)}
.themed-form-page .form-card{border-color:rgba(var(--form-primary-rgb),.12);box-shadow:0 25px 70px rgba(var(--form-primary-rgb),.12)}.themed-form-page .survey-card:before{background:linear-gradient(90deg,var(--form-primary),var(--form-secondary))!important}.themed-form-page .survey-eyebrow,.themed-form-page .back-link,.themed-form-page .step-caption{color:var(--form-primary)!important}.themed-form-page .btn-primary{background:linear-gradient(135deg,var(--form-primary),var(--form-secondary));box-shadow:0 10px 28px rgba(var(--form-primary-rgb),.22)}.themed-form-page .btn-step-back{color:var(--form-primary);border-color:rgba(var(--form-primary-rgb),.14)}.themed-form-page .step-segment.active,.themed-form-page .step-segment.done{background:linear-gradient(90deg,var(--form-primary),var(--form-secondary))!important}.themed-form-page .stage-public-heading{border-left-color:var(--form-primary);background:linear-gradient(90deg,rgba(var(--form-primary-rgb),.08),rgba(var(--form-primary-rgb),.018))}.themed-form-page .stage-public-heading h2{color:var(--form-primary)}.themed-form-page .line-control:focus{border-color:var(--form-secondary)!important;box-shadow:0 2px 0 var(--form-secondary)!important}.themed-form-page .survey-choice:has(input:checked),.themed-form-page .choice:has(input:checked){border-color:rgba(var(--form-primary-rgb),.28);background:var(--form-accent)}.themed-form-page input[type=radio],.themed-form-page input[type=checkbox]{accent-color:var(--form-primary)}.themed-form-page .file-picker-icon{background:linear-gradient(135deg,var(--form-primary),var(--form-secondary));box-shadow:0 8px 20px rgba(var(--form-primary-rgb),.18)}.themed-form-page .file-picker:hover,.themed-form-page .file-upload-control.has-file .file-picker{border-color:var(--form-secondary);background:var(--form-accent)}.themed-form-page .form-deadline-banner{border-color:rgba(var(--form-primary-rgb),.13);background:linear-gradient(135deg,var(--form-accent),rgba(255,255,255,.9))}.themed-form-page .closed-form-icon,.themed-form-page .success-icon{background:linear-gradient(145deg,var(--form-primary),var(--form-secondary));box-shadow:0 16px 32px rgba(var(--form-primary-rgb),.2)}

@media(max-width:980px){.portal-hero-v11{grid-template-columns:1fr;min-height:0;padding-top:34px;gap:25px}.portal-hero-copy{text-align:center;display:grid;justify-items:center}.portal-hero-v11 p{max-width:720px}.portal-hero-visual{min-height:430px}.portal-phone-mock{width:250px;height:420px}.portal-floating-card.card-one{left:13%;top:72px}.portal-floating-card.card-two{right:12%;bottom:65px}.portal-metric-strip{margin-bottom:58px}.theme-preset-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.portal-hero-v11{padding-top:20px}.portal-hero-v11 h1{font-size:clamp(37px,11vw,54px)}.portal-hero-v11 p{font-size:14px;line-height:1.65}.portal-hero-actions{gap:12px;flex-wrap:wrap;justify-content:center}.portal-hero-visual{min-height:365px}.portal-phone-mock{width:205px;height:345px;border-width:6px;border-radius:29px;padding:14px}.mock-top{margin-bottom:18px}.mock-logo{width:45px;height:45px;border-radius:14px;margin-bottom:15px}.mock-field{height:38px;margin-top:18px}.mock-field.short{height:38px;margin-top:9px}.mock-button{height:38px;margin-top:20px}.portal-floating-card{padding:10px 11px;border-radius:14px}.portal-floating-card.card-one{left:1%;top:55px}.portal-floating-card.card-two{right:0;bottom:48px}.portal-floating-card .float-icon{width:29px;height:29px}.portal-floating-card strong{font-size:10px}.portal-floating-card small{font-size:7px}.portal-metric-strip{grid-template-columns:1fr;gap:11px;padding:18px;margin:0 0 48px}.portal-metric-strip>i{width:55%;height:1px;margin:auto}.portal-metric-strip>div{justify-content:center}.portal-metric-strip strong{font-size:22px}.portal-section-head{align-items:flex-start}.portal-section-head h2{font-size:27px}.portal-section-head p{font-size:12px}.section-count{font-size:9px}.theme-preset-grid{grid-template-columns:repeat(2,1fr)}.theme-custom-grid{grid-template-columns:1fr}.theme-live-preview{grid-template-columns:1fr}.theme-live-preview>button{grid-column:1;grid-row:auto;width:100%;margin-top:7px}.theme-live-preview>small{grid-column:1}}
@media(max-width:480px){.portal-live-pill span{display:none}.portal-live-pill b{border-left:0;padding-left:0}.portal-hero-actions{display:grid;width:100%;grid-template-columns:1fr}.portal-hero-actions .btn{width:100%}.portal-soft-link{justify-content:center;padding:10px}.portal-hero-visual{min-height:335px}.portal-floating-card.card-one{left:-5px}.portal-floating-card.card-two{right:-5px}.portal-section-head{flex-direction:column}.theme-preset-grid{grid-template-columns:1fr 1fr}.theme-settings-card{padding:14px}.theme-settings-head{flex-direction:column}.theme-settings-head>span{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.portal-orb,.portal-live-pill i,.portal-phone-mock,.portal-floating-card,.spark,.portal-visual-glow{animation:none!important}.portal-card-v11:hover{transform:none}}
