@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--color-primary:#0d9488;--color-primary-light:#14b8a6;--color-primary-dark:#0f766e;--color-primary-50:#f0fdfa;--color-primary-100:#ccfbf1;--color-primary-200:#99f6e4;--color-primary-500:#14b8a6;--color-primary-600:#0d9488;--color-primary-700:#0f766e;--color-primary-800:#115e59;--color-primary-900:#134e4a;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-hover:#f1f5f9;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-draft:#94a3b8;--color-draft-bg:#f1f5f9;--color-pending:#f59e0b;--color-pending-bg:#fffbeb;--color-approved:#10b981;--color-approved-bg:#ecfdf5;--color-rejected:#ef4444;--color-rejected-bg:#fef2f2;--color-sent:#3b82f6;--color-sent-bg:#eff6ff;--color-urgent:#dc2626;--color-urgent-bg:#fef2f2;--color-budget-green:#10b981;--color-budget-amber:#f59e0b;--color-budget-red:#ef4444;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--bottom-nav-height:72px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);min-height:100dvh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--font-size-base)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);padding:var(--space-lg);transition:box-shadow var(--transition-base), transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-compact{padding:var(--space-md)}.pill{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;transition:all var(--transition-fast);padding:3px 10px;font-weight:600;display:inline-flex}.pill-draft{background:var(--color-draft-bg);color:var(--color-draft)}.pill-pending{background:var(--color-pending-bg);color:var(--color-pending)}.pill-approved{background:var(--color-approved-bg);color:var(--color-approved)}.pill-rejected{background:var(--color-rejected-bg);color:var(--color-rejected)}.pill-sent{background:var(--color-sent-bg);color:var(--color-sent)}.pill-urgent{background:var(--color-urgent-bg);color:var(--color-urgent)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-base);min-width:44px;min-height:44px;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 2px 8px #0d94884d}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-danger{background:var(--color-rejected);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-sm{font-size:var(--font-size-sm);min-height:36px;padding:6px 14px}.btn-icon{min-width:44px;min-height:44px;padding:8px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:44px;padding:10px 14px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-error{font-size:var(--font-size-xs);color:var(--color-rejected);font-weight:500}.progress-bar{background:var(--color-border-light);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-green .progress-bar-fill{background:var(--color-budget-green)}.progress-amber .progress-bar-fill{background:var(--color-budget-amber)}.progress-red .progress-bar-fill{background:var(--color-budget-red)}.badge{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.badge-danger{background:var(--color-rejected)}.badge-warning{background:var(--color-pending)}.metric-card{gap:var(--space-sm);flex-direction:column;display:flex}.metric-card .metric-value{font-size:var(--font-size-2xl);color:var(--color-text);font-weight:800;line-height:1.2}.metric-card .metric-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.metric-card .metric-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.empty-state{padding:var(--space-2xl);text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.empty-state svg{opacity:.4}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:12px var(--space-md);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-weight:600}.data-table td{padding:14px var(--space-md);font-size:var(--font-size-base);border-bottom:1px solid var(--color-border-light)}.data-table tr:hover td{background:var(--color-surface-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease forwards}.animate-slide-up{animation:.4s forwards slideUp}.skeleton{background:var(--color-border-light);border-radius:var(--radius-md);animation:1.5s ease-in-out infinite pulse}@media (min-width:768px){.mobile-only{display:none!important}}@media (max-width:767px){.desktop-only{display:none!important}}.page-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-title{font-size:var(--font-size-xl);color:var(--color-text);font-weight:700}@media (min-width:768px){.page-title{font-size:var(--font-size-2xl)}}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:2px}.grid-metrics{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (min-width:768px){.grid-metrics{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.grid-metrics{grid-template-columns:repeat(5,1fr)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;padding:var(--space-md);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;animation:.3s slideUp;overflow-y:auto}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light);display:flex}
