*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #000000;--primary-dark: #1d4ed8;--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #06b6d4;--dark: #1f2937;--light: #f9fafb;--border: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-base: 16px;--font-large: 18px;--font-heading: 24px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-base);color:var(--text-primary);background-color:var(--light)}.app{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column}.navbar{background-color:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.navbar-brand{font-size:var(--font-heading);font-weight:600}.navbar-user{display:flex;align-items:center;gap:var(--spacing-sm)}.navbar-info{display:flex;flex-direction:column;align-items:flex-end;margin-right:var(--spacing-sm)}.navbar-name{font-weight:500}.navbar-shift{font-size:.875rem;opacity:.9}.sidebar{width:250px;background-color:var(--dark);color:#fff;padding:var(--spacing-md) 0}.sidebar-nav{list-style:none}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:#fff;text-decoration:none;transition:background-color .2s;font-size:var(--font-large)}.sidebar-link:hover,.sidebar-link.active{background-color:#ffffff1a}.sidebar-link.active{border-left:4px solid var(--primary);padding-left:calc(var(--spacing-md) - 4px)}.content{flex:1;padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.page-header{margin-bottom:var(--spacing-lg)}.page-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.page-subtitle{color:var(--text-secondary);font-size:var(--font-large)}.card{background:#fff;border-radius:8px;padding:var(--spacing-md);box-shadow:0 1px 3px #0000001a;margin-bottom:var(--spacing-md)}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm)}.form{display:grid;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column}.form-label{font-weight:500;margin-bottom:var(--spacing-xs);font-size:var(--font-large);color:var(--text-primary)}.form-input,.form-select,.form-textarea{padding:var(--spacing-sm);border:2px solid var(--border);border-radius:4px;font-size:var(--font-large);transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary)}.form-textarea{min-height:100px;resize:vertical}.form-checkbox-group{display:flex;align-items:center;gap:var(--spacing-xs)}.form-checkbox{width:20px;height:20px;cursor:pointer}.btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-large);font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:var(--spacing-xs);min-height:50px}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn:active{transform:translateY(0)}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-success{background-color:var(--secondary);color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-full{width:100%;justify-content:center}.btn-group{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.table-container{overflow-x:auto;margin-top:var(--spacing-md)}.table{width:100%;border-collapse:collapse;font-size:var(--font-base)}.table th,.table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border)}.table th{background-color:var(--light);font-weight:600;color:var(--text-primary)}.table tbody tr:hover{background-color:#2563eb0d}.table-actions{display:flex;gap:var(--spacing-xs)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:#fff;padding:var(--spacing-md);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-label{font-size:var(--font-base);color:var(--text-secondary)}.alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.alert-success{background-color:#d1fae5;color:#065f46;border-left:4px solid var(--secondary)}.alert-warning{background-color:#fef3c7;color:#92400e;border-left:4px solid var(--warning)}.alert-danger{background-color:#fee2e2;color:#991b1b;border-left:4px solid var(--danger)}.alert-info{background-color:#cffafe;color:#164e63;border-left:4px solid var(--info)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-primary{background-color:#dbeafe;color:#1e40af}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:var(--font-large);color:var(--text-secondary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.login-card{background:#fff;padding:var(--spacing-xl);border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:400px}.login-title{text-align:center;margin-bottom:var(--spacing-lg);font-size:2rem;color:var(--text-primary)}@media (max-width: 768px){.sidebar{display:none}.content{padding:var(--spacing-sm)}.dashboard-stats{grid-template-columns:1fr}.btn-group{flex-direction:column}}
