:root{--primary-color: #42b883;--danger-color: #ef4444;--text-color: #213547;--text-muted: #64748b;--border-color: #e2e8f0;--bg-light: #f8fafc;--shadow: 0 2px 4px rgba(0, 0, 0, .1);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-color);background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.form-field{display:flex;flex-direction:column;gap:.5rem}label{font-weight:500;color:var(--text-muted)}input,select,textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}button{padding:.75rem 1rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;background-color:var(--primary-color);color:#fff;transition:opacity .2s;min-height:44px;touch-action:manipulation}button:hover{opacity:.9}button.secondary{background-color:var(--bg-light);color:var(--text-color);border:1px solid var(--border-color)}.toast{position:fixed;top:1rem;right:1rem;left:1rem;min-width:auto;background:#fff;border-radius:4px;box-shadow:var(--shadow);z-index:1000}@media (min-width: 768px){.toast{left:auto;min-width:300px;max-width:400px}}.toast.success{border-left:4px solid var(--primary-color)}.toast.error{border-left:4px solid var(--danger-color)}.toast-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.toast-body{padding:.75rem 1rem}.close-button{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0}table{width:100%;border-collapse:collapse;font-size:.875rem}@media (min-width: 768px){table{font-size:1rem}}th,td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color);word-wrap:break-word}@media (min-width: 768px){th,td{padding:.75rem}}th{font-weight:600;color:var(--text-muted);background-color:var(--bg-light)}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 #e2e8f0;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f8fafc;color:#213547;cursor:pointer;transition:all .25s}button:hover{border-color:#42b883;background-color:#f1f5f9}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:1rem;text-align:center}@media (min-width: 768px){#app{padding:2rem}}.mobile-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-hidden{display:none}@media (min-width: 768px){.mobile-hidden{display:block}.desktop-hidden{display:none}}@media (hover: none) and (pointer: coarse){button:hover{opacity:1;transform:none}.stat-card:hover{transform:none}}@media screen and (-webkit-min-device-pixel-ratio: 0){select,textarea,input[type=text],input[type=password],input[type=datetime-local],input[type=datetime],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color]{font-size:16px}}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page[data-v-f2d316fa]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-container[data-v-f2d316fa]{max-width:480px;width:100%}.login-header[data-v-f2d316fa]{text-align:center;margin-bottom:2rem;color:#fff}.login-header h1[data-v-f2d316fa]{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.tagline[data-v-f2d316fa]{font-size:1.125rem;opacity:.95}.error-message[data-v-f2d316fa]{background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;position:relative}.error-icon[data-v-f2d316fa]{font-size:1.5rem}.error-message p[data-v-f2d316fa]{flex:1;color:#991b1b;margin:0}.close-error[data-v-f2d316fa]{background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .3s}.close-error[data-v-f2d316fa]:hover{background:#0000000d}.login-card[data-v-f2d316fa]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.card-content[data-v-f2d316fa]{padding:3rem 2rem}.card-content h2[data-v-f2d316fa]{font-size:1.875rem;color:#1e293b;margin-bottom:.5rem;text-align:center}.subtitle[data-v-f2d316fa]{color:#64748b;text-align:center;margin-bottom:2rem}.google-btn[data-v-f2d316fa]{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:600;color:#1f2937;cursor:pointer;transition:all .3s;box-shadow:0 2px 4px #0000000d}.google-btn[data-v-f2d316fa]:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.google-btn[data-v-f2d316fa]:disabled{opacity:.6;cursor:not-allowed}.google-icon[data-v-f2d316fa]{width:24px;height:24px}.loading-spinner[data-v-f2d316fa]{width:20px;height:20px;border:3px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin-f2d316fa .8s linear infinite}@keyframes spin-f2d316fa{to{transform:rotate(360deg)}}.features[data-v-f2d316fa]{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e7eb}.features h3[data-v-f2d316fa]{font-size:1.125rem;color:#1e293b;margin-bottom:1rem}.features ul[data-v-f2d316fa]{list-style:none;padding:0;margin:0}.features li[data-v-f2d316fa]{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#475569}.feature-icon[data-v-f2d316fa]{font-size:1.5rem}.login-footer[data-v-f2d316fa]{text-align:center;margin-top:2rem;color:#fff;opacity:.9}.login-footer p[data-v-f2d316fa]{font-size:.875rem}@media (max-width: 640px){.login-page[data-v-f2d316fa]{padding:1rem}.login-header h1[data-v-f2d316fa]{font-size:2rem}.card-content[data-v-f2d316fa]{padding:2rem 1.5rem}.features[data-v-f2d316fa]{margin-top:2rem}}.auth-guard[data-v-dd4bae92]{min-height:100vh}.auth-loading[data-v-dd4bae92]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner[data-v-dd4bae92]{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-dd4bae92 .8s linear infinite;margin-bottom:1rem}@keyframes spin-dd4bae92{to{transform:rotate(360deg)}}.auth-loading p[data-v-dd4bae92]{font-size:1.125rem;opacity:.9}.profile-selector[data-v-33eb365d]{position:relative;display:inline-block}.selector-trigger[data-v-33eb365d]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-size:.9rem;transition:all .2s ease;min-width:200px;box-shadow:0 1px 2px #0000000d}.selector-trigger[data-v-33eb365d]:hover{background:#f9fafb;border-color:#4caf50;box-shadow:0 1px 3px #0000001a}.selector-trigger.active[data-v-33eb365d]{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.profile-info[data-v-33eb365d]{display:flex;align-items:center;gap:.5rem;flex:1}.profile-icon[data-v-33eb365d]{font-size:1.2rem}.profile-name[data-v-33eb365d]{font-weight:500;flex:1;text-align:left;color:#111827}.profile-type[data-v-33eb365d]{font-size:.75rem;padding:.15rem .4rem;background:#f3f4f6;border-radius:4px;text-transform:uppercase;color:#6b7280;font-weight:600}.dropdown-arrow[data-v-33eb365d]{font-size:.7rem;transition:transform .2s ease;color:#6b7280}.selector-trigger.active .dropdown-arrow[data-v-33eb365d]{transform:rotate(180deg)}.dropdown-menu[data-v-33eb365d]{position:absolute;top:calc(100% + .5rem);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:280px;z-index:1000}.dropdown-header[data-v-33eb365d]{padding:1rem;border-bottom:1px solid #e5e7eb}.dropdown-header h4[data-v-33eb365d]{margin:0;font-size:.9rem;font-weight:600;color:#6b7280}.profile-list[data-v-33eb365d]{max-height:300px;overflow-y:auto;padding:.5rem 0}.profile-option[data-v-33eb365d]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:#1f2937;cursor:pointer;transition:background .2s ease;text-align:left}.profile-option[data-v-33eb365d]:hover{background:#f9fafb}.profile-option.active[data-v-33eb365d]{background:#f0fdf4;color:#166534}.option-icon[data-v-33eb365d]{font-size:1.3rem}.option-info[data-v-33eb365d]{display:flex;flex-direction:column;gap:.2rem;flex:1}.option-name[data-v-33eb365d]{font-weight:500;font-size:.95rem;color:#111827}.option-type[data-v-33eb365d]{font-size:.7rem;color:#6b7280;text-transform:uppercase}.check-mark[data-v-33eb365d]{color:#4caf50;font-size:1.2rem;font-weight:700}.dropdown-footer[data-v-33eb365d]{padding:.5rem;border-top:1px solid #e5e7eb}.manage-btn[data-v-33eb365d]{width:100%;padding:.6rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.85rem;transition:all .2s ease;font-weight:500}.manage-btn[data-v-33eb365d]:hover{background:#f3f4f6;border-color:#4caf50;color:#166534}.dropdown-enter-active[data-v-33eb365d],.dropdown-leave-active[data-v-33eb365d]{transition:all .2s ease}.dropdown-enter-from[data-v-33eb365d],.dropdown-leave-to[data-v-33eb365d]{opacity:0;transform:translateY(-10px)}@media (max-width: 768px){.selector-trigger[data-v-33eb365d]{min-width:150px;padding:.4rem .75rem}.profile-name[data-v-33eb365d]{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu[data-v-33eb365d]{min-width:240px}}.toast-container{position:fixed;top:20px;left:20px;right:20px;z-index:1000}@media (min-width: 768px){.toast-container{left:auto;width:auto;max-width:400px}}.toast{min-width:auto;margin-bottom:10px;padding:15px 20px;border-radius:4px;background:#fff;box-shadow:0 2px 8px #00000026;animation:slideIn .3s ease-in-out}@media (min-width: 768px){.toast{min-width:300px}}.toast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.toast.success{background-color:#42b883;color:#fff}.toast.error{background-color:#ef4444;color:#fff}.toast.info{background-color:#3b82f6;color:#fff}.close-button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0 5px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.app-container{display:flex;min-height:100vh;background:#f8f9fa}@media (max-width: 767px){.app-container{flex-direction:column}}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.mobile-title{font-size:1.25rem;margin:0;color:#42b883;flex:1;text-align:center}.mobile-profile-selector{display:flex;align-items:center}@media (min-width: 768px){.mobile-header{display:none}}.sidebar-nav{width:280px;background:linear-gradient(180deg,#fff,#f8f9fa);border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;box-shadow:2px 0 10px #0000000d;z-index:1000;transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar-nav--collapsed{width:80px}@media (max-width: 767px){.sidebar-nav{position:fixed;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px}.sidebar-nav--open{transform:translate(0)}.sidebar-nav--collapsed{width:280px}}.sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#42b883,#369870);display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;min-height:64px}.sidebar-nav--collapsed .sidebar-header{padding:1rem;justify-content:center}.sidebar-logo{font-size:1.5rem;margin:0;color:#fff;font-weight:600;text-align:center;flex:1;transition:all .3s ease;white-space:nowrap;overflow:hidden}.sidebar-toggle{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#fff;font-size:1.125rem;flex-shrink:0;line-height:1}.sidebar-toggle:hover{background:#ffffff4d;transform:scale(1.1)}.sidebar-nav--collapsed .sidebar-toggle{position:absolute;top:50%;transform:translateY(-50%);background:#fff;color:#42b883;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a;z-index:10}.sidebar-nav--collapsed .sidebar-toggle:hover{background:#f9fafb;transform:translateY(-50%) scale(1.1)}.toggle-icon{display:block;transition:transform .3s ease}@media (max-width: 767px){.desktop-only{display:none!important}}.sidebar-footer{margin-top:auto;padding:1rem;border-top:1px solid #e5e7eb;background:#f9fafb;transition:padding .3s ease}.sidebar-nav--collapsed .sidebar-footer{padding:.75rem .25rem;display:flex;flex-direction:column;align-items:center}.desktop-profile-selector{margin-bottom:1rem;transition:opacity .2s ease}.sidebar-nav--collapsed .desktop-profile-selector{opacity:0;height:0;overflow:hidden;margin-bottom:0}@media (max-width: 767px){.desktop-profile-selector{display:none}}.sidebar-user-info{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-top:1px solid #e5e7eb}.user-profile-display{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:56px}.sidebar-nav--collapsed .user-profile-display{justify-content:center;padding:.5rem}.sidebar-nav--collapsed .sidebar-user-info{padding:.5rem}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;flex-shrink:0}.user-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.user-name{font-weight:600;color:#1f2937;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.user-email-small{font-size:.75rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:space-around;width:30px;height:24px;background:none;border:none;cursor:pointer;padding:0}@media (min-width: 768px){.mobile-menu-toggle{display:none}}.hamburger-line{width:100%;height:3px;background-color:#42b883;border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger-line.active:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-line.active:nth-child(2){opacity:0}.hamburger-line.active:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-list{list-style:none;padding:1rem .5rem;margin:0;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-nav--collapsed .nav-list{padding:1rem .5rem;gap:.75rem;align-items:center}.logout-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#fee2e2,#fef2f2);border:1px solid #fecaca;border-radius:12px;color:#ef4444;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-height:48px;font-size:.875rem}.logout-button:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.logout-button:active{transform:translateY(0);box-shadow:0 2px 6px #ef444433}.sidebar-nav--collapsed .logout-button{padding:.75rem;min-width:48px}.sidebar-nav--collapsed .logout-button .nav-text{display:none}.sidebar-nav--collapsed .logout-button .nav-icon{font-size:1.25rem}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;text-decoration:none;color:#64748b;font-weight:500;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;margin:0 .25rem;white-space:nowrap;min-height:48px}.sidebar-nav--collapsed .nav-link{justify-content:center;padding:.75rem;margin:0;min-height:48px;width:56px;flex-shrink:0}.nav-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#42b8831a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.nav-link:hover:before{width:300px;height:300px}.nav-link:hover{background:linear-gradient(135deg,#e8f5f1,#f1f9f6);color:#42b883;transform:translate(4px);padding-left:1.25rem}.sidebar-nav--collapsed .nav-link:hover{transform:scale(1.05);padding-left:.75rem}.nav-link.active{background:linear-gradient(135deg,#42b883,#369870);color:#fff;box-shadow:0 2px 8px #42b8834d}.nav-link.active:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:70%;background:#fffc;border-radius:0 4px 4px 0;animation:slideIn .3s ease}.sidebar-nav--collapsed .nav-link.active:after{width:3px;height:80%}@keyframes slideIn{0%{height:0;opacity:0}to{height:70%;opacity:1}}.nav-link.active:hover{background:linear-gradient(135deg,#369870,#2d8360);transform:translate(4px)}.nav-icon{font-size:1.375rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);position:relative;z-index:1;flex-shrink:0}.sidebar-nav--collapsed .nav-icon{width:32px;height:32px;font-size:1.5rem}.nav-link:hover .nav-icon{transform:scale(1.15) rotate(5deg)}.sidebar-nav--collapsed .nav-link:hover .nav-icon{transform:scale(1.1)}.nav-link.active .nav-icon{animation:bounce .6s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.nav-text{font-size:.9375rem;position:relative;z-index:1;letter-spacing:.3px;transition:opacity .2s ease}.sidebar-nav--collapsed .nav-text{opacity:0;width:0;overflow:hidden}.main-wrapper{flex:1;margin-left:280px;min-height:100vh;background:#f8f9fa;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-wrapper--expanded{margin-left:80px}@media (max-width: 767px){.main-wrapper,.main-wrapper--expanded{margin-left:0}}main{padding:1.5rem;min-height:calc(100vh - 3rem)}@media (min-width: 768px){main{padding:2rem}}.nav-button{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit}
