*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FAF8F3;--surface: #FFFFFF;--text: #0A0A0B;--text-muted: #6E6A5F;--border: #E4DFD0;--primary: #9C6E12;--primary-dark: #0A0A0B;--primary-soft: #FBF0D2;--accent: #E8B43A;--sidebar-bg: #0A0A0B;--sidebar-surface: #17140F;--sidebar-text: #EDE6D8;--sidebar-text-muted: #8A8578;--success: #1E8449;--success-soft: #E1F2E8;--danger: #D0342C;--danger-soft: #FAE3E1;--warning: #D97C0A;--warning-soft: #FBEAD5;--info: #2C6FAF;--info-soft: #E4EEF8;--purple: #8b5cf6;--radius-lg: 6px;--radius-md: 6px;--radius-sm: 4px;--radius-pill: 4px;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--font-brand: "Playfair Display", Georgia, serif;--font-ui: "Space Grotesk", system-ui, sans-serif;--primary-light: var(--primary);--primary-bright: var(--accent);--accent-dark: var(--primary);--card: var(--surface);--shadow: var(--shadow-sm);--radius: var(--radius-lg);--radius-xs: 4px;--zf-dark: var(--sidebar-bg);--zf-dark-2: var(--sidebar-surface);--zf-dark-3: #2A241A;--zf-gold: var(--accent);--zf-gold-soft: var(--accent);--zf-bg: var(--bg);--zf-text: var(--text);--zf-surface: var(--surface);--zf-muted: var(--text-muted);--zf-border: var(--border);--zf-sidebar-w: 260px;--zf-topbar-h: 60px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}body{font-family:var(--font-ui),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}.card{background:var(--surface);border:2px solid var(--text);border-radius:var(--radius-lg);box-shadow:none;padding:1.25rem}.page-title{font-family:var(--font-brand);font-size:1.3rem;font-weight:900;color:var(--text);margin-bottom:0}.rule{height:3px;background:var(--accent);width:48px;margin:8px 0 0}.hero{background:var(--sidebar-bg);border-radius:var(--radius-lg);padding:26px 32px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.hero-label{color:var(--sidebar-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.hero-amount{font-family:var(--font-brand);font-weight:900;font-size:38px;color:var(--accent)}.hero-stats{display:flex;gap:36px;flex-wrap:wrap}.hero-stat-label{color:var(--sidebar-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.hero-stat-value{font-weight:700;font-size:17px}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.form-control{width:100%;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #9c6b1229}.form-control.invalid{border-color:var(--danger)}.form-control.invalid:focus{box-shadow:0 0 0 3px #ef44441f}.form-error{display:block;font-size:.75rem;color:var(--danger);margin-top:.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.625rem 1.25rem;border:2px solid var(--text);border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:filter .15s,transform .1s,background .15s,color .15s;white-space:nowrap;line-height:1}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn-ink{background:var(--text);color:var(--accent)}.btn-ink:hover:not(:disabled){filter:brightness(1.2)}.btn-outline{background:transparent;color:var(--text);border-color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--bg);filter:none}.btn-primary,.btn-accent{background:var(--text);color:var(--accent)}.btn-accent:hover:not(:disabled){filter:brightness(1.2)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-success{background:var(--surface);color:var(--success);border-color:var(--success)}.btn-warning{background:var(--surface);color:var(--warning);border-color:var(--warning)}.btn-info{background:var(--surface);color:var(--info);border-color:var(--info)}.btn-purple{background:var(--surface);color:var(--purple);border-color:var(--purple)}.btn-secondary{background:transparent;color:var(--text);border:2px solid var(--text)}.btn-secondary:hover:not(:disabled){background:var(--bg);filter:none}.btn-sm{padding:.4rem .75rem;font-size:.72rem}.btn-full{width:100%}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:480px}th{text-align:left;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:.6rem .8rem;border-bottom:2px solid var(--text);background:transparent}td{padding:.75rem .8rem;border-bottom:1px solid var(--border);font-size:.875rem;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--radius-sm);border:1.5px solid currentColor;background:transparent;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.badge-warning{color:var(--warning)}.badge-success{color:var(--success)}.badge-danger{color:var(--danger)}.badge-info{color:var(--info)}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1.5px solid currentColor;border-radius:var(--radius-sm);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pill{padding:9px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--text);cursor:pointer;background:var(--surface);color:var(--text)}.pill-active,.pill.active{background:var(--text);color:var(--accent)}.amount,.montant{font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.amount-positive{color:var(--accent-dark)}.amount-negative{color:var(--danger)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.875rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.1rem 1.25rem}.stat-label{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem;display:block}.stat-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.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}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.empty-state-icon{font-size:2rem;margin-bottom:.6rem;opacity:.5}.radio-group{display:flex;gap:1rem}.radio-option{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,background .15s;flex:1;justify-content:center}.radio-option:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.radio-option input[type=radio]{accent-color:var(--primary)}
