@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:"Inter", system-ui, -apple-system, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#f0f7f5;--surface:#fff;--fg:#0a191a;--muted:#546061;--border:#d1dad8;--teal:#006a66;--accent:#006a66;--accent-light:#a0dbd6;--accent-lt:#4eb9ad;--accent-dk:#003d3a;--error:#c53829;--danger:#c53829;--error-bg:#fff2ef;--success:#05893e;--success-bg:#e8fbeb;--shadow:0 1px 3px #0000000f, 0 4px 12px #0000000a;--card-bg:var(--surface);--text-caption:.75rem;--text-small:.875rem;--text-body:1rem;--text-h3:1.2rem;--text-h2:1.44rem;--text-h1:1.728rem;--z-base:1;--z-sticky:10;--z-header:20;--z-overlay:100;--z-modal:200;--font-body:"Inter", system-ui, -apple-system, sans-serif}@supports (color:lab(0% 0 0)){:root{--bg:lab(96.6205% -2.71174 -.0258327);--surface:lab(100% 0 0);--fg:lab(7.411% -5.61514 -2.57721);--muted:lab(39.829% -4.74237 -1.98279);--border:lab(86.2056% -3.3915 -.0321627);--teal:lab(40.1015% -48.1258 -9.20631);--accent:lab(40.1015% -48.1258 -9.20631);--accent-light:lab(83.2848% -20.0894 -4.099);--accent-lt:lab(68.7227% -34.4116 -3.53727);--accent-dk:lab(22.1374% -30.8673 -5.93286);--error:lab(46.0858% 55.7278 42.9237);--danger:lab(46.0858% 55.7278 42.9237);--error-bg:lab(96.2693% 8.80525 5.85327);--success:lab(49.6613% -45.6133 30.4579);--success-bg:lab(96.9216% -8.87239 5.65778);--shadow:0 1px 3px lab(0% 0 0/.06), 0 4px 12px lab(0% 0 0/.04)}}.text-h1{font-size:var(--text-h1);letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.3}.text-h2{font-size:var(--text-h2);letter-spacing:-.015em;text-wrap:balance;font-weight:600;line-height:1.35}.text-h3{font-size:var(--text-h3);letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.4}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);min-height:100vh;color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;align-items:center;padding:1.5rem 1rem;line-height:1.6;display:flex}.card{background:var(--surface);border-radius:16px;width:100%;max-width:640px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f;box-shadow:0 1px 2px lab(0% 0 0/.04),0 4px 12px lab(0% 0 0/.06)}.card-header{background:var(--accent-dk);text-align:center;color:#fff;color:lab(100% 0 0);padding:2rem 1.75rem 1.75rem}.logo-mark{width:3.25rem;height:3.25rem;font-size:var(--text-h3);color:#ffffffeb;color:lab(100% 0 0/.92);letter-spacing:-.02em;background:#ffffff1f;background:lab(100% 0 0/.12);border:1.5px solid #ffffff40;border:1.5px solid lab(100% 0 0/.25);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;font-weight:700;display:inline-flex;overflow:hidden}.school-name{font-size:var(--text-h1);letter-spacing:-.02em;margin-bottom:.25rem;font-weight:700;line-height:1.3}.form-title{font-size:var(--text-small);opacity:.8;font-weight:500}.form-title-divider{background:#ffffff4d;background:lab(100% 0 0/.3);border:none;width:2.5rem;height:2px;margin:.5rem auto 0;display:block}.card-body{padding:1.75rem 1.5rem 2rem}.form-grid{flex-direction:column;gap:1.25rem;display:flex}.section-header{margin-bottom:.25rem}.section-title{font-size:var(--text-h3);color:var(--accent-dk);margin-bottom:.25rem;font-weight:600}.section-divider{background:var(--border);border:none;height:1px;margin:.25rem 0 1rem}.section-gap-top{margin-top:8px}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label,.form-group>.field-label{font-size:var(--text-small);color:var(--fg);letter-spacing:.01em;font-weight:600}.required-star{color:var(--error);margin-left:.125rem}.hint{font-size:var(--text-caption);color:var(--muted);margin-top:.125rem;font-weight:400}.form-input{width:100%;font-size:var(--text-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--border);border-radius:10px;outline:none;padding:.75rem .875rem;font-family:inherit;transition:border-color .2s ease-out,box-shadow .2s ease-out,background .2s ease-out}.form-input::placeholder{color:var(--muted);opacity:.7}.form-input:hover{border-color:#90aba9;border-color:lab(67.8629% -10.0174 -2.06114)}.form-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px #006a661f;box-shadow:0 0 0 3px lab(40.1015% -48.1258 -9.20631/.12)}.form-input:disabled{opacity:.5;cursor:not-allowed;background:#ebf0ee;background:lab(94.2628% -1.69396 -.0161886)}fieldset{border:none;min-width:0;margin:0;padding:0}legend{width:100%;font-size:var(--text-small);color:var(--fg);letter-spacing:.01em;margin-bottom:.375rem;font-weight:600;display:block}fieldset:after{content:"";clear:both;display:block}.radio-group{flex-wrap:wrap;gap:.625rem;padding-top:.125rem;display:flex}.radio-group.vertical{flex-direction:column;gap:.5rem}.radio-group.vertical .radio-option{min-width:unset;flex:none;width:100%}.radio-group.vertical .radio-option label{justify-content:flex-start;padding-left:.875rem}.radio-option{flex:1;min-width:7rem;position:relative}.radio-option input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio-option label{font-size:var(--text-small);color:#3f4a4b;color:lab(30.5488% -4.74052 -1.97982);background:var(--bg);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1rem;font-weight:500;transition:all .2s ease-out;display:flex}.radio-option label:before{content:"";background:var(--surface);border:2px solid #a4b1b2;border:2px solid lab(71.1493% -4.74569 -1.98826);border-radius:50%;flex-shrink:0;width:1.125rem;height:1.125rem;transition:all .2s ease-out}.radio-option:hover label{background:#eef3f2;background:lab(95.4354% -2.03311 -.0194192);border-color:#90aba9;border-color:lab(67.8629% -10.0174 -2.06114)}.radio-option input[type=radio]:checked+label{color:var(--accent-dk);border-color:var(--accent);background:#e1f3f0;background:lab(94.4409% -6.75693 -.724995);font-weight:600}.radio-option input[type=radio]:checked+label:before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3.5px var(--surface)}.radio-option input[type=radio]:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.radio-option input[type=radio]:disabled+label{opacity:.5;cursor:not-allowed}.btn-wrap{justify-content:center;margin-top:.5rem;display:flex}.btn-wrap-gap{margin-top:8px}.btn-submit{width:100%;font-family:inherit;font-size:var(--text-body);color:#fff;color:lab(100% 0 0);background:var(--accent);cursor:pointer;letter-spacing:.02em;border:none;border-radius:12px;min-height:3.25rem;padding:.875rem 1.5rem;font-weight:600;transition:background .2s ease-out,box-shadow .2s ease-out,transform .15s ease-out}.btn-submit:hover{background:var(--accent-dk);box-shadow:0 2px 8px #003d3a40;box-shadow:0 2px 8px lab(22.1374% -30.8673 -5.93286/.25)}.btn-submit:active{transform:translateY(1px);box-shadow:0 1px 4px #003d3a33;box-shadow:0 1px 4px lab(22.1374% -30.8673 -5.93286/.2)}.btn-submit:focus-visible{outline:2px solid var(--accent-lt);outline-offset:2px}.btn-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#7b9593;background:lab(59.7428% -10.0216 -2.05932);transform:none}.card-footer{border-top:1px solid var(--border);padding:1rem 1.5rem 1.25rem}.card-footer p{font-size:var(--text-caption);color:var(--muted);text-align:center}.card-footer .brand-accent{color:var(--accent);font-weight:500}.copyright-outside{text-align:center;font-size:var(--text-caption);color:var(--muted);padding:0 1rem .5rem}.copyright-outside a{color:var(--accent);font-weight:500;text-decoration:none;transition:color .2s ease-out}.copyright-outside a:hover{color:var(--accent-dk);text-decoration:underline}.copyright-outside a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.success-card{text-align:center}.success-icon{background:var(--success);color:#fff;color:lab(100% 0 0);border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1.25rem;font-size:2rem;display:flex;box-shadow:0 4px 16px #05893e40;box-shadow:0 4px 16px lab(49.6613% -45.6133 30.4579/.25)}.success-title{font-size:var(--text-h1);color:var(--fg);margin-bottom:.5rem;font-weight:700}.success-text{font-size:var(--text-small);color:var(--muted);max-width:40ch;margin-bottom:.5rem;margin-left:auto;margin-right:auto}.success-note{font-size:var(--text-caption);color:var(--muted);opacity:.8}.btn-back{font-family:var(--font-body);font-size:var(--text-small);color:#fff;color:lab(100% 0 0);background:var(--accent);cursor:pointer;border:none;border-radius:12px;margin-top:1.5rem;padding:.75rem 2rem;font-weight:600;text-decoration:none;transition:background .2s ease-out,box-shadow .2s ease-out;display:inline-block}.btn-back:hover{background:var(--accent-dk);box-shadow:0 2px 8px #003d3a40;box-shadow:0 2px 8px lab(22.1374% -30.8673 -5.93286/.25)}.btn-back:focus-visible{outline:2px solid var(--accent-lt);outline-offset:2px}@media (min-width:480px){body{padding:2rem 1.5rem}.card-header{padding:2.25rem 2rem 1.75rem}.card-body{padding:2rem 1.75rem 2.25rem}.logo-mark{width:3.5rem;height:3.5rem;font-size:var(--text-h2)}}@media (min-width:640px){body{padding:2.5rem 2rem}.card-body{padding:2.25rem 2rem 2.5rem}.card-header{padding:2.75rem 2.5rem 2rem}.radio-group{gap:.75rem}.btn-submit{width:auto;min-width:14rem;padding:.875rem 2.5rem}}@media (min-width:768px){body{justify-content:center;padding:3rem 2rem}.card-body{padding:2.5rem 2.5rem 2.75rem}.card-header{padding:3rem 2.5rem 2.25rem}.logo-mark{width:4rem;height:4rem;font-size:1.44rem}.card-footer p{color:var(--muted);text-align:center;font-size:.75rem;line-height:1.5}}@media (max-width:479px){.radio-group{flex-direction:column}.radio-option{min-width:unset}.radio-option label{justify-content:flex-start;padding-left:.875rem}}.login-page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex}.login-page .card{max-width:420px}.login-card-body{padding:1.75rem 1.5rem 2rem}.login-form-group{margin-bottom:1.25rem}.login-form-group label{font-size:var(--text-small);color:var(--fg);margin-bottom:.375rem;font-weight:500;display:block}.login-form-group input{width:100%;font-family:var(--font-body);font-size:var(--text-small);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:8px;outline:none;padding:.625rem .875rem;line-height:1.5;transition:border-color .15s ease-out,box-shadow .15s ease-out}.login-form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #006a6626;box-shadow:0 0 0 3px lab(40.1015% -48.1258 -9.20631/.15)}.login-action-btn{width:100%;font-family:var(--font-body);font-size:var(--text-small);color:#fff;color:lab(100% 0 0);background:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:.625rem 1.25rem;font-weight:600;line-height:1.5;transition:background-color .2s ease-out}.login-action-btn:hover{background:var(--accent-dk)}.login-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-action-btn:disabled{opacity:.6;cursor:not-allowed}.login-error-banner{font-size:var(--text-caption);color:var(--error);background:var(--error-bg);border:1px solid var(--error);border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem}.login-footer{text-align:center;font-size:var(--text-caption);color:var(--muted);margin-top:1rem}.admin-wrap{background:var(--bg);min-height:100dvh}.admin-topbar{background:var(--accent-dk);color:#fff;color:lab(100% 0 0);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.admin-topbar-brand{font-weight:600;font-size:var(--text-small);letter-spacing:-.01em}.admin-topbar-right{align-items:center;gap:.75rem;display:flex}.admin-topbar-email{font-size:var(--text-caption);opacity:.75}.btn-logout{font-family:var(--font-body);font-size:var(--text-caption);color:#ffffffd9;color:lab(100% 0 0/.85);cursor:pointer;background:#ffffff1a;background:lab(100% 0 0/.1);border:1px solid #fff3;border:1px solid lab(100% 0 0/.2);border-radius:6px;padding:.3rem .75rem;font-weight:500;text-decoration:none;transition:background-color .15s ease-out}.btn-logout:hover{background:#fff3;background:lab(100% 0 0/.2)}.admin-content{max-width:1100px;margin:0 auto;padding:1.5rem}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.admin-page-title{font-size:var(--text-h3);color:var(--fg);font-weight:600}.admin-table-card{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f;box-shadow:0 1px 2px lab(0% 0 0/.04),0 4px 12px lab(0% 0 0/.06)}.admin-table-scroll{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-small);min-width:750px}.admin-table th{text-align:left;font-weight:600;font-size:var(--text-caption);color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#eef3f2;background:lab(95.4172% -1.66413 -.346088);padding:.625rem .75rem}.admin-table td{border-bottom:1px solid var(--border);color:var(--fg);vertical-align:middle;padding:.625rem .75rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#f1f6f6;background:lab(96.5772% -1.66413 -.3461)}.admin-table .col-no{text-align:center;color:var(--muted);width:3rem;font-size:var(--text-caption)}.admin-table .col-aksi{text-align:center;width:3.5rem}.btn-delete{color:#b32228;color:lab(40.1691% 57.0293 36.0154);cursor:pointer;background:#de4e4b0f;background:lab(54.1237% 56.7341 33.7839/.06);border:1px solid #de4e4b40;border:1px solid lab(54.1237% 56.7341 33.7839/.25);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.75rem;transition:all .15s ease-out;display:inline-flex}.btn-delete:hover{background:#de4e4b26;background:lab(54.1237% 56.7341 33.7839/.15);border-color:#de4e4b66;border-color:lab(54.1237% 56.7341 33.7839/.4)}.btn-delete:disabled{opacity:.4;cursor:not-allowed}.admin-empty{text-align:center;color:var(--muted);padding:3rem 1.5rem}.admin-empty-icon{margin-bottom:.75rem;font-size:2.5rem}.admin-empty p{font-size:var(--text-small)}.admin-result-info{font-size:var(--text-caption);color:var(--muted);border-top:1px solid var(--border);padding:.75rem}.btn-tiny{font-family:var(--font-body);font-size:var(--text-caption);background:var(--accent);color:#fff;color:lab(100% 0 0);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:.375rem;padding:.4rem .75rem;font-weight:500;text-decoration:none;transition:background-color .15s ease-out;display:inline-flex}.btn-tiny:hover{background:var(--accent-dk)}@media (max-width:767px){.admin-topbar{padding:.6rem 1rem}.admin-topbar-email{display:none}.admin-content{padding:1rem}.login-page{padding:0}.login-page .card{box-shadow:none;border-radius:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff;background:lab(100% 0 0);padding:0}.card{box-shadow:none;border:1px solid var(--border);border-radius:8px}.btn-submit{display:none}}
