.app-shell--student[data-v-51c85293]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.shell-card[data-v-51c85293]{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius);border-top:4px solid transparent;background-image:linear-gradient(var(--surface),var(--surface)),var(--grad);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:var(--shadow);padding:24px}.shell-brand[data-v-51c85293]{text-align:center;margin-bottom:20px}.shell-logo[data-v-51c85293]{width:100px;max-width:100%;margin:0 auto 12px}.shell-logo img[data-v-51c85293]{width:100%;height:auto;display:block}h1[data-v-51c85293]{font-size:20px;color:var(--navy-deep);margin-bottom:4px;line-height:1.3}.shell-subtitle[data-v-51c85293]{color:var(--muted);font-size:13px;line-height:1.5}.shell-body[data-v-51c85293]{display:flex;flex-direction:column;gap:16px}.shell-footer[data-v-51c85293]{width:100%;max-width:480px;text-align:center;color:var(--muted);font-size:12px;margin-top:16px;line-height:1.5}.app-shell--admin[data-v-51c85293]{min-height:100dvh;background:var(--bg)}.admin-sidebar[data-v-51c85293]{display:none;width:240px;background:var(--grad-135);color:#fff;padding:16px;flex-direction:column;position:fixed;inset:0 auto 0 0}.sidebar-brand[data-v-51c85293]{display:flex;align-items:center;gap:10px;margin-bottom:24px}.sidebar-mark[data-v-51c85293]{width:36px;height:36px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center}.sidebar-mark-icon[data-v-51c85293]{color:#fff;font-size:20px}.sidebar-title[data-v-51c85293]{font-weight:800;font-size:15px;line-height:1.2}.sidebar-sub[data-v-51c85293]{font-size:11px;color:#93c5fd}.sidebar-nav[data-v-51c85293]{display:flex;flex-direction:column;gap:6px}.nav-item[data-v-51c85293]{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:transparent;font-family:inherit;font-size:14px;text-align:left;color:#c7d2fe;cursor:pointer;transition:background .15s ease,color .15s ease}.nav-icon[data-v-51c85293]{font-size:19px}.nav-item[data-v-51c85293]:focus-visible{outline:none;box-shadow:var(--ring)}.nav-item--active[data-v-51c85293]{background:var(--grad);color:#fff;font-weight:700}.admin-main[data-v-51c85293]{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.admin-header[data-v-51c85293]{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;position:sticky;top:0;z-index:20}.admin-header h1[data-v-51c85293]{font-size:18px;color:var(--navy-deep)}.admin-body[data-v-51c85293]{padding:20px}.admin-bottom[data-v-51c85293]{display:flex;justify-content:space-around;align-items:stretch;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--navy-deep);color:#fff;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.bottom-item[data-v-51c85293]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;min-height:44px;padding:6px 4px;border:0;background:transparent;font-family:inherit;font-size:11px;font-weight:600;color:#93c5fd;line-height:1.2;cursor:pointer}.bottom-icon[data-v-51c85293]{font-size:20px}.bottom-item[data-v-51c85293]:focus-visible{outline:none;box-shadow:var(--ring)}.bottom-item--active[data-v-51c85293]{color:#fff}.app-shell--admin .shell-footer[data-v-51c85293]{max-width:none;padding:0 20px 8px}@media (max-width: 480px){.app-shell--student[data-v-51c85293]{padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.shell-card[data-v-51c85293]{padding:22px 16px;border-radius:14px}h1[data-v-51c85293]{font-size:19px}}@media (min-width: 900px){.app-shell--admin[data-v-51c85293]{display:flex;min-width:900px}.admin-sidebar[data-v-51c85293]{display:flex}.admin-main[data-v-51c85293]{margin-left:240px;flex:1;padding-bottom:24px}.admin-header[data-v-51c85293]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0}.admin-header[data-v-51c85293],.admin-body[data-v-51c85293]{padding-left:32px;padding-right:32px}.admin-bottom[data-v-51c85293]{display:none}}.period-badge[data-v-c1e97088]{text-align:center}.period-badge span[data-v-c1e97088]{display:inline-block;background:var(--pill-bg);color:var(--blue-ink);border:1px solid var(--pill-border);font-size:12px;font-weight:700;padding:5px 13px;border-radius:var(--radius-pill);line-height:1.4}.upload-field[data-v-96ed774b]{display:flex;flex-direction:column;gap:6px}.upload-label[data-v-96ed774b]{font-size:13px;font-weight:700;color:var(--label)}.upload-zone[data-v-96ed774b]{border:1.6px dashed var(--pill-border);background:var(--info-bg);border-radius:var(--radius-sm);padding:18px;text-align:center;cursor:pointer;min-height:96px;color:var(--muted);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.upload-zone[data-v-96ed774b]:hover,.upload-zone.drag[data-v-96ed774b]{border-color:var(--blue);background:var(--surface)}.upload-zone[data-v-96ed774b]:focus-visible{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.upload-icon[data-v-96ed774b]{font-size:30px;color:var(--blue)}.upload-zone p[data-v-96ed774b]{font-size:13px;margin-top:6px;line-height:1.5}.file-name[data-v-96ed774b]{font-size:12px;color:var(--ok);font-weight:700;margin-top:6px;word-break:break-all}.sr-only[data-v-96ed774b]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mk-picker[data-v-b8833c57]{display:flex;flex-direction:column;gap:12px}.mk-summary[data-v-b8833c57]{text-align:center;background:var(--grad);color:#fff;font-size:13px;font-weight:800;padding:10px 14px;border-radius:var(--radius-pill)}.mk-panel[data-v-b8833c57]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.mk-panel h3[data-v-b8833c57]{font-size:14px;color:var(--navy-deep);margin-bottom:6px}.mk-check[data-v-b8833c57]{display:flex;align-items:flex-start;gap:10px;padding:12px 10px;border-radius:10px;min-height:44px;cursor:pointer;transition:background .15s ease}.mk-check[data-v-b8833c57]:hover{background:var(--surface-2)}.mk-check input[type=checkbox][data-v-b8833c57]{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}.mk-name[data-v-b8833c57]{font-size:14px;font-weight:600}.mk-empty[data-v-b8833c57]{font-size:12px;color:var(--muted);padding:8px 10px;line-height:1.5}.success-overlay[data-v-31e9f058]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface);text-align:center}.success-card[data-v-31e9f058]{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:420px;animation:success-pop-31e9f058 .35s ease both}.success-check[data-v-31e9f058]{color:var(--ok);font-size:88px;line-height:1;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 48}.success-title[data-v-31e9f058]{font-size:26px;font-weight:800;color:var(--navy-deep)}.success-subtitle[data-v-31e9f058]{font-size:15px;line-height:1.6;color:var(--label)}.success-blank[data-v-31e9f058]{font-size:14px;color:var(--muted)}@keyframes success-pop-31e9f058{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.success-fade-enter-active[data-v-31e9f058],.success-fade-leave-active[data-v-31e9f058]{transition:opacity .2s ease}.success-fade-enter-from[data-v-31e9f058],.success-fade-leave-to[data-v-31e9f058]{opacity:0}.loading-overlay[data-v-937fe9de]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f1d448c}.loading-card[data-v-937fe9de]{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:320px;padding:26px 24px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;animation:loading-pop-937fe9de .25s ease both}.loading-spinner[data-v-937fe9de]{width:48px;height:48px;border-radius:50%;border:5px solid rgba(37,99,235,.18);border-top-color:var(--blue);animation:loading-spin-937fe9de .8s linear infinite}.loading-title[data-v-937fe9de]{font-size:17px;font-weight:800;color:var(--navy-deep)}.loading-step[data-v-937fe9de]{font-size:13px;color:var(--label);min-height:18px}.loading-bar[data-v-937fe9de]{width:100%;height:8px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.loading-bar-fill[data-v-937fe9de]{height:100%;width:0;border-radius:inherit;background:var(--grad);transition:width .35s ease}.loading-note[data-v-937fe9de]{font-size:12px;color:var(--muted)}@keyframes loading-spin-937fe9de{to{transform:rotate(360deg)}}@keyframes loading-pop-937fe9de{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.loading-fade-enter-active[data-v-937fe9de],.loading-fade-leave-active[data-v-937fe9de]{transition:opacity .2s ease}.loading-fade-enter-from[data-v-937fe9de],.loading-fade-leave-to[data-v-937fe9de]{opacity:0}@media (prefers-reduced-motion: reduce){.loading-spinner[data-v-937fe9de]{animation-duration:.8s!important}}.daftar[data-v-dc11d6fb]{display:flex;flex-direction:column;gap:16px}.skeleton[data-v-dc11d6fb]{display:flex;flex-direction:column;gap:14px}.sk-row[data-v-dc11d6fb]{display:flex;flex-direction:column;gap:6px}.sk-label[data-v-dc11d6fb],.sk-input[data-v-dc11d6fb],.sk-btn[data-v-dc11d6fb]{display:block;border-radius:var(--radius-sm);background:var(--neutral-bg);animation:sk-pulse-dc11d6fb 1.4s ease-in-out infinite}.sk-label[data-v-dc11d6fb]{width:30%;height:13px}.sk-input[data-v-dc11d6fb]{width:100%;height:42px}.sk-btn[data-v-dc11d6fb]{width:100%;height:46px;border-radius:var(--radius-pill)}@keyframes sk-pulse-dc11d6fb{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.sk-label[data-v-dc11d6fb],.sk-input[data-v-dc11d6fb],.sk-btn[data-v-dc11d6fb]{animation:none}}.steps[data-v-dc11d6fb]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.step-item[data-v-dc11d6fb]{text-align:center;font-size:12px;font-weight:700;padding:7px 10px;border-radius:var(--radius-pill);background:var(--neutral-bg);color:var(--muted)}.step-item--on[data-v-dc11d6fb]{background:var(--grad);color:#fff}.notice[data-v-dc11d6fb]{background:var(--info-bg);border:1px solid var(--info-border);color:var(--blue-ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;line-height:1.5}.notice.warn[data-v-dc11d6fb]{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-strong)}.notice.danger[data-v-dc11d6fb]{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.notice.ok[data-v-dc11d6fb]{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.daftar-form[data-v-dc11d6fb]{display:flex;flex-direction:column;gap:16px}.field[data-v-dc11d6fb]{margin-bottom:14px}.field label[data-v-dc11d6fb]{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--label)}.req[data-v-dc11d6fb]{color:var(--danger)}.field input[type=text][data-v-dc11d6fb],.field input[type=email][data-v-dc11d6fb],.field input[type=tel][data-v-dc11d6fb],.field select[data-v-dc11d6fb]{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--surface);min-height:44px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input[data-v-dc11d6fb]:focus,.field select[data-v-dc11d6fb]:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.field input[readonly][data-v-dc11d6fb]{background:var(--surface-2);cursor:default}.field input[data-v-dc11d6fb]:disabled,.field select[data-v-dc11d6fb]:disabled,.btn[data-v-dc11d6fb]:disabled{opacity:.55;cursor:not-allowed}.hint[data-v-dc11d6fb]{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}.hint.ok[data-v-dc11d6fb]{color:var(--ok)}.hint.warn[data-v-dc11d6fb]{color:var(--warn)}.hint.danger[data-v-dc11d6fb]{color:var(--danger)}.step-btns[data-v-dc11d6fb]{display:flex;gap:10px;margin-top:18px}.mk-lower[data-v-dc11d6fb]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.mk-lower-q[data-v-dc11d6fb]{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text)}.mk-lower-btns[data-v-dc11d6fb]{display:flex;gap:8px}.btn[data-v-dc11d6fb]{flex:1;padding:13px;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;min-height:44px;transition:filter .15s ease,opacity .15s ease,transform .15s ease}.btn[data-v-dc11d6fb]:active:not(:disabled){transform:translateY(1px)}.btn[data-v-dc11d6fb]:focus-visible{outline:none;box-shadow:var(--ring)}.btn.primary[data-v-dc11d6fb]{background:var(--grad);color:#fff}.btn.primary[data-v-dc11d6fb]:hover:not(:disabled){filter:brightness(1.06)}.btn.secondary[data-v-dc11d6fb]{background:var(--surface-2);color:var(--navy-deep);border:1px solid var(--border)}.btn.secondary[data-v-dc11d6fb]:hover:not(:disabled){background:var(--neutral-bg)}@media (min-width: 768px){.field input[type=text][data-v-dc11d6fb],.field input[type=email][data-v-dc11d6fb],.field input[type=tel][data-v-dc11d6fb],.field select[data-v-dc11d6fb],.btn[data-v-dc11d6fb]{font-size:14px}}.upload-page[data-v-27f20506]{display:flex;flex-direction:column;gap:16px}.skeleton[data-v-27f20506]{display:flex;flex-direction:column;gap:14px}.sk-row[data-v-27f20506]{display:flex;flex-direction:column;gap:6px}.sk-label[data-v-27f20506],.sk-input[data-v-27f20506],.sk-btn[data-v-27f20506]{display:block;border-radius:var(--radius-sm);background:var(--neutral-bg);animation:sk-pulse-27f20506 1.4s ease-in-out infinite}.sk-label[data-v-27f20506]{width:30%;height:13px}.sk-input[data-v-27f20506]{width:100%;height:42px}.sk-btn[data-v-27f20506]{width:100%;height:46px;border-radius:var(--radius-pill)}@keyframes sk-pulse-27f20506{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.sk-label[data-v-27f20506],.sk-input[data-v-27f20506],.sk-btn[data-v-27f20506]{animation:none}}.notice[data-v-27f20506]{background:var(--info-bg);border:1px solid var(--info-border);color:var(--blue-ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;line-height:1.5}.notice.warn[data-v-27f20506]{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-strong)}.notice.danger[data-v-27f20506]{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.notice.ok[data-v-27f20506]{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.upload-form[data-v-27f20506]{display:flex;flex-direction:column;gap:16px}.field label[data-v-27f20506]{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--label)}.req[data-v-27f20506]{color:var(--danger)}.field input[type=text][data-v-27f20506]{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--surface);min-height:44px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input[data-v-27f20506]:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.field input[data-v-27f20506]:disabled,.btn[data-v-27f20506]:disabled{opacity:.55;cursor:not-allowed}.student-block[data-v-27f20506]{display:flex;flex-direction:column;gap:16px}.info-grid[data-v-27f20506]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.info-grid .row[data-v-27f20506]{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.info-grid .k[data-v-27f20506]{color:var(--muted);font-weight:600}.info-grid .v[data-v-27f20506]{color:var(--navy-deep);font-weight:700;text-align:right}.pdf-link[data-v-27f20506]{color:var(--blue-ink);text-decoration:underline}.mk-list[data-v-27f20506]{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface)}.mk-title[data-v-27f20506]{font-size:13px;font-weight:800;color:var(--navy-deep);margin-bottom:8px}.mk-list ul[data-v-27f20506]{padding-left:18px;font-size:14px;line-height:1.6;color:var(--label)}.step-btns[data-v-27f20506]{display:flex;gap:10px}.btn[data-v-27f20506]{flex:1;padding:13px;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;min-height:44px;transition:filter .15s ease,opacity .15s ease,transform .15s ease}.btn[data-v-27f20506]:active:not(:disabled){transform:translateY(1px)}.btn[data-v-27f20506]:focus-visible{outline:none;box-shadow:var(--ring)}.btn.primary[data-v-27f20506]{background:var(--grad);color:#fff}.btn.primary[data-v-27f20506]:hover:not(:disabled){filter:brightness(1.06)}@media (min-width: 768px){.field input[type=text][data-v-27f20506],.btn[data-v-27f20506]{font-size:14px}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jakarta-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jakarta-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jakarta-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/material-symbols.woff2) format("woff2")}:root{--navy: #003087;--navy-deep: #0F1D44;--navy-hover: #00205B;--blue: #2563EB;--blue-2: #3B82F6;--blue-ink: #1D4ED8;--grad: linear-gradient(90deg, #003087, #2563EB);--grad-135: linear-gradient(135deg, #0A2154, #0F1D44);--amber: #F59E0B;--gold: #C4A35A;--bg: #EEF2FA;--surface: #FFFFFF;--surface-2: #F8FAFC;--text: #0F172A;--label: #334155;--muted: #64748B;--border: #E2E8F0;--danger: #B91C1C;--danger-bg: #FEF2F2;--danger-border: #FECACA;--ok: #047857;--ok-strong: #15803D;--ok-bg: #ECFDF5;--ok-border: #A7F3D0;--warn: #B45309;--warn-strong: #92400E;--warn-bg: #FFFBEB;--warn-border: #FDE68A;--info-bg: #EFF6FF;--info-border: #DBEAFE;--neutral-bg: #F1F5F9;--pill-bg: #EFF6FF;--pill-border: #DBEAFE;--ring: 0 0 0 3px rgba(37, 99, 235, .18);--radius: 18px;--radius-sm: 12px;--radius-pill: 999px;--shadow: 0 12px 30px rgba(15, 23, 42, .1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}h1,h2,h3,h4{font-family:Plus Jakarta Sans,Inter,sans-serif;letter-spacing:-.01em}button,input,select{font-family:inherit}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;display:inline-block;vertical-align:middle;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
