:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#f97316;--accent-hover:#ea580c;--accent-light:#ffedd5;--gradient-primary:linear-gradient(135deg,#f97316,#ea580c);--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--border-color:#e2e8f0;--border-focus:#f97316;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 3px 0 rgba(0,0,0,.05),0 1px 2px -1px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -4px rgba(0,0,0,.05);--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.25s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden}.app-layout{display:flex;min-height:100vh;width:100vw}.main-content{flex:1 1;padding:28px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;transition:padding var(--transition-normal)}.page-header{margin-bottom:8px}.page-header h2{font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-header p{font-size:.9rem;color:var(--text-secondary);margin-top:4px}.sidebar{width:260px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:space-between;height:100vh;position:-webkit-sticky;position:sticky;top:0;z-index:100;transition:width var(--transition-normal)}body.sidebar-collapsed .sidebar{width:76px}.sidebar-brand{padding:20px;gap:12px;border-bottom:1px solid var(--border-color);position:relative}.sidebar-brand,.sidebar-logo{display:flex;align-items:center}.sidebar-logo{width:36px;height:36px;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(249,115,22,.2)}.sidebar-title{font-family:Outfit,sans-serif;font-weight:700;font-size:1.15rem;color:var(--text-primary);white-space:nowrap;opacity:1;transition:opacity var(--transition-fast)}body.sidebar-collapsed .sidebar-title{opacity:0;pointer-events:none;width:0}.sidebar-toggle-btn{position:absolute;right:-12px;top:26px;width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text-secondary);transition:var(--transition-fast);z-index:110}.sidebar-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.sidebar-menu{flex:1 1;padding:24px 12px;display:flex;flex-direction:column;gap:6px;list-style:none}.sidebar-menu-item a{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:var(--radius-md);transition:var(--transition-fast);white-space:nowrap}.sidebar-menu-item a:hover{background-color:var(--bg-primary);color:var(--accent)}.sidebar-menu-item.active a{background-color:var(--accent-light);color:var(--accent)}body.sidebar-collapsed .sidebar-menu-item a{justify-content:center;padding:10px}body.sidebar-collapsed .sidebar-menu-item a span{display:none}.sidebar-user{padding:16px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:10px}body.sidebar-collapsed .sidebar-user{justify-content:center;padding:16px 8px}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.user-info{flex:1 1;display:flex;flex-direction:column;overflow:hidden;transition:opacity var(--transition-fast)}body.sidebar-collapsed .user-info{display:none}.user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role{font-size:.75rem;color:var(--text-muted)}.logout-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.logout-btn:hover{background-color:var(--danger-light);color:var(--danger)}body.sidebar-collapsed .logout-btn{display:none}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:var(--transition-fast)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.15)}.btn-primary:hover{box-shadow:0 6px 14px rgba(249,115,22,.25);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background-color:var(--bg-primary);border-color:var(--text-primary);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-sm{padding:6px 12px;font-size:.8rem;border-radius:var(--radius-sm)}.table-wrapper{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table-wrapper overflow-x-auto{overflow-x:auto}.daco-table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}.daco-table td,.daco-table th{padding:12px 16px;border-bottom:1px solid var(--border-color)}.daco-table th{background-color:#f8fafc;color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;position:-webkit-sticky;position:sticky;top:0;z-index:10}.daco-table tbody tr:hover{background-color:#f1f5f9}.daco-table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background-color:var(--success-light);color:#065f46}.badge-danger{background-color:var(--danger-light);color:#991b1b}.badge-warning{background-color:var(--warning-light);color:#92400e}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:modalEnter .2s cubic-bezier(.16,1,.3,1)}@keyframes modalEnter{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer}.modal-body{padding:20px}.modal-footer{padding:14px 20px;border-top:1px solid var(--border-color);background-color:#f8fafc;display:flex;justify-content:flex-end;gap:10px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(249,115,22,.15)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}@media (max-width:768px){.grid-2{grid-template-columns:1fr}.app-layout{flex-direction:column}.sidebar{height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border-color)}.sidebar,body.sidebar-collapsed .sidebar{width:100%}}