@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700;800;900&display=swap";.toast-container{position:fixed;top:5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:1rem;pointer-events:none}.toast{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:320px;max-width:500px;pointer-events:auto;animation:slide-in .3s cubic-bezier(.4,0,.2,1);border-left:6px solid;position:relative;overflow:hidden}.toast-message{font-size:1.1rem;line-height:1.5;color:#1f2937;font-weight:500}.toast-icon{font-size:1.5rem}.toast:before{content:"";position:absolute;bottom:0;left:0;height:4px;background:currentColor;animation:shrink 5s linear}.toast-success{border-left-color:#10b981;color:#10b981}.toast-success:before{background:#10b981}.toast-error{border-left-color:#ef4444;color:#ef4444;background-color:#fef2f2}.toast-error .toast-message{color:#991b1b;font-weight:600}.toast-error{border-left-color:#ef4444;color:#ef4444}.toast-error:before{background:#ef4444}.toast-warning{border-left-color:#f59e0b;color:#f59e0b}.toast-warning:before{background:#f59e0b}.toast-info{border-left-color:#3b82f6;color:#3b82f6}.toast-info:before{background:#3b82f6}.toast-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.toast-message{flex:1;color:#1f2937;font-weight:500;line-height:1.5;word-break:break-word}.toast-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0;font-size:1.25rem}.toast-close:hover{background:#0000000d;color:#1f2937}@keyframes slide-in{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-exit{animation:slide-out .3s cubic-bezier(.4,0,1,1) forwards}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}@keyframes shrink{0%{width:100%}to{width:0%}}@media(max-width:768px){.toast-container{top:auto;bottom:1rem;right:1rem;left:1rem}.toast{min-width:0;width:100%}@keyframes slide-in{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100px);opacity:0}}}.toast:hover:before{animation-play-state:paused}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;width:48px;height:48px;background:var(--gradient-primary);border:none;border-radius:12px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;z-index:1100}.mobile-menu-toggle span{width:24px;height:3px;background:#fff;border-radius:2px;transition:all .3s ease;display:block}.mobile-menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0;transform:translate(-20px)}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all .3s ease;z-index:1050}.mobile-overlay.open{opacity:1;visibility:visible}.sidebar-container{position:fixed;top:0;left:0;width:300px;height:100vh;z-index:1000}.sidebar-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:transform .3s ease;margin-bottom:1rem}.sidebar-logo:hover{transform:scale(1.05)}.logo-icon{width:45px;height:45px;background:var(--gradient-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 15px #667eea4d}.logo-text h1{font-size:1.125rem;font-weight:800;margin:0;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.logo-text span{font-size:.65rem;color:#4b5563;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:block;margin-top:.25rem}.notification-bell{width:100%;max-width:48px;height:48px;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease;position:relative;margin:1rem auto}.notification-bell:hover{transform:scale(1.05);background:#ffffff4d;border-color:#ffffff80}.notification-bell:active{transform:scale(.95)}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:10px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #dc262666;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.sidebar-panel{width:100%;height:100%;background:#fff;box-shadow:4px 0 20px #0000001a;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:2rem 1.5rem;background:var(--gradient-primary);color:#fff;position:relative}.user-info{display:flex;align-items:center;gap:1rem;margin-top:1rem}.user-avatar{width:70px;height:70px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 20px #0003}.user-details h3{font-size:1.25rem;font-weight:800;margin:0 0 .25rem}.user-details p{margin:0;font-size:.9rem;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-role-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.role-badge-small{padding:.25rem .75rem;background:#ffffff40;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sidebar-nav{flex:1;padding:1.5rem 0}.menu-items{list-style:none;padding:0;margin:0}.menu-item{margin:.25rem .75rem}.menu-link{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem;text-decoration:none;color:#374151;font-weight:600;border-radius:12px;transition:all .3s ease;background:transparent;border:none;cursor:pointer;font-size:1rem;font-family:inherit;text-align:left}.menu-link:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:var(--primary-blue);transform:translate(4px)}.menu-link.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea4d}.menu-icon{font-size:1.5rem;min-width:30px;text-align:center}.sidebar-footer{padding:1.5rem;background:#fff;border-top:2px solid #f3f4f6}.logout-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#fee,#fef3c7);color:var(--primary-red);border:2px solid var(--primary-red);border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease}.logout-btn:hover{background:var(--primary-red);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #dc26264d}.guest-icon{width:80px;height:80px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem;box-shadow:0 8px 20px #0003}.auth-buttons{display:flex;flex-direction:column;gap:1rem}.btn-login,.btn-register{padding:1rem 1.5rem;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center;display:block}.btn-login{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-login:hover{transform:translateY(-4px);box-shadow:0 8px 25px #667eea66}.btn-register{background:#fff;color:var(--primary-blue);border:2px solid var(--primary-blue)}.btn-register:hover{background:#f0f4ff;transform:translateY(-4px)}@media(max-width:768px){.sidebar-container{width:250px}.logo-text h1{font-size:1rem}.sidebar-header{padding:1.5rem 1rem}}@media(max-width:480px){.mobile-menu-toggle{display:flex}.mobile-overlay{display:block}.sidebar-container{width:100%;max-width:280px;transform:translate(-100%);transition:transform .3s ease;z-index:1060}.sidebar-container.mobile-open{transform:translate(0)}}.sidebar-panel::-webkit-scrollbar{width:8px}.sidebar-panel::-webkit-scrollbar-track{background:#f3f4f6}.sidebar-panel::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}:root{--primary-blue: #00205B;--primary-red: #BF0A30;--primary-white: #FFFFFF;--accent-gold: #FCD116;--color-primary: var(--primary-blue);--color-secondary: var(--primary-red);--color-accent: var(--accent-gold);--color-background: #F3F4F6;--color-surface: #FFFFFF;--color-surface-alt: #F9FAFB;--color-border: #E5E7EB;--color-border-focus: var(--primary-blue);--color-text-primary: #111827;--color-text-secondary: #4B5563;--color-text-muted: #9CA3AF;--color-text-inverse: #FFFFFF;--color-success: #059669;--color-error: #DC2626;--color-warning: #D97706;--color-info: #2563EB;--gradient-primary: linear-gradient(180deg, var(--primary-blue) 0%, #1e3a8a 100%);--gradient-liberia: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-red) 100%);--gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F9FAFB 100%);--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);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-sans: "Work Sans", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--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);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--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);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media(prefers-color-scheme:dark){:root{--color-background: #111827;--color-surface: #1F2937;--color-border: #374151;--color-text-primary: #F9FAFB;--color-text-secondary: #D1D5DB;--color-text-muted: #9CA3AF}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--space-4)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}.text-white,[style*="color: white"],[style*="color:#fff"],[style*="color: #fff"]{text-shadow:0 2px 8px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-info);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#2563eb}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:600;line-height:1;border:2px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;font-family:var(--font-sans)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-lg)}.btn-primary:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow-lg)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.btn-outline:hover{background:var(--color-surface);border-color:var(--color-info);color:var(--color-info)}.btn-ghost{background:transparent;color:var(--color-text-primary)}.btn-ghost:hover{background:var(--color-border)}.card{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:transparent}.card-gradient{background:var(--gradient-primary);color:#fff}.card-glass{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#d1fae5;color:#065f46}.badge-error{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-info);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,#F3F4F6 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fade-in var(--transition-slow) ease-out}.slide-in-right{animation:slide-in-right var(--transition-slow) ease-out}.scale-in{animation:scale-in var(--transition-slow) ease-out}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media(max-width:768px){.btn{padding:var(--space-3) var(--space-4)}.card{padding:var(--space-4)}}@media print{.no-print{display:none!important}}.app-main-content{margin-left:300px;min-height:100vh;transition:margin-left .3s ease}@media(max-width:768px){.app-main-content{margin-left:250px}}@media(max-width:480px){.app-main-content{margin-left:0}}
