*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);background-color:var(--surface);min-height:100vh}:root{--primary: hsl(207, 80%, 42%);--primary-hover: hsl(207, 80%, 37%);--primary-container: hsl(207, 80%, 95%);--on-primary: hsl(0, 0%, 100%);--on-primary-container: hsl(207, 80%, 25%);--secondary: hsl(140, 55%, 45%);--secondary-hover: hsl(140, 55%, 40%);--on-secondary: hsl(0, 0%, 100%);--surface: hsl(207, 15%, 98%);--surface-container: hsl(207, 10%, 94%);--surface-container-low: hsl(207, 10%, 96%);--surface-container-high: hsl(207, 15%, 92%);--surface-elevated: hsl(0, 0%, 100%);--on-surface: hsl(0, 0%, 13%);--text-primary: hsl(0, 0%, 13%);--text-secondary: hsl(0, 0%, 35%);--text-tertiary: hsl(0, 0%, 50%);--outline: hsl(0, 0%, 70%);--outline-variant: hsl(0, 0%, 85%);--status-pending: hsl(45, 95%, 55%);--status-pending-bg: hsl(45, 95%, 95%);--status-pending-text: hsl(45, 95%, 25%);--status-approved: hsl(140, 65%, 45%);--status-approved-bg: hsl(140, 65%, 95%);--status-approved-text: hsl(140, 65%, 25%);--status-rejected: hsl(0, 70%, 50%);--status-rejected-bg: hsl(0, 70%, 95%);--status-rejected-text: hsl(0, 70%, 35%);--status-cancelled: hsl(0, 0%, 50%);--status-cancelled-bg: hsl(0, 0%, 93%);--status-cancelled-text: hsl(0, 0%, 30%);--error: hsl(0, 70%, 50%);--error-bg: hsl(0, 70%, 95%);--success: hsl(140, 65%, 45%);--success-bg: hsl(140, 65%, 95%);--info: hsl(200, 60%, 45%);--info-bg: hsl(200, 60%, 95%);--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);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out}@media (prefers-color-scheme: dark){:root.dark-mode{--primary: hsl(207, 70%, 60%);--primary-hover: hsl(207, 70%, 55%);--primary-container: hsl(207, 60%, 20%);--on-primary: hsl(0, 0%, 8%);--on-primary-container: hsl(207, 70%, 85%);--secondary: hsl(140, 50%, 55%);--secondary-hover: hsl(140, 50%, 50%);--on-secondary: hsl(0, 0%, 8%);--surface: hsl(207, 5%, 8%);--surface-container: hsl(207, 5%, 12%);--surface-container-low: hsl(207, 5%, 10%);--surface-container-high: hsl(207, 5%, 14%);--surface-elevated: hsl(207, 5%, 15%);--on-surface: hsl(0, 0%, 95%);--text-primary: hsl(0, 0%, 95%);--text-secondary: hsl(0, 0%, 65%);--text-tertiary: hsl(0, 0%, 50%);--outline: hsl(0, 0%, 30%);--outline-variant: hsl(0, 0%, 20%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .5)}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem;letter-spacing:-.02em}h2{font-size:2rem;letter-spacing:-.01em}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}button{cursor:pointer;border:none;font-family:inherit;transition:all var(--transition-fast)}input,textarea,select{font-family:inherit;font-size:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);overflow-x:hidden;box-sizing:border-box}.stats-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats-summary-card{box-sizing:border-box}.stats-number{word-wrap:break-word}.navbar{background-color:var(--surface-elevated);border-bottom:1px solid var(--outline-variant);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.navbar-content{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.25rem;font-weight:600;color:var(--text-primary)}.navbar-logo{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-sm)}.navbar-brand-text{font-size:1.125rem;font-weight:700}.navbar-brand svg{width:32px;height:32px}.navbar-actions{display:flex;align-items:center;gap:var(--spacing-md)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.user-name{color:var(--text-primary);font-weight:500}.user-role{color:var(--text-secondary);text-transform:capitalize}.tabs{border-bottom:2px solid var(--outline-variant);margin-bottom:var(--spacing-xl)}@media (max-width: 768px){.tabs{position:fixed;bottom:0;left:0;right:0;z-index:1000;margin-bottom:0;background:var(--surface-elevated);border-top:2px solid var(--outline-variant);border-bottom:none;box-shadow:0 -2px 8px #0000001a;padding-bottom:env(safe-area-inset-bottom,0)}.tabs-list{justify-content:space-around;padding:0}.tabs-list li{flex:1}.tab-button{flex-direction:column!important;padding:var(--spacing-sm) var(--spacing-xs)!important;gap:4px!important;min-height:64px;width:100%;justify-content:center;align-items:center;border-bottom:none!important;border-radius:0!important;margin-bottom:0!important}.tab-button:hover{background:transparent!important}.tab-button.active{background:var(--primary-container)!important;color:var(--on-primary-container)!important;position:relative}.tab-button.active:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary)}.tab-button svg{width:24px;height:24px}.tab-button span{font-size:.6875rem;line-height:1.2;font-weight:600}.app-container{padding-bottom:90px}.selection-bar-top{padding:var(--spacing-sm)!important;flex-direction:column!important;align-items:stretch!important}.selection-bar-top>div:last-child{width:100%;justify-content:stretch}.selection-bar-top button{flex:1}}.tabs-list{display:flex;gap:var(--spacing-md);list-style:none;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-list::-webkit-scrollbar{display:none}.tab-button{padding:var(--spacing-md) var(--spacing-lg);background:none;color:var(--text-secondary);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary);background:var(--surface-container-low)}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-container)}.tab-button svg{width:20px;height:20px}.tab-content{display:none}.tab-content.active{display:block}.admin-tabs{border-bottom:2px solid var(--outline-variant);margin-bottom:var(--spacing-lg)}.admin-tabs-list{display:flex;gap:var(--spacing-md);list-style:none;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.admin-tabs-list::-webkit-scrollbar{display:none}.admin-tab-button{padding:var(--spacing-md) var(--spacing-lg);background:none;color:var(--text-secondary);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}.admin-tab-button:hover{color:var(--text-primary)}.admin-tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}@media (max-width: 768px){.admin-tabs{position:sticky;top:0;background:var(--surface-elevated);z-index:900;margin-bottom:var(--spacing-md);box-shadow:0 2px 8px #0000000d}.admin-tabs-list{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.admin-tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.stats-date-range{grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto!important;gap:.5rem!important;padding:0!important;margin:0!important}.stats-date-range .form-group{width:100%!important;margin:0!important;padding:0!important}.stats-date-range .form-label{display:none!important}.stats-date-range .form-input{width:100%!important;font-size:.8125rem!important;padding:.5rem .375rem!important;box-sizing:border-box!important;margin:0!important}.stats-date-range .btn{grid-column:1 / -1!important;width:100%!important;margin-top:0!important}.stats-card{padding:var(--spacing-md)!important;margin:0!important;box-sizing:border-box!important}.stats-summary-grid{grid-template-columns:1fr!important;gap:var(--spacing-sm)!important}.stats-summary-card{padding:var(--spacing-md)!important;box-sizing:border-box!important;width:100%!important;overflow:hidden!important}.stats-number{font-size:1.5rem!important;word-break:break-word}.stats-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}.card{background-color:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-md)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.card-subtitle{font-size:.875rem;color:var(--text-secondary)}.card-body{color:var(--text-primary)}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--outline-variant);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:2.5rem;transition:all var(--transition-fast)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:var(--on-secondary)}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-outline{background-color:transparent;border:1px solid var(--outline);color:var(--text-primary)}.btn-outline:hover{background-color:var(--surface-container)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background-color:var(--surface-container)}.btn-destructive{background-color:var(--error);color:#fff}.btn-destructive:hover{background-color:#c32222}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{width:2.5rem;padding:0}.btn-sm{padding:.5rem 1rem;min-height:2rem;font-size:.8125rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.badge-approved{background-color:var(--status-approved-bg);color:var(--status-approved-text)}.badge-rejected{background-color:var(--status-rejected-bg);color:var(--status-rejected-text)}.badge-cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary);font-size:.875rem}.form-label.required:after{content:" *";color:var(--error)}.form-input,.form-textarea,.form-select{width:100%;padding:.625rem .875rem;border:1px solid var(--outline);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-primary);font-size:.875rem;transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #19b37f1a}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-error{color:var(--error);font-size:.75rem;margin-top:var(--spacing-xs)}.form-helper{color:var(--text-secondary);font-size:.75rem;margin-top:var(--spacing-xs)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn var(--transition-base)}.modal{background-color:var(--surface-elevated);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-base)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--outline-variant);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{width:2rem;height:2rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--outline-variant);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:2000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px}.toast{background-color:var(--surface-elevated);border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);animation:slideInRight var(--transition-base)}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--info)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-content{flex:1}.toast-title{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.toast-message{font-size:.875rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--outline-variant);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.calendar-container{background-color:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--spacing-lg);padding-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);overflow:visible;margin-bottom:120px}.calendar-footer{text-align:center;padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);color:var(--text-tertiary);font-size:.75rem;margin-top:var(--spacing-xl);border-top:1px solid rgba(0,0,0,.06)}.calendar-footer p{margin:0;color:#9e9e9e}.selection-bar-top{background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);box-shadow:0 2px 8px #1565c04d;flex-wrap:wrap}.selection-bar-top strong,.selection-bar-top span{color:#fff}.booking-cancel-btn{background-color:#fff!important;color:#d32f2f!important;border:2px solid white!important;font-weight:600;transition:all var(--transition-fast)}.booking-cancel-btn:hover:not(:disabled){background-color:#ffebee!important;border-color:#d32f2f!important}.booking-cancel-btn:active:not(:disabled){background-color:#ffcdd2!important}.booking-cancel-btn:disabled{cursor:not-allowed}.booking-confirm-btn{background-color:#4caf50!important;color:#fff!important;border:2px solid #4caf50!important;font-weight:600;transition:all var(--transition-fast)}.booking-confirm-btn:hover:not(:disabled){background-color:#388e3c!important;border-color:#388e3c!important}.booking-confirm-btn:active:not(:disabled){background-color:#2e7d32!important}.booking-confirm-btn:disabled{cursor:not-allowed}.booking-confirm-btn.heartbeat{animation:heartbeat 1.5s ease-in-out infinite;box-shadow:0 0 #4caf50b3}@keyframes heartbeat{0%{transform:scale(1);box-shadow:0 0 #4caf50b3}14%{transform:scale(1.05);box-shadow:0 0 0 4px #4caf5080}28%{transform:scale(1);box-shadow:0 0 0 8px #4caf504d}42%{transform:scale(1.05);box-shadow:0 0 0 12px #4caf501a}70%{transform:scale(1);box-shadow:0 0 0 16px #4caf5000}}.day-navigation-compact{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);width:100%;overflow:hidden}.nav-arrow{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.nav-arrow:hover{background:var(--surface-container-high);border-color:var(--primary)}.nav-arrow svg{width:18px;height:18px;color:var(--text-primary)}.day-tabs-scroll{flex:1;display:flex;gap:4px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.day-tabs-scroll::-webkit-scrollbar{display:none}.dropdown-menu{scrollbar-width:none;-ms-overflow-style:none}.dropdown-menu::-webkit-scrollbar{display:none}.day-tab-compact{flex-shrink:0;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-container);border:2px solid var(--outline-variant);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);gap:2px;padding:4px}.day-tab-compact:hover{background:var(--surface-container-high);border-color:var(--primary);transform:scale(1.05)}.day-tab-compact.selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.day-tab-compact.today{border-color:var(--primary);position:relative}.day-tab-compact.today:after{content:"";position:absolute;top:2px;right:2px;width:4px;height:4px;background:var(--primary);border-radius:50%}.day-tab-compact.selected.today:after{background:var(--on-primary)}.day-name-compact{font-size:.5625rem;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);font-weight:500}.day-tab-compact.selected .day-name-compact{color:var(--on-primary);font-weight:600}.day-number-compact{font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1}.day-tab-compact.selected .day-number-compact{color:var(--on-primary)}.day-tab-compact.past{opacity:.4;cursor:not-allowed;background:var(--surface-container-low)}.day-tab-compact.past:hover{background:var(--surface-container-low);border-color:var(--outline-variant);transform:none}.calendar-header{display:block;width:100%;margin-bottom:var(--spacing-lg)}.calendar-nav{display:flex;gap:var(--spacing-sm)}.calendar-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px;background-color:var(--outline-variant);border:1px solid var(--outline-variant);border-radius:var(--radius-md);overflow:hidden}.calendar-day-header{background-color:var(--surface-container);padding:var(--spacing-sm);text-align:center;font-weight:600;font-size:.875rem;color:var(--text-primary)}.calendar-time-label{background-color:var(--surface-container);padding:var(--spacing-sm);font-size:.75rem;color:var(--text-secondary);font-family:var(--font-mono);text-align:right}.calendar-slot{background-color:var(--surface);padding:var(--spacing-sm);min-height:60px;cursor:pointer;transition:all var(--transition-fast);position:relative}.calendar-slot:hover{background-color:var(--primary-container)}.calendar-slot.occupied{background-color:var(--status-approved-bg);cursor:default}.calendar-slot.pending{background-color:var(--status-pending-bg)}.calendar-slot.occupied:hover,.calendar-slot.pending:hover{background-color:var(--surface-container)}.slot-info{font-size:.75rem;color:var(--text-secondary)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background-color:var(--surface-container);padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--outline-variant);position:sticky;top:0;z-index:10}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--outline-variant);color:var(--text-primary)}.table tbody tr:nth-child(odd){background-color:var(--surface)}.table tbody tr:nth-child(2n){background-color:var(--surface-container)}.table tbody tr:hover{background-color:var(--primary-container)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.day-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:var(--spacing-sm);padding:var(--spacing-md)}.slot-box{aspect-ratio:1;min-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:600;font-size:.875rem;border:2px solid transparent}@media (max-width: 1024px){.calendar-grid{grid-template-columns:1fr}.calendar-day-header,.calendar-time-label{display:none}.calendar-slot{min-height:auto}}@media (max-width: 768px){.app-container{padding:0 var(--spacing-sm)}.card{margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}.navbar{padding:var(--spacing-sm) 0}.navbar-content{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.navbar-brand{font-size:1rem}.navbar-logo{width:32px;height:32px}.navbar-brand-text{font-size:.9375rem}.navbar-brand svg{width:24px;height:24px}.user-role{display:none}.user-info{font-size:.8125rem}.tabs-list{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.calendar-container{padding:var(--spacing-md);padding-bottom:var(--spacing-sm);margin-bottom:140px}.card{padding:var(--spacing-md)}.card-title{font-size:1.125rem}.btn{min-height:2.75rem;padding:.75rem 1.125rem}.btn-sm{min-height:2.25rem;padding:.5rem .875rem}.btn-icon{min-width:2.75rem;min-height:2.75rem}.modal-backdrop{padding:var(--spacing-sm)}.modal{margin:0;border-radius:var(--radius-lg);max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}.toast-container{left:var(--spacing-sm);right:var(--spacing-sm);top:var(--spacing-sm);max-width:none}.table{font-size:.8125rem}.table th,.table td{padding:var(--spacing-sm)}}@media (max-width: 640px){.navbar-brand{font-size:.9375rem}.user-name{font-size:.75rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info svg{width:16px;height:16px}.tab-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.calendar-header h3{font-size:1rem}.form-input,.form-textarea,.form-select{padding:.75rem 1rem;font-size:1rem;min-height:2.75rem}.badge{padding:.1875rem .625rem;font-size:.6875rem}.calendar-container{padding:var(--spacing-sm);padding-bottom:var(--spacing-sm);margin-bottom:160px}.calendar-header{margin-bottom:var(--spacing-md)}.calendar-footer{font-size:.6875rem;padding:var(--spacing-lg) var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-lg)}.day-navigation-compact{gap:4px}.nav-arrow{width:28px;height:28px}.nav-arrow svg{width:16px!important;height:16px!important}.day-tab-compact{width:44px;height:44px}.day-name-compact{font-size:.5rem!important}.day-number-compact{font-size:.9375rem!important}.day-slot-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))!important;gap:4px!important;padding:var(--spacing-sm)!important}.slot-box{min-height:48px!important;font-size:.7rem!important}.card:has(.table){overflow-x:auto}.table{min-width:600px}div[style*=grid-template-columns]{grid-template-columns:1fr!important}.card-header{flex-direction:column;align-items:flex-start!important;gap:var(--spacing-sm)}.card-footer{flex-wrap:wrap}.card-footer button{flex:1;min-width:120px}h2,h3{font-size:1.25rem!important}h4{font-size:1.0625rem!important}.card:has(.table):after{content:"← Scorri per vedere più informazioni →";display:block;text-align:center;font-size:.75rem;color:var(--text-tertiary);padding:var(--spacing-xs) 0;font-style:italic}}@media (max-width: 375px){.day-slot-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))!important;gap:3px!important}.slot-box{min-height:46px!important;font-size:.65rem!important}.day-tab-compact{width:40px;height:40px}.day-name-compact{font-size:.4375rem!important}.day-number-compact{font-size:.875rem!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.whatsapp-float{position:fixed;bottom:80px;right:20px;width:auto;height:40px;background-color:#25d366;color:#fff;border-radius:20px;display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-md);box-shadow:0 4px 12px #25d36666;text-decoration:none;z-index:999;transition:all var(--transition-normal);font-weight:600;font-size:.8125rem}.whatsapp-float:hover{background-color:#20ba5a;transform:scale(1.05);box-shadow:0 6px 16px #25d36680}.whatsapp-float:active{transform:scale(.98)}.whatsapp-float svg{flex-shrink:0}.whatsapp-text{white-space:nowrap}@media (min-width: 769px){.whatsapp-float{bottom:30px}}@media (max-width: 768px){.whatsapp-float{bottom:75px}}@media (max-width: 480px){.whatsapp-float{padding:0 var(--spacing-sm);font-size:.75rem}.whatsapp-text{max-width:130px;overflow:hidden;text-overflow:ellipsis}}.users-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.users-table-wrapper::-webkit-scrollbar{display:none}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{text-align:left;white-space:nowrap}@media (min-width: 769px){.users-table{font-size:.9375rem}.users-table th{padding:var(--spacing-md);font-weight:600;border-bottom:2px solid var(--border);color:var(--text-primary)}.users-table td{padding:var(--spacing-md)}}@media (max-width: 768px){.users-table{font-size:.8125rem}.users-table th{padding:var(--spacing-sm);font-size:.75rem;font-weight:600;border-bottom:2px solid var(--border);color:var(--text-primary)}.users-table td{padding:var(--spacing-sm);font-size:.8125rem}}
