:root{--primary: #059669;--primary-hover: #047857;--secondary: #0f172a;--accent: #f59e0b;--bg-main: #f8fafc;--bg-sidebar: #0f172a;--text-main: #334155;--text-muted: #64748b;--card: #ffffff;--success: #10b981;--danger: #ef4444;--border: #e2e8f0;--nav-header: #475569;--nav-active-bg: rgba(255, 255, 255, .05);--nav-active-border: #f59e0b;--bg-soft-green: #ecfdf5;--bg-soft-blue: #eff6ff;--bg-soft-purple: #f5f3ff;--bg-soft-orange: #fff7ed;--bg-soft-red: #fef2f2;--bg-soft-yellow: #fffdf2;--bg-input: rgba(0, 0, 0, .03);--topbar-bg: #ffffff}[data-theme=dark]{--bg-main: #0f172a;--bg-sidebar: #020617;--card: #1e293b;--text-main: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--secondary: #f8fafc;--nav-header: #64748b;--bg-soft-green: rgba(16, 185, 129, .1);--bg-soft-blue: rgba(37, 99, 235, .1);--bg-soft-purple: rgba(124, 58, 237, .1);--bg-soft-orange: rgba(245, 158, 11, .1);--bg-soft-red: rgba(239, 68, 68, .1);--bg-soft-yellow: rgba(251, 191, 36, .1);--bg-input: rgba(255, 255, 255, .05);--topbar-bg: #1e293b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11px;-webkit-font-smoothing:antialiased;color:var(--text-main);background-color:var(--bg-main);letter-spacing:-.01em;line-height:1.5}h1{font-size:13px;font-weight:700;color:var(--secondary);margin-bottom:8px}h2{font-size:12px;font-weight:700;color:var(--secondary);margin-bottom:6px}h3{font-size:11px;font-weight:700;color:var(--secondary);margin-bottom:4px}h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}html,body{height:100%;overflow:hidden;overscroll-behavior-y:none}#app{height:100vh;display:flex;overflow:hidden}.card{background:var(--card);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;border:1px solid var(--border);transition:box-shadow .3s ease,transform .3s ease}.card:hover{box-shadow:var(--shadow-md)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0;width:100%}th{background-color:#f1f5f9;text-transform:uppercase;letter-spacing:.08em;padding:12px 16px;text-align:left;border-bottom:2px solid var(--border);font-weight:700;color:var(--secondary);font-size:11px}td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:11px}tr:hover td{background-color:#f1f5f9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;font-size:11px;outline:none}.btn-primary{background:linear-gradient(135deg,var(--primary),#10b981);color:#fff;box-shadow:0 4px 6px -1px #10b98133}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover),#059669);transform:translateY(-2px);box-shadow:0 10px 15px -3px #10b9814d}.btn-secondary{background:#fff;color:var(--secondary);border:1px solid var(--border)}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media print{.sidebar,.top-nav,.no-print,.mobile-close,.sidebar-overlay,.actions-bottom,.header-section{display:none!important}#app,.content,.view-container{display:block!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}body{background:#fff!important}.view-container{width:100%!important}}.login-wrapper[data-v-861939ca]{position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;overflow-y:auto;z-index:9999;-webkit-overflow-scrolling:touch}.login-scroll[data-v-861939ca]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-wrapper[data-v-861939ca]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(#f8fafc80,#f8fafc80),url(../bg-login.png);background-size:cover;background-position:center;opacity:.75;z-index:0;pointer-events:none}.login-container[data-v-861939ca]{width:100%;max-width:440px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;box-shadow:0 20px 50px #0000000d;border:1px solid rgba(255,255,255,.5);z-index:10;overflow:hidden;animation:scaleIn-861939ca .8s cubic-bezier(.16,1,.3,1)}.card-content[data-v-861939ca]{padding:32px 40px}.branding-header[data-v-861939ca]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:10px;animation:fadeIn-861939ca .8s ease-out both}.logo-box[data-v-861939ca]{width:56px;height:56px;margin-bottom:6px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.logo-img[data-v-861939ca]{width:100%;height:100%;object-fit:contain}.simakupro-logo[data-v-861939ca]{font-size:20px;font-weight:800;color:#064e3b;margin-bottom:0;line-height:1.1;letter-spacing:-.02em}.simakupro-logo b[data-v-861939ca]{color:#eab308;font-weight:950}.campus-name[data-v-861939ca]{font-size:10px;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.1em;margin-top:0;line-height:1.2}.divider-line[data-v-861939ca]{height:1px;background:linear-gradient(to right,transparent,#edf2f7,transparent);margin-bottom:12px}.form-header[data-v-861939ca]{text-align:center;margin-bottom:12px;animation:fadeIn-861939ca .8s ease-out .2s both}.form-header h3[data-v-861939ca]{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:0}.form-header p[data-v-861939ca]{font-size:11px;color:#64748b;font-weight:500}.login-form[data-v-861939ca]{display:flex;flex-direction:column;gap:16px;animation:fadeIn-861939ca .8s ease-out .4s both}.input-group label[data-v-861939ca]{display:block;font-size:11px;font-weight:700;color:#475569;margin-bottom:6px;margin-left:4px}.input-wrapper[data-v-861939ca]{position:relative}.input-wrapper .icon[data-v-861939ca]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;transition:all .2s}.input-wrapper input[data-v-861939ca]{width:100%;padding:11px 14px 11px 42px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;color:#1e293b;transition:all .2s}.input-wrapper input[data-v-861939ca]:focus{outline:none;background:#fff;border-color:#059669;box-shadow:0 0 0 4px #05966914}.input-wrapper input:focus+.icon[data-v-861939ca]{color:#059669}.eye-btn[data-v-861939ca]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px}.form-options[data-v-861939ca]{display:flex;justify-content:flex-end;margin-top:4px}.forgot-link[data-v-861939ca]{font-size:11px;font-weight:600;color:#eab308;text-decoration:none;transition:all .2s}.forgot-link[data-v-861939ca]:hover{color:#d97706;text-decoration:underline}.btn-primary[data-v-861939ca]{width:100%;padding:12px;background:#059669;color:#fff;border:none;border-radius:12px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .3s;box-shadow:0 10px 15px -3px #0596691a;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}.btn-primary[data-v-861939ca]:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 12px 20px -3px #05966933}.btn-primary[data-v-861939ca]:disabled{opacity:.6;cursor:not-allowed}.btn-ghost[data-v-861939ca]{width:100%;padding:12px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.btn-ghost[data-v-861939ca]:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.sso-divider[data-v-861939ca]{display:flex;align-items:center;gap:12px;margin:14px 0 4px;color:#94a3b8;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.sso-divider[data-v-861939ca]:before,.sso-divider[data-v-861939ca]:after{content:"";flex:1;height:1px;background:#e2e8f0}.social-login-row[data-v-861939ca]{display:flex;gap:10px;margin-bottom:4px}.btn-social[data-v-861939ca]{flex:1;padding:11px 8px;border-radius:12px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s;letter-spacing:.03em}.btn-social[data-v-861939ca]:disabled{opacity:.6;cursor:not-allowed}.btn-social-sso[data-v-861939ca]{background:#0f172a;color:#fff;border:1px solid #0f172a;box-shadow:0 10px 15px -3px #0f172a1a}.btn-social-sso[data-v-861939ca]:hover:not(:disabled){background:#1e293b;border-color:#1e293b;transform:translateY(-1px);box-shadow:0 12px 20px -3px #0f172a33}.btn-social-google[data-v-861939ca]{background:#fff;color:#1e293b;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0f172a0f}.btn-social-google[data-v-861939ca]:hover:not(:disabled){background:#f8fafc;transform:translateY(-1px);box-shadow:0 12px 20px -3px #0f172a1a}.google-icon[data-v-861939ca]{width:18px;height:18px;flex-shrink:0}.social-spinner[data-v-861939ca]{width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:social-spin-861939ca .8s linear infinite}@keyframes social-spin-861939ca{to{transform:rotate(360deg)}}.error-msg[data-v-861939ca],.success-msg[data-v-861939ca]{padding:10px;border-radius:10px;font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:16px}.error-msg[data-v-861939ca]{background:#fef2f2;color:#991b1b;border:1px solid #fee2e2}.success-msg[data-v-861939ca]{background:#f0fdf4;color:#166534;border:1px solid #dcfce7}.login-footer[data-v-861939ca]{margin-top:24px;text-align:center;color:#94a3b8;font-size:10px}.register-hint[data-v-861939ca]{text-align:center;margin-top:8px;font-size:11px}.register-hint span[data-v-861939ca]{color:#64748b;margin-right:6px}.register-hint a[data-v-861939ca]{color:#059669;font-weight:700;text-decoration:none}.register-hint a[data-v-861939ca]:hover{text-decoration:underline}.login-footer p[data-v-861939ca]{font-weight:600;margin-bottom:4px}.login-footer span b[data-v-861939ca]{color:#eab308;font-weight:900}@keyframes scaleIn-861939ca{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn-861939ca{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes errorShake-861939ca{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.error-shake[data-v-861939ca]{animation:errorShake-861939ca .4s ease-in-out}.mode-fade-enter-active[data-v-861939ca],.mode-fade-leave-active[data-v-861939ca]{transition:all .3s ease}.mode-fade-enter-from[data-v-861939ca]{opacity:0;transform:translate(10px)}.mode-fade-leave-to[data-v-861939ca]{opacity:0;transform:translate(-10px)}@media (max-width: 480px){.login-scroll[data-v-861939ca]{padding:16px}.login-container[data-v-861939ca]{border-radius:20px}.card-content[data-v-861939ca]{padding:22px 20px}.login-form[data-v-861939ca]{gap:14px}.login-footer[data-v-861939ca]{margin-top:16px}.branding-text h1[data-v-861939ca]{font-size:18px}}.google-waiting[data-v-861939ca]{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:12px;border-radius:10px;background:#2563eb14;border:1px solid rgba(37,99,235,.25)}.google-waiting-spinner[data-v-861939ca]{width:22px;height:22px;border:3px solid rgba(37,99,235,.25);border-top-color:#2563eb;border-radius:50%;animation:spin-861939ca .8s linear infinite}@keyframes spin-861939ca{to{transform:rotate(360deg)}}.google-waiting-title[data-v-861939ca]{font-weight:600;font-size:14px;color:#1e293b}.google-waiting-hint[data-v-861939ca]{font-size:12px;color:#64748b}.btn-cancel-polling[data-v-861939ca]{margin-top:4px;background:none;border:1px solid #cbd5e1;color:#475569;border-radius:8px;padding:6px 16px;font-size:12px;cursor:pointer}.btn-cancel-polling[data-v-861939ca]:hover{background:#f1f5f9}.login-wrapper[data-v-3cb083c5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;overflow-y:auto;z-index:9999;-webkit-overflow-scrolling:touch}.login-scroll[data-v-3cb083c5]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-wrapper[data-v-3cb083c5]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(#f8fafc80,#f8fafc80),url(../bg-login.png);background-size:cover;background-position:center;opacity:.75;z-index:0;pointer-events:none}.login-container[data-v-3cb083c5]{width:100%;max-width:440px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;box-shadow:0 20px 50px #0000000d;border:1px solid rgba(255,255,255,.5);z-index:10;animation:scaleIn-3cb083c5 .8s cubic-bezier(.16,1,.3,1)}.card-content[data-v-3cb083c5]{padding:32px 40px}.branding-header[data-v-3cb083c5]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:10px}.logo-box[data-v-3cb083c5]{width:50px;height:50px;margin-bottom:6px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.logo-img[data-v-3cb083c5]{width:100%;height:100%;object-fit:contain}.simakupro-logo[data-v-3cb083c5]{font-size:20px;font-weight:800;color:#064e3b;margin-bottom:0;line-height:1.1;letter-spacing:-.02em}.simakupro-logo b[data-v-3cb083c5]{color:#eab308;font-weight:950}.campus-name[data-v-3cb083c5]{font-size:10px;font-weight:700;color:#eab308;text-transform:uppercase;letter-spacing:.1em;margin-top:0;line-height:1.2}.divider-line[data-v-3cb083c5]{height:1px;background:linear-gradient(to right,transparent,#edf2f7,transparent);margin-bottom:12px}.form-header[data-v-3cb083c5]{text-align:center;margin-bottom:12px}.form-header h3[data-v-3cb083c5]{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:0}.form-header p[data-v-3cb083c5]{font-size:11px;color:#64748b;font-weight:500}.login-form[data-v-3cb083c5]{display:flex;flex-direction:column;gap:12px}.input-group label[data-v-3cb083c5]{display:block;font-size:11px;font-weight:700;color:#475569;margin-bottom:4px;margin-left:4px}.input-wrapper[data-v-3cb083c5]{position:relative}.input-wrapper .icon[data-v-3cb083c5]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;transition:all .2s}.input-wrapper input[data-v-3cb083c5]{width:100%;padding:10px 14px 10px 42px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;color:#1e293b;transition:all .2s}.input-wrapper input[data-v-3cb083c5]:focus{outline:none;background:#fff;border-color:#059669;box-shadow:0 0 0 4px #05966914}.input-wrapper input:focus+.icon[data-v-3cb083c5]{color:#059669}.eye-btn[data-v-3cb083c5]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px}.btn-primary[data-v-3cb083c5]{width:100%;padding:12px;background:#059669;color:#fff;border:none;border-radius:12px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .3s;box-shadow:0 10px 15px -3px #0596691a;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}.btn-primary[data-v-3cb083c5]:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.btn-ghost[data-v-3cb083c5]{width:100%;padding:11px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.error-msg[data-v-3cb083c5],.success-msg[data-v-3cb083c5]{padding:10px;border-radius:10px;font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:12px}.error-msg[data-v-3cb083c5]{background:#fef2f2;color:#991b1b;border:1px solid #fee2e2}.success-msg[data-v-3cb083c5]{background:#f0fdf4;color:#166534;border:1px solid #dcfce7}.login-footer[data-v-3cb083c5]{margin-top:20px;text-align:center;color:#94a3b8;font-size:10px}.login-footer span b[data-v-3cb083c5]{color:#eab308;font-weight:900}@keyframes scaleIn-3cb083c5{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn-3cb083c5{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.login-scroll[data-v-3cb083c5]{padding:16px}.login-container[data-v-3cb083c5]{border-radius:20px;max-width:100%}.card-content[data-v-3cb083c5]{padding:24px 20px}}.login-wrapper[data-v-6ccea590]{position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;display:grid;place-items:center;z-index:9999;overflow:hidden;padding:24px}.login-wrapper[data-v-6ccea590]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(#f8fafc80,#f8fafc80),url(../bg-login.png);background-size:cover;background-position:center;opacity:.75;z-index:0}.login-container[data-v-6ccea590]{width:100%;max-width:440px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;box-shadow:0 20px 50px #0000000d;border:1px solid rgba(255,255,255,.5);z-index:10;overflow:hidden}.card-content[data-v-6ccea590]{padding:40px}.branding-header[data-v-6ccea590]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:10px}.logo-box[data-v-6ccea590]{width:56px;height:56px;margin-bottom:6px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.logo-img[data-v-6ccea590]{width:100%;height:100%;object-fit:contain}.simakupro-logo[data-v-6ccea590]{font-size:20px;font-weight:800;color:#064e3b;margin-bottom:0;line-height:1.1;letter-spacing:-.02em}.simakupro-logo b[data-v-6ccea590]{color:#eab308;font-weight:950}.campus-name[data-v-6ccea590]{font-size:10px;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.1em;margin-top:0;line-height:1.2}.branding-text h1[data-v-6ccea590]{font-size:18px;font-weight:800;color:#1e293b;margin:12px 0 4px;text-align:center}.status-badge[data-v-6ccea590]{display:inline-block;font-size:10px;font-weight:700;padding:4px 12px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.status-badge.loading[data-v-6ccea590]{background:#f1f5f9;color:#64748b}.status-badge.success[data-v-6ccea590]{background:#ecfdf5;color:#059669}.status-badge.error[data-v-6ccea590]{background:#fef2f2;color:#dc2626}.divider-line[data-v-6ccea590]{height:1px;background:linear-gradient(to right,transparent,#e2e8f0,transparent);margin-bottom:12px}.btn-primary[data-v-6ccea590]{padding:12px;background:#059669;color:#fff;border:none;border-radius:12px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.btn-primary[data-v-6ccea590]:hover{background:#047857;transform:translateY(-1px)}.btn-ghost[data-v-6ccea590]{padding:11px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.btn-ghost[data-v-6ccea590]:hover{background:#f1f5f9}.animate-spin[data-v-6ccea590]{animation:spin-6ccea590 1s linear infinite}@keyframes spin-6ccea590{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auto-redirect-box[data-v-6ccea590]{display:flex;align-items:center;justify-content:center;gap:10px;background:#ecfdf5;padding:12px;border-radius:12px;margin-top:20px}.animate-spin-slow[data-v-6ccea590]{animation:spin-6ccea590 3s linear infinite}.fade-in[data-v-6ccea590]{animation:fadeIn-6ccea590 .5s ease-out}@keyframes fadeIn-6ccea590{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-footer[data-v-6ccea590]{text-align:center;font-size:10px;color:#94a3b8}.login-footer b[data-v-6ccea590]{color:#eab308;font-weight:950}.text-muted[data-v-6ccea590]{font-size:11px}h3[data-v-6ccea590]{font-size:16px}.biodata-wrapper[data-v-9344c185]{position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;display:grid;place-items:center;z-index:9999;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch}.biodata-wrapper[data-v-9344c185]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(#f8fafc80,#f8fafc80),url(../bg-login.png);background-size:cover;background-position:center;opacity:.75;z-index:0;pointer-events:none}.biodata-container[data-v-9344c185]{width:100%;max-width:600px;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;box-shadow:0 25px 60px #0000000f;border:1px solid rgba(255,255,255,.6);z-index:10}.card-content[data-v-9344c185]{padding:32px 36px}.branding-header[data-v-9344c185]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:10px}.logo-box[data-v-9344c185]{width:48px;height:48px;margin-bottom:6px}.logo-img[data-v-9344c185]{width:100%;height:100%;object-fit:contain}.branding-text h1[data-v-9344c185]{font-size:20px;font-weight:800;color:#064e3b;margin-bottom:0;line-height:1.1}.branding-text h1 b[data-v-9344c185]{color:#eab308;font-weight:950}.campus-name[data-v-9344c185]{font-size:10px;font-weight:700;color:#eab308;text-transform:uppercase;letter-spacing:.05em;margin-top:0;line-height:1.2}.divider-line[data-v-9344c185]{height:1px;background:#e2e8f0;margin-bottom:12px}.divider-text[data-v-9344c185]{display:flex;align-items:center;font-size:11px;font-weight:700;color:#94a3b8;margin:20px 0 12px;text-transform:uppercase;letter-spacing:.05em}.divider-text[data-v-9344c185]:after{content:"";flex:1;height:1px;background:#e2e8f0;margin-left:10px}.form-header[data-v-9344c185]{text-align:center;margin-bottom:12px}.header-icon-circle[data-v-9344c185]{width:48px;height:48px;background:#ecfdf5;color:#059669;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}.form-header h2[data-v-9344c185]{font-size:16px;font-weight:800;color:#1e293b;margin-bottom:4px}.form-header p[data-v-9344c185]{font-size:11px;color:#64748b;line-height:1.4}.info-box[data-v-9344c185]{display:flex;align-items:flex-start;gap:8px;background:#eff6ff;color:#1e40af;border:1px solid #dbeafe;border-radius:8px;padding:10px 12px;font-size:10px;margin-bottom:20px}.biodata-form[data-v-9344c185]{display:flex;flex-direction:column;gap:12px}.form-row[data-v-9344c185]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group label[data-v-9344c185]{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#475569;margin-bottom:4px}.required[data-v-9344c185]{color:#ef4444}.form-group input[data-v-9344c185],.form-group select[data-v-9344c185]{width:100%;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:11px;color:#1e293b;transition:all .2s}.form-group input[data-v-9344c185]:focus,.form-group select[data-v-9344c185]:focus{outline:none;background:#fff;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.hint-text[data-v-9344c185]{display:block;margin-top:4px;font-size:10px;color:#64748b}.form-actions[data-v-9344c185]{display:flex;gap:10px;margin-top:10px}.btn-submit[data-v-9344c185]{flex:1;padding:12px;background:#059669;color:#fff;border:none;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}.btn-submit[data-v-9344c185]:hover:not(:disabled){background:#047857}.btn-cancel[data-v-9344c185]{padding:12px 20px;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:10px;font-size:11px;font-weight:600;cursor:pointer}.btn-cancel[data-v-9344c185]:hover{background:#f1f5f9}.error-msg[data-v-9344c185]{padding:10px;background:#fef2f2;color:#991b1b;border:1px solid #fee2e2;border-radius:8px;font-size:11px;display:flex;align-items:center;gap:8px}.success-state[data-v-9344c185]{text-align:center;padding:30px 0}.success-icon[data-v-9344c185]{color:#059669;margin-bottom:12px}.biodata-footer b[data-v-9344c185]{color:#eab308;font-weight:950}@media (max-width: 600px){.form-row[data-v-9344c185]{grid-template-columns:1fr}}.toast-container[data-v-90556cc4]{position:fixed;top:80px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast[data-v-90556cc4]{display:flex;align-items:center;gap:12px;min-width:320px;max-width:420px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;border-left:4px solid;pointer-events:all;animation:slideIn-90556cc4 .3s ease-out}.toast-success[data-v-90556cc4]{border-left-color:#10b981}.toast-error[data-v-90556cc4]{border-left-color:#ef4444}.toast-info[data-v-90556cc4]{border-left-color:#3b82f6}.toast-warning[data-v-90556cc4]{border-left-color:#f59e0b}.toast-icon[data-v-90556cc4]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.toast-success .toast-icon[data-v-90556cc4]{background:#d1fae5;color:#10b981}.toast-error .toast-icon[data-v-90556cc4]{background:#fee2e2;color:#ef4444}.toast-info .toast-icon[data-v-90556cc4]{background:#dbeafe;color:#3b82f6}.toast-warning .toast-icon[data-v-90556cc4]{background:#fef3c7;color:#f59e0b}.toast-content[data-v-90556cc4]{flex:1}.toast-content p[data-v-90556cc4]{margin:0;font-size:14px;font-weight:500;color:#1e293b;line-height:1.5}.toast-close[data-v-90556cc4]{flex-shrink:0;background:transparent;border:none;padding:4px;cursor:pointer;color:#64748b;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.toast-close[data-v-90556cc4]:hover{background:#f1f5f9;color:#1e293b}.toast-enter-active[data-v-90556cc4],.toast-leave-active[data-v-90556cc4]{transition:all .3s ease}.toast-enter-from[data-v-90556cc4]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-90556cc4]{opacity:0;transform:translate(100%) scale(.95)}@keyframes slideIn-90556cc4{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 640px){.toast-container[data-v-90556cc4]{top:16px;right:16px;left:16px}.toast[data-v-90556cc4]{min-width:auto;max-width:none}}.confirm-overlay[data-v-18c0e036]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.confirm-dialog[data-v-18c0e036]{background:#fff;border-radius:16px;padding:32px;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp-18c0e036 .3s ease-out}.confirm-icon[data-v-18c0e036]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 24px;background:#fee2e2;border-radius:50%;color:#ef4444}.confirm-content[data-v-18c0e036]{text-align:center;margin-bottom:32px}.confirm-content h3[data-v-18c0e036]{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 12px}.confirm-content p[data-v-18c0e036]{font-size:14px;color:#64748b;margin:0;line-height:1.6}.confirm-actions[data-v-18c0e036]{display:flex;gap:12px}.btn[data-v-18c0e036]{flex:1;padding:12px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-18c0e036]{background:#f1f5f9;color:#64748b}.btn-secondary[data-v-18c0e036]:hover{background:#e2e8f0;color:#475569}.btn-danger[data-v-18c0e036]{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger[data-v-18c0e036]:hover{background:#dc2626;box-shadow:0 6px 16px #ef444466}.modal-enter-active[data-v-18c0e036],.modal-leave-active[data-v-18c0e036]{transition:opacity .3s ease}.modal-enter-from[data-v-18c0e036],.modal-leave-to[data-v-18c0e036]{opacity:0}.modal-enter-active .confirm-dialog[data-v-18c0e036]{animation:slideUp-18c0e036 .3s ease-out}.modal-leave-active .confirm-dialog[data-v-18c0e036]{animation:slideDown-18c0e036 .3s ease-in}@keyframes slideUp-18c0e036{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown-18c0e036{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@media (max-width: 640px){.confirm-dialog[data-v-18c0e036]{padding:24px}.confirm-actions[data-v-18c0e036]{flex-direction:column-reverse}}.premium-splash[data-v-c1693e9a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#020617;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-family:Outfit,Inter,sans-serif}.splash-background[data-v-c1693e9a]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.glow-orb[data-v-c1693e9a]{position:absolute;filter:blur(80px);border-radius:50%;opacity:.15}.orb-1[data-v-c1693e9a]{width:300px;height:300px;background:#10b981;top:-50px;right:-50px}.orb-2[data-v-c1693e9a]{width:250px;height:250px;background:#2563eb;bottom:-50px;left:-50px}.splash-content[data-v-c1693e9a]{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:280px}.logo-v2[data-v-c1693e9a]{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.main-logo[data-v-c1693e9a]{width:70px;height:70px;z-index:2;filter:drop-shadow(0 0 15px rgba(16,185,129,.4))}.logo-ring[data-v-c1693e9a]{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:30px;animation:logo-spin-c1693e9a 2s linear infinite}@keyframes logo-spin-c1693e9a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-name-group[data-v-c1693e9a]{text-align:center}.app-name[data-v-c1693e9a]{font-size:32px;margin:0;font-weight:300;letter-spacing:2px}.app-name b[data-v-c1693e9a]{font-weight:800;color:#10b981}.app-tagline[data-v-c1693e9a]{font-size:10px;text-transform:uppercase;letter-spacing:3px;opacity:.6;margin:8px 0 0}.loading-container[data-v-c1693e9a]{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.loading-bar[data-v-c1693e9a]{width:100%;height:4px;background:#ffffff1a;border-radius:10px;overflow:hidden}.loading-progress[data-v-c1693e9a]{height:100%;background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:10px;transition:width .3s ease}.loading-status[data-v-c1693e9a]{font-size:10px;font-weight:500;opacity:.4;letter-spacing:.5px}.splash-footer[data-v-c1693e9a]{position:absolute;bottom:40px;text-align:center;opacity:.3}.splash-footer p[data-v-c1693e9a]{font-size:10px;margin:0}.version-tag[data-v-c1693e9a]{font-size:8px;font-weight:700}.splash-fade-leave-active[data-v-c1693e9a]{transition:opacity .8s ease-in-out,transform .8s ease-in-out}.splash-fade-leave-to[data-v-c1693e9a]{opacity:0;transform:scale(1.1)}.global-error-overlay[data-v-ecd8fde7]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:9999}.error-content[data-v-ecd8fde7]{text-align:center;background:#fff;padding:40px;border-radius:20px;box-shadow:0 10px 40px #0003;max-width:400px;width:90%}.sidebar[data-v-ecd8fde7]{width:240px;background:var(--bg-sidebar);color:#94a3b8;display:flex;flex-direction:column;padding:24px 0;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1001;position:sticky;top:0;height:100vh;overflow-y:hidden}.logo[data-v-ecd8fde7]{padding:0 24px 32px;display:flex;align-items:center;gap:14px;color:#fff;font-weight:700;letter-spacing:.1em;position:relative}.logo-emblem[data-v-ecd8fde7]{width:40px;height:40px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:2px;box-shadow:0 4px 12px #00000026;border:1px solid rgba(255,255,255,.1);overflow:hidden}.logo-emblem img[data-v-ecd8fde7]{width:100%;height:100%;object-fit:contain}.logo span[data-v-ecd8fde7]{font-size:14px;line-height:1.1;font-weight:700}.logo span small[data-v-ecd8fde7]{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:#64748b;letter-spacing:.1em;margin-top:2px}.mobile-close[data-v-ecd8fde7]{display:none;background:transparent;border:none;color:#fff;cursor:pointer;position:absolute;right:16px}.sidebar-nav[data-v-ecd8fde7]{flex:1;padding:0 12px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav[data-v-ecd8fde7]::-webkit-scrollbar{display:none}.nav-divider[data-v-ecd8fde7]{display:flex;align-items:center;gap:12px;margin:24px 12px 12px;position:relative}.nav-divider span[data-v-ecd8fde7]{font-size:9px;font-weight:800;color:#475569;letter-spacing:.15em;white-space:nowrap}.nav-divider[data-v-ecd8fde7]:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent)}.nav-divider[data-v-ecd8fde7]:before{content:"";width:4px;height:4px;background:var(--accent);border-radius:50%;opacity:.5}.nav-item[data-v-ecd8fde7]{width:100%;display:flex;align-items:center;gap:12px;padding:10px 16px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:0 8px 8px 0;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:11px;margin-bottom:2px;border-left:3px solid transparent}.nav-item[data-v-ecd8fde7]:hover{background:#ffffff0d;color:#fff}.nav-item.active[data-v-ecd8fde7]{background:var(--nav-active-bg);color:#fff;border-left-color:var(--nav-active-border);font-weight:600}.nav-group[data-v-ecd8fde7]{margin-bottom:4px}.nav-group-header[data-v-ecd8fde7]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:8px;transition:all .2s;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.nav-group-header[data-v-ecd8fde7]:hover{background:#ffffff08;color:#94a3b8}.nav-group-header .h-left[data-v-ecd8fde7]{display:flex;align-items:center;gap:12px}.nav-group-header .chevron[data-v-ecd8fde7]{opacity:.5;transition:transform .2s}.nav-group-header.expanded .chevron[data-v-ecd8fde7]{opacity:1}.nav-group-header.active[data-v-ecd8fde7]{color:#f59e0b}.nav-group-children[data-v-ecd8fde7]{display:none;flex-direction:column;padding-left:12px;margin:4px 0 8px 12px;border-left:1px solid rgba(255,255,255,.05)}.nav-group-children.is-open[data-v-ecd8fde7]{display:flex;animation:slideDown-ecd8fde7 .2s ease-out}.nav-child-item[data-v-ecd8fde7]{display:flex;align-items:center;gap:12px;padding:8px 16px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:8px;font-size:11px;transition:all .2s;text-align:left}.nav-child-item[data-v-ecd8fde7]:hover{background:#ffffff0d;color:#fff}.nav-child-item.active[data-v-ecd8fde7]{background:#f59e0b1a;color:#fbbf24;font-weight:600}@keyframes slideDown-ecd8fde7{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sidebar-footer-info[data-v-ecd8fde7]{margin-top:auto;padding:12px;background:linear-gradient(to top,rgba(15,23,42,.95),transparent)}.profile-portal-wrapper[data-v-ecd8fde7]{position:relative;border-left:1px solid var(--border);padding-left:12px}.avatar-portal-btn[data-v-ecd8fde7]{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;transition:transform .2s}.avatar-portal-btn[data-v-ecd8fde7]:hover{transform:scale(1.05)}.profile-dropdown[data-v-ecd8fde7]{position:absolute;top:52px;right:0;width:200px;background:#fff;border:1px solid var(--border);border-radius:12px;z-index:1000;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.profile-dropdown-header[data-v-ecd8fde7]{padding:16px;background:#f8fafc;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.profile-dropdown-header strong[data-v-ecd8fde7]{font-size:13px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-body[data-v-ecd8fde7]{padding:6px}.dropdown-item[data-v-ecd8fde7]{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:12px;font-weight:600;transition:all .2s}.dropdown-item[data-v-ecd8fde7]:hover{background:#f1f5f9;color:var(--primary)}.dropdown-item.logout[data-v-ecd8fde7]:hover{background:#fef2f2;color:#ef4444}.dropdown-divider[data-v-ecd8fde7]{height:1px;background:var(--border);margin:4px 0}.user-role-badge-top[data-v-ecd8fde7]{font-size:9px;font-weight:800;color:#059669;text-transform:uppercase;letter-spacing:.05em;background:#10b9811a;padding:1px 6px;border-radius:4px}.avatar-ring[data-v-ecd8fde7]{position:relative;flex-shrink:0}.avatar-actual[data-v-ecd8fde7]{width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,#1e40af 100%);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;box-shadow:0 4px 8px #2563eb33;border:1px solid rgba(255,255,255,.1);overflow:hidden}.avatar-actual.photo-mode[data-v-ecd8fde7]{background:#f1f5f9}.avatar-actual img[data-v-ecd8fde7]{width:100%;height:100%;object-fit:cover}.status-indicator-online[data-v-ecd8fde7]{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;background:#10b981;border:1.5px solid var(--card);border-radius:50%;box-shadow:0 0 8px #10b98166}.sidebar-version-tag[data-v-ecd8fde7]{display:flex;flex-direction:column;align-items:center;gap:2px;opacity:.4}.sidebar-version-tag span[data-v-ecd8fde7],.footer-copy[data-v-ecd8fde7]{font-size:8px;color:#64748b;font-weight:500;letter-spacing:.01em;text-align:center}.content[data-v-ecd8fde7]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-main)}.top-nav[data-v-ecd8fde7]{height:64px;background:var(--topbar-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:999}.nav-left[data-v-ecd8fde7]{display:flex;align-items:center;gap:16px}.menu-toggle[data-v-ecd8fde7]{display:none;background:transparent;border:none;color:var(--text-main);cursor:pointer}.top-actions[data-v-ecd8fde7]{display:flex;align-items:center;gap:20px}.icon-btn[data-v-ecd8fde7]{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s}.icon-btn[data-v-ecd8fde7]:hover{background:#fff;color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-sm)}.dot-badge[data-v-ecd8fde7]{position:absolute;top:4px;right:4px;min-width:18px;height:18px;background:var(--danger);border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff;padding:0 2px}.notification-wrapper[data-v-ecd8fde7]{position:relative}.notif-dropdown[data-v-ecd8fde7]{position:absolute;top:52px;right:0;width:320px;padding:0;z-index:1000;border-radius:16px;border:1px solid var(--border)}.notif-header[data-v-ecd8fde7]{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:11px;background:var(--card);border-top-left-radius:16px;border-top-right-radius:16px}.badge-count[data-v-ecd8fde7]{background:var(--danger);color:#fff;padding:1px 6px;border-radius:100px;font-size:11px;font-weight:700}.notif-list[data-v-ecd8fde7]{max-height:320px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.notif-item[data-v-ecd8fde7]{padding:12px 16px;display:flex;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000008}.notif-item[data-v-ecd8fde7]:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border-color:var(--primary-light)}.notif-item.unread[data-v-ecd8fde7]{background:#f0fdf4;border-color:#bbf7d0;box-shadow:0 2px 8px #22c55e14}.notif-icon-box[data-v-ecd8fde7]{width:28px;height:28px;background:#dcfce7;color:#166534;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-icon-box.info[data-v-ecd8fde7]{background:#e0f2fe;color:#075985}.notif-body p[data-v-ecd8fde7]{font-size:11px;font-weight:500;margin-bottom:4px;line-height:1.4}.notif-body small[data-v-ecd8fde7]{color:var(--text-muted);font-size:11px;font-style:italic}.notif-footer[data-v-ecd8fde7]{width:100%;padding:14px 20px;background:#f8fafc;border:none;border-top:1px solid var(--border);color:var(--primary);font-size:11px;font-weight:700;cursor:pointer;border-bottom-left-radius:16px;border-bottom-right-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.notif-footer[data-v-ecd8fde7]:hover{background:#f1f5f9;color:var(--primary-dark)}.date-now[data-v-ecd8fde7]{font-size:11px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:8px;background:var(--card);padding:8px 16px;border-radius:8px;border:1px solid var(--border)}.date-now span[data-v-ecd8fde7]{color:var(--secondary)}.app-title-header[data-v-ecd8fde7]{display:flex;flex-direction:column}.app-title-header strong[data-v-ecd8fde7]{font-size:14px;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.animated-gradient-text[data-v-ecd8fde7]{color:#4ade80;filter:drop-shadow(0px 1px 2px rgba(0,0,0,.15))}.header-subtitle[data-v-ecd8fde7]{font-size:10px;background:linear-gradient(135deg,#a67c00,#bf953f,#ffdf00,gold,#aa771c);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;font-weight:700;letter-spacing:.2px}.view-container[data-v-ecd8fde7]{flex:1;padding:32px;overflow-y:auto}.page-header[data-v-ecd8fde7]{margin-bottom:24px}.page-header h1[data-v-ecd8fde7]{font-size:11px;font-weight:700;margin-bottom:0;line-height:1.2}.page-header p[data-v-ecd8fde7]{font-size:10px;color:var(--text-muted);line-height:1.4}@media (max-width: 768px){.sidebar[data-v-ecd8fde7]{position:fixed;left:-240px;top:0;bottom:0;height:100vh;z-index:1002;box-shadow:20px 0 50px #0000001a}.sidebar.sidebar-open[data-v-ecd8fde7]{left:0}.sidebar-overlay[data-v-ecd8fde7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.menu-toggle[data-v-ecd8fde7],.mobile-close[data-v-ecd8fde7]{display:block}.top-nav[data-v-ecd8fde7]{padding:0 16px}.view-container[data-v-ecd8fde7]{padding:20px 16px 120px}.app-title-header strong[data-v-ecd8fde7]{font-size:12px}.date-now[data-v-ecd8fde7]{display:none}}@media (max-width: 640px){.app-title-header[data-v-ecd8fde7]{display:flex;max-width:200px}.app-title-header strong[data-v-ecd8fde7]{font-size:10px;line-height:1.1}.header-subtitle[data-v-ecd8fde7]{display:none!important;font-size:7px;line-height:1;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.top-actions[data-v-ecd8fde7]{gap:10px}.logout-btn-header[data-v-ecd8fde7]{display:flex}}@media (max-width: 380px){.app-title-header[data-v-ecd8fde7]{max-width:150px}}.mobile-topbar[data-v-ecd8fde7]{position:fixed;top:0;left:0;right:0;height:64px;background:linear-gradient(135deg,#0d9488,#065f46);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-topbar-left[data-v-ecd8fde7]{display:flex;align-items:center;gap:12px}.mobile-topbar-right[data-v-ecd8fde7]{display:flex;align-items:center;gap:8px}.mobile-topbar-title[data-v-ecd8fde7]{display:flex;flex-direction:column;justify-content:center}[data-theme=dark] .mobile-topbar[data-v-ecd8fde7]{background:#0f172a;border-bottom-color:#ffffff0d}.mobile-app-name-v2[data-v-ecd8fde7]{color:#fff;font-size:16px;font-weight:800;line-height:1}.mobile-app-name-v2 b[data-v-ecd8fde7]{color:#eab308;font-weight:950}.mobile-tagline-v2[data-v-ecd8fde7]{font-size:9px;font-weight:700;color:#fffc;text-transform:uppercase;letter-spacing:1px;line-height:1.2}.desktop-logo-text-v2[data-v-ecd8fde7]{font-size:14px;font-weight:800;color:#fff;display:flex;flex-direction:column;line-height:1.1}.desktop-logo-text-v2 b[data-v-ecd8fde7]{color:#eab308;font-weight:950}.desktop-logo-text-v2 small[data-v-ecd8fde7]{display:block;font-size:10px;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.mobile-logo-wrapper[data-v-ecd8fde7]{width:36px;height:36px;background:#fff;border-radius:12px;padding:4px;box-shadow:0 4px 12px #00000014;display:flex;align-items:center;justify-content:center}.mobile-logo[data-v-ecd8fde7]{width:100%;height:100%;object-fit:contain}.mobile-app-name[data-v-ecd8fde7]{color:#0d9488;font-size:16px;font-weight:800;line-height:1}[data-theme=dark] .mobile-app-name[data-v-ecd8fde7]{color:#fff}.mobile-app-name b[data-v-ecd8fde7]{color:#eab308;font-weight:950}.desktop-logo-text[data-v-ecd8fde7]{font-size:14px;font-weight:800;color:var(--text-main);display:flex;flex-direction:column;line-height:1.1}.desktop-logo-text b[data-v-ecd8fde7]{color:#eab308;font-weight:950}.mobile-campus-name[data-v-ecd8fde7]{font-size:8px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.weather-widget-glass[data-v-ecd8fde7]{background:#0d94881a;color:#0d9488;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:4px}.mobile-action-btn[data-v-ecd8fde7]{width:38px;height:38px;border-radius:10px;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;position:relative}.header-profile-box[data-v-ecd8fde7]{width:38px;height:38px;border-radius:10px;background:#ffffff26;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);overflow:hidden;cursor:pointer}.header-avatar[data-v-ecd8fde7]{width:100%;height:100%;object-fit:cover}.header-avatar-placeholder[data-v-ecd8fde7]{color:#fffc}.notif-dot[data-v-ecd8fde7]{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#ef4444;border:2px solid white;border-radius:50%}.mobile-content[data-v-ecd8fde7]{position:fixed;top:64px;bottom:0;left:0;right:0;overflow-y:auto;overflow-x:hidden;padding:20px 16px 100px;background:var(--bg-main);-webkit-overflow-scrolling:touch;z-index:1;isolation:auto;overscroll-behavior-y:none}.mobile-content[data-v-ecd8fde7]:has(.full-width-page){padding-left:0;padding-right:0;padding-top:0}[data-capacitor=true] .mobile-content[data-v-ecd8fde7]{padding-bottom:110px}.mobile-greeting[data-v-ecd8fde7]{padding:24px;background:linear-gradient(135deg,#0d9488,#14b8a6);border-radius:24px;color:#fff;box-shadow:0 10px 25px #0d948833;margin-bottom:24px}.mobile-bottom-nav-v2[data-v-ecd8fde7]{position:fixed;bottom:0;left:0;right:0;height:85px;background:linear-gradient(135deg,#0d9488,#065f46);border-top-left-radius:50% 30px;border-top-right-radius:50% 30px;display:flex;align-items:flex-end;justify-content:space-around;padding:0 4px 10px;border-top:none;box-shadow:0 -5px 30px #00000026;z-index:1000}[data-theme=dark] .mobile-bottom-nav-v2[data-v-ecd8fde7]{background:#0f172a;border-top-color:#ffffff0d}.nav-v2-item[data-v-ecd8fde7]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;color:#ffffffb3;padding:0;transition:all .3s}.nav-v2-item span[data-v-ecd8fde7]{font-size:6.5px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.nav-v2-item.active[data-v-ecd8fde7]{color:#fbbf24;transform:translateY(-2px)}.nav-v2-center[data-v-ecd8fde7]{position:relative;width:60px;height:60px;display:flex;justify-content:center;transform:translateY(-12px)}.nav-absensi-fab[data-v-ecd8fde7]{width:100%;height:100%;background-color:transparent!important;background:transparent!important;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:none!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;z-index:10}.nav-absensi-fab[data-v-ecd8fde7]:before,.nav-absensi-fab[data-v-ecd8fde7]:after{display:none}.fab-inner[data-v-ecd8fde7]{width:48px;height:48px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#064e3b;box-shadow:0 4px 15px #fbbf2466;animation:fab-pulse-ecd8fde7 2s ease-in-out infinite;position:relative}.fab-inner[data-v-ecd8fde7]:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(251,191,36,.6);animation:fab-ring-ecd8fde7 2s ease-in-out infinite}@keyframes fab-pulse-ecd8fde7{0%,to{transform:scale(1);box-shadow:0 4px 15px #fbbf2466}50%{transform:scale(1.1);box-shadow:0 6px 25px #fbbf24b3}}@keyframes fab-ring-ecd8fde7{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:0}}.fab-label[data-v-ecd8fde7]{display:none}.nav-absensi-fab.active[data-v-ecd8fde7]{transform:translateY(-4px) scale(1.05)}.nav-absensi-fab.active .fab-inner[data-v-ecd8fde7]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.nav-profile-wrapper[data-v-ecd8fde7]{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0000000d;border:1px solid rgba(0,0,0,.05)}.nav-avatar[data-v-ecd8fde7]{width:100%;height:100%;object-fit:cover}.mobile-action-btn.active[data-v-ecd8fde7]{color:#eab308}.notif-dropdown-mobile[data-v-ecd8fde7]{position:fixed;top:70px;left:16px;right:16px;max-height:400px;z-index:1001;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.mobile-logout-btn[data-v-ecd8fde7]{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border:1.5px solid #dc2626;border-radius:16px;color:#dc2626;font-size:14px;font-weight:800;transition:all .3s;box-shadow:0 4px 15px #dc262614;cursor:pointer;background:#fff}.mobile-logout-btn[data-v-ecd8fde7]:active{background:#dc2626;color:#fff;transform:scale(.98);box-shadow:0 8px 25px #dc262633}.pull-indicator[data-v-ecd8fde7]{position:fixed;top:-60px;left:0;right:0;display:flex;justify-content:center;align-items:center;z-index:9999;pointer-events:none}.pull-pill[data-v-ecd8fde7]{display:inline-flex;align-items:center;gap:7px;background:#0f172ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffffd9;padding:8px 16px;border-radius:100px;font-size:12px;font-weight:600;box-shadow:0 4px 20px #00000040;border:1px solid rgba(255,255,255,.1);transition:background .2s,color .2s;white-space:nowrap}.pull-pill.is-ready[data-v-ecd8fde7]{background:#059669e6;color:#fff;border-color:#fff3}.pull-icon[data-v-ecd8fde7]{transition:transform .3s;flex-shrink:0}.pull-icon.is-spinning[data-v-ecd8fde7]{animation:spin-ecd8fde7 .8s linear infinite}@keyframes spin-ecd8fde7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.premium-header[data-v-ecd8fde7]{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.h-left[data-v-ecd8fde7]{display:flex;align-items:center;gap:20px}.icon-orb[data-v-ecd8fde7]{width:48px;height:48px;background:var(--primary);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px -4px rgba(var(--primary-rgb),.3)}.icon-orb.blue[data-v-ecd8fde7]{background:#3b82f6;box-shadow:0 8px 16px -4px #3b82f64d}.icon-orb.green[data-v-ecd8fde7]{background:#10b981;box-shadow:0 8px 16px -4px #10b9814d}.icon-orb.purple[data-v-ecd8fde7]{background:#8b5cf6;box-shadow:0 8px 16px -4px #8b5cf64d}.h-left h1[data-v-ecd8fde7]{font-size:16px;font-weight:800;margin-bottom:2px;color:var(--text-main)}.subtitle[data-v-ecd8fde7]{font-size:11px;color:var(--text-muted)}.h-right[data-v-ecd8fde7]{display:flex;align-items:center}.page-container-fullheight[data-v-ecd8fde7]{display:flex;flex-direction:column;min-height:100%;width:100%;padding:0;box-sizing:border-box}@media (max-width: 768px){.mobile-content .page-container-fullheight[data-v-ecd8fde7]{height:auto;min-height:0;width:100%}}.oauth-handoff-screen[data-v-ecd8fde7]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#f8fafc;z-index:9999}.oauth-handoff-card[data-v-ecd8fde7]{max-width:360px;width:100%;padding:28px 24px;border-radius:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 30px #00000014;text-align:center}.oauth-handoff-check[data-v-ecd8fde7],.oauth-handoff-warn[data-v-ecd8fde7]{width:56px;height:56px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:28px;font-weight:700;color:#fff}.oauth-handoff-check[data-v-ecd8fde7]{background:#16a34a}.oauth-handoff-warn[data-v-ecd8fde7]{background:#d97706}.oauth-handoff-card h2[data-v-ecd8fde7]{margin:0 0 8px;font-size:18px;color:#0f172a}.oauth-handoff-card p[data-v-ecd8fde7]{margin:0;font-size:14px;line-height:1.5;color:#475569}
