.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:var(--spacing-lg)}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--gradient-primary);top:-250px;left:-250px;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--gradient-secondary);bottom:-200px;right:-200px;animation-delay:5s}.orb-3{width:350px;height:350px;background:var(--gradient-success);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-container{position:relative;z-index:1;width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:center}.login-card{background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);animation:fadeIn .6s ease-out}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.logo-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.logo-icon{width:64px;height:64px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow);animation:pulse 2s ease-in-out infinite}.logo-icon svg{width:36px;height:36px}.login-title{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.login-divider{position:relative;text-align:center;margin:var(--spacing-xl) 0}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.login-divider span{position:relative;background:#1e293bcc;padding:0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.login-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.oauth-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0d;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.oauth-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform var(--transition-slow)}.oauth-button:hover:before{transform:translate(100%)}.oauth-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#fff3;background:#ffffff14}.oauth-button:active{transform:translateY(0)}.oauth-icon{width:24px;height:24px;flex-shrink:0}.google-button:hover{border-color:#4285f4;box-shadow:0 0 20px #4285f44d}.microsoft-button:hover{border-color:#00a4ef;box-shadow:0 0 20px #00a4ef4d}.login-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.05)}.footer-text{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.login-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.info-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);animation:slideIn .6s ease-out}.info-card:nth-child(2){animation-delay:.1s}.info-card:nth-child(3){animation-delay:.2s}.info-card:hover{transform:translate(8px);border-color:#ffffff1a;background:#1e293bcc}.info-icon{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.info-card h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.info-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}@media (max-width: 968px){.login-container{grid-template-columns:1fr;max-width:500px}.login-info{display:none}}@media (max-width: 480px){.login-page{padding:var(--spacing-md)}.login-card{padding:var(--spacing-lg)}.login-title{font-size:var(--font-size-2xl)}.oauth-button{padding:var(--spacing-md);font-size:var(--font-size-sm)}}.navbar{background:#1e293bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.navbar-container{max-width:1400px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-md)}.navbar-logo{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}.navbar-logo svg{width:24px;height:24px}.navbar-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.navbar-actions{display:flex;align-items:center;gap:var(--spacing-md)}@media (max-width: 1024px){.navbar-container{gap:var(--spacing-sm)}}@media (max-width: 768px){.navbar-container{padding:var(--spacing-sm) var(--spacing-md)}.navbar-title{font-size:var(--font-size-base)}.navbar-brand{flex:0 0 auto}.navbar-actions{margin-left:auto}}@media (max-width: 480px){.navbar-title{display:none}.navbar-logo{width:36px;height:36px}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.user-menu-trigger:hover{background:#ffffff14;border-color:#ffffff26}.user-menu-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.user-menu-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-menu-email{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-menu-chevron{width:16px;height:16px;color:var(--color-text-secondary);transition:transform var(--transition-base)}.user-menu-trigger:hover .user-menu-chevron{transform:translateY(2px)}.user-menu-header{padding:var(--spacing-md);background:#ffffff05;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.user-menu-header-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.user-menu-header-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (max-width: 768px){.user-menu-info,.user-menu-chevron{display:none}.user-menu-trigger{padding:var(--spacing-sm)}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--gradient-primary);cursor:pointer;transition:all var(--transition-base)}.avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-base)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-xl)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;text-transform:uppercase}.dropdown{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;top:calc(100% + 8px);min-width:200px;background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-sm);z-index:1000;animation:dropdownSlideIn .2s ease-out}.dropdown-menu-right{right:0}.dropdown-menu-left{left:0}.dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);text-align:left}.dropdown-item:hover{background:#ffffff0d}.dropdown-item-default:hover{background:#6366f11a;color:var(--color-primary-light)}.dropdown-item-danger:hover{background:#ef44441a;color:#fca5a5}.dropdown-item-icon{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center}.dropdown-item-label{flex:1}.dropdown-divider{height:1px;background:#ffffff1a;margin:var(--spacing-sm) 0}.nav-menu{display:flex;align-items:center;position:relative}.nav-menu-items{display:flex;gap:var(--spacing-sm)}.nav-menu-item{position:relative}.nav-menu-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.nav-menu-button:hover{background:#ffffff0d;border-color:#ffffff1a}.nav-menu-button.active{background:#6366f11a;border-color:#6366f14d;color:var(--color-primary-light)}.nav-menu-chevron{width:16px;height:16px;transition:transform var(--transition-base)}.nav-menu-button.active .nav-menu-chevron{transform:rotate(180deg)}.nav-submenu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-sm);z-index:1000;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-submenu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);text-align:left}.nav-submenu-item:hover{background:#6366f11a;color:var(--color-primary-light);transform:translate(4px)}.nav-submenu-icon{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;width:24px}@media (max-width: 768px){.nav-menu{display:none}}.nav-submenu-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.nav-submenu-header{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.nav-submenu-item.nested{padding-left:2rem}.dashboard-page{min-height:100vh;background:var(--color-bg-primary)}.dashboard-main{padding:var(--spacing-2xl) var(--spacing-lg)}.dashboard-container{max-width:1400px;margin:0 auto}.welcome-section{margin-bottom:var(--spacing-2xl);animation:fadeIn .6s ease-out}.welcome-title{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-xl)}.info-panel{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);overflow:hidden;animation:slideIn .6s ease-out;transition:all var(--transition-base)}.info-panel:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:#ffffff26}.user-panel{grid-column:span 2}.panel-header{padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.panel-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.group-count{padding:var(--spacing-xs) var(--spacing-md);background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:#6ee7b7;font-weight:500}.panel-content{padding:var(--spacing-xl)}.user-avatar{width:120px;height:120px;margin:0 auto var(--spacing-xl);border-radius:50%;overflow:hidden;border:4px solid rgba(99,102,241,.3);box-shadow:var(--shadow-glow)}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:#ffffff05;border-radius:var(--radius-md);transition:all var(--transition-base)}.detail-row:hover{background:#ffffff0d}.detail-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:500}.detail-code{font-family:Monaco,Courier New,monospace;font-size:var(--font-size-sm);color:var(--color-primary-light)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);transition:all var(--transition-base)}.stat-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:scale(1.02)}.stat-icon{font-size:var(--font-size-3xl)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr}.user-panel{grid-column:span 1}}@media (max-width: 768px){.welcome-title{font-size:var(--font-size-3xl)}.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.stats-grid{grid-template-columns:1fr}.nav-container{padding:var(--spacing-sm) var(--spacing-md)}.brand-name{display:none}}.profile-page{min-height:100vh;background:var(--color-bg-primary)}.profile-main{padding:var(--spacing-2xl) var(--spacing-lg)}.profile-container{max-width:1000px;margin:0 auto}.profile-header{margin-bottom:var(--spacing-2xl);animation:fadeIn .6s ease-out}.profile-title{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.profile-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.profile-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);overflow:hidden;animation:slideIn .6s ease-out;transition:all var(--transition-base)}.profile-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:#ffffff26}.profile-card-header{padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.profile-card-header h2{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.provider-badge{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-primary-light)}.provider-icon{width:20px;height:20px}.group-count-badge{padding:var(--spacing-xs) var(--spacing-md);background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:#6ee7b7;font-weight:500}.profile-avatar-section{display:flex;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid rgba(99,102,241,.3);box-shadow:var(--shadow-glow)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-details{padding:0 var(--spacing-xl) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:#ffffff05;border-radius:var(--radius-md);transition:all var(--transition-base)}.profile-detail-row:hover{background:#ffffff0d}.profile-detail-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.profile-detail-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:500;text-align:right}.profile-detail-code{font-family:Monaco,Courier New,monospace;font-size:var(--font-size-sm);color:var(--color-primary-light)}.profile-groups{padding:var(--spacing-xl)}.groups-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.group-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);transition:all var(--transition-base)}.group-item:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(4px)}.group-icon{font-size:var(--font-size-xl)}.group-name{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:500}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}@media (max-width: 768px){.profile-title{font-size:var(--font-size-3xl)}.profile-detail-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.profile-detail-value{text-align:left}}.callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary)}.callback-container{text-align:center;padding:var(--spacing-2xl)}.callback-processing,.callback-error{animation:fadeIn .4s ease-out}.spinner{width:64px;height:64px;margin:0 auto var(--spacing-lg);border:4px solid rgba(99,102,241,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.callback-processing h2,.callback-error h2{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.callback-processing p,.callback-error p{font-size:var(--font-size-base);color:var(--color-text-secondary)}.error-icon{font-size:64px;margin-bottom:var(--spacing-lg)}.redirect-message{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.inventory-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.form-input{padding:var(--spacing-md) var(--spacing-lg);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.form-input:focus{outline:none;background:#ffffff14;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #6366f11a}.form-input.error{border-color:#f87171}.form-input::placeholder{color:var(--color-text-muted)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.error-message{font-size:var(--font-size-xs);color:#f87171;margin-top:-4px}.request-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-xl);animation:slideIn .6s ease-out}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.request-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.vouchers-section{margin-top:var(--spacing-lg)}.vouchers-section h4{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.voucher-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.voucher-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);font-weight:600;color:var(--color-text-secondary)}.btn-remove,.btn-add,.btn-add-request,.btn-submit{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-remove{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.btn-remove:hover{background:#ef444433;transform:translateY(-1px)}.btn-remove-small{width:28px;height:28px;padding:0;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:50%;color:#fca5a5;font-size:20px;line-height:1;cursor:pointer;transition:all var(--transition-base)}.btn-remove-small:hover{background:#ef444433;transform:scale(1.1)}.btn-add,.btn-add-request{background:#6366f11a;border:1px solid rgba(99,102,241,.3);color:var(--color-primary-light)}.btn-add:hover,.btn-add-request:hover{background:#6366f133;transform:translateY(-1px)}.btn-submit{background:var(--gradient-primary);color:#fff;padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base);margin-top:var(--spacing-lg)}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.result-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);text-align:center;animation:slideIn .6s ease-out}.result-card.success{border-color:#10b9814d;background:#10b9810d}.result-card.error{border-color:#ef44444d;background:#ef44440d}.result-icon{font-size:48px;margin-bottom:var(--spacing-md)}.result-card h3{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.result-details{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:500px;margin:0 auto}.result-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:#ffffff05;border-radius:var(--radius-md)}.result-item.highlight{background:#6366f11a;border:1px solid rgba(99,102,241,.3)}.result-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.result-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:600}.result-value.password{font-family:Monaco,Courier New,monospace;font-size:var(--font-size-lg);color:var(--color-primary-light);background:#0003;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.request-header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}}.results-section{margin-bottom:var(--spacing-xl)}.results-section h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.result-request-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.result-request-card h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text-secondary);border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:var(--spacing-sm)}.voucher-results{display:flex;flex-direction:column;gap:var(--spacing-md)}.voucher-result{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:var(--spacing-md)}.voucher-result.success{border-left:4px solid #10b981}.voucher-result.error{border-left:4px solid #f87171}.voucher-info{font-family:monospace;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.voucher-status{font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.voucher-matches{background:#0003;padding:var(--spacing-md);border-radius:var(--radius-md)}.voucher-matches ul{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0}.voucher-matches li{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(255,255,255,.05)}.voucher-matches li:last-child{border-bottom:none}.voucher-error{color:#f87171;font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.export-form{width:100%}.form-help{display:block;margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.file-upload-wrapper{position:relative}.file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-label{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--color-bg-primary);border:2px dashed rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.file-label:hover{border-color:var(--color-primary);background:#6366f10d}.file-input:focus+.file-label{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.file-icon{font-size:1.5rem}.file-text{color:var(--color-text-secondary);font-size:.875rem}.form-actions{margin-top:2rem}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.6}.alert-error{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error)}.alert-success{background:#10b9811a;border:1px solid var(--color-success);color:var(--color-success)}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinSmall .6s linear infinite}@keyframes spinSmall{to{transform:rotate(360deg)}}.info-box{background:#6366f10d;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);padding:1.5rem}.info-box h3{color:var(--color-primary-light);font-size:1rem;font-weight:600;margin-bottom:.5rem}.jobs-page{padding:2rem;max-width:1400px;margin:0 auto}.jobs-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.jobs-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info{display:flex;align-items:center;gap:1rem;background:var(--color-bg-secondary);padding:.75rem 1.5rem;border-radius:12px;border:1px solid var(--color-border)}.user-badge{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.user-badge.admin{background:var(--color-success)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--color-bg-secondary);padding:1.5rem;border-radius:16px;border:1px solid var(--color-border);transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #6366f133;border-color:var(--color-primary)}.stat-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-value.pending{color:#8b5cf6}.stat-value.processing{color:#f59e0b}.stat-value.completed{color:var(--color-success)}.stat-trend{font-size:.75rem;color:var(--color-success)}.filters{background:var(--color-bg-secondary);padding:1.5rem;border-radius:16px;border:1px solid var(--color-border);margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group label{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.filter-group select,.filter-group input{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.625rem 1rem;border-radius:8px;font-size:.875rem;transition:all .2s;min-width:150px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.btn{background:var(--color-primary);color:#fff;border:none;padding:.625rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem}.btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:var(--color-bg-tertiary)}.btn-secondary:hover{background:var(--color-border)}.jobs-table-container{background:var(--color-bg-secondary);border-radius:16px;border:1px solid var(--color-border);overflow:hidden}.table-header{padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.table-header h2{font-size:1.25rem;font-weight:600}thead{background:var(--color-bg-primary)}th{text-align:left;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}tbody tr{border-bottom:1px solid var(--color-border);transition:background .2s}tbody tr:hover{background:var(--color-bg-tertiary)}td code{color:var(--color-primary);background:#6366f11a;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:6px;font-weight:600;font-size:.75rem;text-transform:uppercase}.status-pending{background:#8b5cf633;color:#8b5cf6}.status-processing{background:#f59e0b33;color:#f59e0b}.status-completed{background:#10b98133;color:var(--color-success)}.status-failed{background:#ef444433;color:var(--color-error)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.job-type{background:#6366f11a;color:var(--color-primary);padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}.duration{color:var(--color-text-secondary);font-size:.875rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.empty-state h3{margin-bottom:.5rem}.loading{text-align:center;padding:2rem}.spinner{border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;border-top:1px solid var(--color-border)}.pagination button{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error);padding:1rem;border-radius:8px;margin-bottom:1rem}@media (max-width: 768px){.jobs-page{padding:1rem}.jobs-header h1{font-size:1.5rem}.filters{flex-direction:column;align-items:stretch}.filter-group,.filter-group select,.filter-group input{width:100%}table{font-size:.75rem}th,td{padding:.75rem}}.user-management-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b)}.user-management-main{padding:2rem}.user-management-container{max-width:1400px;margin:0 auto}.header{margin-bottom:2rem}.header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.message{padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.message.success{background:#10b9811a;border:1px solid var(--success);color:var(--success)}.message.error{background:#ef44441a;border:1px solid var(--error);color:var(--error)}.filters{background:var(--bg-card);padding:1.5rem;border-radius:16px;border:1px solid var(--border);margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.filter-group input,.filter-group select{background:var(--bg-dark);border:1px solid var(--border);color:var(--text-primary);padding:.625rem 1rem;border-radius:8px;font-size:.875rem;transition:all .2s;min-width:150px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.btn{background:var(--primary);color:#fff;border:none;padding:.625rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem}.btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:var(--bg-hover)}.btn-danger{background:var(--error)}.btn-small{padding:.375rem .75rem;font-size:.75rem}.table-container{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);overflow:hidden}table{width:100%;border-collapse:collapse}thead{background:var(--bg-dark)}th{text-align:left;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase}tbody tr{border-bottom:1px solid var(--border);transition:background .2s}tbody tr:hover{background:var(--bg-hover)}td{padding:1rem 1.5rem;font-size:.875rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin:.125rem}.role-guest{background:#94a3b833;color:var(--text-secondary)}.role-om{background:#f59e0b33;color:var(--warning)}.role-im{background:#6366f133;color:var(--primary)}.role-admin{background:#10b98133;color:var(--success)}.status-badge{padding:.375rem .875rem;border-radius:6px;font-weight:600;font-size:.75rem;text-transform:uppercase}.status-active{background:#10b98133;color:var(--success)}.status-blocked{background:#ef444433;color:var(--error)}.actions{display:flex;gap:.5rem}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{background:var(--bg-card);padding:2rem;border-radius:16px;border:1px solid var(--border);max-width:500px;width:90%}.modal-header{margin-bottom:1.5rem}.modal-header h2{font-size:1.5rem;margin-bottom:.5rem}.modal-user-email{color:var(--text-secondary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-secondary: #ec4899;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: rgba(255, 255, 255, .1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out}.animate-slide-in{animation:slideIn var(--transition-slow) ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::selection{background:var(--color-primary);color:#fff}::-moz-selection{background:var(--color-primary);color:#fff}
