body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.side-menu{background-color:var(--gray-100);width:250px;height:100vh;padding:var(--spacing-xl) 0;border-right:1px solid var(--gray-300);flex-direction:column;justify-content:flex-start;display:flex}.side-menu nav ul{margin:0;padding:0;list-style:none}.side-menu nav li{margin:0;padding:0}.side-menu button{width:100%;padding:var(--spacing-lg) var(--spacing-xl);text-align:left;cursor:pointer;color:var(--gray-800);transition:background-color var(--transition);background:0 0;border:none;font-size:1rem}.side-menu button:hover{background-color:var(--gray-200)}.side-menu button.active{background-color:var(--primary);color:var(--white)}.side-menu-bottom{padding:var(--spacing-xl);border-top:1px solid var(--gray-300);flex-direction:column;align-items:flex-start;margin-top:auto;display:flex}.user-name{color:var(--gray-600);margin-bottom:var(--spacing-md);font-size:.9375rem}.logout-button{background:var(--danger);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);border:none;font-size:.9375rem}.logout-button:hover{background:var(--danger-hover)}.layout{height:100vh;min-height:100vh;display:flex}.main-content{min-height:100vh;padding:var(--spacing-xl);background-color:var(--white);flex:1;overflow:auto}.route-loading{padding:var(--spacing-xl);color:var(--gray-600)}.page-layout .header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.page-layout .header h2{color:var(--gray-800);margin:0}.create-button{background-color:var(--success);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-size:.875rem}.create-button:hover{background-color:var(--success-hover)}.action-buttons{gap:var(--spacing-xs);display:flex}.edit-button{background-color:var(--primary);color:var(--white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-size:.75rem}.edit-button:hover:not(:disabled){background-color:var(--primary-hover)}.delete-button{background-color:var(--danger);color:var(--white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-size:.75rem}.delete-button:hover:not(:disabled){background-color:var(--danger-hover)}.edit-button:disabled,.delete-button:disabled{opacity:.6;cursor:not-allowed}:root{--primary:#007bff;--primary-hover:#0056b3;--success:#28a745;--success-hover:#218838;--danger:#dc3545;--danger-hover:#c82333;--warning:#ffc107;--warning-hover:#e0a800;--info:#17a2b8;--info-hover:#138496;--light:#f8f9fa;--dark:#343a40;--white:#fff;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:3px;--radius:4px;--radius-lg:8px;--shadow-sm:0 2px 4px #0000001a;--shadow:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--transition:.2s ease;--z-modal:1050;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-popover:1060;--z-tooltip:1070}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-success{background-color:var(--success);color:var(--white)}.btn-success:hover:not(:disabled){background-color:var(--success-hover)}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn-secondary{background-color:var(--gray-600);color:var(--white)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-700)}.btn-warning{background-color:var(--warning);color:var(--dark)}.btn-warning:hover:not(:disabled){background-color:var(--warning-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem}.btn-icon{padding:var(--spacing-xs);min-width:32px;height:32px}.btn-group{gap:var(--spacing-xs);display:flex}.create-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);background-color:var(--success);color:var(--white);border:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.create-button:hover:not(:disabled){background-color:var(--success-hover)}.create-button-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.App{text-align:center}
