body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{background-color:#f9fafb;flex:1 1}.main-content:has(.admin-page){margin:0;padding:0}.simple-home{align-items:center;background-color:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.simple-content{margin:0 auto;max-width:37.5rem;text-align:center}.simple-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e40af,#3b82f6);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.simple-content p{color:#6b7280;font-size:1.25rem;line-height:1.6;margin:0 0 2rem}.btn{align-items:center;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:inline-flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1e40af);box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e3a8a);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:#fff;color:#3b82f6}.btn-secondary:hover{background:#3b82f60d;border-color:#3b82f64d;box-shadow:0 2px 8px #3b82f633;transform:translateY(-1px)}@media (max-width:768px){.simple-content h1{font-size:2rem}.simple-content p{font-size:1.1rem}.btn{max-width:18.75rem;width:100%}}.admin-page{background-color:#f9fafb;min-height:100vh;position:relative}.admin-page:before{background:#60a5fa05}.admin-page:after,.admin-page:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.admin-page:after{background-image:linear-gradient(#00000003 1px,#0000 0),linear-gradient(90deg,#00000003 1px,#0000 0);background-size:2.5rem 2.5rem}.mobile-menu-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 .625rem 1.5625rem #0000001a;cursor:pointer;display:none;left:1.25rem;padding:.625rem;position:fixed;top:1.25rem;z-index:110}.mobile-menu-toggle svg{color:#60a5fa;height:1.375rem;width:1.375rem}.admin-sidebar{height:100vh;left:0;overflow:hidden;pointer-events:auto;position:fixed;top:0;transition:transform .2s ease-in-out;width:18rem;z-index:100}.sidebar-background{background:#fff;inset:0;position:absolute;z-index:0}.sidebar-background:after{background-image:linear-gradient(#0000001a 1px,#0000 0),linear-gradient(90deg,#0000001a 1px,#0000 0);background-size:1.25rem 1.25rem;content:"";inset:0;opacity:.02;position:absolute}.sidebar-content{background:#fff;border-right:1px solid #e5e7eb;box-shadow:0 1.5625rem 3.125rem #00000026;display:flex;flex-direction:column;height:100%;position:relative;z-index:20}.sidebar-close{border-radius:.5rem;color:#6b7280;cursor:pointer;display:none;padding:.375rem;position:absolute;right:1rem;top:1rem;transition:all .2s}.sidebar-close:hover{background:#f3f4f6;color:#374151}.sidebar-brand{gap:.75rem;padding:1.5rem 1.25rem 2rem}.brand-logo,.sidebar-brand{align-items:center;display:flex}.brand-logo{background:#60a5fa;border-radius:.75rem;box-shadow:0 .125rem .5rem #60a5fa4d;color:#fff;font-size:1rem;font-weight:700;height:2.5rem;justify-content:center;width:2.5rem}.brand-text h3{color:#2563eb;font-size:1.25rem;font-weight:700;margin:0}.brand-text p{color:#6b7280;font-size:.625rem;font-weight:500;letter-spacing:.1em;margin:.125rem 0 0;text-transform:uppercase}.sidebar-nav-section{flex:1 1;overflow-y:auto;padding:0 1rem}.section-label{color:#9ca3af;font-size:.75rem;font-weight:500;letter-spacing:.1em;margin-bottom:.5rem;padding:0 .75rem .5rem;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:.125rem}.nav-item{color:inherit;display:block;position:relative;text-decoration:none}.nav-item-content{align-items:center;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;overflow:hidden;padding:.625rem .75rem;position:relative;transition:all .2s}.nav-item-content:hover{background:#60a5fa0d;color:#60a5fa}.nav-item.active .nav-item-content{background:#60a5fa1a;box-shadow:0 1px 3px #0000001a;color:#2563eb}.nav-item.active .nav-item-content:before{background:#60a5fa;border-radius:0 .125rem .125rem 0;box-shadow:0 .125rem .25rem #60a5fa4d;content:"";height:1.25rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:.25rem}.nav-item-content:after{background:#60a5fa0d;border-radius:.75rem;content:"";inset:-.25rem;opacity:0;position:absolute;transition:opacity .3s;z-index:-1}.nav-item-content:hover:after{opacity:1}.nav-icon{align-items:center;background:#f3f4f6;border-radius:.5rem;color:#6b7280;display:flex;font-size:1.125rem;height:1.75rem;justify-content:center;transition:all .2s;width:1.75rem}.nav-item.active .nav-icon{background:#60a5fa;box-shadow:0 .125rem .5rem #60a5fa4d;color:#fff}.nav-item-content:hover .nav-icon{background:#f3f4f6;color:#6b7280}.nav-label{flex:1 1;z-index:10}.sidebar-user{background:#60a5fa0d;border-top:1px solid #60a5fa1a;margin-top:auto;padding:1rem}.user-profile{gap:.75rem}.user-avatar,.user-profile{align-items:center;display:flex}.user-avatar{background:#60a5fa33;border-radius:50%;box-shadow:0 1px 3px #0000001a;color:#2563eb;font-size:.875rem;font-weight:600;height:2.25rem;justify-content:center;width:2.25rem}.user-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0;text-align:left}.user-name{color:#111827;font-size:.875rem}.user-name,.user-role{font-weight:500;line-height:1.2;margin:0}.user-role{color:#60a5fa;font-size:.625rem;text-transform:capitalize}.logout-btn{background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s}.logout-btn:hover{background:#ef44441a;color:#ef4444}.admin-main{display:flex;flex-direction:column;margin-left:18rem;min-height:100vh;position:relative;z-index:10}.admin-header{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#fffc;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-content{padding:1rem 1.5rem}.header-content,.header-left{align-items:center;display:flex;gap:1rem}.header-left{flex:1 1;min-width:0}.header-search{flex:1 1;min-width:12.5rem;position:relative}.search-icon{color:#9ca3af;height:1.125rem;left:.75rem;position:absolute;top:50%;transform:translateY(-50%);width:1.125rem}.search-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;color:#111827;font-size:.875rem;padding:.625rem .75rem .625rem 2.5rem;transition:all .2s;width:100%}.search-input:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a;outline:none}.search-input::placeholder{color:#9ca3af}.header-right{gap:.75rem}.header-actions,.header-right{align-items:center;display:flex;flex-shrink:0}.header-actions{gap:.5rem}.btn-new-booking{align-items:center;border-radius:.75rem;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;height:2.5rem;padding:.5rem 1rem;transition:all .2s}.btn-new-booking:hover{color:#fff}.btn-new-booking svg{height:1rem;width:1rem}.header-icons{display:flex;gap:.25rem}.icon-btn{background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;padding:.625rem;transition:all .2s}.icon-btn:hover{background:#f3f4f6;color:#60a5fa}.icon-btn svg{height:1.125rem;width:1.125rem}.header-user{align-items:center;border-left:1px solid #e5e7eb;cursor:pointer;display:flex;gap:.75rem;padding-left:.75rem;position:relative}.user-avatar-small{align-items:center;background:#60a5fa;border-radius:50%;box-shadow:0 .125rem .5rem #60a5fa4d;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.user-details{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem}.user-info-header{align-items:center;display:flex;gap:.25rem}.user-details .user-name{color:#111827;font-size:.875rem;font-weight:500;margin:0}.user-details .user-role{color:#60a5fa;font-size:.625rem;font-weight:500;margin:0;text-transform:capitalize}.dropdown-arrow{color:#9ca3af;height:1rem;transition:transform .2s;width:1rem}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 .625rem 1.5625rem #0000001a;margin-top:.5rem;min-width:12.5rem;position:absolute;right:0;top:100%;z-index:1000}.dropdown-header{border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.dropdown-name{color:#111827;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.dropdown-email{color:#6b7280;font-size:.75rem;margin:0}.dropdown-divider{background:#e5e7eb;height:1px;margin:0}.dropdown-menu{padding:.25rem 0}.dropdown-item{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.625rem;padding:.5rem 1rem;transition:background-color .2s}.dropdown-item:hover{background:#f9fafb}.dropdown-item svg{color:#6b7280;height:1rem;width:1rem}.dropdown-item.sign-out,.dropdown-item.sign-out svg{color:#dc2626}.dropdown-item.sign-out:hover{background:#fef2f2}.admin-content{background-color:#f9fafb;flex:1 1;padding:1rem;position:relative;z-index:20}.content-wrapper{margin:0;width:100%}.dashboard-overview{display:flex;flex-direction:column;gap:1.5rem;width:100%}.dashboard-header{align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:space-between}.dashboard-title{display:flex;flex-direction:column;gap:.25rem}.dashboard-title h1{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.dashboard-title p{color:#6b7280;margin:0}.dashboard-actions{align-items:center;display:flex;gap:.75rem}.btn-primary{align-items:center;background:#60a5fa;border:none;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;height:2.5rem;justify-content:center;padding:.5rem .75rem;transition:all .2s}.btn-primary:hover{background:#2563eb;box-shadow:0 .25rem .75rem #60a5fa4d;transform:translateY(-1px)}.btn-primary svg{height:1rem;width:1rem}.btn-secondary{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:.75rem;color:#60a5fa;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:2.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s}.btn-secondary:hover{background:#60a5fa0d;border-color:#60a5fa4d}.btn-secondary svg{height:1rem;width:1rem}.stat-card{overflow:hidden;transition:all .3s}.stat-card:hover{box-shadow:0 .625rem 1.5625rem #0000001a}.stat-card-content{padding:1.5rem}.stat-card-header{align-items:center;display:flex;justify-content:space-between}.stat-info h3{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.stat-number{color:#111827;font-size:1.5rem}.stat-change{align-items:center;display:flex;font-size:.75rem;gap:.25rem}.stat-change svg{height:.75rem;width:.75rem}.stat-icon{height:3rem;width:3rem}.stat-icon.blue{background:#60a5fa33;color:#60a5fa}.stat-icon.green{background:#dcfce7;color:#16a34a}.stat-icon.yellow{background:#fef3c7;color:#d97706}.stat-icon.purple{background:#e9d5ff;color:#7c3aed}.stat-icon svg{height:1.5rem;width:1.5rem}.feature-card{border:1px solid #e5e7eb;overflow:hidden;transition:all .3s}.feature-card:hover{box-shadow:0 .625rem 1.5625rem #0000001a}.feature-card-content{padding:1.5rem;text-align:center}.feature-icon{border-radius:.75rem;height:4rem;margin:0 auto 1rem;transition:transform .2s;width:4rem}.feature-card:hover .feature-icon{transform:scale(1.05)}.feature-icon.blue{background:#60a5fa33;color:#60a5fa}.feature-icon.purple{background:#e9d5ff;color:#7c3aed}.feature-icon svg{height:2rem;width:2rem}.feature-content h3{color:#111827;font-size:1.125rem}.feature-content p{color:#6b7280;font-size:.875rem}.recent-section{border:1px solid #e5e7eb;overflow:hidden}.recent-header{display:flex;flex-direction:column;gap:.25rem;padding:1.5rem 1.5rem 0}.recent-title{align-items:center;display:flex;justify-content:space-between}.recent-title h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.view-all-btn{background:#0000;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-size:.875rem;font-weight:500;height:2.25rem;padding:.375rem .875rem;transition:all .2s}.view-all-btn:hover{background:#f9fafb;color:#374151}.recent-content{padding:0 1.5rem 1.5rem}.bookings-list{gap:1rem}.booking-card{background:#f9fafb;justify-content:space-between}.booking-info{align-items:center;display:flex;gap:.75rem}.booking-icon{color:#60a5fa}.booking-icon svg{height:1.25rem;width:1.25rem}.booking-details h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .25rem}.booking-details p{color:#6b7280;font-size:.875rem;margin:0}.booking-meta{text-align:right}.booking-date{color:#9ca3af;font-size:.875rem;margin:0 0 .25rem}.status-badge{border-radius:9999px;display:inline-flex}.admin-footer{background:#fff;border-top:1px solid #e5e7eb;padding:1rem 1.5rem;position:relative;z-index:10}.footer-content{color:#9ca3af;font-size:.875rem;text-align:center}@media (max-width:1024px){.admin-sidebar{transform:translateX(-100%)}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0}.mobile-menu-toggle,.sidebar-close,.user-details{display:block}.dashboard-header{align-items:flex-start;flex-direction:column;gap:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.feature-cards{grid-template-columns:1fr}}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.header-left{width:100%}.header-right{justify-content:space-between;width:100%}.header-actions{display:none}.stats-grid{grid-template-columns:1fr}.admin-content{padding:1rem}}.btn-new-booking{background:#60a5fa;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease}.btn-new-booking:hover{background:#2563eb;box-shadow:0 .25rem .75rem #60a5fa4d;transform:translateY(-1px)}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem}.stat-card{align-items:center;background:#fff;border:none;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 .25rem .75rem #00000026;transform:translateY(-.125rem)}.stat-icon{align-items:center;background:#60a5fa;border-radius:.75rem;display:flex;font-size:2.5rem;height:3.75rem;justify-content:center;width:3.75rem}.stat-content h3{color:#374151;font-size:.9rem;font-weight:600;letter-spacing:.03125rem;margin:0 0 .25rem;text-transform:uppercase}.stat-number{color:#2563eb;font-size:2rem;font-weight:700;margin:0 0 .25rem}.stat-change{color:#10b981;font-size:.8rem;margin:0}.feature-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));margin-bottom:1.25rem}.feature-card{align-items:center;background:#fff;border:none;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;gap:1.25rem;padding:2rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 .25rem .75rem #00000026;transform:translateY(-.125rem)}.feature-icon{background:#60a5fa;border-radius:1rem;display:flex;font-size:3rem;height:5rem;width:5rem}.feature-content h3{color:#2563eb;font-size:1.25rem;font-weight:600;margin:0 0 .5rem;text-align:center}.feature-content p{color:#64748b;font-size:.9rem;line-height:1.5;margin:0;text-align:center}.recent-section{background:#fff;border:none;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2.5rem}.section-header h2{color:#2563eb;font-size:1.5rem;font-weight:600;margin:0}.view-all-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.9rem;font-weight:600;transition:color .2s ease}.view-all-btn:hover{color:#1d4ed8}.bookings-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.booking-card{align-items:center;background:#f8fafc;border-radius:.5rem;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.booking-card:hover{background:#f0f9ff;transform:translateX(.25rem)}.booking-icon{align-items:center;background:#60a5fa33;border-radius:50%;display:flex;font-size:1.2rem;height:2.5rem;justify-content:center;width:2.5rem}.booking-info{flex:1 1}.booking-info h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 .25rem}.booking-info p{color:#64748b;font-size:.85rem;margin:0}.booking-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.booking-date{color:#374151;font-size:.85rem;margin:0}.status-badge{font-weight:600;letter-spacing:.03125rem;padding:.25rem .75rem}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef3c7;color:#92400e}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.feature-cards{grid-template-columns:1fr}}.login-page{display:flex;flex-direction:column;height:100dvh;overflow:hidden}@media (min-width:48em){.login-page{flex-direction:row}}.login-left{background:#60a5fa;box-sizing:border-box;color:#fff;overflow:hidden;padding:2rem;position:relative;width:100%}@media (min-width:48em){.login-left{width:50%}.login-left,.login-right{flex:0 0 50%;max-width:50%}.login-right{justify-content:center}}@media (min-width:64em){.login-left{width:50%}.login-left,.login-right{flex:0 0 50%;max-width:50%}.login-right{justify-content:center}}.left-overlay-grid{display:none;inset:0;pointer-events:none;position:absolute}.left-ornament{border-radius:9999px;display:none;position:absolute}.brand-row{gap:.75rem}.brand-badge,.brand-row{align-items:center;display:flex}.brand-badge{background:#fff;border-radius:.75rem;color:#2563eb;font-weight:700;height:clamp(2rem,4vw,2.75rem);justify-content:center;width:clamp(2rem,4vw,2.75rem)}.brand-name{color:inherit;font-size:clamp(1rem,1.2vw + .8rem,1.5rem);font-weight:700}.left-content{margin:5rem 0 4rem;max-width:36rem;text-align:left}.headline{color:inherit;font-size:clamp(1.5rem,2.5vw + .5rem,2.25rem);font-weight:800;line-height:1.2;margin-bottom:.75rem;text-align:left}.subhead{color:inherit;margin-bottom:1rem}.features{list-style:none;margin:0;padding:0;text-align:left}.features li{grid-column-gap:1.75rem;align-items:center;color:inherit;column-gap:1.75rem;display:grid;grid-template-columns:1.2rem 1fr;margin:.625rem 0;text-align:left}.features li span{margin:0;text-align:left}.feature-icon{align-items:center;background:#fff3;border-radius:.25rem;color:#fff;display:inline-flex;font-size:.75rem;justify-content:center;line-height:1;padding:.05rem}.login-left .feature-icon{background:#ffffff1f!important;border-radius:.375rem!important;height:1.25rem!important;padding:.5rem!important;width:1.25rem!important}.footer-note{color:inherit;font-size:.75rem}.login-right{align-items:center;background:#fff;box-sizing:border-box;display:flex;justify-content:center;padding:4rem 2rem;width:100%}@media (prefers-color-scheme:dark){.login-right{background:#0b0b0c;color:#f3f4f6}}.panel{max-width:clamp(22rem,42vw,32rem);width:100%}.panel-header h2{font-size:clamp(1.25rem,1.5vw + .75rem,1.75rem);margin:0}.panel-header p{color:#6b7280;margin-top:.375rem}.form{grid-gap:1rem;display:grid;gap:1rem;margin-top:1.125rem}.form-group label{color:#374151;font-size:.875rem;margin-bottom:.375rem}.required-asterisk{margin-left:.25rem}@media (prefers-color-scheme:dark){.form-group label{color:#d1d5db}}.input-wrap{position:relative}.input-icon{color:#9ca3af;left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-icon svg{display:block;height:1rem;width:1rem}.input-wrap input{background:#fff;border:1px solid #d1d5db;border-radius:.625rem;box-sizing:border-box;color:#111827;font-size:.875rem;outline:none;padding:.75rem 2.25rem .75rem 2.5rem;transition:box-shadow .15s,border-color .15s;width:100%}.input-wrap input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.input-action{background:#0000;border:none;color:#9ca3af;cursor:pointer;display:inline-flex;padding:0;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.input-action:hover{color:#6b7280}.input-action svg{display:block;height:1.125rem;width:1.125rem}@media (prefers-color-scheme:dark){.input-wrap input{background:#111827;border-color:#374151;color:#f3f4f6}.input-wrap input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa40}}.form-row{align-items:center;display:flex;justify-content:space-between}.checkbox{align-items:center;color:#374151;display:inline-flex;gap:.5rem}.checkbox,.link{font-size:.875rem}.link{background:#0000;border:0;color:#2563eb;text-decoration:none}.link:hover{text-decoration:underline}.btn{border:0;border-radius:.625rem;font-weight:600;padding:.75rem .875rem;transition:transform .12s,box-shadow .15s,opacity .15s}.btn:active{transform:scale(.98)}.login-page .btn-primary{background:#60a5fa;box-shadow:none;box-sizing:border-box;color:#fff;display:block;gap:.5rem;text-align:center;width:100%}.login-page .btn-primary:hover{background:#60a5fa}.arrow{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.form-footer{align-items:center;color:#6b7280;display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.form-footer .link{color:#2563eb}.form-footer .link:hover{color:#1d4ed8;text-decoration:underline}.register-page .panel{max-width:clamp(22rem,42vw,34rem);min-height:60vh}.register-page{height:100dvh;overflow:hidden}.register-page .login-right{margin:2rem 0}.admin-container{background-color:#f9fafb;min-height:100vh}.admin-navigation{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;padding:0 1.25rem}.nav-tabs{display:flex;gap:0;margin:0 auto;max-width:75rem}.nav-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;text-decoration:none;transition:all .2s ease}.nav-tab:hover{background-color:#f9fafb;color:#374151}.nav-tab.active{background-color:#eff6ff;border-bottom-color:#2563eb;color:#2563eb}.nav-icon{font-size:1rem}@media (max-width:768px){.admin-navigation{padding:0 .625rem}.nav-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.nav-tab{flex-shrink:0;padding:.75rem 1rem;white-space:nowrap}}.user-list-container{margin:0;max-width:100%;padding:0}.user-list-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.user-list-header .btn-primary{display:inline-flex;width:auto}.user-list-header h2{color:#333;font-size:1.5rem;margin:0}.user-list-stats{background-color:#f8f9fa;border-radius:.3125rem;color:#666;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem;padding:.5rem}.user-table-container{border-radius:.5rem;box-shadow:0 .125rem .25rem #0000001a;margin-bottom:.75rem;overflow-x:auto}.user-table{background-color:#fff;border-collapse:collapse;width:100%}.user-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;text-align:left}.user-table td,.user-table th{font-size:.875rem;padding:.625rem .5rem}.user-table td{border-bottom:1px solid #dee2e6;vertical-align:middle}.user-table .col-username{max-width:11.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:11.25rem}.user-table .col-email,.user-table .col-fullname{max-width:13.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:13.75rem}.user-table tr:hover{background-color:#f8f9fa}.no-data{color:#666;font-style:italic;padding:2.5rem;text-align:center}.status-badge{border-radius:.75rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.status-badge.active{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.inactive{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-badge.locked{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.unknown{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.roles-container{display:flex;flex-wrap:wrap;gap:.25rem}.role-badge{border-radius:.625rem;font-size:.6875rem;font-weight:500;padding:.125rem .375rem}.role-badge.neutral{background:#0000;border:none;color:#111827}.action-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.btn{border:none;border-radius:.25rem;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:500;padding:.375rem .75rem;text-decoration:none;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover:not(:disabled){background-color:#e0a800}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-sm{font-size:.6875rem;padding:.25rem .5rem}.btn-icon{align-items:center;display:inline-flex;height:1.75rem;justify-content:center;padding:.375rem;width:1.75rem}.btn-icon svg{height:.875rem;width:.875rem}.btn-icon-outline{background:#0000;border:1px solid #e5e7eb;border-radius:.5rem}.btn-icon-outline:hover{background:#f9fafb}.btn-icon-outline.color-blue{border-color:#bfdbfe;color:#3b82f6}.btn-icon-outline.color-blue:hover{background:#eff6ff}.btn-icon-outline.color-purple{border-color:#e9d5ff;color:#7c3aed}.btn-icon-outline.color-purple:hover{background:#f5f3ff}.btn-icon-outline.color-red{border-color:#fecaca;color:#ef4444}.btn-icon-outline.color-red:hover{background:#fef2f2}.btn-icon-outline.color-yellow{border-color:#fde68a;color:#d97706}.btn-icon-outline.color-yellow:hover{background:#fef9c3}.pagination{align-items:center;display:flex;gap:.9375rem;justify-content:center;margin-top:1.25rem}.page-info{color:#666;font-weight:500}.pagination .btn-secondary{background:#fff;border:1px solid #bfdbfe;border-radius:.625rem;box-shadow:0 1px 2px #0000000a;color:#2563eb;padding:.5rem .875rem}.pagination .btn-secondary:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}.pagination .btn-secondary:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;transform:none}.loading{color:#666;font-size:1rem;padding:2.5rem;text-align:center}.error-message{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.3125rem;color:#721c24;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding:.9375rem}.toast{background:#10b981;border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:#fff;padding:.75rem 1rem;position:fixed;right:1rem;top:5.5rem;z-index:100000}.toast.error{background:#ef4444}.toast.success{background:#10b981}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 .25rem .375rem #0000001a;display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:37.5rem;width:100%}.status-modal{max-width:31.25rem}.confirm-modal{max-width:32.5rem}.confirm-body{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #eef2f7;display:flex;gap:.75rem;padding:1.25rem}.confirm-icon{align-items:center;border-radius:.625rem;display:flex;height:2.25rem;justify-content:center;width:2.25rem}.confirm-icon.danger{background:#fee2e2;border:1px solid #fecaca;color:#ef4444}.confirm-texts{flex:1 1}.confirm-message{color:#111827;font-weight:600;margin:0}.confirm-subtext{color:#6b7280;font-size:.75rem;margin:.25rem 0 0}.confirm-modal .form-actions{gap:.75rem;justify-content:center;padding:1rem 1.5rem 1.25rem}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h3{color:#333;margin:0}.modal-close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:1.875rem;justify-content:center;padding:0;width:1.875rem}.modal-close-btn:hover:not(:disabled){color:#333}.status-form,.user-form{flex:1 1;max-height:calc(90vh - 10rem);overflow-y:auto;padding:0 1.5rem 1.25rem;padding-top:1.5rem!important}.form-group{margin-bottom:1.25rem}.form-group:first-child{margin-top:0}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.3125rem}.required-asterisk{color:#ef4444;margin-left:2px}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{border:1px solid #ced4da;border-radius:.5rem;box-sizing:border-box;font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s;width:100%}.pretty-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%239ca3af" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');background-position:right 10px center;background-repeat:no-repeat;background-size:16px;border:1px solid #ced4da;border-radius:.5rem;color:#111827;font-size:.875rem;padding:.625rem 2.25rem .625rem .75rem;width:100%}.pretty-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.pretty-select.error{border-color:#dc3545}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group input.error{border-color:#dc3545}.form-group input:disabled{background-color:#e9ecef;cursor:not-allowed}.error-message{color:#dc3545;display:block;font-size:.75rem;margin-top:.3125rem}.optional{color:#666;font-size:.75rem;font-weight:400}.roles-selection{display:flex;flex-wrap:wrap;gap:.9375rem;margin-top:.625rem}.role-checkbox{align-items:center;border:1px solid #ced4da;border-radius:.25rem;cursor:pointer;display:flex;gap:.3125rem;padding:.5rem .75rem;transition:all .2s}.role-checkbox:hover{background-color:#f8f9fa}.role-checkbox input[type=checkbox]{margin:0}.status-options{display:flex;flex-direction:column;gap:.625rem;margin-top:.625rem}.status-option{align-items:flex-start;border:2px solid #e9ecef;border-radius:.5rem;cursor:pointer;display:flex;gap:.625rem;padding:.9375rem;transition:all .2s}.status-option:hover{background-color:#f8f9fa;border-color:#007bff}.status-option.selected{background-color:#e7f3ff;border-color:#007bff}.status-option input[type=radio]{margin:.125rem 0 0}.status-content{flex:1 1}.status-header{align-items:center;display:flex;gap:.625rem;margin-bottom:.3125rem}.status-label{color:#333;font-weight:600}.status-value{background-color:#e9ecef;border-radius:.625rem;color:#666;font-size:.75rem;padding:.125rem .375rem}.status-description{color:#666;font-size:.8125rem;line-height:1.4}.user-info{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:1.25rem}.user-info h4{color:#333;margin:0 0 .9375rem}.user-details p{font-size:.875rem;margin:.5rem 0}.current-status{border-radius:.625rem;font-size:.75rem;font-weight:500;margin-left:.625rem;padding:.125rem .5rem}.current-status.active{background-color:#d4edda;color:#155724}.current-status.inactive{background-color:#f8d7da;color:#721c24}.current-status.locked{background-color:#fff3cd;color:#856404}.form-actions{background:#fff;border-top:1px solid #dee2e6;display:flex;flex-shrink:0;gap:.625rem;justify-content:flex-end;margin-top:0;padding:1.25rem 1.5rem}.login-page .form-group{margin-bottom:1rem}.login-page .input-wrap input{font-family:inherit;line-height:1.5;padding-left:2.5rem!important}.login-page .input-wrap input::placeholder{color:#9ca3af;opacity:1}.login-page .input-icon{z-index:1}.login-page .input-action{z-index:2}@media (max-width:768px){.user-list-container{padding:.625rem}.user-list-header{align-items:stretch;flex-direction:column;gap:.9375rem}.user-table-container{font-size:.75rem}.user-table td,.user-table th{padding:.5rem .25rem}.action-buttons{flex-direction:column}.modal-overlay{align-items:flex-start;padding:.5rem}.modal-content{margin:.5rem auto;max-height:95vh;width:100%}.status-form,.user-form{max-height:calc(95vh - 8rem);padding:0 1rem 1rem;padding-top:1.25rem!important}.form-actions,.modal-header{padding:1rem}.form-group{margin-bottom:1rem}.form-actions,.roles-selection{flex-direction:column}.login-page .input-wrap input{font-size:1rem;padding:.75rem 2.25rem .75rem 2.5rem!important}}@media (max-width:480px){.modal-overlay{padding:.25rem}.modal-content{border-radius:.25rem;max-height:98vh}.status-form,.user-form{max-height:calc(98vh - 7rem);padding:0 .75rem .75rem;padding-top:1rem!important}.form-actions,.modal-header{padding:.75rem}.form-group{margin-bottom:.875rem}}
/*# sourceMappingURL=main.d65e06da.css.map*/