*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-400: #2dd4bf;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--yellow-50: #fefce8;--yellow-100: #fef9c3;--yellow-200: #fef08a;--yellow-400: #facc15;--yellow-500: #eab308;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--red-50: #fef2f2;--red-100: #fee2e2;--red-500: #ef4444;--red-600: #dc2626;--primary: var(--teal-600);--primary-light: var(--teal-500);--primary-dark: var(--teal-700);--primary-bg: var(--teal-50);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--transition: .18s ease}html,body{font-family:Nunito,system-ui,sans-serif;font-size:15px;color:var(--gray-800);background:var(--gray-50);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--gray-600);letter-spacing:.01em}.field input,.field select,.field textarea{padding:9px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:14px;color:var(--gray-800);background:#fff;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d94881f}.field textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:700;cursor:pointer;transition:background var(--transition),box-shadow var(--transition),transform var(--transition);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1.5px solid var(--gray-200)}.btn-secondary:hover{background:var(--gray-200)}.btn-danger{background:var(--red-500);color:#fff}.btn-danger:hover{background:var(--red-600)}.btn-ghost{background:transparent;color:var(--gray-600);border:1.5px solid var(--gray-200)}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{padding:8px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:700;background:var(--teal-100);color:var(--teal-700)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fadeIn .15s ease}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h2{font-size:18px;font-weight:800;color:var(--gray-800)}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-100)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;margin-bottom:14px}.alert-error{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-100)}.alert-success{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.page-header h1{font-size:22px;font-weight:800;color:var(--gray-800)}.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:8px 12px;flex:1;max-width:380px;transition:border-color var(--transition)}.search-bar:focus-within{border-color:var(--primary)}.search-bar input{border:none;outline:none;font-size:14px;background:transparent;flex:1;color:var(--gray-800)}.search-bar svg{color:var(--gray-400);flex-shrink:0}.empty-state{text-align:center;padding:48px 24px;color:var(--gray-400)}.empty-state svg{width:48px;height:48px;margin-bottom:12px;opacity:.5}.empty-state p{font-size:15px;font-weight:600}.empty-state span{font-size:13px}.spinner{display:inline-block;width:20px;height:20px;border:2.5px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.modal{padding:20px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-overlay{align-items:flex-end;padding:0}.page-header{flex-direction:column;align-items:flex-start}.search-bar{max-width:100%}}
