:root{--brand-dark: #0f172a;--brand-primary: #1e40af;--brand-accent: #3b82f6;--bg-body: #f1f5f9;--bg-card: #ffffff;--bg-sidebar: #0f172a;--text-main: #1e293b;--text-muted: #64748b;--text-light: #f8fafc;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #0ea5e9;--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--header-height: 64px;--radius: .5rem}.app-wrapper{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);color:var(--text-light);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:50;transition:width .3s ease;border-right:1px solid rgba(255,255,255,.05)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-brand{font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.75rem;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-brand span{display:none}.sidebar-nav{flex:1;padding:1.5rem 1rem;overflow-y:auto}.nav-group{margin-bottom:1.5rem}.nav-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;padding:0 .75rem;font-weight:600}.sidebar.collapsed .nav-label{display:none}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;color:#94a3b8;text-decoration:none;border-radius:var(--radius);transition:all .2s ease;margin-bottom:.25rem}.nav-link:hover{background-color:#ffffff0d;color:#fff}.nav-link.active{background-color:var(--brand-primary);color:#fff}.nav-link i{font-size:1.25rem;width:1.5rem;text-align:center}.sidebar.collapsed .nav-link span{display:none}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.05)}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-width:0;transition:margin-left .3s ease}.main-content.expanded{margin-left:var(--sidebar-collapsed-width)}.top-header{height:var(--header-height);background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:40}.header-left{display:flex;align-items:center;gap:1rem}.toggle-sidebar-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem;padding:.5rem;border-radius:var(--radius);transition:color .2s}.toggle-sidebar-btn:hover{color:var(--brand-primary);background-color:#f1f5f9}.page-title{font-size:1.125rem;font-weight:600;color:var(--text-main);margin:0}.content-wrapper{padding:2rem;flex:1}.card{background:var(--bg-card);border:1px solid #e2e8f0;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;background:#fff;border-radius:var(--radius) var(--radius) 0 0;display:flex;justify-content:space-between;align-items:center}.card-title{font-size:1rem;font-weight:600;color:var(--text-main);margin:0}.card-body{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);transition:all .2s;cursor:pointer;border:1px solid transparent}.btn-primary{background-color:var(--brand-primary);color:#fff}.btn-primary:hover{background-color:#1e3a8a}.btn-secondary{background-color:#fff;border-color:#e2e8f0;color:var(--text-main)}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-main);margin-bottom:.5rem}.form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid #cbd5e1;border-radius:var(--radius);background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-control:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #3b82f61a}.table-responsive{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background-color:#f8fafc;color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:.875rem 1.5rem;text-align:left;border-bottom:1px solid #e2e8f0}.table td{padding:1rem 1.5rem;color:var(--text-main);border-bottom:1px solid #e2e8f0}.table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;line-height:1}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#e0f2fe;color:#075985}.badge-secondary{background:#f1f5f9;color:#475569}.login-page{background-color:var(--brand-dark);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-box{width:100%;max-width:400px;background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:3rem;height:3rem;background:var(--brand-primary);color:#fff;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.show{transform:translate(0)}.main-content{margin-left:0!important}.top-header{padding:0 1rem}.content-wrapper{padding:1rem}}.pagination{display:flex;padding-left:0;list-style:none;gap:.25rem;margin:0}.page-link{position:relative;display:block;padding:.5rem .75rem;color:var(--brand-primary);text-decoration:none;background-color:#fff;border:1px solid #dee2e6;border-radius:var(--radius);transition:all .2s;cursor:pointer}.page-link:hover{z-index:2;color:var(--brand-accent);background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:var(--brand-accent);background-color:#e9ecef;outline:0;box-shadow:0 0 0 .2rem #3b82f640}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:var(--brand-primary);border-color:var(--brand-primary)}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6;cursor:not-allowed;opacity:.5}.card-footer .pagination{margin-bottom:0;justify-content:center}
