@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg-page: #F8FAFC;--bg-card: #FFFFFF;--bg-sidebar: #FFFFFF;--color-primary: #6366F1;--color-primary-light: #EEF2FF;--color-primary-hover: #4F46E5;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-card-hover: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .03);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-sidebar);border-right:1px solid var(--color-border);padding:32px 16px;position:fixed;height:100vh;display:flex;flex-direction:column;z-index:100}.sidebar-logo{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:32px;display:flex;align-items:center;gap:10px;color:var(--text-primary);padding:0 12px}.sidebar-logo-icon{width:28px;height:28px;background:var(--color-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff}.nav-menu{list-style:none;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:14px;transition:all .15s ease-in-out}.nav-link svg{width:18px;height:18px;stroke:var(--text-secondary);transition:stroke .15s ease-in-out}.nav-link:hover{background:var(--color-border-light);color:var(--text-primary)}.nav-link:hover svg{stroke:var(--text-primary)}.nav-link.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.nav-link.active svg{stroke:var(--color-primary)}.main-content{flex:1;margin-left:260px;padding:40px 48px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.page-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:24px;box-shadow:var(--shadow-card);transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#cbd5e1;box-shadow:var(--shadow-card-hover)}.card-title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;height:38px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);border:1px solid transparent;gap:8px;line-height:1}.btn svg{width:16px;height:16px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-light{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-light:hover{background:var(--bg-page);color:var(--text-primary)}.table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--bg-card)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:14px 20px;text-align:left;vertical-align:middle}.table th{font-weight:600;color:var(--text-secondary);background:var(--color-border-light);border-bottom:1px solid var(--color-border);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table td{border-bottom:1px solid var(--color-border-light);color:var(--text-secondary)}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:var(--color-border-light)}.table td:first-child{font-weight:500;color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;gap:6px}.badge-success{background:#ecfdf5;color:#059669}.badge-warning{background:#fffbeb;color:#d97706}.badge-danger{background:#fef2f2;color:#dc2626}.badge-primary{background:#eef2ff;color:#4f46e5}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-6{gap:24px}.gap-8{gap:32px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-col{flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input{width:100%;height:38px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;transition:all .15s ease-in-out}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.form-select{width:100%;height:38px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;transition:all .15s ease-in-out;cursor:pointer}.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.form-textarea{width:100%;min-height:80px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;transition:all .15s ease-in-out;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}@media (max-width: 1024px){.sidebar{width:80px;padding:24px 12px}.sidebar-logo span:last-child,.nav-link span:last-child{display:none}.sidebar-logo{justify-content:center;padding:0}.nav-link{justify-content:center;padding:10px}.main-content{margin-left:80px;padding:32px 24px}}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:16px}}body.dark-mode{--bg-page: #0B0F19;--bg-card: #151B28;--bg-sidebar: #0F1320;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--color-border: #1E293B;--color-border-light: #1A2234;--color-primary-light: #1E1B4B}body{transition:background .3s ease,color .3s ease}.card,.sidebar,.btn,.form-input,.form-select,.form-textarea,.table-container,.table tr{transition:background .3s ease,border-color .3s ease,color .3s ease}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px}.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;color:var(--text-primary);font-size:14px;font-weight:500;min-width:320px;animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInRight{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left:4px solid var(--color-success)}.toast-danger{border-left:4px solid var(--color-danger)}.toast-info{border-left:4px solid var(--color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-svg{color:var(--text-muted);margin-bottom:16px;opacity:.6}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.empty-state-desc{font-size:14px;color:var(--text-secondary);max-width:340px;margin-bottom:20px}
