:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.modal-overlay[data-v-a220a555]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-a220a555 .3s ease}@keyframes fadeIn-a220a555{0%{opacity:0}to{opacity:1}}.login-modal[data-v-a220a555]{width:90%;max-width:420px;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:slideIn-a220a555 .3s ease,flowingCyber-a220a555 7s linear infinite;border-radius:var(--radius-lg);padding:2.5rem 2rem;position:relative;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a}@keyframes slideIn-a220a555{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-btn[data-v-a220a555]{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;font-size:1.2rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-btn[data-v-a220a555]:hover{background:#fff3;transform:scale(1.1)}.modal-header[data-v-a220a555]{text-align:center;margin-bottom:2rem}.modal-header h2[data-v-a220a555]{margin:0 0 .5rem;font-size:1.75rem;font-weight:var(--font-weight-bold);color:#fff;text-shadow:0 0 20px rgba(6,182,212,.6),0 0 40px rgba(6,182,212,.3)}.modal-header p[data-v-a220a555]{margin:0;font-size:var(--font-size-base);color:#ffffffe6;text-shadow:0 0 10px rgba(6,182,212,.4)}.error-message[data-v-a220a555]{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;color:#fecaca;font-size:var(--font-size-sm);text-align:center}.login-form[data-v-a220a555]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-a220a555]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-a220a555]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;text-shadow:0 0 10px rgba(6,182,212,.4);letter-spacing:.3px}.input-wrapper[data-v-a220a555]{position:relative;display:flex;align-items:center}.input-icon[data-v-a220a555]{position:absolute;left:1rem;color:#ffffffb3;font-size:1rem;z-index:1}.form-input[data-v-a220a555]{width:100%;padding:.875rem 1rem .875rem 3rem;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);transition:all var(--transition-base)}.form-input[data-v-a220a555]::placeholder{color:#fff9}.form-input[data-v-a220a555]:focus{outline:none;background:#fff3;border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.form-input[data-v-a220a555]:disabled{opacity:.6;cursor:not-allowed}.password-toggle[data-v-a220a555]{position:absolute;right:1rem;background:transparent;border:none;color:#ffffffb3;font-size:1rem;cursor:pointer;padding:.5rem;transition:all var(--transition-base);z-index:1}.password-toggle[data-v-a220a555]:hover{color:#fff;transform:scale(1.1)}.login-btn[data-v-a220a555]{width:100%;padding:1rem;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.4);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.75rem;text-shadow:0 0 10px rgba(6,182,212,.5);margin-top:.5rem}.login-btn[data-v-a220a555]:hover:not(:disabled){background:#ffffff4d;border-color:#fff9;transform:translateY(-2px);box-shadow:0 10px 30px #0000004d,0 0 20px #06b6d466}.login-btn[data-v-a220a555]:active:not(:disabled){transform:translateY(0)}.login-btn[data-v-a220a555]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-a220a555]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-a220a555 .8s linear infinite}@keyframes spin-a220a555{to{transform:rotate(360deg)}}@media(max-width:480px){.login-modal[data-v-a220a555]{padding:2rem 1.5rem}.modal-header h2[data-v-a220a555]{font-size:1.5rem}}@keyframes flowingCyber-a220a555{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.modal-overlay[data-v-f2929f1b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.message-modal[data-v-f2929f1b]{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header[data-v-f2929f1b]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.header-content h2[data-v-f2929f1b]{margin:0;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.header-content p[data-v-f2929f1b]{margin:.25rem 0 0;font-size:.875rem;color:#fffc}.close-btn[data-v-f2929f1b]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.close-btn[data-v-f2929f1b]:hover{background:#ffffff4d}.success-message[data-v-f2929f1b]{margin:1rem 1.5rem 0;padding:.75rem 1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);color:#059669;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.error-message[data-v-f2929f1b]{margin:1rem 1.5rem 0;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#dc2626;font-size:.875rem}.message-form[data-v-f2929f1b]{padding:1.5rem}.form-group[data-v-f2929f1b]{margin-bottom:1rem}.form-group label[data-v-f2929f1b]{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input[data-v-f2929f1b]{width:100%;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);transition:border-color var(--transition-base)}.form-input[data-v-f2929f1b]:focus{outline:none;border-color:var(--color-primary)}.form-input[data-v-f2929f1b]:disabled{opacity:.6;cursor:not-allowed}.form-textarea[data-v-f2929f1b]{resize:vertical;min-height:120px}.form-actions[data-v-f2929f1b]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.btn-cancel[data-v-f2929f1b]{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-cancel[data-v-f2929f1b]:hover:not(:disabled){background:var(--glass-bg)}.btn-submit[data-v-f2929f1b]{padding:.75rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-submit[data-v-f2929f1b]:hover:not(:disabled){background:#2563eb}.btn-submit[data-v-f2929f1b]:disabled,.btn-cancel[data-v-f2929f1b]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-435365fb]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-435365fb .3s ease}@keyframes fadeIn-435365fb{0%{opacity:0}to{opacity:1}}.settings-modal[data-v-435365fb]{width:90%;max-width:480px;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:slideIn-435365fb .3s ease,flowingCyber-435365fb 7s linear infinite;border-radius:var(--radius-lg);padding:2rem;position:relative;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;max-height:90vh;overflow-y:auto}@keyframes slideIn-435365fb{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-btn[data-v-435365fb]{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;font-size:1.2rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-btn[data-v-435365fb]:hover{background:#fff3;transform:scale(1.1)}.modal-header[data-v-435365fb]{text-align:center;margin-bottom:1.5rem}.modal-header h2[data-v-435365fb]{margin:0 0 .5rem;font-size:1.5rem;font-weight:var(--font-weight-bold);color:#fff;text-shadow:0 0 20px rgba(6,182,212,.6),0 0 40px rgba(6,182,212,.3)}.modal-header p[data-v-435365fb]{margin:0;font-size:var(--font-size-sm);color:#ffffffe6;text-shadow:0 0 10px rgba(6,182,212,.4)}.tabs[data-v-435365fb]{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-btn[data-v-435365fb]{flex:1;padding:.75rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fffc;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn[data-v-435365fb]:hover{background:#ffffff26}.tab-btn.active[data-v-435365fb]{background:#ffffff40;border-color:#fff6;color:#fff}.current-info[data-v-435365fb]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.current-info .label[data-v-435365fb]{font-size:var(--font-size-xs);color:#ffffffb3}.current-info .value[data-v-435365fb]{font-size:var(--font-size-base);color:#fff;font-weight:var(--font-weight-medium)}.error-message[data-v-435365fb]{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;color:#fecaca;font-size:var(--font-size-sm);text-align:center}.success-message[data-v-435365fb]{background:#22c55e33;border:1px solid rgba(34,197,94,.4);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;color:#bbf7d0;font-size:var(--font-size-sm);text-align:center}.settings-form[data-v-435365fb]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-435365fb]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-435365fb]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;text-shadow:0 0 10px rgba(6,182,212,.4)}.input-wrapper[data-v-435365fb]{position:relative;display:flex;align-items:center}.input-icon[data-v-435365fb]{position:absolute;left:1rem;color:#ffffffb3;font-size:1rem;z-index:1}.form-input[data-v-435365fb]{width:100%;padding:.75rem 1rem .75rem 3rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);transition:all var(--transition-base)}.form-input[data-v-435365fb]::placeholder{color:#fff9}.form-input[data-v-435365fb]:focus{outline:none;background:#fff3;border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.form-input[data-v-435365fb]:disabled{opacity:.6;cursor:not-allowed}.password-toggle[data-v-435365fb]{position:absolute;right:1rem;background:transparent;border:none;color:#ffffffb3;font-size:1rem;cursor:pointer;padding:.5rem;transition:all var(--transition-base);z-index:1}.password-toggle[data-v-435365fb]:hover{color:#fff}.submit-btn[data-v-435365fb]{width:100%;padding:.875rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.4);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.submit-btn[data-v-435365fb]:hover:not(:disabled){background:#ffffff4d;border-color:#fff9;transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.submit-btn[data-v-435365fb]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-435365fb]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-435365fb .8s linear infinite}@keyframes spin-435365fb{to{transform:rotate(360deg)}}@keyframes flowingCyber-435365fb{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.sidebar[data-v-3119cc7e]{width:var(--sidebar-width);height:100vh;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-3119cc7e 7s linear infinite;color:var(--sidebar-text);position:fixed;left:0;top:0;overflow-y:auto;box-shadow:var(--shadow-md),var(--sidebar-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column}.sidebar-brand[data-v-3119cc7e]{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-base)}.sidebar-brand[data-v-3119cc7e]:hover{background:var(--sidebar-hover)}.brand-logo[data-v-3119cc7e]{flex-shrink:0}.logo-image[data-v-3119cc7e]{width:45px;height:45px;object-fit:contain;background:var(--color-bg-white);border-radius:var(--radius-md);padding:var(--spacing-xs)}.brand-text h3[data-v-3119cc7e]{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--sidebar-text);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.brand-text p[data-v-3119cc7e]{margin:0;font-size:var(--font-size-xs);color:var(--sidebar-text-dim);text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.sidebar-nav[data-v-3119cc7e]{padding:var(--spacing-lg) 0;flex:1}.nav-section[data-v-3119cc7e]{margin-bottom:var(--spacing-xl)}.section-label[data-v-3119cc7e]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--sidebar-text-dimmer);padding:var(--spacing-sm) var(--spacing-xl);letter-spacing:.5px;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.nav-item[data-v-3119cc7e]{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;transition:all var(--transition-base);position:relative}.nav-item[data-v-3119cc7e]:hover{background:var(--sidebar-hover)}.nav-item.active[data-v-3119cc7e]{background:var(--sidebar-active);border-left:4px solid var(--color-primary-lighter);box-shadow:var(--glow-blue-sm)}.nav-icon[data-v-3119cc7e]{font-size:var(--font-size-lg);margin-right:var(--spacing-md);flex-shrink:0;width:20px;text-align:center;filter:drop-shadow(0 0 4px rgba(6,182,212,.4))}.nav-text[data-v-3119cc7e]{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.nav-arrow[data-v-3119cc7e]{font-size:var(--font-size-xs);transition:transform var(--transition-base);color:var(--sidebar-text-dim)}.nav-arrow.rotated[data-v-3119cc7e]{transform:rotate(180deg)}.nav-parent[data-v-3119cc7e]{font-weight:var(--font-weight-semibold)}.nav-dropdown[data-v-3119cc7e]{margin-left:var(--spacing-lg)}.nav-child[data-v-3119cc7e]{padding-left:2.5rem;font-size:var(--font-size-sm)}.nav-child .nav-icon[data-v-3119cc7e]{font-size:var(--font-size-base)}.sidebar-footer[data-v-3119cc7e]{padding:var(--spacing-lg);border-top:1px solid var(--sidebar-border)}.logout-btn[data-v-3119cc7e]{width:100%;display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:var(--sidebar-text);cursor:pointer;transition:all var(--transition-base)}.logout-btn[data-v-3119cc7e]:hover{background:#ef44444d;border-color:#ef444480}.logout-btn .nav-icon[data-v-3119cc7e]{font-size:var(--font-size-lg);margin-right:var(--spacing-md);flex-shrink:0;width:20px;text-align:center}.logout-btn .nav-text[data-v-3119cc7e]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-shadow:0 0 8px rgba(6,182,212,.4)}.sidebar[data-v-3119cc7e]::-webkit-scrollbar{width:6px}.sidebar[data-v-3119cc7e]::-webkit-scrollbar-track{background:var(--sidebar-hover)}.sidebar[data-v-3119cc7e]::-webkit-scrollbar-thumb{background:var(--sidebar-text-dim);border-radius:var(--radius-sm)}.sidebar[data-v-3119cc7e]::-webkit-scrollbar-thumb:hover{background:var(--sidebar-text)}@keyframes flowingCyber-3119cc7e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.pill-nav[data-v-fb55f99e]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:.25rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-fb55f99e 7s linear infinite;border-radius:50px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #2563eb4d,0 0 40px #0ea5e926;z-index:1000}@keyframes flowingCyber-fb55f99e{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.pill-item[data-v-fb55f99e]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:20px;text-decoration:none;color:#ffffffb3;transition:all .3s ease}.pill-item[data-v-fb55f99e]:hover{color:#fff}.pill-item.active[data-v-fb55f99e]{color:#fff;background:#fff3;text-shadow:0 0 10px rgba(255,255,255,.5)}.icon[data-v-fb55f99e]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.icon svg[data-v-fb55f99e]{width:100%;height:100%}.label[data-v-fb55f99e]{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.mobile-app[data-v-e67a9a1b]{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 30%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.06) 0%,transparent 50%),#f8fafc}.mobile-content[data-v-e67a9a1b]{flex:1;padding-bottom:90px;overflow-y:auto}:root{--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-lighter: #60a5fa;--color-primary-dark: #1e40af;--color-primary-darker: #1e3a8a;--color-secondary: #0ea5e9;--color-secondary-light: #38bdf8;--color-secondary-dark: #0284c7;--color-success: #10b981;--color-success-light: #34d399;--color-success-bg: #d1fae5;--color-success-text: #065f46;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-bg: #fee2e2;--color-danger-text: #991b1b;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-bg: #dbeafe;--color-info-text: #1e40af;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-light: #94a3b8;--color-text-white: #ffffff;--color-bg-primary: #f8fafc;--color-bg-secondary: #f1f5f9;--color-bg-tertiary: #e2e8f0;--color-bg-white: #ffffff;--color-bg-dark: #0f172a;--color-border-light: #e2e8f0;--color-border-medium: #cbd5e1;--color-border-dark: #94a3b8;--sidebar-bg-start: #1e3a8a;--sidebar-bg-end: #1e40af;--sidebar-text: #ffffff;--sidebar-text-dim: rgba(255, 255, 255, .9);--sidebar-text-dimmer: rgba(255, 255, 255, .7);--sidebar-hover: rgba(59, 130, 246, .15);--sidebar-active: rgba(37, 99, 235, .25);--sidebar-border: rgba(59, 130, 246, .3);--sidebar-glow: 0 0 20px rgba(37, 99, 235, .4);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--sidebar-width: 250px;--header-height: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--glow-blue: 0 0 0 3px rgba(37, 99, 235, .1);--glow-blue-sm: 0 0 0 2px rgba(59, 130, 246, .1);--glow-cyan: 0 0 0 3px rgba(14, 165, 233, .1);--glow-cyan-sm: 0 0 0 2px rgba(56, 189, 248, .1);--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .7rem;--font-size-sm: .85rem;--font-size-base: .9rem;--font-size-md: .95rem;--font-size-lg: 1.1rem;--font-size-xl: 1.3rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.4;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--gradient-primary: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);--gradient-sidebar: linear-gradient(180deg, var(--sidebar-bg-start) 0%, var(--sidebar-bg-end) 100%);--gradient-blue: linear-gradient(90deg, #2563eb, #3b82f6);--gradient-cyan: linear-gradient(90deg, #0ea5e9, #38bdf8);--gradient-border: linear-gradient(135deg, #2563eb, #3b82f6, #60a5fa);--glass-bg: rgba(255, 255, 255, .65);--glass-bg-hover: rgba(255, 255, 255, .75);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .3);--glass-border-hover: rgba(255, 255, 255, .5);--glass-border-strong: rgba(255, 255, 255, .6);--glass-blur: blur(12px);--glass-blur-strong: blur(16px);--glass-shadow: 0 8px 32px rgba(37, 99, 235, .1);--glass-shadow-hover: 0 12px 40px rgba(37, 99, 235, .15);--z-index-dropdown: 100;--z-index-modal: 500;--z-index-sidebar: 1000;--z-index-header: 1001;--z-index-tooltip: 1100}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family-primary);background:var(--color-bg-primary);color:var(--color-text-primary);display:block!important;place-items:unset!important}#app{height:100%;max-width:none!important;margin:0!important;padding:0!important}.app-container{display:flex;height:100vh;overflow:hidden}.main-content{margin-left:var(--sidebar-width);flex:1;height:100vh;background:radial-gradient(circle at 20% 30%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.06) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(96,165,250,.04) 0%,transparent 60%),var(--color-bg-primary);overflow-y:auto;padding:0;box-sizing:border-box}.mobile-app-container{height:100vh;overflow-y:auto;background:radial-gradient(circle at 20% 30%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.06) 0%,transparent 50%),#f8fafc}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@media(max-width:768px){::-webkit-scrollbar{width:4px}html,body{overflow:auto}}.modal-overlay[data-v-b63df105]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.showcase-modal[data-v-b63df105]{width:100%;max-width:700px;max-height:85vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.close-btn[data-v-b63df105]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);flex-shrink:0}.close-btn[data-v-b63df105]:hover{background:#ffffff4d}.loading-state[data-v-b63df105],.error-state[data-v-b63df105]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-b63df105]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#3b82f6;border-radius:50%;animation:spin-b63df105 .8s linear infinite}@keyframes spin-b63df105{to{transform:rotate(360deg)}}.error-state[data-v-b63df105]{color:#ef4444}.error-state svg[data-v-b63df105]{font-size:2rem}.modal-header[data-v-b63df105]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-content[data-v-b63df105]{display:flex;align-items:center;gap:1rem}.header-icon[data-v-b63df105]{width:45px;height:45px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}.header-text h2[data-v-b63df105]{margin:0 0 .25rem;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.header-text p[data-v-b63df105]{margin:0;color:#fffc;font-size:var(--font-size-sm)}.tabs-nav[data-v-b63df105]{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--glass-border)}.tab-btn[data-v-b63df105]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.tab-btn[data-v-b63df105]:hover{background:var(--glass-bg)}.tab-btn.active[data-v-b63df105]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab-content[data-v-b63df105]{flex:1;overflow-y:auto;padding:1.5rem}.tab-panel[data-v-b63df105]{animation:fadeIn-b63df105 .3s ease}@keyframes fadeIn-b63df105{0%{opacity:0}to{opacity:1}}.info-grid[data-v-b63df105]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.info-item[data-v-b63df105]{display:flex;flex-direction:column;gap:.25rem}.info-item.full-width[data-v-b63df105]{grid-column:1 / -1}.info-item label[data-v-b63df105]{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span[data-v-b63df105]{font-size:var(--font-size-base);color:var(--color-text-primary)}.project-title[data-v-b63df105]{font-size:1.25rem!important;font-weight:var(--font-weight-bold);color:#3b82f6!important}.value-highlight[data-v-b63df105]{font-size:1.25rem!important;font-weight:var(--font-weight-bold);color:#10b981!important}.open-source-badge[data-v-b63df105]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.9rem;font-weight:var(--font-weight-semibold)}.visit-project-btn[data-v-b63df105]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);margin-top:1.5rem;color:#fff;font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base);cursor:pointer}.visit-project-btn[data-v-b63df105]:hover{background:#2563eb;transform:translateY(-2px)}.visit-project-btn svg[data-v-b63df105]{font-size:1.25rem}.confidential-badge[data-v-b63df105]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:#6b72801a;border:1px solid rgba(107,114,128,.3);border-radius:var(--radius-md);margin-top:1.5rem;color:#6b7280;font-weight:var(--font-weight-medium)}.confidential-badge svg[data-v-b63df105]{font-size:1.25rem}.features-list[data-v-b63df105]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;max-height:250px;overflow-y:auto}.features-list li[data-v-b63df105]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.feature-number[data-v-b63df105]{color:var(--color-primary);font-weight:var(--font-weight-semibold);min-width:1.5rem}.gallery-grid[data-v-b63df105]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;max-height:350px;overflow-y:auto}.gallery-item[data-v-b63df105]{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:1px solid var(--glass-border)}.gallery-item img[data-v-b63df105]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-overlay[data-v-b63df105]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;font-size:1.5rem}.gallery-item:hover img[data-v-b63df105]{transform:scale(1.1)}.gallery-item:hover .gallery-overlay[data-v-b63df105]{opacity:1}.skills-list[data-v-b63df105]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-height:250px;overflow-y:auto}.skill-tag[data-v-b63df105]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);padding:.625rem 1rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-data[data-v-b63df105]{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--color-text-secondary)}.no-data svg[data-v-b63df105]{font-size:2.5rem;opacity:.5;margin-bottom:.75rem}.lightbox[data-v-b63df105]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center}.lightbox-close[data-v-b63df105]{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:background .3s ease}.lightbox-close[data-v-b63df105]:hover{background:#fff3}.lightbox-nav[data-v-b63df105]{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:background .3s ease}.lightbox-nav[data-v-b63df105]:hover{background:#fff3}.lightbox-nav.prev[data-v-b63df105]{left:1rem}.lightbox-nav.next[data-v-b63df105]{right:1rem}.lightbox-content[data-v-b63df105]{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img[data-v-b63df105]{max-width:100%;max-height:calc(90vh - 40px);object-fit:contain;border-radius:var(--radius-md)}.lightbox-counter[data-v-b63df105]{margin-top:1rem;color:#fff;font-size:var(--font-size-sm)}@media(max-width:600px){.info-grid[data-v-b63df105]{grid-template-columns:1fr}.tab-btn[data-v-b63df105]{padding:.75rem .25rem;font-size:.75rem}.tab-btn svg[data-v-b63df105]{display:none}.gallery-grid[data-v-b63df105],.skills-list[data-v-b63df105]{grid-template-columns:repeat(2,1fr)}}.main-view[data-v-8473c3ba]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-header[data-v-8473c3ba]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-8473c3ba 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:.75rem}.dashboard-header[data-v-8473c3ba]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-8473c3ba 4s linear infinite}.dashboard-header[data-v-8473c3ba]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-8473c3ba 4s linear infinite}.dashboard-header h1[data-v-8473c3ba]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-8473c3ba]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.dashboard-container[data-v-8473c3ba]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.error-alert[data-v-8473c3ba]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-8473c3ba]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-secondary);flex:1}.spinner[data-v-8473c3ba]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#3b82f6;border-radius:50%;animation:spin-8473c3ba .8s linear infinite}@keyframes spin-8473c3ba{to{transform:rotate(360deg)}}.category-section[data-v-8473c3ba]{margin-bottom:.75rem}.category-section[data-v-8473c3ba]:last-of-type{margin-bottom:.6rem}.section-title[data-v-8473c3ba]{font-size:1rem;color:var(--color-text-primary);margin:0 0 .5rem;font-weight:var(--font-weight-semibold)}.category-grid[data-v-8473c3ba]{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.stat-card[data-v-8473c3ba]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:.7rem;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);border-top:3px solid;display:flex;align-items:center;gap:.5rem;transition:all var(--transition-base)}.stat-card[data-v-8473c3ba]:hover{transform:translateY(-4px);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover);border:1px solid var(--glass-border-hover);border-top:3px solid}.stat-icon[data-v-8473c3ba]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.stat-content[data-v-8473c3ba]{flex:1}.stat-value[data-v-8473c3ba]{font-size:1.35rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.stat-title[data-v-8473c3ba]{font-size:.75rem;color:var(--color-text-secondary);margin-top:.1rem}.bottom-section[data-v-8473c3ba]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1rem}.recent-projects[data-v-8473c3ba]{flex:1}.projects-header[data-v-8473c3ba]{margin-bottom:.75rem}.project-tabs[data-v-8473c3ba]{display:flex;gap:.5rem}.tab-btn[data-v-8473c3ba]{padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.85rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.tab-btn[data-v-8473c3ba]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.tab-btn.active[data-v-8473c3ba]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.project-list[data-v-8473c3ba]{display:flex;flex-direction:column;gap:.65rem}.project-card[data-v-8473c3ba]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:.85rem;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);display:flex;align-items:center;gap:.65rem;transition:all var(--transition-base)}.project-card[data-v-8473c3ba]:hover{transform:translateY(-2px);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover);border-color:var(--glass-border-hover)}.project-icon[data-v-8473c3ba]{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.project-info[data-v-8473c3ba]{flex:1;min-width:0}.project-name[data-v-8473c3ba]{font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-value[data-v-8473c3ba]{font-size:.8rem;color:var(--color-text-secondary);margin-top:.15rem}.open-source-badge[data-v-8473c3ba]{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium)}.view-btn[data-v-8473c3ba]{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:#3b82f61a;color:#3b82f6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-base);flex-shrink:0}.view-btn[data-v-8473c3ba]:hover{background:#3b82f633;transform:scale(1.1)}.empty-state[data-v-8473c3ba]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-secondary)}.empty-icon[data-v-8473c3ba]{font-size:2rem;opacity:.5;margin-bottom:.5rem}.empty-state p[data-v-8473c3ba]{margin:0;font-size:var(--font-size-sm)}.cert-card[data-v-8473c3ba]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);border-top:3px solid #ec4899;display:flex;align-items:center;gap:.75rem;transition:all var(--transition-base)}.cert-card[data-v-8473c3ba]:hover{transform:translateY(-4px);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover);border-color:var(--glass-border-hover);border-top:3px solid #ec4899}.cert-icon[data-v-8473c3ba]{width:45px;height:45px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:#ec489926;color:#ec4899;flex-shrink:0}.cert-content[data-v-8473c3ba]{flex:1;min-width:0}.cert-name[data-v-8473c3ba]{font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-details[data-v-8473c3ba]{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.cert-issuer[data-v-8473c3ba]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-date[data-v-8473c3ba]{white-space:nowrap;opacity:.8}.cert-date[data-v-8473c3ba]:before{content:"•";margin-right:.5rem}.skills-section[data-v-8473c3ba]{flex:1}.chart-header[data-v-8473c3ba]{margin-bottom:.75rem}.chart-tabs[data-v-8473c3ba]{display:flex;gap:.5rem}.skills-chart-container[data-v-8473c3ba]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:.5rem}.skills-chart-container[data-v-8473c3ba] .apexcharts-xaxis-label{fill:#000!important;font-weight:600!important}@media(max-width:1024px){.category-grid[data-v-8473c3ba]{grid-template-columns:repeat(2,1fr)}.bottom-section[data-v-8473c3ba]{grid-template-columns:1fr}}@media(max-width:640px){.category-grid[data-v-8473c3ba]{grid-template-columns:1fr}.main-view[data-v-8473c3ba]{padding:1rem}.cert-details[data-v-8473c3ba]{flex-direction:column;gap:.15rem}.cert-date[data-v-8473c3ba]:before{display:none}}.dashboard-footer[data-v-8473c3ba]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-8473c3ba 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-8473c3ba]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-8473c3ba 4s linear infinite}@keyframes borderGradient-8473c3ba{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-8473c3ba{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.copyright-text[data-v-8473c3ba]{margin:0;color:var(--color-text-white);font-size:.875rem;text-align:center;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.modal-overlay[data-v-5b98a7af]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-5b98a7af .3s ease}@keyframes fadeIn-5b98a7af{0%{opacity:0}to{opacity:1}}.password-modal[data-v-5b98a7af]{width:90%;max-width:400px;background:#fff;border-radius:var(--radius-lg);padding:2rem;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideIn-5b98a7af .3s ease}@keyframes slideIn-5b98a7af{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-btn[data-v-5b98a7af]{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.close-btn[data-v-5b98a7af]:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.modal-header[data-v-5b98a7af]{text-align:center;margin-bottom:1.5rem}.lock-icon[data-v-5b98a7af]{width:60px;height:60px;background:linear-gradient(135deg,var(--color-primary),#3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem;color:#fff;box-shadow:0 4px 15px #2563eb4d}.modal-header h2[data-v-5b98a7af]{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-text-primary)}.modal-header p[data-v-5b98a7af]{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.error-message[data-v-5b98a7af]{display:flex;align-items:center;gap:.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;color:#ef4444;font-size:var(--font-size-sm)}.password-form[data-v-5b98a7af]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-5b98a7af]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-5b98a7af]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-wrapper[data-v-5b98a7af]{position:relative}.input-icon[data-v-5b98a7af]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.form-input[data-v-5b98a7af]{width:100%;padding:.875rem 1rem .875rem 2.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input[data-v-5b98a7af]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input[data-v-5b98a7af]:disabled{opacity:.6;cursor:not-allowed}.form-actions[data-v-5b98a7af]{display:flex;gap:1rem}.btn-cancel[data-v-5b98a7af]{flex:1;padding:.875rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-cancel[data-v-5b98a7af]:hover:not(:disabled){background:var(--glass-bg-hover)}.btn-verify[data-v-5b98a7af]{flex:1;padding:.875rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-verify[data-v-5b98a7af]:hover:not(:disabled){background:var(--color-primary-dark)}.btn-verify[data-v-5b98a7af]:disabled,.btn-cancel[data-v-5b98a7af]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-5b98a7af]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-5b98a7af .8s linear infinite}@keyframes spin-5b98a7af{to{transform:rotate(360deg)}}.modal-overlay[data-v-3aeaeb6a]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.quotation-modal[data-v-3aeaeb6a]{width:100%;max-width:1000px;height:90vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-3aeaeb6a]{padding:1.25rem 2rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.header-info[data-v-3aeaeb6a]{display:flex;flex-direction:column;gap:.25rem}.modal-header h2[data-v-3aeaeb6a]{margin:0;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.project-name[data-v-3aeaeb6a]{margin:0;font-size:.875rem;color:#fffc}.close-btn[data-v-3aeaeb6a]{width:36px;height:36px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);font-size:1rem}.close-btn[data-v-3aeaeb6a]:hover{background:#ffffff4d}.modal-body[data-v-3aeaeb6a]{flex:1;display:flex;overflow:hidden}.overview-panel[data-v-3aeaeb6a]{width:250px;flex-shrink:0;background:#f8fafc;border-right:1px solid rgba(37,99,235,.1);display:flex;flex-direction:column;overflow-y:auto}.panel-header[data-v-3aeaeb6a]{display:flex;align-items:center;gap:.75rem;padding:1.25rem;border-bottom:1px solid rgba(37,99,235,.1)}.panel-icon[data-v-3aeaeb6a]{font-size:1.25rem;color:var(--color-primary)}.panel-header h3[data-v-3aeaeb6a]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.overview-rows[data-v-3aeaeb6a]{padding:1rem 1.25rem}.overview-row[data-v-3aeaeb6a]{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 0;border-bottom:1px solid rgba(37,99,235,.06)}.overview-row[data-v-3aeaeb6a]:last-child{border-bottom:none}.row-label[data-v-3aeaeb6a]{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.row-value[data-v-3aeaeb6a]{font-size:.95rem;color:var(--color-text-primary);font-weight:600}.open-source-badge[data-v-3aeaeb6a]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#10b9811a;color:#10b981!important;border-radius:var(--radius-full);font-size:.85rem}.iframe-container[data-v-3aeaeb6a]{flex:1;position:relative;overflow:hidden;background:#fff}.loading-state[data-v-3aeaeb6a]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--color-text-secondary)}.loading-state .spinner[data-v-3aeaeb6a]{font-size:2rem;color:var(--color-primary)}.error-state[data-v-3aeaeb6a]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;color:#ef4444}.error-state .error-icon[data-v-3aeaeb6a]{font-size:2.5rem}.no-quotation-state[data-v-3aeaeb6a]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--color-text-secondary)}.no-quotation-state .no-file-icon[data-v-3aeaeb6a]{font-size:3rem;color:#d1d5db}.quotation-iframe[data-v-3aeaeb6a]{width:100%;height:100%;border:none;background:#fff}@media(max-width:768px){.quotation-modal[data-v-3aeaeb6a]{max-width:100%;height:100vh;border-radius:0}.modal-header[data-v-3aeaeb6a]{padding:1rem 1.5rem}.modal-header h2[data-v-3aeaeb6a]{font-size:1.1rem}.overview-panel[data-v-3aeaeb6a]{display:none}}.upcoming-view[data-v-fbfd4710]{padding:0;height:100%;display:flex;flex-direction:column}.page-container[data-v-fbfd4710]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-fbfd4710]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-fbfd4710 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.page-header[data-v-fbfd4710]:before,.page-header[data-v-fbfd4710]:after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-fbfd4710 4s linear infinite}.page-header[data-v-fbfd4710]:before{top:0}.page-header[data-v-fbfd4710]:after{bottom:0}.page-header h1[data-v-fbfd4710]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-fbfd4710]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.toolbar[data-v-fbfd4710]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.search-box[data-v-fbfd4710]{position:relative;flex:1;max-width:400px}.search-icon[data-v-fbfd4710]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-fbfd4710]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-fbfd4710]:focus{outline:none;border-color:#f59e0b}.error-alert[data-v-fbfd4710]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-fbfd4710]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-fbfd4710]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#f59e0b;border-radius:50%;animation:spin-fbfd4710 .8s linear infinite}@keyframes spin-fbfd4710{to{transform:rotate(360deg)}}.table-container[data-v-fbfd4710]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;flex:1}.projects-table[data-v-fbfd4710]{width:100%;border-collapse:collapse}.projects-table th[data-v-fbfd4710],.projects-table td[data-v-fbfd4710]{padding:1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.projects-table th[data-v-fbfd4710]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.projects-table tbody tr[data-v-fbfd4710]:hover{background:var(--glass-bg-hover)}.projects-table tbody tr:last-child td[data-v-fbfd4710]{border-bottom:none}.col-no[data-v-fbfd4710]{width:60px;text-align:center}.col-name[data-v-fbfd4710]{min-width:200px}.col-price[data-v-fbfd4710],.col-date[data-v-fbfd4710]{width:130px}.col-action[data-v-fbfd4710]{width:100px;text-align:center}.project-name[data-v-fbfd4710]{display:flex;align-items:center;gap:.75rem}.project-icon[data-v-fbfd4710]{color:#f59e0b}.open-source-badge[data-v-fbfd4710]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-medium)}.view-btn[data-v-fbfd4710]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.view-btn[data-v-fbfd4710]:hover{background:#f59e0b33;border-color:#f59e0b}.projects-container[data-v-fbfd4710]{display:flex;flex-direction:column;min-height:550px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.table-container[data-v-fbfd4710]{flex:1;border:none;border-radius:0;background:transparent}.pagination[data-v-fbfd4710]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-top:1rem}.pagination-info[data-v-fbfd4710]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-fbfd4710]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-fbfd4710]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-fbfd4710]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:#f59e0b}.page-btn[data-v-fbfd4710]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-fbfd4710]{display:flex;gap:.25rem}.page-num[data-v-fbfd4710]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-fbfd4710]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-fbfd4710]{background:#f59e0b;border-color:#f59e0b;color:#fff}.page-ellipsis[data-v-fbfd4710]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-row[data-v-fbfd4710]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-fbfd4710]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-fbfd4710]{font-size:2.5rem;color:#f59e0b;opacity:.5}.page-footer[data-v-fbfd4710]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-fbfd4710 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-fbfd4710]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-fbfd4710 4s linear infinite}.copyright-text[data-v-fbfd4710]{margin:0;color:#fff;font-size:.875rem;font-weight:var(--font-weight-medium);text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes flowingGradient-fbfd4710{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-fbfd4710{0%{background-position:0% 0%}to{background-position:200% 0%}}@media(max-width:900px){.table-container[data-v-fbfd4710]{overflow-x:auto}.projects-table[data-v-fbfd4710]{min-width:700px}}@media(max-width:600px){.toolbar[data-v-fbfd4710]{flex-direction:column;align-items:stretch}.search-box[data-v-fbfd4710]{max-width:none}.pagination[data-v-fbfd4710]{flex-direction:column;gap:1rem}.pagination-controls[data-v-fbfd4710]{width:100%;justify-content:center}}.modal-overlay[data-v-45f31b1b]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.update-modal[data-v-45f31b1b]{width:100%;max-width:500px;max-height:85vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.close-btn[data-v-45f31b1b]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);flex-shrink:0}.close-btn[data-v-45f31b1b]:hover{background:#ffffff4d}.loading-state[data-v-45f31b1b],.error-state[data-v-45f31b1b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-45f31b1b]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#10b981;border-radius:50%;animation:spin-45f31b1b .8s linear infinite}@keyframes spin-45f31b1b{to{transform:rotate(360deg)}}.error-state[data-v-45f31b1b]{color:#ef4444}.error-state svg[data-v-45f31b1b]{font-size:2rem}.modal-header[data-v-45f31b1b]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-content[data-v-45f31b1b]{display:flex;align-items:center;gap:1rem}.header-icon[data-v-45f31b1b]{width:45px;height:45px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}.header-text h2[data-v-45f31b1b]{margin:0 0 .25rem;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.header-text p[data-v-45f31b1b]{margin:0;color:#fffc;font-size:var(--font-size-sm)}.project-info[data-v-45f31b1b]{padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border)}.info-row[data-v-45f31b1b]{display:flex;gap:1.5rem;margin-bottom:1.25rem}.info-item[data-v-45f31b1b]{flex:1}.info-item label[data-v-45f31b1b]{display:block;font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.info-item span[data-v-45f31b1b]{font-size:var(--font-size-base);color:var(--color-text-primary)}.value-text[data-v-45f31b1b]{font-weight:var(--font-weight-semibold);color:#10b981!important}.open-source-badge[data-v-45f31b1b]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.85rem;font-weight:var(--font-weight-medium)}.progress-section[data-v-45f31b1b]{background:var(--glass-bg);padding:1rem;border-radius:var(--radius-md)}.progress-header[data-v-45f31b1b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:var(--font-size-sm)}.progress-percentage[data-v-45f31b1b]{font-weight:var(--font-weight-bold);color:#10b981;font-size:1.25rem}.progress-bar-large[data-v-45f31b1b]{height:12px;background:var(--glass-border);border-radius:6px;overflow:hidden}.progress-fill[data-v-45f31b1b]{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:6px;transition:width .5s ease}.features-section[data-v-45f31b1b]{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.features-header[data-v-45f31b1b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.features-header h3[data-v-45f31b1b]{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.features-header h3 svg[data-v-45f31b1b]{color:#10b981}.features-count[data-v-45f31b1b]{font-size:.75rem;color:var(--color-text-secondary);background:var(--glass-bg);padding:.25rem .75rem;border-radius:var(--radius-full)}.features-list[data-v-45f31b1b]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto}.features-list li[data-v-45f31b1b]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.features-list li.completed[data-v-45f31b1b]{background:#10b9810d;border-color:#10b98133}.feature-status[data-v-45f31b1b]{margin-top:.125rem}.feature-status svg[data-v-45f31b1b]{color:var(--glass-border);font-size:1rem}.feature-status .completed-icon[data-v-45f31b1b]{color:#10b981}.feature-text[data-v-45f31b1b]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.features-list li.completed .feature-text[data-v-45f31b1b]{color:var(--color-text-secondary)}.no-features[data-v-45f31b1b]{display:flex;flex-direction:column;align-items:center;padding:2rem;color:var(--color-text-secondary)}.no-features svg[data-v-45f31b1b]{font-size:2rem;opacity:.5;margin-bottom:.5rem}.modal-footer[data-v-45f31b1b]{padding:1rem 1.5rem;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end}.close-btn-footer[data-v-45f31b1b]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.close-btn-footer[data-v-45f31b1b]:hover{background:var(--glass-bg-hover)}.inprogress-view[data-v-e7fea687]{padding:0;height:100%;display:flex;flex-direction:column}.page-container[data-v-e7fea687]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-e7fea687]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-e7fea687 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.page-header[data-v-e7fea687]:before,.page-header[data-v-e7fea687]:after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-e7fea687 4s linear infinite}.page-header[data-v-e7fea687]:before{top:0}.page-header[data-v-e7fea687]:after{bottom:0}.page-header h1[data-v-e7fea687]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-e7fea687]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.toolbar[data-v-e7fea687]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.search-box[data-v-e7fea687]{position:relative;flex:1;max-width:400px}.search-icon[data-v-e7fea687]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-e7fea687]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-e7fea687]:focus{outline:none;border-color:#10b981}.error-alert[data-v-e7fea687]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-e7fea687]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-e7fea687]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#10b981;border-radius:50%;animation:spin-e7fea687 .8s linear infinite}@keyframes spin-e7fea687{to{transform:rotate(360deg)}}.table-container[data-v-e7fea687]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;flex:1}.projects-table[data-v-e7fea687]{width:100%;border-collapse:collapse}.projects-table th[data-v-e7fea687],.projects-table td[data-v-e7fea687]{padding:1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.projects-table th[data-v-e7fea687]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.projects-table tbody tr[data-v-e7fea687]:hover{background:var(--glass-bg-hover)}.projects-table tbody tr:last-child td[data-v-e7fea687]{border-bottom:none}.col-no[data-v-e7fea687]{width:60px;text-align:center}.col-name[data-v-e7fea687]{min-width:200px}.col-progress[data-v-e7fea687]{width:220px}.col-price[data-v-e7fea687]{width:130px}.col-action[data-v-e7fea687]{width:100px;text-align:center}.project-name[data-v-e7fea687]{display:flex;align-items:center;gap:.75rem}.project-icon[data-v-e7fea687]{color:#10b981}.open-source-badge[data-v-e7fea687]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-medium)}.progress-wrapper[data-v-e7fea687]{display:flex;align-items:center;gap:.75rem}.progress-bar[data-v-e7fea687]{flex:1;height:8px;background:var(--glass-border);border-radius:4px;overflow:hidden}.progress-fill[data-v-e7fea687]{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .3s ease}.progress-text[data-v-e7fea687]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#10b981;min-width:40px}.view-btn[data-v-e7fea687]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.view-btn[data-v-e7fea687]:hover{background:#10b98133;border-color:#10b981}.projects-container[data-v-e7fea687]{display:flex;flex-direction:column;min-height:550px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.table-container[data-v-e7fea687]{flex:1;border:none;border-radius:0;background:transparent}.pagination[data-v-e7fea687]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-top:1rem}.pagination-info[data-v-e7fea687]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-e7fea687]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-e7fea687]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-e7fea687]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:#10b981}.page-btn[data-v-e7fea687]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-e7fea687]{display:flex;gap:.25rem}.page-num[data-v-e7fea687]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-e7fea687]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-e7fea687]{background:#10b981;border-color:#10b981;color:#fff}.page-ellipsis[data-v-e7fea687]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-row[data-v-e7fea687]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-e7fea687]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-e7fea687]{font-size:2.5rem;color:#10b981;opacity:.5}.page-footer[data-v-e7fea687]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-e7fea687 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-e7fea687]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-e7fea687 4s linear infinite}.copyright-text[data-v-e7fea687]{margin:0;color:#fff;font-size:.875rem;font-weight:var(--font-weight-medium);text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes flowingGradient-e7fea687{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-e7fea687{0%{background-position:0% 0%}to{background-position:200% 0%}}@media(max-width:900px){.table-container[data-v-e7fea687]{overflow-x:auto}.projects-table[data-v-e7fea687]{min-width:700px}}@media(max-width:600px){.toolbar[data-v-e7fea687]{flex-direction:column;align-items:stretch}.search-box[data-v-e7fea687]{max-width:none}.pagination[data-v-e7fea687]{flex-direction:column;gap:1rem}.pagination-controls[data-v-e7fea687]{width:100%;justify-content:center}}.completed-view[data-v-7aed5778]{padding:0;height:100%;display:flex;flex-direction:column}.page-container[data-v-7aed5778]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-7aed5778]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-7aed5778 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.page-header[data-v-7aed5778]:before,.page-header[data-v-7aed5778]:after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-7aed5778 4s linear infinite}.page-header[data-v-7aed5778]:before{top:0}.page-header[data-v-7aed5778]:after{bottom:0}.page-header h1[data-v-7aed5778]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-7aed5778]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.toolbar[data-v-7aed5778]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.search-box[data-v-7aed5778]{position:relative;flex:1;max-width:400px}.search-icon[data-v-7aed5778]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-7aed5778]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-7aed5778]:focus{outline:none;border-color:#8b5cf6}.error-alert[data-v-7aed5778]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-7aed5778]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-7aed5778]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#3b82f6;border-radius:50%;animation:spin-7aed5778 .8s linear infinite}@keyframes spin-7aed5778{to{transform:rotate(360deg)}}.table-container[data-v-7aed5778]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;flex:1}.projects-table[data-v-7aed5778]{width:100%;border-collapse:collapse}.projects-table th[data-v-7aed5778],.projects-table td[data-v-7aed5778]{padding:1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.projects-table th[data-v-7aed5778]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.projects-table tbody tr[data-v-7aed5778]:hover{background:var(--glass-bg-hover)}.projects-table tbody tr:last-child td[data-v-7aed5778]{border-bottom:none}.col-no[data-v-7aed5778]{width:60px;text-align:center}.col-name[data-v-7aed5778]{min-width:200px}.col-price[data-v-7aed5778]{width:120px}.col-date[data-v-7aed5778]{width:220px;font-size:.85rem}.col-duration[data-v-7aed5778],.col-action[data-v-7aed5778]{width:100px;text-align:center}.project-name[data-v-7aed5778]{display:flex;align-items:center;gap:.75rem}.project-icon[data-v-7aed5778]{color:#3b82f6}.open-source-badge[data-v-7aed5778]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#10b9811a;color:#10b981;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-medium)}.view-btn[data-v-7aed5778]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.view-btn[data-v-7aed5778]:hover{background:#8b5cf633;border-color:#8b5cf6}.projects-container[data-v-7aed5778]{display:flex;flex-direction:column;min-height:550px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.table-container[data-v-7aed5778]{flex:1;border:none;border-radius:0;background:transparent}.pagination[data-v-7aed5778]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-top:1rem}.pagination-info[data-v-7aed5778]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-7aed5778]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-7aed5778]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-7aed5778]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:#8b5cf6}.page-btn[data-v-7aed5778]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-7aed5778]{display:flex;gap:.25rem}.page-num[data-v-7aed5778]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-7aed5778]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-7aed5778]{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.page-ellipsis[data-v-7aed5778]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-row[data-v-7aed5778]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-7aed5778]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-7aed5778]{font-size:2.5rem;color:#8b5cf6;opacity:.5}.page-footer[data-v-7aed5778]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingGradient-7aed5778 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-7aed5778]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-7aed5778 4s linear infinite}.copyright-text[data-v-7aed5778]{margin:0;color:#fff;font-size:.875rem;font-weight:var(--font-weight-medium);text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes flowingGradient-7aed5778{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-7aed5778{0%{background-position:0% 0%}to{background-position:200% 0%}}@media(max-width:900px){.table-container[data-v-7aed5778]{overflow-x:auto}.projects-table[data-v-7aed5778]{min-width:600px}}@media(max-width:600px){.toolbar[data-v-7aed5778]{flex-direction:column;align-items:stretch}.search-box[data-v-7aed5778]{max-width:none}.pagination[data-v-7aed5778]{flex-direction:column;gap:1rem}.pagination-controls[data-v-7aed5778]{width:100%;justify-content:center}}.school-view[data-v-6465ccdc]{padding:0;height:100%;display:flex;flex-direction:column}.content-container[data-v-6465ccdc]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-6465ccdc]{padding:.85rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-6465ccdc 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1rem}.page-header[data-v-6465ccdc]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-6465ccdc 4s linear infinite}.page-header[data-v-6465ccdc]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-6465ccdc 4s linear infinite}.page-header h1[data-v-6465ccdc]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-6465ccdc]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4)}.stats-bar[data-v-6465ccdc]{display:flex;align-items:center;justify-content:center;gap:2rem;padding:.875rem 1.5rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:1.5rem}.stat-item[data-v-6465ccdc]{display:flex;align-items:center;gap:.5rem}.stat-icon[data-v-6465ccdc]{color:var(--color-primary);font-size:1rem}.stat-label[data-v-6465ccdc]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat-value[data-v-6465ccdc]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stat-divider[data-v-6465ccdc]{width:1px;height:20px;background:var(--glass-border)}.journey-container[data-v-6465ccdc]{flex:1;display:flex;flex-direction:column;margin-bottom:1.5rem}.horizontal-timeline[data-v-6465ccdc]{position:relative;height:60px;margin-bottom:1.5rem}.timeline-track[data-v-6465ccdc]{position:absolute;top:28px;left:16.67%;right:16.67%;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,#60a5fa 50%,#06b6d4 100%);border-radius:2px}.timeline-point[data-v-6465ccdc]{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.timeline-point.point-0[data-v-6465ccdc]{left:16.67%}.timeline-point.point-1[data-v-6465ccdc]{left:50%}.timeline-point.point-2[data-v-6465ccdc]{left:83.33%}.point-year[data-v-6465ccdc]{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.point-dot[data-v-6465ccdc]{width:16px;height:16px;background:#fff;border:3px solid var(--color-primary);border-radius:50%;box-shadow:0 0 0 4px #2563eb33}.point-label[data-v-6465ccdc]{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--glass-bg);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--glass-border)}.journey-cards[data-v-6465ccdc]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative}.journey-card[data-v-6465ccdc]{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--glass-shadow);transition:all var(--transition-base);opacity:0;transform:translateY(20px);animation:fadeInUp-6465ccdc .5s ease forwards}.journey-card[data-v-6465ccdc]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}@keyframes fadeInUp-6465ccdc{to{opacity:1;transform:translateY(0)}}.card-header[data-v-6465ccdc]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%)}.header-year[data-v-6465ccdc]{font-size:1.25rem;font-weight:var(--font-weight-bold);color:#fff}.header-line[data-v-6465ccdc]{flex:1;height:2px;background:#ffffff4d;border-radius:1px}.header-line-bold[data-v-6465ccdc]{width:20px;height:3px;background:#fff;border-radius:2px}.card-body[data-v-6465ccdc]{padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.card-icon[data-v-6465ccdc]{width:48px;height:48px;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;margin-bottom:.75rem;box-shadow:var(--glow-blue-sm);overflow:hidden}.card-icon.has-logo[data-v-6465ccdc]{background:#fff;border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.school-logo[data-v-6465ccdc]{width:100%;height:100%;object-fit:cover}.school-name[data-v-6465ccdc]{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .25rem}.school-type[data-v-6465ccdc]{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);margin-bottom:.75rem}.card-details[data-v-6465ccdc]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;width:100%}.detail-row[data-v-6465ccdc]{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary)}.detail-icon[data-v-6465ccdc]{width:12px;opacity:.7}.achievement-badge[data-v-6465ccdc]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);width:100%;justify-content:center}.badge-icon[data-v-6465ccdc]{color:#f59e0b;font-size:.9rem}.badge-exam[data-v-6465ccdc]{font-size:.8rem;font-weight:var(--font-weight-semibold);color:#f59e0b}.badge-result[data-v-6465ccdc]{font-size:.85rem;font-weight:var(--font-weight-bold);color:#d97706}.page-footer[data-v-6465ccdc]{margin-top:auto;padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-6465ccdc 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-6465ccdc]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-6465ccdc 4s linear infinite}.copyright-text[data-v-6465ccdc]{margin:0;color:var(--color-text-white);font-size:.875rem;text-align:center;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-shadow:0 0 10px rgba(6,182,212,.5)}@keyframes flowingCyber-6465ccdc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-6465ccdc{0%{background-position:0% 0%}to{background-position:200% 0%}}@media(max-width:900px){.journey-cards[data-v-6465ccdc]{grid-template-columns:1fr;gap:1.5rem}.horizontal-timeline[data-v-6465ccdc]{display:none}.stats-bar[data-v-6465ccdc]{flex-direction:column;gap:.75rem}.stat-divider[data-v-6465ccdc]{width:80%;height:1px}}.university-view[data-v-2445abca]{padding:0;height:100%;display:flex;flex-direction:column}.content-container[data-v-2445abca]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-2445abca]{padding:.85rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-2445abca 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1rem}.page-header[data-v-2445abca]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-2445abca 4s linear infinite}.page-header[data-v-2445abca]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-2445abca 4s linear infinite}.page-header h1[data-v-2445abca]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-2445abca]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4)}.stats-bar[data-v-2445abca]{display:flex;align-items:center;justify-content:center;gap:2rem;padding:.875rem 1.5rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);margin-bottom:1.5rem}.stat-item[data-v-2445abca]{display:flex;align-items:center;gap:.5rem}.stat-icon[data-v-2445abca]{color:#7c3aed;font-size:1rem}.stat-icon.highlight[data-v-2445abca]{color:#f59e0b}.stat-label[data-v-2445abca]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat-value[data-v-2445abca]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stat-value.highlight[data-v-2445abca]{color:#f59e0b}.stat-divider[data-v-2445abca]{width:1px;height:20px;background:var(--glass-border)}.journey-container[data-v-2445abca]{flex:1;display:flex;flex-direction:column;margin-bottom:1.5rem}.horizontal-timeline[data-v-2445abca]{position:relative;height:60px;margin-bottom:1.5rem}.timeline-track[data-v-2445abca]{position:absolute;top:28px;left:16.67%;right:16.67%;height:4px;background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);border-radius:2px}.timeline-point[data-v-2445abca]{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.timeline-point.point-0[data-v-2445abca]{left:16.67%}.timeline-point.point-1[data-v-2445abca]{left:50%}.timeline-point.point-2[data-v-2445abca]{left:83.33%}.point-year[data-v-2445abca]{font-size:.75rem;font-weight:var(--font-weight-semibold);color:#7c3aed}.point-dot[data-v-2445abca]{width:16px;height:16px;background:#fff;border:3px solid #7c3aed;border-radius:50%;box-shadow:0 0 0 4px #7c3aed33}.point-label[data-v-2445abca]{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--glass-bg);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--glass-border)}.journey-cards[data-v-2445abca]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative}.journey-card[data-v-2445abca]{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--glass-shadow);transition:all var(--transition-base);opacity:0;transform:translateY(20px);animation:fadeInUp-2445abca .5s ease forwards}.journey-card[data-v-2445abca]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#7c3aed}@keyframes fadeInUp-2445abca{to{opacity:1;transform:translateY(0)}}.card-header[data-v-2445abca]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#7c3aed,#a855f7)}.header-year[data-v-2445abca]{font-size:1rem;font-weight:var(--font-weight-bold);color:#fff;white-space:nowrap}.header-line[data-v-2445abca]{flex:1;height:2px;background:#ffffff4d;border-radius:1px}.header-line-bold[data-v-2445abca]{width:20px;height:3px;background:#fff;border-radius:2px}.card-body[data-v-2445abca]{padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.card-icon[data-v-2445abca]{width:48px;height:48px;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;margin-bottom:.75rem;box-shadow:0 4px 15px #7c3aed4d;overflow:hidden}.card-icon.has-logo[data-v-2445abca]{background:#fff;border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.uni-logo[data-v-2445abca]{width:100%;height:100%;object-fit:contain;padding:4px}.uni-name[data-v-2445abca]{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .25rem}.uni-program[data-v-2445abca]{font-size:.8rem;color:#7c3aed;font-weight:var(--font-weight-medium);margin-bottom:.75rem;line-height:1.3}.card-details[data-v-2445abca]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;width:100%}.detail-row[data-v-2445abca]{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary)}.detail-icon[data-v-2445abca]{width:12px;opacity:.7}.cgpa-badge[data-v-2445abca]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#7c3aed1a,#7c3aed0d);border:1px solid rgba(124,58,237,.3);border-radius:var(--radius-md);width:100%;justify-content:center;margin-bottom:.5rem}.cgpa-badge.first-class[data-v-2445abca]{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.3)}.cgpa-badge .badge-icon[data-v-2445abca]{color:#7c3aed;font-size:.9rem}.cgpa-badge.first-class .badge-icon[data-v-2445abca]{color:#f59e0b}.cgpa-badge .badge-label[data-v-2445abca]{font-size:.8rem;color:var(--color-text-secondary)}.cgpa-badge .badge-value[data-v-2445abca]{font-size:.85rem;font-weight:var(--font-weight-bold);color:#7c3aed}.cgpa-badge.first-class .badge-value[data-v-2445abca]{color:#d97706}.status-badge[data-v-2445abca]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#10b981;font-weight:var(--font-weight-medium)}.status-icon[data-v-2445abca]{font-size:.9rem}.page-footer[data-v-2445abca]{margin-top:auto;padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-2445abca 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-2445abca]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-2445abca 4s linear infinite}.copyright-text[data-v-2445abca]{margin:0;color:var(--color-text-white);font-size:.875rem;text-align:center;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-shadow:0 0 10px rgba(6,182,212,.5)}@keyframes flowingCyber-2445abca{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-2445abca{0%{background-position:0% 0%}to{background-position:200% 0%}}@media(max-width:900px){.journey-cards[data-v-2445abca]{grid-template-columns:1fr;gap:1.5rem}.horizontal-timeline[data-v-2445abca]{display:none}.stats-bar[data-v-2445abca]{flex-direction:column;gap:.75rem}.stat-divider[data-v-2445abca]{width:80%;height:1px}}.certificates-view[data-v-16903812]{padding:0;height:100%;display:flex;flex-direction:column}.content-container[data-v-16903812]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.page-header[data-v-16903812]{padding:.85rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-16903812 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1rem}.page-header[data-v-16903812]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-16903812 4s linear infinite}.page-header[data-v-16903812]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-16903812 4s linear infinite}.page-header h1[data-v-16903812]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.page-header p[data-v-16903812]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.loading-container[data-v-16903812]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.loading-spinner[data-v-16903812]{width:48px;height:48px;border:4px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-16903812 1s linear infinite;margin-bottom:1rem}.loading-container p[data-v-16903812]{color:var(--color-text-secondary);font-size:var(--font-size-base)}@keyframes spin-16903812{to{transform:rotate(360deg)}}.error-container[data-v-16903812]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid rgba(239,68,68,.3);box-shadow:var(--glass-shadow)}.error-icon[data-v-16903812]{font-size:3rem;color:#ef4444;margin-bottom:1rem}.error-container p[data-v-16903812]{color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:1.5rem}.retry-btn[data-v-16903812]{padding:.75rem 1.5rem;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.retry-btn[data-v-16903812]:hover{transform:translateY(-2px);box-shadow:var(--glow-blue-sm)}.search-container[data-v-16903812]{margin-bottom:1rem}.search-wrapper[data-v-16903812]{position:relative;max-width:400px}.search-icon[data-v-16903812]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:.9rem}.search-input[data-v-16903812]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base);box-shadow:var(--glass-shadow)}.search-input[data-v-16903812]:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--glow-blue-sm);background:var(--glass-bg-hover)}.search-input[data-v-16903812]::placeholder{color:var(--color-text-secondary)}.table-wrapper[data-v-16903812]{display:flex;flex-direction:column;min-height:550px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden;margin-bottom:1rem}.table-container[data-v-16903812]{flex:1;overflow:hidden}.certificates-table[data-v-16903812]{width:100%;border-collapse:collapse}.certificates-table thead tr[data-v-16903812]{background:var(--color-primary)}.certificates-table th[data-v-16903812]{padding:.85rem 1.25rem;text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-primary)}.certificates-table tbody tr[data-v-16903812]{border-bottom:1px solid rgba(0,0,0,.08);transition:all var(--transition-base)}.certificates-table tbody tr[data-v-16903812]:hover{background:var(--glass-bg-hover)}.certificates-table tbody tr[data-v-16903812]:last-child{border-bottom:none}.certificates-table td[data-v-16903812]{padding:.5rem 1.25rem;font-size:var(--font-size-base);color:var(--color-text-primary);text-align:left}.certificates-table td[data-v-16903812]:first-child{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);width:80px}.certificates-table td[data-v-16903812]:nth-child(3){color:var(--color-text-secondary);width:200px}.certificates-table td[data-v-16903812]:last-child{width:120px;text-align:center}.status-badge[data-v-16903812]{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;min-width:110px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;box-shadow:var(--glass-shadow);transition:all var(--transition-base)}.status-active[data-v-16903812]{color:#10b981;border-color:#10b9814d}.status-renewal[data-v-16903812]{color:#f59e0b;border-color:#f59e0b4d}.status-expired[data-v-16903812]{color:#ef4444;border-color:#ef44444d}.empty-row[data-v-16903812]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-16903812]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-16903812]{font-size:2.5rem;opacity:.5}.pagination-container[data-v-16903812]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.pagination-info[data-v-16903812]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-16903812]{display:flex;align-items:center;gap:.5rem}.page-indicator[data-v-16903812]{padding:0 1rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.page-btn[data-v-16903812]{padding:.5rem 1rem;background:var(--color-bg-white);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:.5rem}.page-btn[data-v-16903812]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.page-btn[data-v-16903812]:disabled{opacity:.5;cursor:not-allowed}.page-btn.active[data-v-16903812]{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-color:var(--color-primary);box-shadow:var(--glow-blue-sm)}.page-footer[data-v-16903812]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-16903812 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.page-footer[data-v-16903812]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-16903812 4s linear infinite}.copyright-text[data-v-16903812]{margin:0;color:var(--color-text-white);font-size:.875rem;text-align:center;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes flowingCyber-16903812{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGradient-16903812{0%{background-position:0% 0%}to{background-position:200% 0%}}.admin-view[data-v-94139d6a]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-94139d6a]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-94139d6a]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-94139d6a 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-94139d6a]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-94139d6a 4s linear infinite}.dashboard-header[data-v-94139d6a]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-94139d6a 4s linear infinite}.dashboard-header h1[data-v-94139d6a]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-94139d6a]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.error-alert[data-v-94139d6a]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-94139d6a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-secondary);flex:1}.spinner[data-v-94139d6a]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:#3b82f6;border-radius:50%;animation:spin-94139d6a .8s linear infinite}@keyframes spin-94139d6a{to{transform:rotate(360deg)}}.stats-section[data-v-94139d6a]{margin-bottom:1.5rem}.stats-grid[data-v-94139d6a]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card[data-v-94139d6a]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);border-top:3px solid;display:flex;align-items:center;gap:.75rem;transition:all var(--transition-base)}.stat-card[data-v-94139d6a]:hover{transform:translateY(-4px);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover);border:1px solid var(--glass-border-hover);border-top:3px solid}.stat-icon[data-v-94139d6a]{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.stat-content[data-v-94139d6a]{flex:1}.stat-value[data-v-94139d6a]{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.stat-title[data-v-94139d6a]{font-size:.9rem;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);margin-top:.1rem}.stat-subtitle[data-v-94139d6a]{font-size:.75rem;color:var(--color-text-secondary)}.reminders-section[data-v-94139d6a]{flex:1}.section-title[data-v-94139d6a]{font-size:1.1rem;color:var(--color-text-primary);margin:0 0 1rem;font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:.5rem}.section-icon[data-v-94139d6a]{color:#f59e0b}.reminders-list[data-v-94139d6a]{display:flex;flex-direction:column;gap:.75rem}.reminder-card[data-v-94139d6a]{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);display:flex;align-items:center;gap:1rem;transition:all var(--transition-base)}.reminder-card[data-v-94139d6a]:hover{transform:translateY(-2px);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover)}.reminder-card.is-overdue[data-v-94139d6a]{border-left:3px solid #ef4444}.reminder-icon[data-v-94139d6a]{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#3b82f626;color:#3b82f6;flex-shrink:0}.reminder-icon.overdue[data-v-94139d6a]{background:#ef444426;color:#ef4444}.reminder-content[data-v-94139d6a]{flex:1;min-width:0}.reminder-project[data-v-94139d6a]{font-size:.95rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-description[data-v-94139d6a]{font-size:.8rem;color:var(--color-text-secondary);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-meta[data-v-94139d6a]{text-align:right;flex-shrink:0}.reminder-message[data-v-94139d6a]{font-size:.85rem;font-weight:var(--font-weight-semibold);color:#10b981}.reminder-message.overdue[data-v-94139d6a]{color:#ef4444}.reminder-date[data-v-94139d6a]{font-size:.75rem;color:var(--color-text-secondary);margin-top:.15rem}.empty-state[data-v-94139d6a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-secondary)}.empty-icon[data-v-94139d6a]{font-size:3rem;color:#10b981;margin-bottom:.75rem}.empty-state p[data-v-94139d6a]{margin:0;font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-subtitle[data-v-94139d6a]{font-size:.85rem;margin-top:.25rem}.dashboard-footer[data-v-94139d6a]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-94139d6a 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-94139d6a]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-94139d6a 4s linear infinite}.copyright-text[data-v-94139d6a]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes borderGradient-94139d6a{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-94139d6a{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:1024px){.stats-grid[data-v-94139d6a]{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid[data-v-94139d6a]{grid-template-columns:1fr}.reminder-card[data-v-94139d6a]{flex-wrap:wrap}.reminder-meta[data-v-94139d6a]{width:100%;text-align:left;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between}}.admin-view[data-v-619e31d4]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-619e31d4]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-619e31d4]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-619e31d4 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-619e31d4]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-619e31d4 4s linear infinite}.dashboard-header[data-v-619e31d4]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-619e31d4 4s linear infinite}.dashboard-header h1[data-v-619e31d4]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-619e31d4]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.tabs-container[data-v-619e31d4]{margin-bottom:1.5rem}.tabs-nav[data-v-619e31d4]{display:flex;gap:.5rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.5rem;width:fit-content}.tab-btn[data-v-619e31d4]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.tab-btn[data-v-619e31d4]:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.tab-btn.active[data-v-619e31d4]{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #2563eb4d}.loading-state[data-v-619e31d4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-icon[data-v-619e31d4]{font-size:3rem;color:var(--color-primary)}.loading-state p[data-v-619e31d4]{color:var(--color-text-secondary);font-size:var(--font-size-base)}.error-state[data-v-619e31d4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.error-icon[data-v-619e31d4]{font-size:3rem;color:#ef4444}.error-state p[data-v-619e31d4]{color:var(--color-text-secondary);font-size:var(--font-size-base)}.retry-btn[data-v-619e31d4]{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.retry-btn[data-v-619e31d4]:hover{background:var(--color-primary-dark)}.chart-content[data-v-619e31d4]{flex:1;display:flex;flex-direction:column;gap:1.5rem}.chart-container[data-v-619e31d4]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--glass-shadow)}.chart-wrapper[data-v-619e31d4]{min-height:350px}.chart-title[data-v-619e31d4]{margin:0 0 1rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center}.stats-cards[data-v-619e31d4]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card[data-v-619e31d4]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--glass-shadow);transition:transform var(--transition-base)}.stat-card[data-v-619e31d4]:hover{transform:translateY(-2px)}.stat-indicator[data-v-619e31d4]{width:4px;height:40px;border-radius:2px}.stat-content[data-v-619e31d4]{display:flex;flex-direction:column;gap:.25rem}.stat-label[data-v-619e31d4]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat-value[data-v-619e31d4]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dashboard-footer[data-v-619e31d4]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-619e31d4 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-619e31d4]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-619e31d4 4s linear infinite}.copyright-text[data-v-619e31d4]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes borderGradient-619e31d4{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-619e31d4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:1024px){.stats-cards[data-v-619e31d4]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.tabs-nav[data-v-619e31d4]{flex-wrap:wrap;width:100%}.tab-btn[data-v-619e31d4]{padding:.5rem 1rem;font-size:var(--font-size-xs)}.stats-cards[data-v-619e31d4]{grid-template-columns:repeat(2,1fr)}.stat-value[data-v-619e31d4]{font-size:var(--font-size-lg)}}@media(max-width:480px){.stats-cards[data-v-619e31d4]{grid-template-columns:1fr}}.transactions-tab[data-v-1d837aa4]{padding:0}.transactions-container[data-v-1d837aa4]{display:flex;flex-direction:column;gap:1rem;min-height:580px}.toolbar[data-v-1d837aa4]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters[data-v-1d837aa4]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.search-input[data-v-1d837aa4]{padding:.625rem 1rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-primary);min-width:200px;font-size:var(--font-size-sm)}.search-input[data-v-1d837aa4]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.filter-select[data-v-1d837aa4]{padding:.625rem 1rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer}.btn[data-v-1d837aa4]{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all var(--transition-base)}.btn-primary[data-v-1d837aa4]{background:var(--color-primary);color:#fff}.btn-primary[data-v-1d837aa4]:hover{background:var(--color-primary-dark)}.btn-secondary[data-v-1d837aa4]{background:var(--glass-bg);border:1px solid var(--color-border-light);color:var(--color-text-primary)}.btn-secondary[data-v-1d837aa4]:hover{background:var(--glass-bg-hover)}.add-btn[data-v-1d837aa4]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-btn[data-v-1d837aa4]:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.btn-danger[data-v-1d837aa4]{background:#ef4444;color:#fff}.btn-danger[data-v-1d837aa4]:hover{background:#dc2626}.error-alert[data-v-1d837aa4]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;color:#ef4444;font-size:var(--font-size-sm);margin-bottom:1rem}.loading-state[data-v-1d837aa4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-1d837aa4]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-1d837aa4 .8s linear infinite}@keyframes spin-1d837aa4{to{transform:rotate(360deg)}}.table-container[data-v-1d837aa4]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.data-table[data-v-1d837aa4]{width:100%;border-collapse:collapse}.data-table th[data-v-1d837aa4],.data-table td[data-v-1d837aa4]{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.data-table th[data-v-1d837aa4]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff;white-space:nowrap}.data-table tbody tr[data-v-1d837aa4]:hover{background:var(--glass-bg-hover)}.col-no[data-v-1d837aa4]{width:60px;text-align:center}.col-desc[data-v-1d837aa4]{min-width:200px}.col-type[data-v-1d837aa4]{width:100px;text-align:center}.col-date[data-v-1d837aa4]{width:120px}.col-amount[data-v-1d837aa4]{width:120px;text-align:right;font-weight:var(--font-weight-semibold)}.col-image[data-v-1d837aa4]{width:80px;text-align:center}.col-actions[data-v-1d837aa4]{width:100px;text-align:center}.type-badge[data-v-1d837aa4]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:var(--font-weight-semibold)}.type-in[data-v-1d837aa4]{background:#10b98126;color:#10b981}.type-out[data-v-1d837aa4]{background:#ef444426;color:#ef4444}.empty-row td[data-v-1d837aa4]{padding:3rem!important}.empty-state[data-v-1d837aa4]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon[data-v-1d837aa4]{font-size:2.5rem;opacity:.5}.empty-state p[data-v-1d837aa4]{margin:0}.action-buttons[data-v-1d837aa4]{display:flex;gap:.5rem;justify-content:center}.btn-icon[data-v-1d837aa4]{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.btn-edit[data-v-1d837aa4]{background:#3b82f626;color:#3b82f6}.btn-edit[data-v-1d837aa4]:hover{background:#3b82f640}.btn-delete[data-v-1d837aa4]{background:#ef444426;color:#ef4444}.btn-delete[data-v-1d837aa4]:hover{background:#ef444440}.btn-view-image[data-v-1d837aa4]{background:#8b5cf626;color:#8b5cf6}.btn-view-image[data-v-1d837aa4]:hover{background:#8b5cf640}.no-image[data-v-1d837aa4]{color:var(--color-text-secondary)}.pagination[data-v-1d837aa4]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:auto}.pagination-info[data-v-1d837aa4]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-1d837aa4]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-1d837aa4]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-1d837aa4]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary)}.page-btn[data-v-1d837aa4]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-1d837aa4]{display:flex;gap:.25rem}.page-num[data-v-1d837aa4]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-1d837aa4]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-1d837aa4]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.modal-overlay[data-v-1d837aa4]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal[data-v-1d837aa4]{background:var(--color-bg-primary);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-small[data-v-1d837aa4]{max-width:400px}.modal-image[data-v-1d837aa4]{max-width:700px}.modal-header[data-v-1d837aa4]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:var(--color-primary)}.modal-header h3[data-v-1d837aa4]{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:#fff}.btn-close[data-v-1d837aa4]{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.btn-close[data-v-1d837aa4]:hover{background:#ffffff4d;color:#fff}.modal-body[data-v-1d837aa4]{padding:1.5rem}.modal-footer[data-v-1d837aa4]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--glass-border)}.form-group[data-v-1d837aa4]{margin-bottom:1.25rem}.form-group label[data-v-1d837aa4]{display:block;margin-bottom:.5rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input[data-v-1d837aa4]{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-primary);font-size:var(--font-size-base)}.form-input[data-v-1d837aa4]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input.is-invalid[data-v-1d837aa4]{border-color:#ef4444}.error-text[data-v-1d837aa4]{display:block;margin-top:.375rem;font-size:.75rem;color:#ef4444}.type-toggle[data-v-1d837aa4]{display:flex;gap:.5rem}.toggle-btn[data-v-1d837aa4]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);outline:none}.toggle-btn[data-v-1d837aa4]:hover:not(.active){background:var(--glass-bg-hover)}.toggle-btn.active.type-in[data-v-1d837aa4]{background:#10b981;color:#fff;border-color:#10b981}.toggle-btn.active.type-out[data-v-1d837aa4]{background:#ef4444;color:#fff;border-color:#ef4444}.image-upload-area[data-v-1d837aa4]{position:relative}.file-input[data-v-1d837aa4]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.upload-label[data-v-1d837aa4]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;border:2px dashed var(--color-border-light);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.upload-label[data-v-1d837aa4]:hover{border-color:var(--color-primary);background:#3b82f60d}.upload-label svg[data-v-1d837aa4]{font-size:2rem;color:var(--color-primary)}.upload-label small[data-v-1d837aa4]{font-size:.75rem;opacity:.7}.image-preview[data-v-1d837aa4]{position:relative;margin-top:1rem;display:inline-block}.image-preview img[data-v-1d837aa4]{max-width:100%;max-height:200px;border-radius:var(--radius-md);border:1px solid var(--glass-border)}.btn-remove-image[data-v-1d837aa4]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border:none;border-radius:50%;background:#ef4444;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem}.full-image[data-v-1d837aa4]{width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius-md)}.image-details[data-v-1d837aa4]{margin-top:1rem;padding:.75rem;background:var(--glass-bg);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.delete-details[data-v-1d837aa4]{margin-top:1rem;padding:.75rem;background:#ef44441a;border-radius:var(--radius-md);font-size:var(--font-size-sm)}@media(max-width:768px){.toolbar[data-v-1d837aa4]{flex-direction:column;align-items:stretch}.filters[data-v-1d837aa4]{flex-direction:column}.search-input[data-v-1d837aa4],.filter-select[data-v-1d837aa4]{width:100%}.add-btn[data-v-1d837aa4]{width:100%;justify-content:center}.data-table[data-v-1d837aa4]{font-size:var(--font-size-sm)}.col-desc[data-v-1d837aa4]{min-width:150px}.pagination[data-v-1d837aa4]{flex-direction:column;gap:1rem}.pagination-controls[data-v-1d837aa4]{width:100%;justify-content:center}}.tax-tab[data-v-4f64b67f]{display:flex;align-items:center;justify-content:center;min-height:400px}.placeholder-card[data-v-4f64b67f]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:3rem;text-align:center;box-shadow:var(--glass-shadow);max-width:400px}.placeholder-icon[data-v-4f64b67f]{font-size:4rem;color:var(--color-primary);margin-bottom:1.5rem;opacity:.7}.placeholder-card h3[data-v-4f64b67f]{margin:0 0 .75rem;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.placeholder-card p[data-v-4f64b67f]{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.admin-view[data-v-fffd2cf6]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-fffd2cf6]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-fffd2cf6]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-fffd2cf6 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-fffd2cf6]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-fffd2cf6 4s linear infinite}.dashboard-header[data-v-fffd2cf6]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-fffd2cf6 4s linear infinite}.dashboard-header h1[data-v-fffd2cf6]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-fffd2cf6]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.tabs-container[data-v-fffd2cf6]{margin-bottom:1.5rem}.tabs-nav[data-v-fffd2cf6]{display:flex;gap:.5rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.5rem;width:fit-content}.tab-btn[data-v-fffd2cf6]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.tab-btn[data-v-fffd2cf6]:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.tab-btn.active[data-v-fffd2cf6]{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #2563eb4d}.tab-btn svg[data-v-fffd2cf6]{font-size:1rem}.tab-content[data-v-fffd2cf6]{flex:1;min-height:0}.dashboard-footer[data-v-fffd2cf6]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-fffd2cf6 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-fffd2cf6]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-fffd2cf6 4s linear infinite}.copyright-text[data-v-fffd2cf6]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes borderGradient-fffd2cf6{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-fffd2cf6{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:640px){.tabs-nav[data-v-fffd2cf6]{flex-direction:column}.tab-btn[data-v-fffd2cf6]{justify-content:center}}.modal-overlay[data-v-ac36215a]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-ac36215a .3s ease}@keyframes fadeIn-ac36215a{0%{opacity:0}to{opacity:1}}.skill-modal[data-v-ac36215a]{width:90%;max-width:420px;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;animation:slideIn-ac36215a .3s ease;overflow:hidden;display:flex;flex-direction:column}@keyframes slideIn-ac36215a{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header[data-v-ac36215a]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between}.header-content h2[data-v-ac36215a]{margin:0 0 .25rem;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.header-content p[data-v-ac36215a]{margin:0;color:#fffc;font-size:var(--font-size-sm)}.close-btn[data-v-ac36215a]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.close-btn[data-v-ac36215a]:hover{background:#ffffff4d}.error-message[data-v-ac36215a]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;margin:1rem 1.5rem 0;color:#ef4444;font-size:var(--font-size-sm)}.skill-form[data-v-ac36215a]{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.form-group[data-v-ac36215a]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-ac36215a]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input[data-v-ac36215a]{padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input[data-v-ac36215a]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input[data-v-ac36215a]:disabled{opacity:.6;cursor:not-allowed}.form-textarea[data-v-ac36215a]{resize:vertical;min-height:80px;font-family:inherit}.form-actions[data-v-ac36215a]{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel[data-v-ac36215a]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-cancel[data-v-ac36215a]:hover:not(:disabled){background:var(--glass-bg-hover)}.btn-save[data-v-ac36215a]{padding:.75rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:flex;align-items:center;gap:.5rem}.btn-save[data-v-ac36215a]:hover:not(:disabled){background:var(--color-primary-dark)}.btn-save[data-v-ac36215a]:disabled,.btn-cancel[data-v-ac36215a]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-ac36215a]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-ac36215a .8s linear infinite}@keyframes spin-ac36215a{to{transform:rotate(360deg)}}.skills-tab[data-v-0587fa96]{display:flex;flex-direction:column;gap:1.5rem}.toolbar[data-v-0587fa96]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.search-box[data-v-0587fa96]{position:relative;flex:1;max-width:400px}.search-icon[data-v-0587fa96]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-0587fa96]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-0587fa96]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.add-btn[data-v-0587fa96]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-btn[data-v-0587fa96]:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.error-alert[data-v-0587fa96]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm)}.loading-state[data-v-0587fa96]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-0587fa96]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-0587fa96 .8s linear infinite}@keyframes spin-0587fa96{to{transform:rotate(360deg)}}.skills-container[data-v-0587fa96]{display:flex;flex-direction:column;gap:1rem;min-height:580px}.table-container[data-v-0587fa96]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.skills-table[data-v-0587fa96]{width:100%;border-collapse:collapse}.skills-table thead[data-v-0587fa96]{background:var(--color-primary)}.skills-table th[data-v-0587fa96]{padding:1rem;text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;border-bottom:1px solid var(--glass-border)}.skills-table td[data-v-0587fa96]{padding:1rem;font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--glass-border)}.skills-table tbody tr[data-v-0587fa96]:hover{background:var(--glass-bg-hover)}.skills-table tbody tr:last-child td[data-v-0587fa96]{border-bottom:none}.col-no[data-v-0587fa96]{width:60px;text-align:center}.col-name[data-v-0587fa96]{width:200px;text-align:left}.col-description[data-v-0587fa96]{width:auto;text-align:left;color:var(--color-text-secondary)}.col-actions[data-v-0587fa96]{width:120px;text-align:center}.empty-row td[data-v-0587fa96]{padding:3rem!important}.empty-message[data-v-0587fa96]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-0587fa96]{font-size:2rem;opacity:.5}.action-buttons[data-v-0587fa96]{display:flex;justify-content:center;gap:.5rem}.action-btn[data-v-0587fa96]{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all var(--transition-base)}.action-btn.edit[data-v-0587fa96]{background:#3b82f61a;color:#3b82f6}.action-btn.edit[data-v-0587fa96]:hover{background:#3b82f633}.action-btn.delete[data-v-0587fa96]{background:#ef44441a;color:#ef4444}.action-btn.delete[data-v-0587fa96]:hover{background:#ef444433}.pagination[data-v-0587fa96]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:auto}.pagination-info[data-v-0587fa96]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-0587fa96]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-0587fa96]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-0587fa96]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary)}.page-btn[data-v-0587fa96]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-0587fa96]{display:flex;gap:.25rem}.page-num[data-v-0587fa96]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-0587fa96]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-0587fa96]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.modal-overlay[data-v-0587fa96]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-modal[data-v-0587fa96]{background:#fff;border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.confirm-modal h3[data-v-0587fa96]{margin:0 0 1rem;color:var(--color-text-primary)}.confirm-modal p[data-v-0587fa96]{margin:0 0 .5rem;color:var(--color-text-secondary)}.confirm-modal .warning[data-v-0587fa96]{color:#ef4444;font-size:var(--font-size-sm)}.confirm-actions[data-v-0587fa96]{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cancel[data-v-0587fa96]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-cancel[data-v-0587fa96]:hover{background:var(--glass-bg-hover)}.btn-delete[data-v-0587fa96]{padding:.75rem 1.5rem;background:#ef4444;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-delete[data-v-0587fa96]:hover{background:#dc2626}@media(max-width:600px){.toolbar[data-v-0587fa96]{flex-direction:column}.search-box[data-v-0587fa96]{max-width:none;width:100%}.add-btn[data-v-0587fa96]{width:100%;justify-content:center}.pagination[data-v-0587fa96]{flex-direction:column;gap:1rem}.pagination-controls[data-v-0587fa96]{width:100%;justify-content:center}}.modal-overlay[data-v-7f29f04a]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.project-modal[data-v-7f29f04a]{width:100%;max-width:700px;max-height:90vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-7f29f04a]{padding:1.25rem 2rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between}.modal-header h2[data-v-7f29f04a]{margin:0;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.close-btn[data-v-7f29f04a]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.close-btn[data-v-7f29f04a]:hover{background:#ffffff4d}.tab-navigation[data-v-7f29f04a]{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--glass-border)}.tab-btn[data-v-7f29f04a]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.tab-btn[data-v-7f29f04a]:hover{background:var(--glass-bg)}.tab-btn.active[data-v-7f29f04a]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab-content[data-v-7f29f04a]{display:flex;flex-direction:column;gap:1.5rem}.section-description[data-v-7f29f04a]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.error-message[data-v-7f29f04a]{margin:1rem 2rem 0;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;color:#ef4444;font-size:var(--font-size-sm)}.project-form[data-v-7f29f04a]{flex:1;overflow-y:auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.form-section[data-v-7f29f04a]{display:flex;flex-direction:column;gap:1rem}.form-section h3[data-v-7f29f04a]{margin:0;font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-row[data-v-7f29f04a]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-7f29f04a]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-7f29f04a]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input[data-v-7f29f04a]{padding:.75rem 1rem;background:var(--glass-bg);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary)}.form-input[data-v-7f29f04a]:focus{outline:none;border-color:var(--color-primary)}.progress-wrapper[data-v-7f29f04a]{position:relative;width:100%;height:8px}.progress-track[data-v-7f29f04a]{position:absolute;top:0;left:0;width:100%;height:8px;background:var(--glass-border);border-radius:4px;overflow:hidden}.progress-fill[data-v-7f29f04a]{height:100%;background:var(--color-primary);border-radius:4px;transition:width .2s ease}.progress-slider[data-v-7f29f04a]{position:absolute;top:0;left:0;width:100%;height:8px;-webkit-appearance:none;background:transparent;outline:none;cursor:pointer}.progress-slider[data-v-7f29f04a]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.progress-labels[data-v-7f29f04a]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem}.progress-auto-hint[data-v-7f29f04a]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;color:#10b981}.checkbox-group[data-v-7f29f04a]{flex-direction:row;align-items:center}.checkbox-label[data-v-7f29f04a]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[data-v-7f29f04a]{width:18px;height:18px}.checkbox-label.highlighted input[data-v-7f29f04a]:checked{accent-color:#f59e0b}.checkbox-label.highlighted span[data-v-7f29f04a]{color:var(--color-text-secondary)}.checkbox-label.highlighted input:checked+span[data-v-7f29f04a]{color:#f59e0b}.checkbox-label.open-source input[data-v-7f29f04a]:checked{accent-color:#10b981}.checkbox-label.open-source span[data-v-7f29f04a]{color:var(--color-text-secondary)}.checkbox-label.open-source input:checked+span[data-v-7f29f04a]{color:#10b981}.quotation-upload[data-v-7f29f04a]{display:flex;flex-direction:column;gap:.5rem}.quotation-preview[data-v-7f29f04a]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md)}.quotation-preview.pending[data-v-7f29f04a]{background:#f59e0b1a;border-color:#f59e0b4d}.quotation-preview .file-icon[data-v-7f29f04a]{font-size:1.25rem;color:var(--color-primary)}.quotation-preview.pending .file-icon[data-v-7f29f04a]{color:#f59e0b}.quotation-preview .filename[data-v-7f29f04a]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.btn-remove-quotation[data-v-7f29f04a]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ef44441a;color:#ef4444;border:none;border-radius:var(--radius-sm);cursor:pointer}.btn-remove-quotation[data-v-7f29f04a]:hover{background:#ef444433}.upload-quotation-btn[data-v-7f29f04a]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);width:fit-content}.upload-quotation-btn[data-v-7f29f04a]:hover{background:var(--glass-bg-hover)}.upload-quotation-btn input[data-v-7f29f04a]{display:none}.upload-quotation-btn.loading[data-v-7f29f04a]{cursor:not-allowed;opacity:.7}.features-input[data-v-7f29f04a]{display:flex;gap:.5rem}.features-input .form-input[data-v-7f29f04a]{flex:1}.add-feature-btn[data-v-7f29f04a]{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.features-table[data-v-7f29f04a]{margin-top:.75rem}.features-header[data-v-7f29f04a]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#3b82f61a;border:1px solid var(--glass-border);border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:600;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase}.header-check[data-v-7f29f04a]{min-width:40px;text-align:center}.header-number[data-v-7f29f04a]{min-width:1.5rem}.header-name[data-v-7f29f04a]{flex:1}.header-action[data-v-7f29f04a]{min-width:50px;text-align:right}.features-list[data-v-7f29f04a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;max-height:280px;overflow-y:auto}.features-list li[data-v-7f29f04a]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;transition:all var(--transition-base)}.features-list li[data-v-7f29f04a]:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.features-list li.completed[data-v-7f29f04a]{background:#10b9810d;border-color:#10b98133}.features-list li.completed .feature-text[data-v-7f29f04a]{text-decoration:line-through;color:var(--color-text-secondary)}.feature-checkbox[data-v-7f29f04a]{min-width:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.feature-checkbox input[data-v-7f29f04a]{display:none}.feature-checkbox .checkmark[data-v-7f29f04a]{font-size:1.25rem;color:var(--glass-border);transition:all var(--transition-base)}.feature-checkbox input:checked+.checkmark[data-v-7f29f04a]{color:#10b981}.feature-checkbox:hover .checkmark[data-v-7f29f04a]{color:var(--color-primary)}.feature-number[data-v-7f29f04a]{font-weight:600;color:var(--color-primary);min-width:1.5rem}.feature-text[data-v-7f29f04a]{flex:1}.remove-btn[data-v-7f29f04a]{display:flex;align-items:center;justify-content:center;min-width:50px;height:24px;background:transparent;color:#ef4444;border:none;cursor:pointer}.remove-btn svg[data-v-7f29f04a]{padding:4px;background:#ef44441a;border-radius:var(--radius-sm)}.remove-btn:hover svg[data-v-7f29f04a]{background:#ef444433}.skills-scroll-container[data-v-7f29f04a]{max-height:200px;overflow-y:auto;padding-right:.5rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.75rem;background:var(--glass-bg)}.skills-scroll-container[data-v-7f29f04a]::-webkit-scrollbar{width:6px}.skills-scroll-container[data-v-7f29f04a]::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:3px}.skills-scroll-container[data-v-7f29f04a]::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.skills-selector[data-v-7f29f04a]{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem}.skill-chip[data-v-7f29f04a]{display:flex;align-items:center;justify-content:flex-start;gap:.375rem;padding:.5rem .875rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:.8rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);text-align:left}.skill-chip[data-v-7f29f04a]:hover{background:var(--glass-bg-hover)}.skill-chip.selected[data-v-7f29f04a]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.screenshots-grid[data-v-7f29f04a]{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.screenshot-item[data-v-7f29f04a]{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden}.screenshot-item img[data-v-7f29f04a]{width:100%;height:100%;object-fit:cover}.delete-screenshot[data-v-7f29f04a]{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;background:#ef4444e6;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-base)}.screenshot-item:hover .delete-screenshot[data-v-7f29f04a]{opacity:1}.upload-section[data-v-7f29f04a]{margin-top:.5rem}.upload-btn[data-v-7f29f04a]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.upload-btn[data-v-7f29f04a]:hover{background:var(--glass-bg-hover)}.upload-btn input[data-v-7f29f04a]{display:none}.upload-btn.loading[data-v-7f29f04a]{cursor:not-allowed;opacity:.7}.form-actions[data-v-7f29f04a]{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--glass-border)}.btn-cancel[data-v-7f29f04a]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium)}.btn-save[data-v-7f29f04a]{padding:.75rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:.5rem}.btn-save[data-v-7f29f04a]:hover:not(:disabled){background:var(--color-primary-dark)}.spinner[data-v-7f29f04a]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-7f29f04a .8s linear infinite}@keyframes spin-7f29f04a{to{transform:rotate(360deg)}}.payment-summary[data-v-7f29f04a]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.summary-item[data-v-7f29f04a]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.summary-label[data-v-7f29f04a]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-value[data-v-7f29f04a]{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-value.paid[data-v-7f29f04a]{color:#10b981}.summary-value.pending[data-v-7f29f04a]{color:#f59e0b}.btn-add-payment[data-v-7f29f04a]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);margin-bottom:1rem;transition:background var(--transition-base)}.btn-add-payment[data-v-7f29f04a]:hover{background:var(--color-primary-dark)}.payments-table[data-v-7f29f04a]{overflow-x:auto;max-height:280px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-md)}.payments-table table[data-v-7f29f04a]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.payments-table thead[data-v-7f29f04a]{position:sticky;top:0;z-index:1}.payments-table th[data-v-7f29f04a]{background:#3b82f61a;padding:.75rem;text-align:left;font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;white-space:nowrap}.payments-table td[data-v-7f29f04a]{padding:.75rem;border-top:1px solid var(--glass-border);white-space:nowrap}.payments-table td.amount[data-v-7f29f04a]{font-weight:var(--font-weight-medium)}.payment-type-badge[data-v-7f29f04a]{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-weight-medium);text-transform:uppercase}.payment-type-badge.progress[data-v-7f29f04a]{background:#3b82f61a;color:#3b82f6}.payment-type-badge.installment[data-v-7f29f04a]{background:#a855f71a;color:#a855f7}.status-badge[data-v-7f29f04a]{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-weight-medium);text-transform:uppercase}.status-badge.paid[data-v-7f29f04a]{background:#10b9811a;color:#10b981}.status-badge.pending[data-v-7f29f04a]{background:#f59e0b1a;color:#f59e0b}.receipt-cell[data-v-7f29f04a]{text-align:center}.receipt-actions[data-v-7f29f04a]{display:flex;gap:.25rem;justify-content:center}.btn-upload-receipt[data-v-7f29f04a],.btn-view-receipt[data-v-7f29f04a],.btn-delete-receipt[data-v-7f29f04a]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;border:none;font-size:.75rem}.btn-upload-receipt[data-v-7f29f04a]{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text-secondary)}.btn-upload-receipt input[data-v-7f29f04a]{display:none}.btn-upload-receipt.loading[data-v-7f29f04a]{cursor:not-allowed;opacity:.7}.btn-view-receipt[data-v-7f29f04a]{background:#3b82f61a;color:#3b82f6;text-decoration:none}.btn-delete-receipt[data-v-7f29f04a]{background:#ef44441a;color:#ef4444}.actions-cell[data-v-7f29f04a]{display:flex;gap:.25rem}.btn-edit[data-v-7f29f04a],.btn-delete[data-v-7f29f04a]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;border:none;font-size:.75rem}.btn-edit[data-v-7f29f04a]{background:#3b82f61a;color:#3b82f6}.btn-delete[data-v-7f29f04a]{background:#ef44441a;color:#ef4444}.no-payments[data-v-7f29f04a]{text-align:center;color:var(--color-text-secondary);padding:2rem;margin:0}.payment-modal-overlay[data-v-7f29f04a]{z-index:10000}.payment-modal[data-v-7f29f04a]{width:100%;max-width:500px;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px #0000004d}.payment-modal-header[data-v-7f29f04a]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--color-primary)}.payment-modal-header h3[data-v-7f29f04a]{margin:0;font-size:1.1rem;color:#fff;font-weight:var(--font-weight-semibold)}.payment-modal-body[data-v-7f29f04a]{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto}.payment-modal-footer[data-v-7f29f04a]{display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--glass-border)}@media(max-width:600px){.form-row[data-v-7f29f04a]{grid-template-columns:1fr}.screenshots-grid[data-v-7f29f04a]{grid-template-columns:repeat(2,1fr)}.payment-summary[data-v-7f29f04a]{grid-template-columns:1fr}.payments-table[data-v-7f29f04a]{font-size:.75rem}}.modal-overlay[data-v-8a7e7da1]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.view-modal[data-v-8a7e7da1]{width:100%;max-width:800px;max-height:85vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.close-btn[data-v-8a7e7da1]{width:36px;height:36px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);flex-shrink:0}.close-btn[data-v-8a7e7da1]:hover{background:#ffffff4d}.loading-state[data-v-8a7e7da1],.error-state[data-v-8a7e7da1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-8a7e7da1]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-8a7e7da1 .8s linear infinite}@keyframes spin-8a7e7da1{to{transform:rotate(360deg)}}.error-state[data-v-8a7e7da1]{color:#ef4444}.error-state svg[data-v-8a7e7da1]{font-size:2.5rem}.modal-header[data-v-8a7e7da1]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-content[data-v-8a7e7da1]{flex:1}.header-info[data-v-8a7e7da1]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.header-info h2[data-v-8a7e7da1]{margin:0;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.status-badge[data-v-8a7e7da1]{padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium)}.status-planning[data-v-8a7e7da1]{background:#6b72801a;color:#6b7280}.status-active[data-v-8a7e7da1]{background:#3b82f61a;color:#3b82f6}.status-completed[data-v-8a7e7da1]{background:#10b9811a;color:#10b981}.status-canceled[data-v-8a7e7da1]{background:#ef44441a;color:#ef4444}.progress-info[data-v-8a7e7da1]{display:flex;align-items:center;gap:1rem}.progress-bar[data-v-8a7e7da1]{flex:1;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.progress-fill[data-v-8a7e7da1]{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.progress-fill.completed[data-v-8a7e7da1]{background:#10b981}.progress-text[data-v-8a7e7da1]{font-weight:var(--font-weight-semibold);color:#fff;min-width:50px}.tabs-nav[data-v-8a7e7da1]{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--glass-border)}.tab-btn[data-v-8a7e7da1]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.tab-btn[data-v-8a7e7da1]:hover{background:var(--glass-bg)}.tab-btn.active[data-v-8a7e7da1]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab-content[data-v-8a7e7da1]{flex:1;overflow-y:auto;padding:2rem}.detail-grid[data-v-8a7e7da1]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-item[data-v-8a7e7da1]{display:flex;flex-direction:column;gap:.375rem}.detail-item label[data-v-8a7e7da1]{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item span[data-v-8a7e7da1]{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.features-list[data-v-8a7e7da1]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;max-height:250px;overflow-y:auto}.features-list li[data-v-8a7e7da1]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.feature-icon[data-v-8a7e7da1]{color:var(--color-text-secondary);margin-top:.125rem;flex-shrink:0}.feature-icon.completed[data-v-8a7e7da1]{color:#10b981}.completed-text[data-v-8a7e7da1]{text-decoration:line-through;color:var(--color-text-secondary)}.screenshots-grid[data-v-8a7e7da1]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-height:400px;overflow-y:auto}.screenshot-item[data-v-8a7e7da1]{aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform var(--transition-base)}.screenshot-item[data-v-8a7e7da1]:hover{transform:scale(1.02)}.screenshot-item img[data-v-8a7e7da1]{width:100%;height:100%;object-fit:cover}.skills-list[data-v-8a7e7da1]{display:flex;flex-wrap:wrap;gap:.75rem;max-height:180px;overflow-y:auto}.skill-tag[data-v-8a7e7da1]{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.empty-tab[data-v-8a7e7da1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary)}.empty-tab svg[data-v-8a7e7da1]{font-size:3rem;opacity:.5;margin-bottom:1rem}.empty-tab p[data-v-8a7e7da1]{margin:0}.lightbox-overlay[data-v-8a7e7da1]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.lightbox-close[data-v-8a7e7da1]{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;background:#ffffff1a;border:none;border-radius:var(--radius-md);color:#fff;font-size:1.5rem;cursor:pointer}.lightbox-image[data-v-8a7e7da1]{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}@media(max-width:768px){.detail-grid[data-v-8a7e7da1]{grid-template-columns:1fr}.screenshots-grid[data-v-8a7e7da1]{grid-template-columns:repeat(2,1fr)}.tabs-nav[data-v-8a7e7da1]{padding:0 1rem;overflow-x:auto}.tab-btn[data-v-8a7e7da1]{padding:.75rem 1rem;white-space:nowrap}}.project-link[data-v-8a7e7da1]{color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;word-break:break-all}.project-link[data-v-8a7e7da1]:hover{text-decoration:underline}.link-inactive[data-v-8a7e7da1]{color:var(--color-text-secondary);font-style:italic}.projects-tab[data-v-ee639223]{display:flex;flex-direction:column;gap:1rem}.toolbar[data-v-ee639223]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.search-box[data-v-ee639223]{position:relative;min-width:200px;flex:1}.search-icon[data-v-ee639223]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-ee639223]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-ee639223]:focus{outline:none;border-color:var(--color-primary)}.add-btn[data-v-ee639223]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-btn[data-v-ee639223]:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.filter-select[data-v-ee639223],.filter-date[data-v-ee639223]{padding:.5rem .75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);min-width:120px}.filter-btn[data-v-ee639223],.clear-btn[data-v-ee639223]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.filter-btn[data-v-ee639223]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.clear-btn[data-v-ee639223]{background:var(--glass-bg);color:var(--color-text-secondary)}.filter-btn[data-v-ee639223]:hover{background:var(--color-primary-dark)}.clear-btn[data-v-ee639223]:hover{background:var(--glass-bg-hover)}.error-alert[data-v-ee639223]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm)}.loading-state[data-v-ee639223]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-ee639223]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-ee639223 .8s linear infinite}@keyframes spin-ee639223{to{transform:rotate(360deg)}}.table-container[data-v-ee639223]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.projects-table[data-v-ee639223]{width:100%;border-collapse:collapse}.projects-table th[data-v-ee639223],.projects-table td[data-v-ee639223]{padding:1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.projects-table th[data-v-ee639223]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.projects-table tbody tr[data-v-ee639223]:hover{background:var(--glass-bg-hover)}.projects-table tbody tr:last-child td[data-v-ee639223]{border-bottom:none}.col-no[data-v-ee639223]{width:60px;text-align:center}.col-name[data-v-ee639223]{min-width:200px}.col-progress[data-v-ee639223]{width:160px}.col-date[data-v-ee639223],.col-status[data-v-ee639223]{width:130px}.col-highlight[data-v-ee639223]{width:50px;text-align:center}.col-actions[data-v-ee639223]{width:120px;text-align:center}.highlight-btn[data-v-ee639223]{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--transition-base);background:transparent;color:var(--color-text-secondary)}.highlight-btn[data-v-ee639223]:hover{background:#f59e0b1a;color:#f59e0b}.highlight-btn.active[data-v-ee639223]{color:#f59e0b}.highlight-btn.active[data-v-ee639223]:hover{background:#f59e0b33}.progress-wrapper[data-v-ee639223]{display:flex;align-items:center;gap:.75rem}.progress-bar[data-v-ee639223]{flex:1;height:8px;background:var(--glass-border);border-radius:4px;overflow:hidden}.progress-fill[data-v-ee639223]{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s ease}.progress-fill.completed[data-v-ee639223]{background:#10b981}.progress-text[data-v-ee639223]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:40px}.status-badge[data-v-ee639223]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium)}.status-planning[data-v-ee639223]{background:#6b72801a;color:#6b7280}.status-active[data-v-ee639223]{background:#3b82f61a;color:#3b82f6}.status-completed[data-v-ee639223]{background:#10b9811a;color:#10b981}.status-canceled[data-v-ee639223]{background:#ef44441a;color:#ef4444}.action-buttons[data-v-ee639223]{display:flex;gap:.5rem;justify-content:center}.action-btn[data-v-ee639223]{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-base)}.action-btn.view[data-v-ee639223]{background:#6b72801a;color:#6b7280}.action-btn.view[data-v-ee639223]:hover{background:#6b728033}.action-btn.edit[data-v-ee639223]{background:#3b82f61a;color:#3b82f6}.action-btn.edit[data-v-ee639223]:hover{background:#3b82f633}.action-btn.delete[data-v-ee639223]{background:#ef44441a;color:#ef4444}.action-btn.delete[data-v-ee639223]:hover{background:#ef444433}.projects-container[data-v-ee639223]{display:flex;flex-direction:column;gap:1rem;min-height:580px}.pagination[data-v-ee639223]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:auto}.pagination-info[data-v-ee639223]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-ee639223]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-ee639223]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-ee639223]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary)}.page-btn[data-v-ee639223]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-ee639223]{display:flex;gap:.25rem}.page-num[data-v-ee639223]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-ee639223]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-ee639223]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.empty-row[data-v-ee639223]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-ee639223]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-ee639223]{font-size:2.5rem;opacity:.5}.modal-overlay[data-v-ee639223]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-modal[data-v-ee639223]{background:#fff;border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.confirm-modal h3[data-v-ee639223]{margin:0 0 1rem;color:var(--color-text-primary)}.confirm-modal p[data-v-ee639223]{margin:0 0 .5rem;color:var(--color-text-secondary)}.confirm-modal .warning[data-v-ee639223]{color:#ef4444;font-size:var(--font-size-sm)}.confirm-actions[data-v-ee639223]{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cancel[data-v-ee639223]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-ee639223]{padding:.75rem 1.5rem;background:#ef4444;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-ee639223]:hover{background:#dc2626}@media(max-width:1200px){.toolbar[data-v-ee639223]{gap:.5rem}.filter-select[data-v-ee639223],.filter-date[data-v-ee639223]{min-width:100px}}@media(max-width:900px){.table-container[data-v-ee639223]{overflow-x:auto}.projects-table[data-v-ee639223]{min-width:700px}}@media(max-width:600px){.toolbar[data-v-ee639223]{flex-direction:column;align-items:stretch}.search-box[data-v-ee639223],.filter-select[data-v-ee639223],.filter-date[data-v-ee639223]{width:100%}.add-btn[data-v-ee639223]{width:100%;justify-content:center}.pagination[data-v-ee639223]{flex-direction:column;gap:1rem}.pagination-controls[data-v-ee639223]{width:100%;justify-content:center}}.admin-view[data-v-d985786f]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-d985786f]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-d985786f]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-d985786f 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-d985786f]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-d985786f 4s linear infinite}.dashboard-header[data-v-d985786f]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-d985786f 4s linear infinite}.dashboard-header h1[data-v-d985786f]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-d985786f]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.tabs-container[data-v-d985786f]{margin-bottom:1.5rem}.tabs-nav[data-v-d985786f]{display:flex;gap:.5rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.5rem;width:fit-content}.tab-btn[data-v-d985786f]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.tab-btn[data-v-d985786f]:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.tab-btn.active[data-v-d985786f]{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #2563eb4d}.tab-content[data-v-d985786f]{flex:1;min-height:0}.dashboard-footer[data-v-d985786f]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-d985786f 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-d985786f]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-d985786f 4s linear infinite}.copyright-text[data-v-d985786f]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes borderGradient-d985786f{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-d985786f{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.modal-overlay[data-v-6a9f58b3]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-6a9f58b3 .3s ease}@keyframes fadeIn-6a9f58b3{0%{opacity:0}to{opacity:1}}.certificate-modal[data-v-6a9f58b3]{width:90%;max-width:520px;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;animation:slideIn-6a9f58b3 .3s ease;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}@keyframes slideIn-6a9f58b3{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header[data-v-6a9f58b3]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between}.header-content h2[data-v-6a9f58b3]{margin:0 0 .25rem;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.header-content p[data-v-6a9f58b3]{margin:0;color:#fffc;font-size:var(--font-size-sm)}.close-btn[data-v-6a9f58b3]{width:32px;height:32px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.close-btn[data-v-6a9f58b3]:hover{background:#ffffff4d}.error-message[data-v-6a9f58b3]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;margin:1rem 1.5rem 0;color:#ef4444;font-size:var(--font-size-sm)}.certificate-form[data-v-6a9f58b3]{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;overflow-y:auto}.form-section[data-v-6a9f58b3]{display:flex;flex-direction:column;gap:1rem}.section-title[data-v-6a9f58b3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--glass-border)}.form-group[data-v-6a9f58b3]{display:flex;flex-direction:column;gap:.5rem}.form-row[data-v-6a9f58b3]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label[data-v-6a9f58b3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input[data-v-6a9f58b3]{padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input[data-v-6a9f58b3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input[data-v-6a9f58b3]:disabled{opacity:.6;cursor:not-allowed}.helper-text[data-v-6a9f58b3]{font-size:.75rem;color:var(--color-text-secondary)}.status-preview-section[data-v-6a9f58b3]{display:flex;flex-direction:column;gap:.5rem}.status-preview-section label[data-v-6a9f58b3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.status-preview[data-v-6a9f58b3]{display:flex;align-items:center;gap:1rem}.status-badge[data-v-6a9f58b3]{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;min-width:90px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-active[data-v-6a9f58b3]{color:#10b981;border-color:#10b9814d}.status-renewal[data-v-6a9f58b3]{color:#f59e0b;border-color:#f59e0b4d}.status-expired[data-v-6a9f58b3]{color:#ef4444;border-color:#ef44444d}.status-hint[data-v-6a9f58b3]{font-size:.75rem;color:var(--color-text-secondary)}.form-actions[data-v-6a9f58b3]{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.btn-cancel[data-v-6a9f58b3]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-cancel[data-v-6a9f58b3]:hover:not(:disabled){background:var(--glass-bg-hover)}.btn-save[data-v-6a9f58b3]{padding:.75rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:flex;align-items:center;gap:.5rem}.btn-save[data-v-6a9f58b3]:hover:not(:disabled){background:var(--color-primary-dark)}.btn-save[data-v-6a9f58b3]:disabled,.btn-cancel[data-v-6a9f58b3]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-6a9f58b3]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6a9f58b3 .8s linear infinite}@keyframes spin-6a9f58b3{to{transform:rotate(360deg)}}.admin-view[data-v-c7778ba2]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-c7778ba2]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-c7778ba2]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-c7778ba2 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-c7778ba2]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-c7778ba2 4s linear infinite}.dashboard-header[data-v-c7778ba2]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-c7778ba2 4s linear infinite}.dashboard-header h1[data-v-c7778ba2]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-c7778ba2]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.content-area[data-v-c7778ba2]{flex:1;display:flex;flex-direction:column;gap:1rem}.toolbar[data-v-c7778ba2]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.search-box[data-v-c7778ba2]{position:relative;min-width:200px;flex:1;max-width:400px}.search-icon[data-v-c7778ba2]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-c7778ba2]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-c7778ba2]:focus{outline:none;border-color:var(--color-primary)}.filter-btn[data-v-c7778ba2],.clear-btn[data-v-c7778ba2]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.filter-btn[data-v-c7778ba2]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.clear-btn[data-v-c7778ba2]{background:var(--glass-bg);color:var(--color-text-secondary)}.filter-btn[data-v-c7778ba2]:hover{background:var(--color-primary-dark)}.clear-btn[data-v-c7778ba2]:hover{background:var(--glass-bg-hover)}.add-btn[data-v-c7778ba2]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);margin-left:auto}.add-btn[data-v-c7778ba2]:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.error-alert[data-v-c7778ba2]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm)}.loading-state[data-v-c7778ba2]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-c7778ba2]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-c7778ba2 .8s linear infinite}@keyframes spin-c7778ba2{to{transform:rotate(360deg)}}.certificates-container[data-v-c7778ba2]{display:flex;flex-direction:column;gap:1rem;min-height:500px}.table-container[data-v-c7778ba2]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.certificates-table[data-v-c7778ba2]{width:100%;border-collapse:collapse}.certificates-table th[data-v-c7778ba2],.certificates-table td[data-v-c7778ba2]{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.certificates-table th[data-v-c7778ba2]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.certificates-table tbody tr[data-v-c7778ba2]:hover{background:var(--glass-bg-hover)}.certificates-table tbody tr:last-child td[data-v-c7778ba2]{border-bottom:none}.col-no[data-v-c7778ba2]{width:60px;text-align:center}.col-name[data-v-c7778ba2]{min-width:200px}.col-issuer[data-v-c7778ba2]{width:150px}.col-issue[data-v-c7778ba2],.col-expiry[data-v-c7778ba2]{width:100px}.col-status[data-v-c7778ba2],.col-actions[data-v-c7778ba2]{width:100px;text-align:center}.status-badge[data-v-c7778ba2]{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;min-width:80px;border-radius:var(--radius-md);font-size:.75rem;font-weight:var(--font-weight-medium);background:var(--glass-bg);border:1px solid var(--glass-border)}.status-active[data-v-c7778ba2]{color:#10b981;border-color:#10b9814d}.status-renewal[data-v-c7778ba2]{color:#f59e0b;border-color:#f59e0b4d}.status-expired[data-v-c7778ba2]{color:#ef4444;border-color:#ef44444d}.action-buttons[data-v-c7778ba2]{display:flex;gap:.5rem;justify-content:center}.action-btn[data-v-c7778ba2]{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-base)}.action-btn.edit[data-v-c7778ba2]{background:#3b82f61a;color:#3b82f6}.action-btn.edit[data-v-c7778ba2]:hover{background:#3b82f633}.action-btn.delete[data-v-c7778ba2]{background:#ef44441a;color:#ef4444}.action-btn.delete[data-v-c7778ba2]:hover{background:#ef444433}.pagination[data-v-c7778ba2]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:auto}.pagination-info[data-v-c7778ba2]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-c7778ba2]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-c7778ba2]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-c7778ba2]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary)}.page-btn[data-v-c7778ba2]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-c7778ba2]{display:flex;gap:.25rem}.page-num[data-v-c7778ba2]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-c7778ba2]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-c7778ba2]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.page-ellipsis[data-v-c7778ba2]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-row[data-v-c7778ba2]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-c7778ba2]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-c7778ba2]{font-size:2.5rem;opacity:.5}.modal-overlay[data-v-c7778ba2]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-modal[data-v-c7778ba2]{background:#fff;border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.confirm-modal h3[data-v-c7778ba2]{margin:0 0 1rem;color:var(--color-text-primary)}.confirm-modal p[data-v-c7778ba2]{margin:0 0 .5rem;color:var(--color-text-secondary)}.confirm-modal .warning[data-v-c7778ba2]{color:#ef4444;font-size:var(--font-size-sm)}.confirm-actions[data-v-c7778ba2]{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cancel[data-v-c7778ba2]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-c7778ba2]{padding:.75rem 1.5rem;background:#ef4444;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-c7778ba2]:hover{background:#dc2626}.dashboard-footer[data-v-c7778ba2]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-c7778ba2 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-c7778ba2]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-c7778ba2 4s linear infinite}.copyright-text[data-v-c7778ba2]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}@keyframes borderGradient-c7778ba2{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-c7778ba2{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:900px){.table-container[data-v-c7778ba2]{overflow-x:auto}.certificates-table[data-v-c7778ba2]{min-width:700px}}@media(max-width:600px){.toolbar[data-v-c7778ba2]{flex-direction:column;align-items:stretch}.search-box[data-v-c7778ba2]{width:100%;max-width:none}.add-btn[data-v-c7778ba2]{width:100%;justify-content:center;margin-left:0}.pagination[data-v-c7778ba2]{flex-direction:column;gap:1rem}.pagination-controls[data-v-c7778ba2]{width:100%;justify-content:center}}.modal-overlay[data-v-b9329950]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.view-modal[data-v-b9329950]{width:100%;max-width:600px;max-height:85vh;background:#fff;border-radius:var(--radius-lg);position:relative;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-b9329950]{padding:1.25rem 1.5rem;background:var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-content[data-v-b9329950]{display:flex;align-items:center;gap:1rem}.header-content h2[data-v-b9329950]{margin:0;font-size:1.25rem;color:#fff;font-weight:var(--font-weight-semibold)}.status-badge[data-v-b9329950]{padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium)}.status-unread[data-v-b9329950]{background:#ef444433;color:#fecaca}.status-read[data-v-b9329950]{background:#fff3;color:#ffffffe6}.close-btn[data-v-b9329950]{width:36px;height:36px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);flex-shrink:0}.close-btn[data-v-b9329950]:hover{background:#ffffff4d}.modal-body[data-v-b9329950]{flex:1;overflow-y:auto;padding:1.5rem}.info-section[data-v-b9329950]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--glass-border)}.info-row[data-v-b9329950]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.info-row.full-width[data-v-b9329950]{grid-template-columns:1fr}.info-item[data-v-b9329950]{display:flex;flex-direction:column;gap:.375rem}.info-item label[data-v-b9329950]{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.field-value[data-v-b9329950]{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium);background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.75rem}.email-link[data-v-b9329950]{color:var(--color-primary);text-decoration:none}.email-link[data-v-b9329950]:hover{text-decoration:underline}.subject-text[data-v-b9329950]{font-weight:var(--font-weight-semibold)!important}.message-section[data-v-b9329950]{display:flex;flex-direction:column;gap:.75rem}.message-section label[data-v-b9329950]{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.message-content[data-v-b9329950]{background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1.25rem;font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;min-height:120px}.modal-footer[data-v-b9329950]{padding:1rem 1.5rem;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end}.btn-close[data-v-b9329950]{padding:.75rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);transition:background var(--transition-base)}.btn-close[data-v-b9329950]:hover{background:var(--color-primary-dark)}@media(max-width:600px){.info-row[data-v-b9329950]{grid-template-columns:1fr;gap:1rem}.header-content[data-v-b9329950]{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-view[data-v-7d206418]{padding:0;height:100%;display:flex;flex-direction:column}.dashboard-container[data-v-7d206418]{width:100%;flex:1;display:flex;flex-direction:column;padding:.75rem 5% 1.5rem;overflow-y:auto}.dashboard-header[data-v-7d206418]{padding:1rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-7d206418 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.dashboard-header[data-v-7d206418]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-7d206418 4s linear infinite}.dashboard-header[data-v-7d206418]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-7d206418 4s linear infinite}.dashboard-header h1[data-v-7d206418]{font-size:1.5rem;color:#fff;margin:0 0 .15rem;font-weight:var(--font-weight-bold);text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.dashboard-header p[data-v-7d206418]{color:#ffffffe6;margin:0;font-size:.8rem;text-shadow:0 0 8px rgba(6,182,212,.4),0 0 15px rgba(6,182,212,.2)}.content-area[data-v-7d206418]{flex:1;display:flex;flex-direction:column}.messages-tab[data-v-7d206418]{display:flex;flex-direction:column;gap:1rem;flex:1}.toolbar[data-v-7d206418]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.search-box[data-v-7d206418]{position:relative;min-width:250px;flex:1}.search-icon[data-v-7d206418]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.search-input[data-v-7d206418]{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-base)}.search-input[data-v-7d206418]:focus{outline:none;border-color:var(--color-primary)}.filter-select[data-v-7d206418]{padding:.5rem .75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);min-width:120px}.filter-btn[data-v-7d206418],.clear-btn[data-v-7d206418]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.filter-btn[data-v-7d206418]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.clear-btn[data-v-7d206418]{background:var(--glass-bg);color:var(--color-text-secondary)}.filter-btn[data-v-7d206418]:hover{background:var(--color-primary-dark)}.clear-btn[data-v-7d206418]:hover{background:var(--glass-bg-hover)}.error-alert[data-v-7d206418]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:1rem;color:#ef4444;font-size:var(--font-size-sm)}.loading-state[data-v-7d206418]{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-7d206418]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-7d206418 .8s linear infinite}@keyframes spin-7d206418{to{transform:rotate(360deg)}}.table-container[data-v-7d206418]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.messages-table[data-v-7d206418]{width:100%;border-collapse:collapse}.messages-table th[data-v-7d206418],.messages-table td[data-v-7d206418]{padding:1rem;text-align:left;border-bottom:1px solid var(--glass-border)}.messages-table th[data-v-7d206418]{background:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#fff}.messages-table tbody tr[data-v-7d206418]:hover{background:var(--glass-bg-hover)}.messages-table tbody tr:last-child td[data-v-7d206418]{border-bottom:none}.col-no[data-v-7d206418]{width:60px;text-align:center}.col-name[data-v-7d206418]{width:150px}.col-email[data-v-7d206418]{width:200px}.col-subject[data-v-7d206418]{min-width:150px}.col-date[data-v-7d206418],.col-status[data-v-7d206418]{width:100px}.col-actions[data-v-7d206418]{width:100px;text-align:center}.status-badge[data-v-7d206418]{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium)}.status-unread[data-v-7d206418]{background:#ef44441a;color:#ef4444}.status-read[data-v-7d206418]{background:#6b72801a;color:#6b7280}.action-buttons[data-v-7d206418]{display:flex;gap:.5rem;justify-content:center}.action-btn[data-v-7d206418]{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-base)}.action-btn.view[data-v-7d206418]{background:#3b82f61a;color:#3b82f6}.action-btn.view[data-v-7d206418]:hover{background:#3b82f633}.action-btn.delete[data-v-7d206418]{background:#ef44441a;color:#ef4444}.action-btn.delete[data-v-7d206418]:hover{background:#ef444433}.messages-container[data-v-7d206418]{display:flex;flex-direction:column;gap:1rem;min-height:580px}.pagination[data-v-7d206418]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-top:auto}.pagination-info[data-v-7d206418]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-controls[data-v-7d206418]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-7d206418]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-btn[data-v-7d206418]:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--color-primary)}.page-btn[data-v-7d206418]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-7d206418]{display:flex;gap:.25rem}.page-num[data-v-7d206418]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.page-num[data-v-7d206418]:hover{background:var(--glass-bg-hover)}.page-num.active[data-v-7d206418]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.page-ellipsis[data-v-7d206418]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-row[data-v-7d206418]{text-align:center;padding:3rem 1rem!important}.empty-message[data-v-7d206418]{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary)}.empty-icon-small[data-v-7d206418]{font-size:2.5rem;opacity:.5}.dashboard-footer[data-v-7d206418]{margin-top:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-7d206418 7s linear infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-footer[data-v-7d206418]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#38bdf8,#0ea5e9,#38bdf8,#60a5fa,#3b82f6,#2563eb);background-size:200% 100%;animation:borderGradient-7d206418 4s linear infinite}.copyright-text[data-v-7d206418]{margin:0;color:var(--color-text-white);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-align:center;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.modal-overlay[data-v-7d206418]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-modal[data-v-7d206418]{background:#fff;border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.confirm-modal h3[data-v-7d206418]{margin:0 0 1rem;color:var(--color-text-primary)}.confirm-modal p[data-v-7d206418]{margin:0 0 .5rem;color:var(--color-text-secondary)}.confirm-modal .warning[data-v-7d206418]{color:#ef4444;font-size:var(--font-size-sm)}.confirm-actions[data-v-7d206418]{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cancel[data-v-7d206418]{padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-7d206418]{padding:.75rem 1.5rem;background:#ef4444;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-medium)}.btn-delete[data-v-7d206418]:hover{background:#dc2626}@keyframes borderGradient-7d206418{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes flowingCyber-7d206418{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:1200px){.toolbar[data-v-7d206418]{gap:.5rem}.filter-select[data-v-7d206418]{min-width:100px}}@media(max-width:900px){.table-container[data-v-7d206418]{overflow-x:auto}.messages-table[data-v-7d206418]{min-width:700px}}@media(max-width:600px){.toolbar[data-v-7d206418]{flex-direction:column;align-items:stretch}.search-box[data-v-7d206418],.filter-select[data-v-7d206418]{width:100%}.pagination[data-v-7d206418]{flex-direction:column;gap:1rem}.pagination-controls[data-v-7d206418]{width:100%;justify-content:center}}.mobile-header[data-v-ea7fb0ce]{display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 200%;animation:flowingCyber-ea7fb0ce 7s linear infinite;position:sticky;top:0;z-index:100;border-radius:12px;margin:.5rem}.mobile-header.has-subtitle[data-v-ea7fb0ce]{padding:1.25rem 1rem}@keyframes flowingCyber-ea7fb0ce{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.back-btn[data-v-ea7fb0ce]{position:absolute;left:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:background .2s}.back-btn[data-v-ea7fb0ce]:hover{background:#fff3}.back-btn svg[data-v-ea7fb0ce]{width:20px;height:20px}.header-content[data-v-ea7fb0ce]{text-align:center}.header-title[data-v-ea7fb0ce]{font-size:1.25rem;font-weight:700;color:#fff;margin:0;text-shadow:0 0 10px rgba(6,182,212,.5),0 0 20px rgba(6,182,212,.3)}.header-subtitle[data-v-ea7fb0ce]{font-size:.85rem;color:#ffffffe6;margin:.25rem 0 0;text-shadow:0 0 8px rgba(6,182,212,.4)}.header-spacer[data-v-ea7fb0ce]{position:absolute;right:1rem;width:36px}.bottom-sheet-overlay[data-v-02d3e936]{position:fixed;inset:0;background:#00000080;z-index:9999;display:flex;align-items:flex-end}.bottom-sheet[data-v-02d3e936]{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;transition:height .3s cubic-bezier(.25,.46,.45,.94);max-height:95vh;overflow:hidden}.bottom-sheet.dragging[data-v-02d3e936]{transition:none}.drag-handle-container[data-v-02d3e936]{padding:12px 0 8px;display:flex;justify-content:center;cursor:grab}.drag-handle[data-v-02d3e936]{width:40px;height:5px;background:#d1d5db;border-radius:3px}.drag-handle-container:active .drag-handle[data-v-02d3e936]{background:#9ca3af}.sheet-header[data-v-02d3e936]{padding:0 1.25rem .75rem;border-bottom:1px solid rgba(37,99,235,.1)}.sheet-title[data-v-02d3e936]{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.sheet-content[data-v-02d3e936]{flex:1;padding:1rem 1.25rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-footer[data-v-02d3e936]{padding:1rem 1.25rem;border-top:1px solid rgba(37,99,235,.1)}.close-btn[data-v-02d3e936]{width:100%;padding:.875rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.close-btn[data-v-02d3e936]:active{opacity:.8}.sheet-enter-active[data-v-02d3e936],.sheet-leave-active[data-v-02d3e936]{transition:opacity .3s ease}.sheet-enter-active .bottom-sheet[data-v-02d3e936],.sheet-leave-active .bottom-sheet[data-v-02d3e936]{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.sheet-enter-from[data-v-02d3e936],.sheet-leave-to[data-v-02d3e936]{opacity:0}.sheet-enter-from .bottom-sheet[data-v-02d3e936],.sheet-leave-to .bottom-sheet[data-v-02d3e936]{transform:translateY(100%)}.mobile-home[data-v-df39e387]{min-height:100vh}.content[data-v-df39e387]{padding:1rem}.loading-state[data-v-df39e387]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-secondary)}.spinner[data-v-df39e387]{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-df39e387 .8s linear infinite}.section-title[data-v-df39e387]{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:.75rem}.stats-section[data-v-df39e387]{margin-bottom:1.25rem}.stats-scroll[data-v-df39e387]{display:flex;gap:.5rem}.stat-card[data-v-df39e387]{flex:1;padding:.75rem .5rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-top:3px solid;border-radius:12px;text-align:center;box-shadow:0 2px 8px #2563eb14}.stat-icon[data-v-df39e387]{font-size:1.25rem;margin-bottom:.25rem}.stat-value[data-v-df39e387]{font-size:1.5rem;font-weight:700;color:#1e293b}.stat-title[data-v-df39e387]{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.certs-section[data-v-df39e387]{margin-bottom:1.25rem}.certs-list[data-v-df39e387]{display:flex;flex-direction:column;gap:.5rem}.cert-card[data-v-df39e387]{padding:.75rem 1rem;background:#ffffffd9;border:1px solid rgba(236,72,153,.2);border-left:3px solid #ec4899;border-radius:12px;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 8px #ec489914}.cert-icon[data-v-df39e387]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ec48991a;border-radius:10px;font-size:1.25rem;color:#ec4899;flex-shrink:0}.cert-content[data-v-df39e387]{flex:1;min-width:0}.cert-name[data-v-df39e387]{font-size:.9rem;font-weight:600;color:#1e293b;line-height:1.3;margin-bottom:.25rem}.cert-details[data-v-df39e387]{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.cert-issuer[data-v-df39e387]{font-weight:500}.cert-date[data-v-df39e387]:before{content:"•";margin-right:.5rem}.projects-section[data-v-df39e387]{margin-bottom:1.25rem}.projects-header[data-v-df39e387]{margin-bottom:.75rem}.project-tabs[data-v-df39e387]{display:flex;justify-content:center;gap:.5rem}.tab-btn[data-v-df39e387]{padding:.5rem 1rem;background:#ffffffd9;border:1px solid rgba(37,99,235,.15);border-radius:8px;color:#64748b;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn[data-v-df39e387]:hover{background:#fff;border-color:#2563eb4d}.tab-btn.active[data-v-df39e387]{background:#3b82f6;border-color:#3b82f6;color:#fff}.project-list[data-v-df39e387]{display:flex;flex-direction:column;gap:.5rem}.project-card[data-v-df39e387]{padding:.75rem 1rem;background:#ffffffd9;border:1px solid rgba(37,99,235,.15);border-radius:12px;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 8px #2563eb14}.project-icon[data-v-df39e387]{font-size:1.25rem;flex-shrink:0}.project-info[data-v-df39e387]{flex:1}.project-name[data-v-df39e387]{font-size:.9rem;font-weight:600;color:#1e293b}.project-progress[data-v-df39e387]{font-size:.75rem;color:#64748b}.view-btn[data-v-df39e387]{width:32px;height:32px;border:none;border-radius:8px;background:#3b82f61a;color:#3b82f6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.view-btn[data-v-df39e387]:active{background:#3b82f633}.empty-state[data-v-df39e387]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#ffffffd9;border:1px solid rgba(37,99,235,.15);border-radius:12px;color:#64748b}.empty-icon[data-v-df39e387]{font-size:1.5rem;opacity:.5;margin-bottom:.5rem}.empty-state p[data-v-df39e387]{margin:0;font-size:.85rem}.charts-section[data-v-df39e387]{margin-bottom:1.25rem}.chart-header[data-v-df39e387]{margin-bottom:.75rem}.chart-tabs[data-v-df39e387]{display:flex;justify-content:center;gap:.5rem}.chart-container[data-v-df39e387]{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:12px;padding:.5rem;box-shadow:0 2px 8px #2563eb14}.chart-container[data-v-df39e387] .apexcharts-xaxis-label{fill:#000!important;font-weight:600!important}.sheet-loading[data-v-df39e387]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#64748b}.sheet-loading .spinner[data-v-df39e387]{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-df39e387 .8s linear infinite;margin-bottom:1rem}@keyframes spin-df39e387{to{transform:rotate(360deg)}}.sheet-section[data-v-df39e387]{margin-bottom:1.25rem}.section-title[data-v-df39e387]{font-size:.9rem;font-weight:600;color:#1e293b;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(37,99,235,.1)}.sheet-row[data-v-df39e387]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.1)}.sheet-label[data-v-df39e387]{font-size:.85rem;color:#64748b}.sheet-value[data-v-df39e387]{font-size:.85rem;font-weight:500;color:#1e293b}.sheet-value.highlight[data-v-df39e387]{color:#3b82f6;font-weight:600}.feature-list[data-v-df39e387]{list-style:none;padding:0;margin:0}.feature-item[data-v-df39e387]{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem 0;font-size:.85rem;color:#334155}.feature-bullet[data-v-df39e387]{color:#3b82f6;margin-top:.15rem;flex-shrink:0}.gallery-grid[data-v-df39e387]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.gallery-item[data-v-df39e387]{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer}.gallery-item img[data-v-df39e387]{width:100%;height:100%;object-fit:cover}.gallery-overlay[data-v-df39e387]{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.gallery-item:active .gallery-overlay[data-v-df39e387]{opacity:1}.skills-tags[data-v-df39e387]{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag[data-v-df39e387]{padding:.35rem .75rem;background:#3b82f61a;color:#3b82f6;border-radius:20px;font-size:.75rem;font-weight:500}.lightbox[data-v-df39e387]{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.lightbox-close[data-v-df39e387]{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:1.25rem;cursor:pointer;z-index:10001}.lightbox-nav[data-v-df39e387]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:1rem;cursor:pointer}.lightbox-nav.prev[data-v-df39e387]{left:1rem}.lightbox-nav.next[data-v-df39e387]{right:1rem}.lightbox-content[data-v-df39e387]{max-width:90vw;max-height:80vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img[data-v-df39e387]{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.lightbox-counter[data-v-df39e387]{margin-top:1rem;color:#ffffffb3;font-size:.9rem}.mobile-projects[data-v-d82f7e3e]{min-height:100vh}.content[data-v-d82f7e3e]{padding:1rem}.loading-state[data-v-d82f7e3e]{display:flex;justify-content:center;padding:3rem}.spinner[data-v-d82f7e3e]{width:40px;height:40px;border:3px solid rgba(37,99,235,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-d82f7e3e .8s linear infinite}@keyframes spin-d82f7e3e{to{transform:rotate(360deg)}}.pills-container[data-v-d82f7e3e]{display:flex;flex-direction:column;gap:.75rem}.status-pill[data-v-d82f7e3e]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:12px;text-decoration:none;color:#1e293b;transition:all .2s ease;box-shadow:0 2px 8px #2563eb14}.status-pill[data-v-d82f7e3e]:active{transform:scale(.98)}.status-pill.upcoming[data-v-d82f7e3e]{border-left:3px solid #f59e0b}.status-pill.progress[data-v-d82f7e3e]{border-left:3px solid #10b981}.status-pill.completed[data-v-d82f7e3e]{border-left:3px solid #3b82f6}.pill-icon[data-v-d82f7e3e]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border-radius:10px}.status-pill.upcoming .pill-icon[data-v-d82f7e3e]{background:#f59e0b1f;color:#f59e0b}.status-pill.progress .pill-icon[data-v-d82f7e3e]{background:#10b9811f;color:#10b981}.status-pill.completed .pill-icon[data-v-d82f7e3e]{background:#3b82f61f;color:#3b82f6}.pill-content[data-v-d82f7e3e]{flex:1;display:flex;flex-direction:column;gap:.1rem}.pill-text[data-v-d82f7e3e]{font-size:1rem;font-weight:600;color:#1e293b}.pill-subtitle[data-v-d82f7e3e]{font-size:.8rem;color:#64748b}.pill-count[data-v-d82f7e3e]{font-size:1.5rem;font-weight:700;min-width:36px;text-align:center;color:#1e293b}.pill-arrow[data-v-d82f7e3e]{color:#94a3b8;font-size:.85rem}.modal-overlay[data-v-ddf0c455]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-container[data-v-ddf0c455]{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:20px;padding:2rem 1.5rem;width:100%;max-width:320px;box-shadow:0 8px 32px #2563eb26;text-align:center}.modal-icon[data-v-ddf0c455]{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af);border-radius:50%;margin:0 auto 1rem;font-size:1.5rem;color:#fff}.modal-title[data-v-ddf0c455]{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1e293b}.input-group[data-v-ddf0c455]{margin-bottom:.75rem}.input-wrapper[data-v-ddf0c455]{position:relative;display:flex;align-items:center}.password-input[data-v-ddf0c455]{width:100%;padding:.875rem 3rem .875rem 1rem;font-size:1rem;border:1px solid rgba(37,99,235,.2);border-radius:12px;background:#fffc;color:#1e293b;outline:none;transition:border-color .2s,box-shadow .2s}.password-input[data-v-ddf0c455]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.password-input[data-v-ddf0c455]::placeholder{color:#94a3b8}.toggle-btn[data-v-ddf0c455]{position:absolute;right:.75rem;background:none;border:none;color:#64748b;font-size:1rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.toggle-btn[data-v-ddf0c455]:active{color:#3b82f6}.error-message[data-v-ddf0c455]{margin:0 0 1rem;font-size:.85rem;color:#ef4444}.button-group[data-v-ddf0c455]{display:flex;flex-direction:column;gap:.75rem}.btn-primary[data-v-ddf0c455]{width:100%;padding:.875rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary[data-v-ddf0c455]:active{opacity:.8}.btn-primary[data-v-ddf0c455]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-ddf0c455]{width:100%;padding:.875rem;background:transparent;color:#64748b;border:1px solid rgba(37,99,235,.2);border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary[data-v-ddf0c455]:active{background-color:#2563eb0d}.btn-secondary[data-v-ddf0c455]:disabled{opacity:.6;cursor:not-allowed}.modal-enter-active[data-v-ddf0c455],.modal-leave-active[data-v-ddf0c455]{transition:opacity .3s ease}.modal-enter-active .modal-container[data-v-ddf0c455],.modal-leave-active .modal-container[data-v-ddf0c455]{transition:transform .3s ease,opacity .3s ease}.modal-enter-from[data-v-ddf0c455],.modal-leave-to[data-v-ddf0c455]{opacity:0}.modal-enter-from .modal-container[data-v-ddf0c455],.modal-leave-to .modal-container[data-v-ddf0c455]{transform:scale(.9);opacity:0}.mobile-project-list[data-v-efaeaaf7]{min-height:100vh}.content[data-v-efaeaaf7]{padding:1rem}.search-box[data-v-efaeaaf7]{display:flex;align-items:center;gap:.75rem;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem}.search-icon[data-v-efaeaaf7]{color:#94a3b8;font-size:.9rem}.search-input[data-v-efaeaaf7]{flex:1;border:none;background:transparent;font-size:.9rem;color:#1e293b;outline:none}.search-input[data-v-efaeaaf7]::placeholder{color:#94a3b8}.loading-state[data-v-efaeaaf7],.empty-state[data-v-efaeaaf7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#64748b}.spinner[data-v-efaeaaf7]{width:40px;height:40px;border:3px solid rgba(37,99,235,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-efaeaaf7 .8s linear infinite}@keyframes spin-efaeaaf7{to{transform:rotate(360deg)}}.empty-icon[data-v-efaeaaf7]{font-size:2.5rem;opacity:.5;margin-bottom:1rem}.project-list[data-v-efaeaaf7]{display:flex;flex-direction:column;gap:.75rem}.accordion-card[data-v-efaeaaf7]{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-left:3px solid var(--status-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #2563eb14;transition:all .3s ease}.accordion-card.expanded[data-v-efaeaaf7]{box-shadow:0 4px 16px #2563eb1f}.accordion-header[data-v-efaeaaf7]{display:flex;align-items:center;gap:.75rem;padding:1rem;cursor:pointer}.header-icon[data-v-efaeaaf7]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#2563eb14;border-radius:10px;font-size:1.1rem;flex-shrink:0}.header-content[data-v-efaeaaf7]{flex:1;min-width:0}.project-name[data-v-efaeaaf7]{font-size:.95rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-subtitle[data-v-efaeaaf7]{font-size:.8rem;color:#64748b;margin-top:.15rem}.expand-icon[data-v-efaeaaf7]{color:#94a3b8;font-size:.85rem;transition:transform .3s}.accordion-card.expanded .expand-icon[data-v-efaeaaf7]{transform:rotate(180deg)}.accordion-body[data-v-efaeaaf7]{padding:0 1rem 1rem;border-top:1px solid rgba(37,99,235,.1);animation:slideDown-efaeaaf7 .3s ease}@keyframes slideDown-efaeaaf7{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-row[data-v-efaeaaf7]{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(37,99,235,.06)}.info-row[data-v-efaeaaf7]:last-of-type{border-bottom:none}.info-label[data-v-efaeaaf7]{font-size:.85rem;color:#64748b}.info-value[data-v-efaeaaf7]{font-size:.85rem;font-weight:500;color:#1e293b}.open-source-badge[data-v-efaeaaf7]{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#10b9811a;color:#10b981!important;border-radius:20px;font-size:.8rem;font-weight:600}.progress-section[data-v-efaeaaf7]{padding:.6rem 0}.progress-header[data-v-efaeaaf7]{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-percent[data-v-efaeaaf7]{font-weight:600;font-size:.85rem}.progress-bar[data-v-efaeaaf7]{height:6px;background:#2563eb1a;border-radius:3px;overflow:hidden}.progress-bar.large[data-v-efaeaaf7]{height:8px;border-radius:4px}.progress-fill[data-v-efaeaaf7]{height:100%;border-radius:3px;transition:width .3s ease}.view-btn[data-v-efaeaaf7]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;margin-top:.75rem;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.view-btn[data-v-efaeaaf7]:active{opacity:.8}.sheet-section[data-v-efaeaaf7]{margin-bottom:1.25rem}.sheet-icon[data-v-efaeaaf7]{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:16px;font-size:1.5rem;margin:0 auto}.sheet-row[data-v-efaeaaf7]{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(37,99,235,.08)}.sheet-row[data-v-efaeaaf7]:last-child{border-bottom:none}.sheet-label[data-v-efaeaaf7]{font-size:.9rem;color:#64748b}.sheet-value[data-v-efaeaaf7]{font-size:.9rem;font-weight:500;color:#1e293b}.sheet-description[data-v-efaeaaf7]{margin:.5rem 0 0;font-size:.9rem;color:#475569;line-height:1.5}.sheet-loading[data-v-efaeaaf7]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;color:#64748b;font-size:.9rem}.spinner.small[data-v-efaeaaf7]{width:30px;height:30px;border-width:2px}.section-title[data-v-efaeaaf7]{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#1e293b}.feature-list[data-v-efaeaaf7]{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.feature-item[data-v-efaeaaf7]{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;font-size:.9rem;color:#334155}.feature-bullet[data-v-efaeaaf7]{margin-top:.15rem;font-size:.85rem;flex-shrink:0}.feature-number[data-v-efaeaaf7]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:50%;font-size:.75rem;font-weight:600;flex-shrink:0}.blue-scroll[data-v-efaeaaf7]::-webkit-scrollbar{width:6px}.blue-scroll[data-v-efaeaaf7]::-webkit-scrollbar-track{background:#3b82f61a;border-radius:3px}.blue-scroll[data-v-efaeaaf7]::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.feature-checkbox[data-v-efaeaaf7]{margin-top:.15rem;font-size:1rem;flex-shrink:0}.feature-item.completed span[data-v-efaeaaf7]{color:#64748b}.text-completed[data-v-efaeaaf7]{text-decoration:line-through;opacity:.7}.gallery-grid[data-v-efaeaaf7]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-height:300px;overflow-y:auto}.gallery-item[data-v-efaeaaf7]{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#2563eb0d;cursor:pointer}.gallery-item img[data-v-efaeaaf7]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:active img[data-v-efaeaaf7]{transform:scale(.95)}.gallery-overlay[data-v-efaeaaf7]{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;font-size:1.25rem}.gallery-item:active .gallery-overlay[data-v-efaeaaf7]{opacity:1}.skills-tags[data-v-efaeaaf7]{display:flex;flex-wrap:wrap;gap:.5rem;max-height:160px;overflow-y:auto}.skill-tag[data-v-efaeaaf7]{padding:.4rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.sheet-value.highlight[data-v-efaeaaf7]{font-weight:600}.project-link[data-v-efaeaaf7]{color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.link-inactive[data-v-efaeaaf7]{color:var(--color-text-secondary);font-style:italic}.quotation-section[data-v-efaeaaf7]{flex:1;display:flex;flex-direction:column}.quotation-iframe-container[data-v-efaeaaf7]{flex:1;min-height:400px;background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(37,99,235,.1);box-shadow:0 2px 8px #0000000d}.quotation-iframe[data-v-efaeaaf7]{width:100%;height:100%;min-height:400px;border:none;background:#fff}.no-quotation-state[data-v-efaeaaf7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#64748b;text-align:center}.no-quotation-state .no-file-icon[data-v-efaeaaf7]{font-size:2.5rem;color:#d1d5db;margin-bottom:.75rem}.no-quotation-state p[data-v-efaeaaf7]{margin:0;font-size:.9rem}.lightbox[data-v-efaeaaf7]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center}.lightbox-close[data-v-efaeaaf7]{position:absolute;top:1rem;right:1rem;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;z-index:10}.lightbox-nav[data-v-efaeaaf7]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem}.lightbox-nav.prev[data-v-efaeaaf7]{left:.75rem}.lightbox-nav.next[data-v-efaeaaf7]{right:.75rem}.lightbox-content[data-v-efaeaaf7]{max-width:90vw;max-height:80vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img[data-v-efaeaaf7]{max-width:100%;max-height:calc(80vh - 40px);object-fit:contain;border-radius:8px}.lightbox-counter[data-v-efaeaaf7]{margin-top:1rem;color:#fff;font-size:.9rem;font-weight:500}.mobile-education[data-v-9137901a]{min-height:100vh}.content[data-v-9137901a]{padding:1rem}.pills-container[data-v-9137901a]{display:flex;flex-direction:column;gap:.75rem}.status-pill[data-v-9137901a]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:12px;text-decoration:none;color:#1e293b;transition:all .2s ease;box-shadow:0 2px 8px #2563eb14}.status-pill[data-v-9137901a]:active{transform:scale(.98)}.status-pill.school[data-v-9137901a]{border-left:3px solid #f59e0b}.status-pill.university[data-v-9137901a]{border-left:3px solid #3b82f6}.status-pill.certificates[data-v-9137901a]{border-left:3px solid #0ea5e9}.pill-icon[data-v-9137901a]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border-radius:10px}.status-pill.school .pill-icon[data-v-9137901a]{background:#f59e0b1f;color:#f59e0b}.status-pill.university .pill-icon[data-v-9137901a]{background:#3b82f61f;color:#3b82f6}.status-pill.certificates .pill-icon[data-v-9137901a]{background:#0ea5e91f;color:#0ea5e9}.pill-content[data-v-9137901a]{flex:1;display:flex;flex-direction:column;gap:.1rem}.pill-text[data-v-9137901a]{font-size:1rem;font-weight:600;color:#1e293b}.pill-subtitle[data-v-9137901a]{font-size:.8rem;color:#64748b}.pill-period[data-v-9137901a]{font-size:.85rem;font-weight:600;color:#3b82f6;min-width:80px;text-align:center}.pill-count[data-v-9137901a]{font-size:1.5rem;font-weight:700;min-width:36px;text-align:center;color:#1e293b}.pill-arrow[data-v-9137901a]{color:#94a3b8;font-size:.85rem}.mobile-school[data-v-18d6b965]{min-height:100vh}.content[data-v-18d6b965]{padding:1rem;display:flex;flex-direction:column;align-items:center}.card-stack-container[data-v-18d6b965]{position:relative;width:100%;height:420px;perspective:1000px;margin-bottom:1.5rem}.stack-card[data-v-18d6b965]{position:absolute;top:0;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:320px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:20px;box-shadow:0 4px 20px #2563eb1f;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.stack-card.active[data-v-18d6b965]{z-index:30;transform:translate(-50%) translateY(0) scale(1);opacity:1}.stack-card.behind-1[data-v-18d6b965]{z-index:20;transform:translate(-50%) translateY(-15px) scale(.95);opacity:.7;filter:brightness(.95)}.stack-card.behind-2[data-v-18d6b965]{z-index:10;transform:translate(-50%) translateY(-30px) scale(.9);opacity:.4;filter:brightness(.9)}.stack-card.before[data-v-18d6b965]{z-index:5;transform:translate(-50%) translateY(30px) scale(.9);opacity:0;pointer-events:none}.stack-card.hidden[data-v-18d6b965]{opacity:0;pointer-events:none}.stack-preview[data-v-18d6b965]{display:flex;justify-content:space-between;width:100%;padding:.5rem 0}.preview-year[data-v-18d6b965]{font-size:.9rem;font-weight:600;color:#3b82f6}.preview-exam[data-v-18d6b965]{font-size:.85rem;font-weight:600;color:#f59e0b}.school-logo-wrapper[data-v-18d6b965]{width:80px;height:80px;border-radius:20px;overflow:hidden;background:#fff;border:2px solid rgba(37,99,235,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 4px 12px #00000014}.school-logo[data-v-18d6b965]{width:100%;height:100%;object-fit:cover}.school-icon[data-v-18d6b965]{font-size:2rem;color:#3b82f6}.school-name[data-v-18d6b965]{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.school-type[data-v-18d6b965]{font-size:.9rem;color:#3b82f6;font-weight:500;margin:.25rem 0}.school-years[data-v-18d6b965]{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:1rem}.school-details[data-v-18d6b965]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;width:100%}.detail-item[data-v-18d6b965]{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;color:#64748b}.detail-icon[data-v-18d6b965]{font-size:.8rem;color:#94a3b8}.achievement-section[data-v-18d6b965]{width:100%;margin-top:auto}.achievement-badge[data-v-18d6b965]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.2);border-radius:12px}.trophy-icon[data-v-18d6b965]{font-size:1.5rem;color:#f59e0b}.achievement-content[data-v-18d6b965]{display:flex;flex-direction:column;align-items:flex-start}.exam-name[data-v-18d6b965]{font-size:.8rem;font-weight:600;color:#f59e0b}.exam-result[data-v-18d6b965]{font-size:1.1rem;font-weight:700;color:#d97706}.card-navigation[data-v-18d6b965]{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.nav-btn[data-v-18d6b965]{width:44px;height:44px;border-radius:50%;border:none;background:#ffffffe6;box-shadow:0 2px 8px #2563eb26;color:#3b82f6;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.nav-btn[data-v-18d6b965]:active{transform:scale(.95)}.nav-btn.disabled[data-v-18d6b965]{opacity:.4;cursor:not-allowed}.dot-indicators[data-v-18d6b965]{display:flex;gap:.5rem}.dot[data-v-18d6b965]{width:8px;height:8px;border-radius:50%;background:#2563eb33;cursor:pointer;transition:all .3s}.dot.active[data-v-18d6b965]{width:24px;border-radius:4px;background:linear-gradient(135deg,#0ea5e9,#3b82f6)}.progress-indicator[data-v-18d6b965]{text-align:center}.progress-text[data-v-18d6b965]{font-size:.85rem;color:#64748b;font-weight:500}.mobile-university[data-v-bc47e681]{min-height:100vh}.content[data-v-bc47e681]{padding:1rem;display:flex;flex-direction:column;align-items:center}.card-stack-container[data-v-bc47e681]{position:relative;width:100%;height:450px;perspective:1000px;margin-bottom:1.5rem}.stack-card[data-v-bc47e681]{position:absolute;top:0;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:320px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:20px;box-shadow:0 4px 20px #2563eb1f;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.stack-card.highlight[data-v-bc47e681]{border-color:#f59e0b4d;box-shadow:0 4px 20px #f59e0b26}.stack-card.active[data-v-bc47e681]{z-index:30;transform:translate(-50%) translateY(0) scale(1);opacity:1}.stack-card.behind-1[data-v-bc47e681]{z-index:20;transform:translate(-50%) translateY(-15px) scale(.95);opacity:.7;filter:brightness(.95)}.stack-card.behind-2[data-v-bc47e681]{z-index:10;transform:translate(-50%) translateY(-30px) scale(.9);opacity:.4;filter:brightness(.9)}.stack-card.before[data-v-bc47e681]{z-index:5;transform:translate(-50%) translateY(30px) scale(.9);opacity:0;pointer-events:none}.stack-card.hidden[data-v-bc47e681]{opacity:0;pointer-events:none}.stack-preview[data-v-bc47e681]{display:flex;justify-content:space-between;width:100%;padding:.5rem 0}.preview-year[data-v-bc47e681]{font-size:.9rem;font-weight:600;color:#3b82f6}.preview-degree[data-v-bc47e681]{font-size:.85rem;font-weight:600;color:#3b82f6}.preview-degree.first-class[data-v-bc47e681]{color:#f59e0b}.uni-logo-wrapper[data-v-bc47e681]{width:80px;height:80px;border-radius:20px;overflow:hidden;background:#fff;border:2px solid rgba(37,99,235,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 4px 12px #00000014}.uni-logo[data-v-bc47e681]{width:100%;height:100%;object-fit:cover}.uni-icon[data-v-bc47e681]{font-size:2rem;color:#3b82f6}.uni-name[data-v-bc47e681]{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.uni-fullname[data-v-bc47e681]{font-size:.75rem;color:#64748b;margin:.15rem 0}.uni-program[data-v-bc47e681]{font-size:.85rem;color:#3b82f6;font-weight:500;margin:.25rem 0}.uni-years[data-v-bc47e681]{font-size:1rem;font-weight:600;color:#64748b;margin-bottom:.75rem}.uni-details[data-v-bc47e681]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;width:100%}.detail-item[data-v-bc47e681]{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;color:#64748b}.detail-icon[data-v-bc47e681]{font-size:.8rem;color:#94a3b8}.cgpa-section[data-v-bc47e681]{width:100%;margin-top:auto}.cgpa-badge[data-v-bc47e681]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border:1px solid rgba(59,130,246,.2);border-radius:12px}.cgpa-badge.first-class[data-v-bc47e681]{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-color:#f59e0b33}.cap-icon[data-v-bc47e681]{font-size:1.5rem;color:#3b82f6}.cgpa-badge.first-class .cap-icon[data-v-bc47e681]{color:#f59e0b}.cgpa-content[data-v-bc47e681]{display:flex;flex-direction:column;align-items:flex-start}.degree-type[data-v-bc47e681]{font-size:.8rem;font-weight:600;color:#3b82f6}.cgpa-badge.first-class .degree-type[data-v-bc47e681]{color:#f59e0b}.cgpa-value[data-v-bc47e681]{font-size:1.1rem;font-weight:700;color:#1e40af}.cgpa-badge.first-class .cgpa-value[data-v-bc47e681]{color:#d97706}.card-navigation[data-v-bc47e681]{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.nav-btn[data-v-bc47e681]{width:44px;height:44px;border-radius:50%;border:none;background:#ffffffe6;box-shadow:0 2px 8px #2563eb26;color:#3b82f6;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.nav-btn[data-v-bc47e681]:active{transform:scale(.95)}.nav-btn.disabled[data-v-bc47e681]{opacity:.4;cursor:not-allowed}.dot-indicators[data-v-bc47e681]{display:flex;gap:.5rem}.dot[data-v-bc47e681]{width:8px;height:8px;border-radius:50%;background:#2563eb33;cursor:pointer;transition:all .3s}.dot.active[data-v-bc47e681]{width:24px;border-radius:4px;background:linear-gradient(135deg,#0ea5e9,#3b82f6)}.dot.active.highlight[data-v-bc47e681]{background:linear-gradient(135deg,#f59e0b,#d97706)}.progress-indicator[data-v-bc47e681]{text-align:center}.progress-text[data-v-bc47e681]{font-size:.85rem;color:#64748b;font-weight:500}.mobile-certificates[data-v-d8a4a65b]{min-height:100vh}.content[data-v-d8a4a65b]{padding:1rem}.loading-state[data-v-d8a4a65b]{display:flex;justify-content:center;padding:3rem}.spinner[data-v-d8a4a65b]{width:40px;height:40px;border:3px solid rgba(37,99,235,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-d8a4a65b .8s linear infinite}@keyframes spin-d8a4a65b{to{transform:rotate(360deg)}}.stats-card[data-v-d8a4a65b]{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:12px;box-shadow:0 2px 8px #2563eb14;margin-bottom:1rem}.stat-item[data-v-d8a4a65b]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value[data-v-d8a4a65b]{font-size:1.25rem;font-weight:700}.stat-label[data-v-d8a4a65b]{font-size:.75rem;color:#64748b}.stat-divider[data-v-d8a4a65b]{width:1px;height:30px;background:#2563eb26}.empty-state[data-v-d8a4a65b]{display:flex;flex-direction:column;align-items:center;padding:3rem;color:#64748b}.empty-icon[data-v-d8a4a65b]{font-size:2.5rem;opacity:.5;margin-bottom:1rem}.certificate-list[data-v-d8a4a65b]{display:flex;flex-direction:column;gap:.75rem}.accordion-card[data-v-d8a4a65b]{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-left:3px solid var(--status-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #2563eb14;transition:all .3s ease}.accordion-card.expanded[data-v-d8a4a65b]{box-shadow:0 4px 16px #2563eb1f}.accordion-header[data-v-d8a4a65b]{display:flex;align-items:center;gap:.75rem;padding:1rem;cursor:pointer}.header-icon[data-v-d8a4a65b]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#2563eb14;border-radius:10px;font-size:1.1rem;flex-shrink:0}.header-content[data-v-d8a4a65b]{flex:1;min-width:0}.cert-name[data-v-d8a4a65b]{font-size:.9rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-issuer[data-v-d8a4a65b]{font-size:.8rem;color:#64748b;margin-top:.1rem}.status-badge[data-v-d8a4a65b]{padding:.25rem .5rem;border-radius:20px;font-size:.7rem;font-weight:600;flex-shrink:0}.expand-icon[data-v-d8a4a65b]{color:#94a3b8;font-size:.85rem;transition:transform .3s}.accordion-card.expanded .expand-icon[data-v-d8a4a65b]{transform:rotate(180deg)}.accordion-body[data-v-d8a4a65b]{padding:0 1rem 1rem;border-top:1px solid rgba(37,99,235,.1);animation:slideDown-d8a4a65b .3s ease}@keyframes slideDown-d8a4a65b{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-row[data-v-d8a4a65b]{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(37,99,235,.06)}.info-row[data-v-d8a4a65b]:last-of-type{border-bottom:none}.info-label[data-v-d8a4a65b]{font-size:.85rem;color:#64748b}.info-value[data-v-d8a4a65b]{font-size:.85rem;font-weight:500;color:#1e293b}.info-value.credential[data-v-d8a4a65b]{font-family:monospace;font-size:.75rem;background:#2563eb0d;padding:.2rem .5rem;border-radius:4px}.status-indicator[data-v-d8a4a65b]{display:flex;align-items:center;gap:.5rem;padding:.75rem;margin-top:.75rem;border-radius:8px;border:1px solid;font-size:.85rem;font-weight:500}.mobile-message[data-v-8e2031b1]{min-height:100vh}.content[data-v-8e2031b1]{padding:1rem}.toast[data-v-8e2031b1]{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#10b981f2;border-radius:50px;color:#fff;font-weight:500;z-index:1000;box-shadow:0 4px 12px #10b9814d}.toast-enter-active[data-v-8e2031b1],.toast-leave-active[data-v-8e2031b1]{transition:all .3s}.toast-enter-from[data-v-8e2031b1],.toast-leave-to[data-v-8e2031b1]{opacity:0;transform:translate(-50%) translateY(-20px)}.contact-form[data-v-8e2031b1]{display:flex;flex-direction:column;gap:1rem}.form-header[data-v-8e2031b1]{text-align:center;padding:1.5rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:16px;box-shadow:0 2px 8px #2563eb14;margin-bottom:.5rem}.form-icon[data-v-8e2031b1]{width:56px;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#3b82f61f;color:#3b82f6;border-radius:12px}.form-header h2[data-v-8e2031b1]{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.form-header p[data-v-8e2031b1]{font-size:.9rem;color:#64748b;margin:0}.error-message[data-v-8e2031b1]{padding:.75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:#ef4444;font-size:.9rem}.form-group[data-v-8e2031b1]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-8e2031b1]{font-size:.9rem;font-weight:500;color:#64748b}.form-group input[data-v-8e2031b1],.form-group textarea[data-v-8e2031b1]{padding:1rem;background:#ffffffe6;border:1px solid rgba(37,99,235,.15);border-radius:12px;color:#1e293b;font-size:1rem;font-family:inherit}.form-group input[data-v-8e2031b1]::placeholder,.form-group textarea[data-v-8e2031b1]::placeholder{color:#94a3b8}.form-group input[data-v-8e2031b1]:focus,.form-group textarea[data-v-8e2031b1]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-group textarea[data-v-8e2031b1]{min-height:120px;resize:vertical}.submit-btn[data-v-8e2031b1]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#0ea5e9,#3b82f6,#1e40af);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.submit-btn[data-v-8e2031b1]:active{opacity:.8}.submit-btn[data-v-8e2031b1]:disabled{opacity:.7;cursor:not-allowed}.spinner-small[data-v-8e2031b1]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8e2031b1 .8s linear infinite}@keyframes spin-8e2031b1{to{transform:rotate(360deg)}}
