:root{--green-900: #1B4332;--green-800: #2D6A4F;--green-600: #40916C;--green-400: #74C69D;--green-100: #D8F3DC;--green-50: #F0FAF2;--amber-700: #B45309;--amber-500: #D97706;--amber-300: #FCD34D;--amber-100: #FEF3C7;--amber-50: #FFFBEB;--cream: #FAF7F0;--cream-dark:#F0EBE0;--sand: #E8DFD0;--text-primary: #1A1A1A;--text-secondary: #4A4A4A;--text-muted: #7A7A7A;--border: #D9D4CA;--border-light: #EDE9E3;--red-500: #DC2626;--red-100: #FEE2E2;--blue-500: #2563EB;--blue-100: #DBEAFE;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--sidebar-w: 240px;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{font-family:var(--font-body);background:var(--cream);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-body);font-size:.9rem}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sand);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--green-400)}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-primary);transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--green-600)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--green-800);color:#fff}.btn-primary:hover{background:var(--green-900)}.btn-secondary{background:var(--cream-dark);color:var(--text-primary);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--sand)}.btn-danger{background:var(--red-100);color:var(--red-500)}.btn-danger:hover{background:#fecaca}.btn-amber{background:var(--amber-500);color:#fff}.btn-amber:hover{background:var(--amber-700)}.btn-sm{padding:6px 12px;font-size:.82rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge-green{background:var(--green-100);color:var(--green-800)}.badge-amber{background:var(--amber-100);color:var(--amber-700)}.badge-blue{background:var(--blue-100);color:var(--blue-500)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:10px 14px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1.5px solid var(--border);white-space:nowrap}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--cream)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:1.7rem;color:var(--green-900)}.page-header p{color:var(--text-muted);font-size:.88rem;margin-top:2px}.alert{padding:10px 16px;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:16px}.alert-error{background:var(--red-100);color:var(--red-500)}.alert-success{background:var(--green-100);color:var(--green-800)}.spinner{width:22px;height:22px;border:2.5px solid var(--border);border-top-color:var(--green-600);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:4px;background:var(--cream-dark);padding:4px;border-radius:var(--radius-md);margin-bottom:20px;width:fit-content}.tab{padding:7px 18px;border-radius:7px;font-size:.875rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s}.tab.active{background:#fff;color:var(--green-800);box-shadow:var(--shadow-sm)}
