:root{--bg-color:#0b0f19;--card-bg:#14192899;--card-border:#ffffff14;--text-primary:#fff;--text-secondary:#94a3b8;--primary-accent:#3b82f6;--primary-hover:#2563eb;--input-bg:#0f172a99;--input-border:#ffffff1a;--input-focus:#3b82f6;--error-color:#ef4444;--success-color:#10b981}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,sans-serif;overflow:hidden auto}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{font-family:inherit}.bg-blobs{z-index:-1;background:radial-gradient(circle,#0b0f19 0%,#020617 100%);width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.blob{filter:blur(80px);opacity:.5;animation:20s ease-in-out infinite float;position:absolute}.blob-1{background:radial-gradient(circle,#3b82f64d 0%,#0000 70%);width:50vw;height:50vw;animation-delay:0s;top:-10%;left:-10%}.blob-2{background:radial-gradient(circle,#8b5cf633 0%,#0000 70%);width:60vw;height:60vw;animation-delay:-5s;bottom:-20%;right:-10%}.blob-3{background:radial-gradient(circle,#10b98126 0%,#0000 70%);width:40vw;height:40vw;animation-delay:-10s;top:40%;left:60%}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}}.login-container[data-v-0f07b8d1]{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.flip-container[data-v-0f07b8d1]{perspective:1200px;width:100%;max-width:440px}.flipper[data-v-0f07b8d1]{transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,.2,.2,1);display:grid}.flip-container.flipped .flipper[data-v-0f07b8d1]{transform:rotateY(180deg)}.front[data-v-0f07b8d1],.back[data-v-0f07b8d1]{backface-visibility:hidden;grid-area:1/1}.back[data-v-0f07b8d1]{transform:rotateY(180deg)}.login-card[data-v-0f07b8d1]{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:24px;width:100%;padding:48px;box-shadow:0 25px 50px -12px #00000080}.front[data-v-0f07b8d1]:hover,.back[data-v-0f07b8d1]:hover{box-shadow:0 30px 60px -15px #0009}.login-header[data-v-0f07b8d1]{text-align:center;margin-bottom:40px}.logo[data-v-0f07b8d1]{color:var(--primary-accent);justify-content:center;align-items:center;gap:12px;margin-bottom:24px;font-size:1.25rem;font-weight:700;display:inline-flex}.icon-circle[data-v-0f07b8d1]{background:#3b82f61a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:24px;display:inline-flex}.login-header h2[data-v-0f07b8d1]{letter-spacing:-.025em;margin-bottom:8px;font-size:1.875rem;font-weight:600}.login-header p[data-v-0f07b8d1]{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.login-form[data-v-0f07b8d1]{flex-direction:column;gap:20px;display:flex}.form-group[data-v-0f07b8d1]{flex-direction:column;gap:8px;display:flex}.label-row[data-v-0f07b8d1]{justify-content:space-between;align-items:center;display:flex}label[data-v-0f07b8d1]{color:var(--text-primary);font-size:.875rem;font-weight:500}.forgot-link[data-v-0f07b8d1]{color:var(--primary-accent);cursor:pointer;font-size:.875rem;text-decoration:none;transition:color .2s}.forgot-link[data-v-0f07b8d1]:hover{color:var(--primary-hover);text-decoration:underline}input[data-v-0f07b8d1]{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px;font-size:1rem;transition:all .2s}input[data-v-0f07b8d1]:focus{border-color:var(--input-focus);outline:none;box-shadow:0 0 0 3px #3b82f633}input[data-v-0f07b8d1]::placeholder{color:var(--text-secondary)}.sso-options[data-v-0f07b8d1]{flex-direction:column;gap:12px;margin-top:24px;display:flex}.google-btn-wrapper[data-v-0f07b8d1]{justify-content:center;width:100%;display:flex}.btn-primary[data-v-0f07b8d1]{background:var(--primary-accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:52px;margin-top:8px;padding:14px;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-primary[data-v-0f07b8d1]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-primary[data-v-0f07b8d1]:active:not(:disabled){transform:translateY(1px)}.btn-primary[data-v-0f07b8d1]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-0f07b8d1]{width:100%;color:var(--text-secondary);border:1px solid var(--input-border);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:14px;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-secondary[data-v-0f07b8d1]:hover{color:var(--text-primary);background:#ffffff0d}.divider[data-v-0f07b8d1]{color:var(--text-secondary);align-items:center;margin:32px 0;font-size:.875rem;display:flex}.divider[data-v-0f07b8d1]:before,.divider[data-v-0f07b8d1]:after{content:"";border-bottom:1px solid var(--input-border);flex:1}.divider span[data-v-0f07b8d1]{padding:0 16px}.sso-options[data-v-0f07b8d1]{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;display:grid}.btn-sso[data-v-0f07b8d1]{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.btn-sso[data-v-0f07b8d1]:hover{background:#ffffff0d;border-color:#fff3}.help-text[data-v-0f07b8d1]{text-align:center;color:var(--text-secondary);font-size:.875rem}.help-text a[data-v-0f07b8d1]{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .2s}.help-text a[data-v-0f07b8d1]:hover{color:var(--primary-accent)}.spinner[data-v-0f07b8d1]{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite spin-0f07b8d1}@keyframes spin-0f07b8d1{to{transform:rotate(360deg)}}@media (width<=480px){.login-card[data-v-0f07b8d1]{padding:32px 24px}.sso-options[data-v-0f07b8d1]{grid-template-columns:1fr}}.layout-wrapper[data-v-95188783]{background-color:var(--bg-color);width:100vw;height:100vh;color:var(--text-primary);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0f19d9;display:flex;position:relative;overflow:hidden}.sidebar[data-v-95188783]{background-color:#141928f2;border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;width:320px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}@media (width>=1025px){.sidebar[data-v-95188783]{transform:translate(0)!important}}.sidebar-header[data-v-95188783]{border-bottom:1px solid #ffffff14;padding:24px}.logo-wrapper[data-v-95188783]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.logo[data-v-95188783]{color:var(--primary-accent);align-items:center;gap:12px;font-size:1.25rem;font-weight:700;display:flex}.brand-text[data-v-95188783]{letter-spacing:-.025em}.close-btn[data-v-95188783]{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.close-btn[data-v-95188783]:hover{color:#fff}.role-badge[data-v-95188783]{color:#60a5fa;letter-spacing:.05em;background:#3b82f633;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.sidebar-nav[data-v-95188783]{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:1;padding:20px;overflow:hidden auto}.sidebar-nav[data-v-95188783]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-95188783]::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:3px}.sidebar-footer[data-v-95188783]{border-top:1px solid #ffffff14;padding:20px}.logout-btn[data-v-95188783]{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.logout-btn[data-v-95188783]:hover{background:#ef444433;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.menu-group[data-v-95188783]{margin-bottom:4px}.menu-title[data-v-95188783]{cursor:pointer;color:#e2e8f0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;transition:all .2s;display:flex}.menu-title[data-v-95188783]:hover{color:#fff;background:#ffffff0d}.menu-title.active[data-v-95188783]{color:#fff;background:#3b82f61a;border-color:#3b82f64d}.menu-title.active .menu-icon[data-v-95188783]{color:var(--primary-accent)}.menu-title-left[data-v-95188783]{align-items:center;gap:12px;font-size:.9rem;font-weight:600;display:flex}.menu-icon[data-v-95188783]{font-size:1.2rem;transition:color .2s}.menu-label[data-v-95188783]{white-space:normal;line-height:1.4}.chevron[data-v-95188783]{color:#64748b;flex-shrink:0;transition:transform .3s}.chevron.rotated[data-v-95188783]{transform:rotate(180deg)}.menu-content[data-v-95188783]{padding-top:8px;padding-bottom:12px;padding-left:36px}.submenu-title[data-v-95188783]{cursor:pointer;color:#94a3b8;border-radius:6px;justify-content:space-between;align-items:flex-start;margin:4px 0;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.submenu-title[data-v-95188783]:hover{color:#e2e8f0;background:#ffffff08}.submenu-title.active[data-v-95188783]{color:var(--primary-accent);background:#3b82f60d}.submenu-label[data-v-95188783]{white-space:normal;padding-right:8px;line-height:1.4}.menu-items[data-v-95188783]{flex-direction:column;gap:2px;list-style:none;display:flex}.sub-menu-items[data-v-95188783]{border-left:1px solid #ffffff0d;margin-left:12px;padding-left:12px}.menu-item a[data-v-95188783]{color:#94a3b8;border-radius:6px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:.85rem;text-decoration:none;transition:all .2s;display:flex}.menu-item-text[data-v-95188783]{white-space:normal;line-height:1.4}.bullet[data-v-95188783]{background:#475569;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-top:6px;transition:background .2s}.menu-item a[data-v-95188783]:hover{color:#fff;background:#ffffff0d;transform:translate(4px)}.menu-item a:hover .bullet[data-v-95188783]{background:var(--primary-accent)}.menu-item a.active-link[data-v-95188783]{color:#fff;border-left:2px solid var(--primary-accent);background:#3b82f626}.menu-item a.active-link .bullet[data-v-95188783]{background:var(--primary-accent)}.main-content[data-v-95188783]{flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden}.topbar[data-v-95188783]{background-color:#14192899;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex}.topbar-left[data-v-95188783]{align-items:center;gap:16px;display:flex}.hamburger-btn[data-v-95188783]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:-8px;padding:8px;transition:background .2s;display:flex}.hamburger-btn[data-v-95188783]:hover{background:#ffffff1a}.topbar-left h2[data-v-95188783]{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1.25rem;font-weight:600;overflow:hidden}.user-info[data-v-95188783]{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:20px;align-items:center;gap:12px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.user-info[data-v-95188783]:hover{background:#ffffff1a}.avatar[data-v-95188783]{color:var(--primary-accent);justify-content:center;align-items:center;display:flex}.page-content[data-v-95188783]{flex:1;padding:32px;overflow:hidden auto}@media (width<=1024px){.sidebar[data-v-95188783]{z-index:100;height:100vh;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:5px 0 25px #00000080}.sidebar.sidebar-open[data-v-95188783]{transform:translate(0)}.sidebar-overlay[data-v-95188783]{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;width:100vw;height:100vh;position:fixed;top:0;left:0}.topbar[data-v-95188783]{padding:0 20px}.page-content[data-v-95188783]{padding:20px}}@media (width<=480px){.topbar-left h2[data-v-95188783]{font-size:1.1rem}.session-text[data-v-95188783]{display:none}.user-info[data-v-95188783]{padding:8px}}
