:root{--font-main: "Plus Jakarta Sans", "Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--brand-primary: #0d5c3d;--brand-hover: #0a4a31;--brand-active: #083b27;--brand-soft: #f0fdf4;--brand-soft-hover: #ecfdf5;--brand-soft-strong: #dcfce7;--brand-border: #bbf7d0;--brand-border-subtle: #d1fae5;--brand-foreground: #ffffff;--brand-dot: #10b981;--green-primary: #0d5c3d;--green-hover: #0a4a31;--green-dark: #072e1e;--green-light: #f0fdf4;--green-light-hover: #e6f9ed;--green-border: #bbf7d0;--green-border-subtle: #e2e8f0;--green-badge-bg: #f0fdf4;--green-badge-text: #0d5c3d;--bg-primary: #f6f9f7;--bg-secondary: #eef4f0;--bg-card: #ffffff;--bg-card-hover: #fafcfb;--bg-surface: #ffffff;--bg-muted: #f1f5f9;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-subtle: #94a3b8;--text-dark: #0f172a;--text-green: #0d5c3d;--success: #16a34a;--success-bg: #dcfce7;--success-text: #166534;--success-border: #bbf7d0;--warning: #d97706;--warning-bg: #fef3c7;--warning-text: #92400e;--warning-border: #fde68a;--danger: #dc2626;--danger-bg: #fee2e2;--danger-text: #991b1b;--danger-border: #fecaca;--info: #0284c7;--info-bg: #e0f2fe;--info-text: #075985;--info-border: #bae6fd;--purple: #7e22ce;--purple-bg: #f3e8ff;--purple-text: #6b21a8;--sidebar-width: 250px;--header-height: 60px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 4px 14px rgba(13, 92, 61, .08), 0 2px 6px rgba(0, 0, 0, .04);--shadow-dropdown: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-brand: 0 2px 8px rgba(13, 92, 61, .25);--shadow-glow: 0 0 0 3px rgba(13, 92, 61, .12);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .25s cubic-bezier(.16,1,.3,1) forwards}input,select,textarea{font-family:var(--font-main)}input:focus,select:focus,textarea:focus{outline:none}button{font-family:var(--font-main);cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.btn-primary,.catalog-primary-btn{background-color:var(--brand-primary);color:#fff;font-weight:600;font-size:.875rem;padding:.55rem 1.25rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;box-shadow:0 1px 3px #0d5c3d40;transition:all var(--transition-fast);text-decoration:none}.btn-primary:hover,.catalog-primary-btn:hover{background-color:var(--brand-hover);box-shadow:0 2px 6px #0d5c3d59}.btn-primary:active,.catalog-primary-btn:active{transform:scale(.98)}.btn-primary:disabled,.catalog-primary-btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#fff;color:var(--text-secondary);border:1px solid #e2e8f0;font-weight:600;font-size:.875rem;padding:.55rem 1.25rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1;color:var(--text-primary)}.status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .625rem;font-size:.72rem;font-weight:600;border-radius:9999px;line-height:1}.status-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-pill.active,.status-pill.completed,.status-pill.paid{background-color:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-pill.active .status-pill-dot,.status-pill.completed .status-pill-dot,.status-pill.paid .status-pill-dot{background-color:#10b981}.status-pill.inactive,.status-pill.cancelled{background-color:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-pill.inactive .status-pill-dot,.status-pill.cancelled .status-pill-dot{background-color:#94a3b8}.status-pill.pending,.status-pill.warning{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.status-pill.pending .status-pill-dot,.status-pill.warning .status-pill-dot{background-color:#f59e0b}.status-pill.danger,.status-pill.overdue{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-pill.danger .status-pill-dot,.status-pill.overdue .status-pill-dot{background-color:#ef4444}.catalog-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #00000008}.filter-tabs-container{display:inline-flex;align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:3px;gap:3px}.filter-tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:500;color:#64748b;background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.filter-tab-btn:hover{color:#0f172a}.filter-tab-btn.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 3px #0000001a}.filter-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.2rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;border-radius:9999px;background:#e2e8f0;color:#475569}.filter-tab-btn.active .filter-tab-badge{background:var(--brand-soft);color:var(--brand-primary)}.table-container,.catalog-table-wrap{width:100%;overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 3px #00000008}table,.catalog-table{width:100%;border-collapse:collapse;text-align:left;font-size:.8125rem}th,.catalog-table th{background:#fafcfb;color:#64748b;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem;border-bottom:1px solid #e2e8f0}td,.catalog-table td{padding:.875rem 1rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}tr:last-child td,.catalog-table tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover,.catalog-table tbody tr:hover td{background-color:#f8fafc}
