.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}:root{--sidebar-width: 240px}.admin-layout{display:flex;min-height:100vh;background:var(--bg-primary, #f8fafc)}.admin-main{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width, 240px);transition:margin-left .25s ease}.admin-content{flex:1;padding:2rem;padding-top:calc(64px + 2rem);max-width:1400px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body, "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary, #f5f5f5);color:var(--text-primary, #333)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display, "Syne", sans-serif)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.form-group{margin-bottom:1.5rem}.form-label,.form-group label:not(.checkbox-label){display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary, #333);font-size:14px}.form-input,.form-group input{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--input-border, #e0e0e0);border-radius:6px;background-color:var(--input-bg, #fafafa);color:var(--text-primary, #333);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;font-family:inherit}.form-input:focus,.form-group input:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.form-input::placeholder,.form-group input::placeholder{color:#999}.btn{padding:.55rem 1.1rem;border:1px solid transparent;border-radius:6px;font-size:.9rem;font-weight:600;line-height:1.4;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,transform .1s ease;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--card-bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);border:1px solid var(--input-border, #cbd5e1)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);border-color:#94a3b8}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-online{background-color:#d4edda;color:#155724}.status-offline{background-color:#f8d7da;color:#721c24}.status-stale{background-color:#e2e3e5;color:#383d41}.error-message{padding:12px 16px;background:#fee;border:1px solid #fcc;color:#c33;border-radius:6px;margin-bottom:1rem;font-size:14px}.success-message{padding:12px 16px;background:#d4edda;border:1px solid #c3e6cb;color:#155724;border-radius:6px;margin-bottom:1rem;font-size:14px}.loading{text-align:center;padding:40px;color:#666;font-size:16px}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color, #cbd5e1);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.badge{transition:transform .15s ease,box-shadow .15s ease}@media(prefers-color-scheme:dark){.form-input:focus,.form-group input:focus{background-color:var(--input-bg)}.status-online{background-color:#052e16;color:#86efac}.status-offline{background-color:#450a0a;color:#fca5a5}.status-stale{background-color:#451a03;color:#fcd34d}.error-message{background:#450a0a;border-color:#b91c1c;color:#fca5a5}.success-message{background:#052e16;border-color:#15803d;color:#86efac}.loading{color:var(--text-secondary)}}:root{--primary-color: #1CB5A3;--primary-hover: #169A8B;--secondary-color: #1769AA;--secondary-hover: #125783;--accent-color: #F5A623;--bg-light: #F9FAFB;--bg-card: #FFFFFF;--bg-table: #E5E7EB;--text-heading: #374151;--text-body: #111827;--success-green: #2ECC71;--error-red: #E63946;--warning-amber: #F5A623;--info-blue: #3498DB;--stale-gray: #95A5A6;--sidebar-bg: #1F2937;--sidebar-text: #D1D5DB;--sidebar-active: var(--primary-color);--sidebar-hover: #374151;--kiosk-title: 4rem;--kiosk-status: 3rem;--kiosk-count: 5rem;--kiosk-label: 2rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-display: "Plus Jakarta Sans", "Public Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", "Public Sans", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast: .15s ease;--transition-normal: .3s ease;--bg-primary: #f8fafc;--bg-secondary: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--input-bg: #ffffff;--input-border: #cbd5e1;--card-bg: #ffffff;--card-bg-secondary: #f8fafc;--cubicle-occupied-bg: #fee2e2;--cubicle-occupied-border: #fca5a5;--cubicle-vacant-bg: #dcfce7;--cubicle-vacant-border: #86efac}@media(prefers-color-scheme:dark){html:not(.light){--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-light: #1e293b;--bg-table: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-heading: #f1f5f9;--text-body: #e2e8f0;--border-color: #334155;--input-bg: #0f172a;--input-border: #475569;--card-bg: #1e293b;--card-bg-secondary: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--cubicle-occupied-bg: #450a0a;--cubicle-occupied-border: #991b1b;--cubicle-vacant-bg: #052e16;--cubicle-vacant-border: #166534}}html.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-light: #1e293b;--bg-table: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-heading: #f1f5f9;--text-body: #e2e8f0;--border-color: #334155;--input-bg: #0f172a;--input-border: #475569;--card-bg: #1e293b;--card-bg-secondary: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--cubicle-occupied-bg: #450a0a;--cubicle-occupied-border: #991b1b;--cubicle-vacant-bg: #052e16;--cubicle-vacant-border: #166534}:root{--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic: cubic-bezier(.68, -.6, .32, 1.6);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-circ: cubic-bezier(.85, 0, .15, 1);--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .7s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scale-in-modal{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.animate-fade-in-up{animation:fade-in-up var(--duration-normal) var(--ease-smooth)}.animate-fade-in-down{animation:fade-in-down var(--duration-normal) var(--ease-smooth)}.animate-fade-in-left{animation:fade-in-left var(--duration-normal) var(--ease-smooth)}.animate-fade-in-right{animation:fade-in-right var(--duration-normal) var(--ease-smooth)}.animate-scale-in{animation:scale-in var(--duration-normal) var(--ease-smooth)}.animate-bounce-in{animation:bounce-in var(--duration-slow) var(--ease-elastic)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-backwards{animation-fill-mode:backwards}.animate-forwards{animation-fill-mode:forwards}.animate-both{animation-fill-mode:both}.hover-lift{transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.hover-lift:hover{transform:translateY(-2px)}.hover-lift-strong{transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.hover-lift-strong:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--duration-fast) var(--ease-smooth)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform var(--duration-fast) var(--ease-smooth)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--duration-fast) var(--ease-smooth)}.hover-glow:hover{box-shadow:0 0 20px #3b82f64d}.active-press:active{transform:scale(.98)}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:200% 100%;animation:shimmer 2s infinite linear;border-radius:4px}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-button{height:40px;border-radius:8px}.transition-all{transition:all var(--duration-normal) var(--ease-smooth)}.transition-colors{transition:color var(--duration-fast) var(--ease-smooth),background-color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth)}.transition-transform{transition:transform var(--duration-fast) var(--ease-smooth)}.transition-opacity{transition:opacity var(--duration-fast) var(--ease-smooth)}.transition-shadow{transition:box-shadow var(--duration-fast) var(--ease-smooth)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hover-lift:hover,.hover-lift-strong:hover,.hover-scale:hover,.hover-scale-sm:hover{transform:none}}.focus-ring:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.focus-ring-inset:focus-visible{outline:3px solid var(--primary-color);outline-offset:-3px}.card-enter{animation:fade-in-up var(--duration-normal) var(--ease-smooth) backwards}.card-hover{transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.button-hover{position:relative;overflow:hidden;transition:all var(--duration-fast) var(--ease-smooth)}.button-hover:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left var(--duration-slow) var(--ease-smooth)}.button-hover:hover:before{left:100%}.button-hover:hover{transform:translateY(-2px)}.button-hover:active{transform:translateY(0)}@keyframes clip-reveal-left{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes clip-reveal-right{0%{clip-path:inset(0 0 0 100%);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes clip-reveal-up{0%{clip-path:inset(100% 0 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}.animate-clip-left{animation:clip-reveal-left var(--duration-slow) var(--ease-smooth) both}.animate-clip-right{animation:clip-reveal-right var(--duration-slow) var(--ease-smooth) both}.animate-clip-up{animation:clip-reveal-up var(--duration-slow) var(--ease-smooth) both}@keyframes gradient-orbit{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-border-animated{position:relative;isolation:isolate}.gradient-border-animated:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(270deg,var(--primary-color),var(--secondary-color),var(--accent-color),var(--primary-color));background-size:300% 300%;animation:gradient-orbit 4s ease infinite;z-index:-1;opacity:0;transition:opacity .4s ease}.gradient-border-animated:hover:before{opacity:1}@keyframes breathe-glow{0%,to{box-shadow:0 0 4px 1px currentColor;opacity:.85}50%{box-shadow:0 0 12px 4px currentColor;opacity:1}}.animate-breathe{animation:breathe-glow 3s ease-in-out infinite}@keyframes value-shine{0%{background-position:-200% center}to{background-position:200% center}}.value-shimmer{background:linear-gradient(90deg,currentColor 0%,currentColor 40%,rgba(255,255,255,.8) 50%,currentColor 60%,currentColor 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:value-shine 1.8s var(--ease-smooth) .6s both}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.35}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(0)}.ripple-effect:active:after{animation:ripple-expand .5s var(--ease-smooth)}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-float{animation:float-gentle 3s ease-in-out infinite}.stagger-list>*:nth-child(1){animation-delay:0ms}.stagger-list>*:nth-child(2){animation-delay:50ms}.stagger-list>*:nth-child(3){animation-delay:.1s}.stagger-list>*:nth-child(4){animation-delay:.15s}.stagger-list>*:nth-child(5){animation-delay:.2s}.stagger-list>*:nth-child(6){animation-delay:.25s}.stagger-list>*:nth-child(7){animation-delay:.3s}.stagger-list>*:nth-child(8){animation-delay:.35s}.stagger-list>*:nth-child(9){animation-delay:.4s}.stagger-list>*:nth-child(10){animation-delay:.45s}.stagger-list>*:nth-child(11){animation-delay:.5s}.stagger-list>*:nth-child(12){animation-delay:.55s}@keyframes toast-in{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}.animate-toast-in{animation:toast-in .4s var(--ease-out-back) both}.animate-toast-out{animation:toast-out .3s var(--ease-smooth) both}@keyframes morph-gradient{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 50% 70%}75%{border-radius:60% 40% 60% 30%/70% 40% 50% 60%}}.morph-blob{animation:morph-gradient 8s ease-in-out infinite}@keyframes text-blur-reveal{0%{filter:blur(8px);opacity:0;letter-spacing:.3em}to{filter:blur(0);opacity:1;letter-spacing:normal}}.animate-text-reveal{animation:text-blur-reveal .8s var(--ease-smooth) both}.hover-tilt{transition:transform .3s var(--ease-smooth);transform-style:preserve-3d;perspective:800px}.hover-tilt:hover{transform:perspective(800px) rotateX(2deg) rotateY(-2deg) translateY(-2px)}.hover-underline-draw{position:relative;display:inline-block}.hover-underline-draw:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .3s var(--ease-smooth)}.hover-underline-draw:hover:after{transform:scaleX(1);transform-origin:left center}@keyframes elastic-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.animate-elastic-pop{animation:elastic-pop .5s var(--ease-smooth) both}@keyframes slide-rotate-in{0%{opacity:0;transform:translateY(30px) rotate(-3deg) scale(.95)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.animate-slide-rotate{animation:slide-rotate-in .5s var(--ease-out-back) both}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink:after{content:"|";animation:cursor-blink 1s step-end infinite;margin-left:2px;color:var(--primary-color);font-weight:300}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.animate-delay-900{animation-delay:.9s}.animate-delay-1000{animation-delay:1s}@media(prefers-reduced-motion:reduce){.animate-breathe,.animate-float,.morph-blob,.value-shimmer{animation:none}.hover-tilt:hover{transform:none}.gradient-border-animated:before{animation:none}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .25s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@keyframes slideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:500px;opacity:1;transform:translateY(0)}}@keyframes fadeInText{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-dialog{background:var(--card-bg, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .35s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s ease}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-heading)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.modal-close-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0000001a;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.modal-close-btn:hover:before{width:100%;height:100%}.modal-close-btn:hover{background-color:var(--border-color);color:var(--text-heading);transform:scale(1.1) rotate(90deg)}.modal-close-btn:active{transform:scale(.95) rotate(90deg)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb);display:flex;justify-content:flex-end;gap:.75rem;background-color:var(--card-bg, #ffffff)}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group:last-child{margin-bottom:0}.modal-body label{display:block;font-size:13px;font-weight:600;margin-bottom:.5rem;color:var(--text-heading)}.modal-body input[type=text],.modal-body input[type=email],.modal-body input[type=password],.modal-body input[type=number],.modal-body select,.modal-body textarea{width:100%;padding:.75rem;border:2px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, 8px);font-size:14px;font-family:inherit;background-color:var(--input-bg, #ffffff);color:var(--text-primary, #1f2937);transition:all .25s cubic-bezier(.4,0,.2,1)}.modal-body input[type=text]:hover,.modal-body input[type=email]:hover,.modal-body input[type=password]:hover,.modal-body input[type=number]:hover,.modal-body select:hover,.modal-body textarea:hover{border-color:#a0a0a0}.modal-body input[type=text]:focus,.modal-body input[type=email]:focus,.modal-body input[type=password]:focus,.modal-body input[type=number]:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #3b82f626;transform:translateY(-1px)}.modal-body textarea{resize:vertical;min-height:100px}.password-strength-meter{height:6px;background-color:var(--border-color);border-radius:3px;margin-top:.5rem;overflow:hidden}.password-strength-bar{height:100%;border-radius:3px;transition:all .3s ease}.password-strength-bar.weak{width:33%;background-color:#dc2626}.password-strength-bar.fair{width:66%;background-color:#f59e0b}.password-strength-bar.strong{width:100%;background-color:#16a34a}.password-strength-text{font-size:12px;margin-top:.25rem;color:var(--text-secondary)}.modal-message{padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:13px;animation:slideInMessage .3s cubic-bezier(.4,0,.2,1);transform-origin:left center}@keyframes slideInMessage{0%{opacity:0;transform:translate(-20px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.modal-message.success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.modal-message.error{background-color:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.modal-message.warning{background-color:#fef3c7;color:#78350f;border:1px solid #fde68a}.modal-message.info{background-color:#dbeafe;color:#1e3a8a;border:1px solid #93c5fd}.modal-footer button{padding:.6rem 1.5rem;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.modal-footer button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.modal-footer button:active:before{width:300px;height:300px}.modal-footer .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f640}.modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.modal-footer .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.modal-footer .btn-primary:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6;box-shadow:none}.modal-footer .btn-secondary{background-color:var(--card-bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.modal-footer .btn-secondary:hover:not(:disabled){background-color:var(--border-color);border-color:#888;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.modal-footer .btn-secondary:active:not(:disabled){transform:translateY(0)}.modal-footer .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 2px 8px #dc262640}.modal-footer .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 6px 20px #dc262666}.modal-footer .btn-danger:active:not(:disabled){transform:translateY(0)}@media(max-width:640px){.modal-dialog{max-width:95vw;max-height:95vh;width:95vw}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:.75rem 1rem;flex-direction:column}.modal-footer button{width:100%}}.modal-dialog.scrollable{max-height:85vh;display:flex;flex-direction:column}.modal-dialog.scrollable .modal-body{flex:1;overflow-y:auto}.info-box-neutral{padding:.75rem 1rem;border-radius:6px;background-color:#f3f4f6;color:#374151}.info-box-blue{padding:.75rem;border-radius:6px;background-color:#f0f9ff;border:1px solid #bae6fd;color:#0369a1}.info-box-warning{padding:.75rem;border-radius:6px;background-color:#fff7ed;border:1px solid #ffedd5;color:#92400e}.modal-dialog{transform-style:preserve-3d}.modal-header h2{animation:modal-title-in .4s cubic-bezier(.4,0,.2,1) .15s both}@keyframes modal-title-in{0%{opacity:0;transform:translateY(-8px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}.modal-body .form-group:nth-child(1){animation:slideIn .3s ease 80ms both}.modal-body .form-group:nth-child(2){animation:slideIn .3s ease .13s both}.modal-body .form-group:nth-child(3){animation:slideIn .3s ease .18s both}.modal-body .form-group:nth-child(4){animation:slideIn .3s ease .23s both}.modal-body .form-group:nth-child(5){animation:slideIn .3s ease .28s both}.modal-body .form-group:nth-child(6){animation:slideIn .3s ease .33s both}.modal-close-btn{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.modal-footer button:nth-child(1){animation:fade-in-up .25s ease .2s both}.modal-footer button:nth-child(2){animation:fade-in-up .25s ease .25s both}.password-strength-bar{transition:width .4s cubic-bezier(.4,0,.2,1),background-color .3s ease}.modal-message{position:relative;overflow:hidden}.modal-message:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 2px 2px 0;background:currentColor;opacity:.3;animation:msg-border-in .4s ease .15s both}@keyframes msg-border-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.info-box-neutral,.info-box-blue,.info-box-warning{transition:transform .2s ease,box-shadow .2s ease}.info-box-neutral:hover,.info-box-blue:hover,.info-box-warning:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.modal-body .form-group:focus-within label{color:var(--primary-color);transition:color .2s ease}@media(prefers-color-scheme:dark){.modal-overlay{background-color:#000000b3}.modal-message.success{background-color:#052e16;color:#86efac;border-color:#15803d}.modal-message.error{background-color:#450a0a;color:#fca5a5;border-color:#b91c1c}.modal-message.warning{background-color:#451a03;color:#fcd34d;border-color:#b45309}.modal-message.info{background-color:#0c4a6e;color:#7dd3fc;border-color:#0369a1}.info-box-neutral{background-color:#374151;color:#e5e7eb}.info-box-blue{background-color:#0c4a6e;border-color:#1e40af;color:#7dd3fc}.info-box-warning{background-color:#451a03;border-color:#b45309;color:#fcd34d}}
