@import "https://rsms.me/inter/inter.css";:root{--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-300:#a5b4fc;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--accent-500:#8b5cf6;--accent-600:#7c3aed;--success-50:#ecfdf5;--success-500:#10b981;--success-700:#047857;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-700:#b45309;--danger-50:#fef2f2;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--bg:#f6f7fb;--surface:#fff;--surface-muted:#f8fafc;--surface-hover:#f1f5f9;--border:#e5e7eb;--border-strong:#cbd5e1;--text-strong:#0f172a;--text:#1e293b;--text-muted:#64748b;--text-soft:#94a3b8;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 16px #0f172a0f;--shadow-lg:0 12px 32px #0f172a14;--shadow-xl:0 24px 48px #0f172a1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px}html[data-theme=dark]{--primary-50:#1e1b4b;--primary-100:#312e81;--primary-300:#818cf8;--primary-500:#818cf8;--primary-600:#6366f1;--primary-700:#4f46e5;--accent-500:#a78bfa;--accent-600:#8b5cf6;--success-50:#022c22;--success-500:#34d399;--success-700:#6ee7b7;--warning-50:#2a1d05;--warning-500:#fbbf24;--warning-700:#fde68a;--danger-50:#2c0d0d;--danger-500:#f87171;--danger-600:#ef4444;--danger-700:#fca5a5;--bg:#0b1120;--surface:#111827;--surface-muted:#0f172a;--surface-hover:#1f2937;--border:#1f2937;--border-strong:#334155;--text-strong:#f8fafc;--text:#e2e8f0;--text-muted:#94a3b8;--text-soft:#64748b;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 32px #00000080;--shadow-xl:0 24px 48px #0009}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"cv11", "ss01", "ss03";background:radial-gradient(1200px 600px at 10% -10%, #6366f114, transparent 60%), radial-gradient(900px 500px at 110% 10%, #8b5cf614, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100vh;font-size:14px;line-height:1.5}html[data-theme=dark] body{background:radial-gradient(1200px 600px at 10% -10%, #818cf82e, transparent 60%), radial-gradient(900px 500px at 110% 10%, #a78bfa29, transparent 60%), var(--bg)}::selection{background:var(--primary-500);color:#fff}.app{width:min(1400px,96%);margin:0 auto;padding:32px 0 64px}.app-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:18px 24px;display:flex}.app-header-title h1{letter-spacing:-.01em;background:linear-gradient(135deg, var(--primary-600), var(--accent-600));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 2px;font-size:22px;font-weight:700}.app-header-title p{color:var(--text-muted);margin:0;font-size:13px}.user-menu{position:relative}.user-menu-trigger{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-500), var(--accent-500));color:#fff;cursor:pointer;width:42px;height:42px;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:0;transition:transform .18s,box-shadow .18s;display:inline-flex}.user-menu-trigger:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.user-menu-backdrop{z-index:40;background:0 0;position:fixed;inset:0}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:260px;box-shadow:var(--shadow-lg);z-index:50;padding:6px 0;animation:.15s ease-out dropdownIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{border-bottom:1px solid var(--border);background:var(--surface-muted);padding:12px 16px}.user-menu-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.user-menu-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:0;padding:10px 16px;font-size:14px;transition:background .15s;display:block}.user-menu-item:hover{background:var(--surface-hover)}.user-menu-item-danger{color:var(--danger-600)}.user-menu-item-danger:hover{background:var(--danger-50)}.user-menu-separator{background:var(--border);height:1px;margin:4px 0}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:6px;margin:0 0 18px;padding:6px;display:flex;overflow-x:auto}.tab{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;padding:9px 16px;font-size:14px;font-weight:500;transition:all .18s}.tab:hover{background:var(--surface-hover);color:var(--text)}.tab.active{background:linear-gradient(135deg, var(--primary-600), var(--accent-600));color:#fff;box-shadow:0 4px 12px #6366f14d}.facturation-toolbar{flex-direction:column;align-items:stretch;gap:14px;margin:0 0 16px;display:flex}.facturation-toolbar--filter-only .facturation-toolbar-top{justify-content:flex-end}.facturation-toolbar-top{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.invoice-total-factured{flex-direction:column;gap:4px;min-width:0;display:flex}.invoice-total-factured-label{color:var(--text-muted);font-size:13px;font-weight:500}.invoice-total-factured-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.invoice-total-factured-value{color:var(--text-strong);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.invoice-amount-mode-select{color:var(--text);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 100% no-repeat;border:none;padding:2px 20px 2px 0;font-size:14px;font-weight:600}.invoice-amount-mode-select:focus{outline:none}.invoice-amount-mode-select:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px;border-radius:4px}.facturation-toolbar .global-filter{flex-shrink:0;justify-content:flex-end;margin:0}.facturation-toolbar .invoice-kpi-row{width:100%;margin-bottom:0}.global-filter{justify-content:flex-end;margin:0 0 16px;display:flex}.global-filter .field{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:row;align-items:center;gap:10px;padding:6px 12px}.global-filter .field-year{width:auto}.global-filter .field-year select{width:auto;min-width:100px}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);padding:22px;overflow-x:auto}.panel+.panel{margin-top:16px}.feature-card{box-shadow:var(--shadow-sm);position:relative;overflow-x:hidden}.feature-card:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--accent-500));height:4px;position:absolute;inset:0 0 auto}.table-scroll{overflow-x:auto}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-header h2{color:var(--text-strong);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.panel-header-actions{align-items:center;gap:10px;display:flex}.invoice-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.invoice-kpi-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:16px 18px;display:flex}.invoice-kpi-icon{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--text-strong);background:#f7f3ed;flex-shrink:0;justify-content:center;align-items:center;display:flex}html[data-theme=dark] .invoice-kpi-icon{background:#f7f3ed14}.invoice-kpi-icon--pending{color:var(--text-muted)}.invoice-kpi-icon--overdue{color:var(--danger-600)}.invoice-kpi-body{flex-direction:column;gap:4px;min-width:0;display:flex}.invoice-kpi-label{color:var(--text-muted);font-size:13px;font-weight:500}.invoice-kpi-value{color:var(--text-strong);letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.2}@media (width<=900px){.invoice-kpi-row{grid-template-columns:1fr}}.grid-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.flex-form{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.flex-form .field{flex:none}.flex-form .form-break{flex-basis:100%;height:0}.field{color:var(--text-muted);flex-direction:column;gap:5px;font-size:12px;font-weight:500;display:flex}.field input,.field select{color:var(--text-strong);box-sizing:border-box;width:100%;font-size:14px}.field-date{width:110px}.field-date input{text-align:center}.field-number{width:140px}.field-client{flex:280px;min-width:240px}.field-nb{width:70px}.field-nb input{text-align:right}.field-money{width:120px}.field-money input{text-align:right}.field-statut{width:220px}.field-year{width:110px}.field-month{width:170px}.flex-form .modal-actions{justify-content:flex-end;gap:8px;width:100%;margin-top:8px;display:flex}@media (width<=640px){.flex-form .field{flex:100%;width:100%}}.field-nb input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-nb input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-money input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-money input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-nb input[type=number],.field-money input[type=number]{appearance:textfield}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-strong);padding:9px 12px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--primary-300)}input:focus,select:focus,textarea:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #6366f12e}input:disabled,input[readonly],select:disabled{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-strong);cursor:pointer;padding:9px 16px;font-weight:500;transition:all .15s}button:hover{background:var(--surface-hover);border-color:var(--primary-300)}button:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg, var(--primary-600), var(--accent-600));color:#fff;border-color:#0000;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-700), var(--accent-600));border-color:#0000;transform:translateY(-1px);box-shadow:0 6px 18px #6366f166}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-hover)}.btn-danger{background:var(--danger-600);color:#fff;border-color:var(--danger-600);box-shadow:0 4px 12px #dc262640}.btn-danger:hover{background:var(--danger-700);border-color:var(--danger-700)}.link-btn{color:var(--primary-600);cursor:pointer;background:0 0;border:none;padding:4px 0;font-weight:500}.link-btn:hover{color:var(--primary-700);text-decoration:underline}table{border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius-md);width:100%;overflow:hidden}thead th{background:var(--surface-muted);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:left;padding:12px 10px;font-size:11px;font-weight:600}tbody td{color:var(--text);border-bottom:1px solid var(--border);padding:12px 10px;font-size:13.5px}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}tfoot td{background:var(--surface-muted);color:var(--text-strong);border-top:2px solid var(--border);padding:12px 10px;font-weight:600}td.cell-date{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}td.cell-money,td.cell-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.cell-center{text-align:center}.hint{color:var(--text-muted);margin:8px 0 0;font-size:13px}.badge{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-saved{background:var(--success-50);color:var(--success-700)}.badge-draft{background:var(--warning-50);color:var(--warning-700)}.report{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:16px;padding:14px 16px}.declaration-grid{grid-template-columns:1fr;gap:18px;display:grid}.declaration-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:20px;position:relative;overflow:hidden}.declaration-card:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--accent-500));height:4px;position:absolute;inset:0 0 auto}.declaration-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.declaration-card-header h3{color:var(--text-strong);margin:0;font-size:16px;font-weight:600}.declaration-card table{margin-top:10px}.declaration-card td input{text-align:right;width:100px;padding:5px 8px}.declaration-card td input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.declaration-card td input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.declaration-card td input[type=number]{appearance:textfield}.declaration-dates{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.declaration-dates .field>span{white-space:nowrap}.declaration-dates .field{width:130px}.declaration-totaux{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;max-width:380px;margin-top:16px;margin-left:auto;padding:14px 18px;display:flex}.declaration-totaux .totaux-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.declaration-totaux label{color:var(--text-muted);font-size:13px;font-weight:500}.declaration-totaux strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.declaration-totaux .input-money{text-align:right;font-variant-numeric:tabular-nums;width:140px;padding:6px 10px}.input-money.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-money.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-money.no-spin{appearance:textfield}.row-actions{justify-content:flex-end;gap:6px;display:flex}.icon-btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:5px 7px;transition:all .15s;display:inline-flex}.icon-btn:hover{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-600);transform:translateY(-1px)}.icon-btn-danger:hover{background:var(--danger-50);border-color:var(--danger-500);color:var(--danger-600)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;background:#0f172a80;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(720px,100%);max-height:90vh;box-shadow:var(--shadow-xl);padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) modalIn;overflow:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-confirm{width:min(420px,100%)}.modal-confirm p{margin:0 0 16px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.modal-header h3{color:var(--text-strong);margin:0;font-size:17px;font-weight:600}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.invoice-preview-overlay{z-index:110;align-items:stretch;padding:0}.modal.invoice-preview-modal{border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:12px 16px 14px;display:flex;overflow:hidden}.modal.invoice-preview-modal .modal-header{flex-shrink:0;margin-bottom:8px}.modal.invoice-preview-modal .modal-actions{flex-shrink:0;margin-top:10px}.modal.invoice-preview-modal .invoice-preview-frame{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex:auto;width:100%;min-height:0}.auth-links{flex-wrap:wrap;gap:14px;margin-top:14px;display:flex}.theme-options{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.theme-option{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;font-size:14px;transition:all .15s;display:flex}.theme-option:hover{border-color:var(--primary-300);background:var(--primary-50)}.theme-option input{accent-color:var(--primary-600)}.theme-option.active{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 3px #6366f11f}input[type=checkbox]{accent-color:var(--primary-600);cursor:pointer;width:16px;height:16px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-soft);background-clip:padding-box;border:2px solid #0000}
