@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-bg-base:#060813;--color-bg-card:#0c1020;--color-bg-sidebar:#070a16;--color-primary:#20d3f2;--color-accent:#a55eea;--color-gradient-start:#5d5fef;--color-gradient-end:#a55eea;--gradient-btn:linear-gradient(135deg, var(--color-gradient-start) 0%, var(--color-gradient-end) 100%);--gradient-logo:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);--color-slate-950:#020306;--color-slate-900:#060813;--color-slate-800:#0c1020;--color-slate-700:#161c33;--color-slate-600:#1a203f;--color-slate-500:#47507a;--color-slate-400:#8892b0;--color-slate-300:#a8b2d1;--color-slate-200:#ccd6f6;--color-slate-100:#e6f1ff;--color-slate-50:#f8fafd;--color-white:#0c1020;--color-black:#fff;--color-ecru-50:#060813;--color-ecru-100:#ffffff0d;--color-ecru-200:#1a203f;--color-input-bg:#0f172a;--color-input-bg-focus:#131c31;--color-input-text:var(--color-slate-100);--color-input-border:#1e293b;--color-input-placeholder:var(--color-slate-500);--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#20d3f2;--font-serif:"Outfit", "Inter", -apple-system, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 20px #0009;--shadow-lg:0 10px 32px #000000b3;--shadow-xl:0 20px 48px #000c;--shadow-card:0 4px 24px #00000080, inset 0 1px 0 #ffffff0d;--shadow-glow:0 0 15px #5d5fef26, 0 0 30px #a55eea1a;--shadow-glow-active:0 0 25px #5d5fef59, 0 0 50px #a55eea40;--shadow-btn-glow:0 4px 14px #5d5fef66;--shadow-btn-glow-hover:0 6px 20px #a55eea99;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:70px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes tabSlideIn{0%{opacity:0;transform:translate(-8px)scaleY(.96)}to{opacity:1;transform:translate(0)scaleY(1)}}@keyframes cardLift{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalShakePremium{0%,to{transform:translate(0,0)rotate(0)scale(1)}12%{transform:translate(-10px)rotate(-.6deg)scale(1.008)}24%{transform:translate(9px)rotate(.55deg)scale(1.006)}36%{transform:translate(-7px)rotate(-.4deg)scale(1.004)}48%{transform:translate(6px)rotate(.35deg)scale(1.003)}60%{transform:translate(-4px)rotate(-.2deg)scale(1.002)}72%{transform:translate(3px)rotate(.15deg)scale(1.001)}84%{transform:translate(-1px)rotate(-.05deg)scale(1)}}@keyframes modalShakeGlow{0%,to{border-color:var(--color-slate-600);box-shadow:var(--shadow-xl), var(--shadow-glow-active)}20%{box-shadow:var(--shadow-xl), 0 0 0 1px #20d3f240, 0 0 36px #20d3f238, 0 0 64px #a55eea1f;border-color:#20d3f28c}45%{box-shadow:var(--shadow-xl), 0 0 0 1px #a55eea33, 0 0 28px #a55eea33, 0 0 48px #20d3f21a;border-color:#a55eea80}}.modal.modal-panel--shake,.app-dialog.modal-panel--shake{animation:.62s cubic-bezier(.36,.07,.19,.97) forwards modalShakePremium,.62s forwards modalShakeGlow}.animate-fade-in{animation:fadeIn var(--transition-base) both}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) both}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) both}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) both}.animate-slide-in-right{animation:slideInRight var(--transition-slow) both}.animate-scale-in{animation:scaleIn var(--transition-base) both}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-tab{animation:tabSlideIn var(--transition-base) both}.stagger-children>*{opacity:0;animation:fadeInUp var(--transition-slow) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:60ms}.stagger-children>:nth-child(3){animation-delay:.12s}.stagger-children>:nth-child(4){animation-delay:.18s}.stagger-children>:nth-child(5){animation-delay:.24s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.36s}.stagger-children>:nth-child(8){animation-delay:.42s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-slate-100);background-color:var(--color-bg-base);background-image:radial-gradient(at 0 0,#5d5fef26 0,#0000 40%),radial-gradient(at 100% 100%,#a55eea1f 0,#0000 45%),radial-gradient(#20d3f20f 0,#0000 50%);background-attachment:fixed;min-height:100vh}#root{min-height:100vh}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:600;line-height:var(--leading-tight);color:var(--color-slate-100);letter-spacing:-.01em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:var(--color-slate-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-slate-600)}.app-shell{background-color:var(--color-bg-base);min-height:100vh;display:flex}.app-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);flex-direction:column;flex:1;display:flex}.app-main{padding:var(--space-8);padding-top:calc(var(--topbar-height) + var(--space-8));flex-direction:column;flex:1;display:flex}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:90;background:#04050a99;display:none;position:fixed;inset:0}.sidebar{width:var(--sidebar-width);background-color:var(--color-bg-sidebar);border-right:1px solid var(--color-slate-700);height:100vh;box-shadow:var(--shadow-sidebar);z-index:100;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-slate-700)}.sidebar-logo{align-items:center;gap:var(--space-3);display:flex}.sidebar-logo-icon{background:var(--gradient-btn);border-radius:var(--radius-lg);width:38px;height:38px;font-size:var(--text-lg);color:#fff;box-shadow:var(--shadow-btn-glow);justify-content:center;align-items:center;display:flex}.sidebar-logo-text{font-family:var(--font-serif);font-weight:700;font-size:var(--text-xl);color:#fff;letter-spacing:-.02em}.sidebar-logo-text span{color:var(--color-primary)}.sidebar-logo-subtitle{font-size:var(--text-xs);color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.sidebar-nav{padding:var(--space-4) 0;flex:1}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section-toggle{width:100%;padding:var(--space-2) var(--space-6);cursor:pointer;color:inherit;transition:color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.sidebar-section-toggle:hover{color:var(--color-slate-300)}.sidebar-section-toggle:hover .sidebar-section-title{color:var(--color-slate-400)}.sidebar-section-title{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.sidebar-section-chevron{color:var(--color-slate-500);transition:transform var(--transition-fast);flex-shrink:0;font-size:10px;line-height:1}.sidebar-section--collapsed .sidebar-section-chevron{transform:rotate(-90deg)}.sidebar-section-items{opacity:1;max-height:600px;transition:max-height .25s,opacity .2s;overflow:hidden}.sidebar-section--collapsed .sidebar-section-items{opacity:0;pointer-events:none;max-height:0}.sidebar-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);margin:2px var(--space-3);border-radius:var(--radius-md);color:var(--color-slate-400);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);width:calc(100% - (var(--space-3) * 2));text-align:left;background:0 0;border:none;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-item:hover{color:var(--color-slate-100);background:#ffffff08}.sidebar-item.active{color:var(--color-primary);box-shadow:var(--shadow-glow);background:#5d5fef14;border:1px solid #20d3f233}.sidebar-item.active:before{content:"";background:var(--color-primary);border-radius:var(--radius-full);width:4px;height:50%;box-shadow:0 0 8px var(--color-primary);position:absolute;top:50%;left:4px;transform:translateY(-50%)}.sidebar-item-icon{width:20px;height:20px;font-size:var(--text-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-item-badge{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700;line-height:1}.sidebar-profile{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-slate-700);align-items:center;gap:var(--space-3);background-color:#00000026;display:flex}.sidebar-avatar{border-radius:var(--radius-full);background:var(--gradient-btn);color:#fff;width:36px;height:36px;font-weight:600;font-size:var(--text-sm);box-shadow:var(--shadow-btn-glow);justify-content:center;align-items:center;display:flex}.sidebar-profile-info{flex:1;min-width:0}.sidebar-profile-name{font-size:var(--text-sm);color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-profile-role{font-size:var(--text-xs);color:var(--color-slate-400)}.topbar{top:0;left:var(--sidebar-width);height:var(--topbar-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-slate-700);padding:0 var(--space-8);z-index:50;transition:left var(--transition-base);background:#060813bf;justify-content:space-between;align-items:center;display:flex;position:fixed;right:0}.topbar-title{font-family:var(--font-serif);font-size:var(--text-xl);color:#fff;font-weight:700}.topbar-breadcrumb{font-size:var(--text-xs);color:var(--color-slate-400);margin-top:2px}.topbar-actions{align-items:center;gap:var(--space-4);display:flex}.card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-card), var(--shadow-glow);border:1px solid var(--color-slate-600);transition:all var(--transition-base);background:#0c1020b3;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md), var(--shadow-glow-active);border-color:#5d5fef40;transform:translateY(-2px)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-slate-700);justify-content:space-between;align-items:center;display:flex}.card-header h3{font-size:var(--text-lg);font-weight:600;font-family:var(--font-serif)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-slate-700);background:#00000026}.dashboard-expense-card{overflow:visible}.dashboard-expense-body{min-height:280px}.dashboard-expense-empty{min-height:240px;color:var(--color-slate-500);justify-content:center;align-items:center;display:flex}.dashboard-expense-split{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;min-height:240px;display:grid}.dashboard-expense-chart{min-width:0;height:220px}.dashboard-expense-legend{gap:var(--space-3);flex-direction:column;min-width:0;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dashboard-expense-legend-item{align-items:flex-start;gap:var(--space-2);display:flex}.dashboard-expense-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.dashboard-expense-legend-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-expense-legend-name{font-size:var(--text-sm);color:var(--color-slate-200);word-break:break-word;line-height:1.35}.dashboard-expense-legend-meta{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-slate-400)}@media (width<=640px){.dashboard-expense-split{grid-template-columns:1fr}.dashboard-expense-chart{height:200px}.dashboard-expense-legend{max-height:none}}.reglages-card-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-slate-500);font-weight:400}.reglages-card-footer{justify-content:flex-end;display:flex}.reglages-entete-empty{min-height:240px;color:var(--color-slate-500);justify-content:center;align-items:center;display:flex}.reglages-entete-preview{gap:var(--space-4);min-height:120px;margin-bottom:var(--space-6);padding:var(--space-5);border:1px dashed var(--color-slate-600);border-radius:var(--radius-md);background:#ffffff05;grid-template-columns:1fr minmax(120px,180px) 1fr;align-items:center;display:grid}.reglages-entete-preview-col{min-width:0;font-size:var(--text-sm);color:var(--color-slate-200);white-space:pre-wrap;flex-direction:column;gap:2px;line-height:1.45;display:flex}.reglages-entete-preview-col--left{text-align:left}.reglages-entete-preview-col--right{text-align:right}.reglages-entete-preview-col--logo{justify-content:center;align-items:center;display:flex}.reglages-entete-preview-line{display:block}.reglages-entete-preview-placeholder,.reglages-entete-preview-logo-placeholder{color:var(--color-slate-500);font-size:var(--text-xs)}.reglages-entete-preview-logo-placeholder{border:1px dashed var(--color-slate-600);border-radius:var(--radius-md);justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.reglages-logo-preview-image{object-fit:contain;max-width:100%;max-height:72px}.reglages-logo-preview-image--large{max-height:120px}.reglages-entete-grid{gap:var(--space-5);grid-template-columns:1fr minmax(200px,240px) 1fr;align-items:start;display:grid}.reglages-entete-field{margin-bottom:0}.reglages-entete-textarea{resize:vertical;min-height:220px;line-height:1.5}.reglages-logo-field{margin-bottom:0}.reglages-logo-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.reglages-logo-picker{gap:var(--space-3);flex-direction:column;display:flex}.reglages-logo-dropzone{min-height:160px;padding:var(--space-4);border:1px dashed var(--color-slate-600);border-radius:var(--radius-md);background:#ffffff05;justify-content:center;align-items:center;display:flex}.reglages-logo-empty{align-items:center;gap:var(--space-2);text-align:center;color:var(--color-slate-500);font-size:var(--text-sm);flex-direction:column;display:flex}.reglages-logo-empty-icon{font-size:1.75rem;line-height:1}.reglages-logo-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.reglages-field-hint{font-size:var(--text-xs);color:var(--color-slate-500);margin:0;line-height:1.4}@media (width<=960px){.reglages-entete-grid,.reglages-entete-preview{grid-template-columns:1fr}.reglages-entete-preview-col--right{text-align:left}.reglages-logo-field{order:-1}}.stat-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-card), var(--shadow-glow);border:1px solid var(--color-slate-600);padding:var(--space-6);align-items:flex-start;gap:var(--space-4);transition:all var(--transition-base);background:#0c1020b3;display:flex}.stat-card:hover{box-shadow:var(--shadow-md), var(--shadow-glow-active);border-color:#5d5fef40;transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-lg);width:48px;height:48px;font-size:var(--text-2xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card-icon.green{color:var(--color-success);background:#10b9811a}.stat-card-icon.blue{color:var(--color-info);background:#20d3f21a}.stat-card-icon.amber{color:var(--color-warning);background:#f59e0b1a}.stat-card-icon.red{color:var(--color-danger);background:#ef44441a}.stat-card-content{flex:1}.stat-card-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate-400);margin-bottom:var(--space-1);font-weight:600}.stat-card-value{font-family:var(--font-mono);font-size:var(--text-2xl);color:#fff;animation:countUp var(--transition-slow) both;font-weight:700}.stat-card-change{font-size:var(--text-xs);margin-top:var(--space-1);font-weight:600}.stat-card-change.positive{color:var(--color-success)}.stat-card-change.negative{color:var(--color-danger)}.stat-card-progress{background:var(--color-slate-700);border-radius:var(--radius-full);width:100%;height:4px;margin-top:var(--space-3);overflow:hidden}.stat-card-progress-bar{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.stats-grid{gap:var(--space-6);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.table-container{border-radius:var(--radius-lg);border:1px solid var(--color-slate-600);background:#0c102066;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table thead{border-bottom:2px solid var(--color-slate-700);background:#ffffff05}.table th{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-slate-400);padding:var(--space-4);text-align:left;white-space:nowrap;font-weight:600}.table td{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-slate-200);border-bottom:1px solid var(--color-slate-700)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:nth-child(2n){background:#ffffff03}.table tbody tr:hover{background:#5d5fef0f}.pointage-fields-row{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.pointage-fields-row .form-group{margin:0}.pointage-fields-row .form-group--date{flex:0 200px;min-width:200px;max-width:220px}.pointage-fields-row .form-group--sector{width:max-content;min-width:0;max-width:calc(100% - 220px - var(--space-4));flex:0 auto}.pointage-fields-row .form-group--sector .form-input.form-select{field-sizing:content;width:auto;min-width:12rem;max-width:100%}.pointage-fields-row .form-label{margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:500}.pointage-fields-row .form-input-shell{isolation:isolate;border-radius:var(--radius-md);width:100%;transition:transform .32s var(--transition-spring);display:block;position:relative;overflow:hidden}.pointage-fields-row .form-group--sector .form-input-shell{width:fit-content;max-width:100%}.pointage-fields-row .form-input-shell:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(105deg,#0000 30%,#ffffff1a 46%,#ffffff38 50%,#ffffff1a 54%,#0000 70%);transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-130%)skew(-12deg)}.pointage-fields-row .form-input-shell:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;z-index:1;transition:opacity .28s;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1a}.pointage-fields-row .form-input-shell:hover:before,.pointage-fields-row .form-input-shell:focus-within:before{transform:translate(130%)skew(-12deg)}.pointage-fields-row .form-input-shell:hover:after,.pointage-fields-row .form-input-shell:focus-within:after{opacity:1}.pointage-fields-row .form-input-shell .form-input{z-index:0;transition:color .28s cubic-bezier(.22,1,.36,1),background-color .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1);position:relative}.pointage-fields-row .form-input-shell:hover{transform:translateY(-2px)scale(1.01)}.pointage-fields-row .form-input-shell:hover .form-input,.pointage-fields-row .form-input-shell:focus-within .form-input{background-color:var(--color-input-bg-focus);border-color:#20d3f28c;box-shadow:0 6px 22px #20d3f22e,0 0 0 1px #20d3f224,inset 0 1px #ffffff14}.pointage-fields-row .form-input-shell:focus-within .form-input{border-color:var(--color-primary);box-shadow:0 8px 28px #20d3f247, 0 0 0 3px #20d3f226, var(--shadow-glow), inset 0 1px 0 #ffffff1a}.pointage-fields-row .form-input-shell:active{transition-duration:.1s;transform:translateY(0)scale(.99)}@media (prefers-reduced-motion:reduce){.pointage-fields-row .form-input-shell,.pointage-fields-row .form-input-shell:before{transition:none}.pointage-fields-row .form-input-shell:hover,.pointage-fields-row .form-input-shell:focus-within{transform:none}.pointage-fields-row .form-input-shell:hover:before,.pointage-fields-row .form-input-shell:focus-within:before{transform:translate(-130%)skew(-12deg)}}.presence-picker{flex-wrap:wrap;gap:6px;width:100%;min-width:0;display:flex}.pointage-sheet-row--inactive{opacity:.55}.pointage-sheet-row--inactive .pointage-worker-name{color:var(--color-slate-400)}.pointage-sheet-row--locked{opacity:.5;pointer-events:none}.pointage-sector-lock{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-4) var(--space-6) var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:#fcd34d;font-size:var(--text-sm);text-align:center;background:linear-gradient(135deg,#fbbf2424 0%,#fbbf240a 100%);border:1px solid #fbbf2473;display:flex;box-shadow:0 0 24px #fbbf241a}.pointage-sector-lock-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.pointage-sector-lock p{margin:0;line-height:1.45}.pointage-sector-lock strong{color:#fde68a;font-weight:600}.presence-option:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.presence-option:disabled:hover{color:inherit;border-color:inherit;background:inherit;box-shadow:none;transform:none}.presence-option{isolation:isolate;border-radius:var(--radius-sm);border:1px solid var(--color-slate-600);min-width:0;min-height:32px;color:var(--color-slate-300);text-align:center;white-space:nowrap;cursor:pointer;transition:color .28s cubic-bezier(.22, 1, .36, 1), background .28s cubic-bezier(.22, 1, .36, 1), border-color .28s cubic-bezier(.22, 1, .36, 1), box-shadow .32s cubic-bezier(.22, 1, .36, 1), transform .32s var(--transition-spring);background:#ffffff0a;flex:1 1 0;padding:6px 4px;font-size:.68rem;font-weight:600;line-height:1.15;position:relative;overflow:hidden}.presence-option:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(105deg,#0000 30%,#ffffff24 46%,#ffffff42 50%,#ffffff24 54%,#0000 70%);transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-130%)skew(-12deg)}.presence-option:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;z-index:0;transition:opacity .28s;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1f}.presence-option:hover:before{transform:translate(130%)skew(-12deg)}.presence-option:hover:after{opacity:1}.presence-option:hover:not(.active){color:var(--color-slate-100);border-color:var(--color-slate-500);background:#ffffff14;transform:translateY(-2px)scale(1.03);box-shadow:0 6px 18px #00000047,inset 0 1px #ffffff0f}.presence-option--na:hover:not(.active){color:var(--color-slate-300);background:#94a3b81a;border-color:#94a3b873;box-shadow:0 6px 18px #0003,inset 0 1px #ffffff0f}.presence-option--present:hover:not(.active){color:#a7f3d0;background:#10b9811f;border-color:#10b9818c;box-shadow:0 6px 22px #10b98138,0 0 0 1px #10b98126,inset 0 1px #ffffff14}.presence-option--demi:hover:not(.active){color:#fde68a;background:#f59e0b1f;border-color:#f59e0b8c;box-shadow:0 6px 22px #f59e0b33,0 0 0 1px #f59e0b24,inset 0 1px #ffffff14}.presence-option--absent:hover:not(.active){color:#fecaca;background:#ef44441f;border-color:#ef44448c;box-shadow:0 6px 22px #ef444433,0 0 0 1px #ef444424,inset 0 1px #ffffff14}.presence-option--maladie:hover:not(.active){color:#a5f3fc;background:#20d3f21a;border-color:#20d3f28c;box-shadow:0 6px 22px #20d3f22e,0 0 0 1px #20d3f224,inset 0 1px #ffffff14}.presence-option:active{transition-duration:.1s;transform:translateY(0)scale(.97)}.presence-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.presence-option.active{transform:translateY(-1px)}.presence-option--na.active{color:#0f172a;background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);border-color:#94a3b8;box-shadow:0 2px 12px #64748b38}.presence-option--na.active:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #64748b4d,inset 0 1px #ffffff2e}.presence-option--present.active{color:#041016;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#10b981;box-shadow:0 2px 14px #10b98147}.presence-option--present.active:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #10b9816b,0 0 0 1px #10b98159,inset 0 1px #ffffff38}.presence-option--demi.active{background:linear-gradient(135deg, #fbbf24 0%, var(--color-warning) 100%);border-color:var(--color-warning);color:#1a1206;box-shadow:0 2px 14px #f59e0b40}.presence-option--demi.active:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #f59e0b61,0 0 0 1px #f59e0b52,inset 0 1px #ffffff38}.presence-option--absent.active{background:linear-gradient(135deg, #f87171 0%, var(--color-danger) 100%);border-color:var(--color-danger);color:#1a0808;box-shadow:0 2px 14px #ef444440}.presence-option--absent.active:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #ef444461,0 0 0 1px #ef444452,inset 0 1px #fff3}.presence-option--maladie.active{background:linear-gradient(135deg, #67e8f9 0%, var(--color-info) 100%);border-color:var(--color-info);color:#041016;box-shadow:0 2px 14px #20d3f238}.presence-option--maladie.active:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #20d3f259,0 0 0 1px #20d3f24d,inset 0 1px #ffffff38}@media (prefers-reduced-motion:reduce){.presence-option,.presence-option:before{transition:none}.presence-option:hover:not(.active),.presence-option.active:hover{transform:none}.presence-option:hover:before{transform:translate(-130%)skew(-12deg)}}.form-input--table{min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.table--pointage-sheet{table-layout:fixed;width:100%}.table--pointage-sheet th{color:var(--color-slate-300);letter-spacing:.06em;text-align:center;padding-left:var(--space-2);padding-right:var(--space-2);font-size:.7rem}.pointage-worker-identity{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.table--pointage-sheet .pointage-worker-name{font-size:var(--text-base);color:#fff;font-weight:700;line-height:1.3}.table--pointage-sheet .pointage-worker-rate{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-slate-300);white-space:nowrap}.pointage-worker-rate--inline{display:block}.pointage-sheet-footer{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=900px){.pointage-fields-row .form-group--date,.pointage-fields-row .form-group--sector{flex:100%;width:100%;min-width:0;max-width:none}.pointage-fields-row .form-group--sector .form-input.form-select{field-sizing:fixed;width:100%;min-width:0}.table-container:has(.table--pointage-sheet){padding:var(--space-4);background:0 0;border:none;overflow-x:visible}.table--pointage-sheet{display:block}.table--pointage-sheet thead{display:none}.table--pointage-sheet tbody{gap:var(--space-4);flex-direction:column;display:flex}.table--pointage-sheet tr{padding:var(--space-5);border:1px solid var(--color-slate-600);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffff08;display:block}.table--pointage-sheet tr:hover{background:#ffffff0a}.table--pointage-sheet td{border:none;padding:0;display:block}.table--pointage-sheet td+td{margin-top:var(--space-4)}.table--pointage-sheet td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.07em;color:var(--color-slate-400);margin-bottom:var(--space-2);font-size:.68rem;font-weight:700;display:block}.table--pointage-sheet .pointage-cell-rate{display:none}.table--pointage-sheet tr>td:first-child{padding-bottom:var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-slate-700)}.table--pointage-sheet tr>td:first-child:before{display:none}.table--pointage-sheet tr>td:nth-child(2){margin-top:0}.pointage-sheet-footer{flex-direction:column-reverse}.pointage-sheet-footer .btn{width:100%}}.pointage-task-cell{align-items:center;gap:var(--space-2);min-width:0;display:flex}.pointage-task-input{flex:auto;min-width:0}.pointage-notes-btn{border-radius:var(--radius-md);border:1px solid var(--color-slate-600);width:2rem;height:2rem;color:var(--color-slate-400);cursor:pointer;background:#ffffff0a;flex:none;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex;position:relative}.pointage-notes-btn:hover:not(:disabled){color:var(--color-slate-100);border-color:var(--color-slate-500);background:#ffffff14}.pointage-notes-btn--filled{color:var(--color-info);background:#20d3f214;border-color:#20d3f273}.pointage-notes-btn--filled:after{content:"";background:var(--color-info);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.pointage-notes-btn:disabled{opacity:.35;cursor:not-allowed}@media (width>=901px){.table--pointage-sheet .pointage-col-name{width:17%}.table--pointage-sheet .pointage-col-rate{width:9%}.table--pointage-sheet .pointage-col-presence{width:40%}.table--pointage-sheet .pointage-col-task{width:34%}.pointage-worker-rate--inline{display:none}.pointage-worker-identity{justify-content:space-between;align-items:center;gap:var(--space-4);flex-direction:row}.table--pointage-sheet .pointage-cell-rate{padding-right:var(--space-2)}.table--pointage-sheet .pointage-cell-rate .pointage-worker-rate,.table--pointage-sheet .pointage-cell-rate .form-input--table{width:100%;min-width:0;max-width:6.5rem}.table--pointage-sheet .pointage-cell-presence{padding-left:var(--space-2);padding-right:var(--space-2)}.table--pointage-sheet .pointage-cell-presence .presence-picker{flex-wrap:nowrap}.table--pointage-sheet .presence-option{white-space:nowrap;flex:1 1 0;min-width:0;min-height:34px;padding:6px;font-size:.7rem}.table--pointage-sheet .form-input--table{width:100%;min-width:0}.table--pointage-sheet .pointage-cell-task .form-input--table{min-width:0}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;font-weight:600;line-height:1.2;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-btn);color:#fff;box-shadow:var(--shadow-btn-glow)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-btn-glow-hover);transform:translateY(-1px)}.btn-secondary{color:var(--color-slate-200);border:1px solid var(--color-slate-600);background:#ffffff0a}.btn-secondary:hover:not(:disabled){border-color:var(--color-slate-500);color:#fff;background:#ffffff14}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--color-slate-600);width:34px;height:34px;color:var(--color-slate-300);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#ffffff08;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon svg{flex-shrink:0;width:16px;height:16px}.btn-icon:hover:not(:disabled){transform:translateY(-1px)}.btn-icon--edit:hover:not(:disabled){color:var(--color-primary);background:#20d3f21a;border-color:#20d3f273;box-shadow:0 0 16px #20d3f226}.btn-icon--detail:hover:not(:disabled){color:var(--color-slate-100);background:#94a3b81f;border-color:#94a3b88c;box-shadow:0 0 12px #94a3b81f}.btn-icon--delete:hover:not(:disabled){color:#fecaca;background:#ef44441f;border-color:#ef444480;box-shadow:0 0 16px #ef44442e}.btn-icon--deactivate:hover:not(:disabled){color:#fde68a;background:#f59e0b1f;border-color:#f59e0b80;box-shadow:0 0 16px #f59e0b2e}.table-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:inline-flex}.btn-lg{font-size:var(--text-base);padding:var(--space-4) var(--space-8)}.form-group{margin-bottom:var(--space-5)}.form-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-slate-300);margin-bottom:var(--space-2);font-weight:500;display:flex}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-input-text);background-color:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none}.search-input-field{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.search-input-field__icon{left:var(--space-3);z-index:1;color:var(--color-slate-500);pointer-events:none;position:absolute}.search-input-field__input{width:100%;padding-left:calc(var(--space-3) + 16px + var(--space-2))}.search-input-field:focus-within .search-input-field__icon{color:var(--color-slate-300)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #20d3f226, var(--shadow-glow);background-color:var(--color-input-bg-focus)}.form-input::placeholder{color:var(--color-input-placeholder)}.form-input[type=number]{appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input--quantity{text-align:center;min-width:5.5rem;max-width:7rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding-left:var(--space-3);padding-right:var(--space-3)}.form-input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-input-bg) inset;-webkit-text-fill-color:var(--color-input-text);caret-color:var(--color-input-text)}.form-input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-input-bg) inset;-webkit-text-fill-color:var(--color-input-text);caret-color:var(--color-input-text)}.form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-input-bg) inset;-webkit-text-fill-color:var(--color-input-text);caret-color:var(--color-input-text)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10L6 8z' fill='%238892b0'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-select option{background-color:var(--color-bg-card);color:var(--color-slate-100)}.form-error{font-size:var(--text-sm);color:var(--color-danger);margin-top:var(--space-2)}.badge{font-size:var(--text-xs);border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.badge-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-danger{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.badge-info{color:#67e8f9;background:#20d3f226;border:1px solid #20d3f24d}.badge-neutral{color:var(--color-slate-300);border:1px solid var(--color-slate-600);background:#ffffff0d}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;opacity:1;background:#04050ab3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay-enter{animation:fadeIn var(--transition-fast) forwards}.modal{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), var(--shadow-glow-active);border:1px solid var(--color-slate-600);opacity:1;width:90%;max-width:560px;max-height:85vh;overflow-y:auto;transform:translate(0,0)scale(1)}.modal-enter{animation:scaleIn var(--transition-base) forwards}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-slate-700);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-slate-700);justify-content:flex-end;gap:var(--space-3);background:#00000026;display:flex}.app-dialog-overlay{-webkit-backdrop-filter:blur(10px);z-index:300;padding:var(--space-4);opacity:1;background:#04050abf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-dialog-overlay-enter{animation:fadeIn var(--transition-fast) forwards}.app-dialog{background:var(--color-bg-card);border:1px solid var(--color-slate-600);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl), var(--shadow-glow-active);padding:var(--space-8) var(--space-6) var(--space-6);text-align:center;opacity:1;transform:translate(0,0)scale(1)}.app-dialog-enter{animation:scaleIn var(--transition-base) forwards}.app-dialog-icon{width:56px;height:56px;margin:0 auto var(--space-5);border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.app-dialog--success .app-dialog-icon{color:var(--color-success);background:#10b98126;border-color:#10b98159;box-shadow:0 0 24px #10b98126}.app-dialog--info .app-dialog-icon{color:var(--color-primary);background:#20d3f21f;border-color:#20d3f259;box-shadow:0 0 24px #20d3f21f}.app-dialog--warning .app-dialog-icon{color:var(--color-warning);background:#f59e0b26;border-color:#f59e0b59}.app-dialog--danger .app-dialog-icon{color:var(--color-danger);background:#ef444426;border-color:#ef444459}.app-dialog-title{margin:0 0 var(--space-3);font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-slate-100);font-weight:700}.app-dialog-message{margin:0 0 var(--space-6);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-slate-400);white-space:pre-line}.app-dialog-actions{justify-content:center;gap:var(--space-3);display:flex}.app-dialog-actions .btn{min-width:110px}.login-page{background-color:var(--color-bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle at 40% 40%,#5d5fef38 0%,#0000 50%),radial-gradient(circle at 60% 60%,#a55eea2e 0%,#0000 50%);width:140%;height:140%;animation:10s ease-in-out infinite pulse;position:absolute;top:-20%;left:-20%}.login-card{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), var(--shadow-glow);border:1px solid var(--color-slate-600);padding:var(--space-10) var(--space-8);z-index:1;background:#0c1020bf;width:90%;max-width:460px;animation:.6s cubic-bezier(.34,1.56,.64,1) both fadeInUp;position:relative}.login-logo{text-align:center;margin-bottom:var(--space-6)}.login-logo-text{font-family:var(--font-serif);font-weight:800;font-size:var(--text-3xl);color:#fff;letter-spacing:-.02em}.login-logo-text .part-nano{color:var(--color-primary)}.login-logo-text .part-partner{color:var(--color-accent)}.login-logo-subtitle{font-size:var(--text-sm);color:var(--color-slate-400);margin-top:var(--space-3);font-weight:500}.segmented-control{border:1px solid var(--color-slate-700);border-radius:var(--radius-md);margin-bottom:var(--space-8);background:#ffffff0a;padding:4px;display:flex}.segmented-tab{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:var(--color-slate-400);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:8px 12px;font-weight:600;display:flex}.segmented-tab.active{background:var(--color-primary);color:#000;box-shadow:0 2px 12px #20d3f240}.segmented-tab:not(.active):hover{color:var(--color-slate-200);background:#ffffff0f}.segmented-control--form{margin-bottom:0}.toggle-switch-field{gap:var(--space-2);flex-direction:column;display:flex}.toggle-switch{border-radius:var(--radius-md);border:1px solid var(--color-input-border);background:var(--color-input-bg);grid-template-columns:1fr 1fr;gap:0;min-height:44px;padding:4px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0a}.toggle-switch-slider{border-radius:calc(var(--radius-md) - 2px);width:calc(50% - 4px);transition:transform .32s var(--transition-spring), background .28s ease, box-shadow .28s ease;pointer-events:none;z-index:0;background:linear-gradient(135deg,#475569 0%,#334155 100%);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 2px 10px #00000059,inset 0 1px #ffffff1a}.toggle-switch--on .toggle-switch-slider{background:linear-gradient(135deg, #10b981 0%, var(--color-primary) 100%);transform:translate(100%);box-shadow:0 4px 18px #10b98147,0 0 0 1px #20d3f233,inset 0 1px #ffffff38}.toggle-switch-option{z-index:1;min-height:36px;padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 2px);color:var(--color-slate-400);font-family:var(--font-sans);font-size:var(--text-sm);text-align:center;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-weight:600;line-height:1.2;transition:color .24s,text-shadow .24s;display:inline-flex;position:relative}.toggle-switch-option.is-active{color:var(--color-slate-100);text-shadow:0 1px 8px #00000059}.toggle-switch--on .toggle-switch-option.is-active{color:#041016;text-shadow:none}.toggle-switch-option:not(.is-active):hover{color:var(--color-slate-200)}.toggle-switch--disabled{opacity:.55;pointer-events:none}.toggle-switch-hint{font-size:var(--text-xs);color:var(--color-slate-500);margin:0;line-height:1.4}.form-option-card{margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-slate-700);background:linear-gradient(145deg,#1e293b8c 0%,#0f172ad9 100%);box-shadow:inset 0 1px #ffffff0a}.form-option-card__header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.form-option-card__icon{border-radius:var(--radius-md);background:#10b9811f;border:1px solid #10b98140;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;display:flex}.form-option-card__title{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--color-slate-100);font-weight:600;line-height:1.3}.form-option-card__subtitle{font-size:var(--text-xs);color:var(--color-slate-500);margin:0;line-height:1.4}.form-option-card .toggle-switch-field{margin-bottom:0}.form-option-card--compact{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);display:flex}.form-option-card__inline-label{font-size:var(--text-sm);color:var(--color-slate-200);cursor:pointer;margin:0;font-weight:600;line-height:1.3}.form-option-card--compact .toggle-switch-field{flex:none;width:min(9.5rem,38vw)}.form-option-card--compact .toggle-switch{min-height:36px}.form-option-card--compact .toggle-switch-option{min-height:28px;font-size:var(--text-xs)}.nav-tabs{align-items:stretch;gap:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-slate-700);scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);color:var(--color-slate-400);font-family:var(--font-sans);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;margin-bottom:-1px;font-weight:600;line-height:1.3;display:inline-flex;position:relative}.nav-tab-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-tab-icon svg{width:16px;height:16px}.nav-tab:hover:not(.active){color:var(--color-slate-200)}.nav-tab.active{color:var(--color-primary)}.nav-tab.active:before{content:"";background:var(--color-primary);z-index:1;border-radius:0;height:4px;position:absolute;bottom:-1px;left:0;right:0}.nav-tab.active:after{content:"";background:var(--color-primary);filter:blur(6px);opacity:.75;z-index:0;height:5px;position:absolute;bottom:-2px;left:0;right:0}.segmented-tab-icon{opacity:.9;font-size:.85em;line-height:1}.segmented-tab--recette.active{background:linear-gradient(135deg, #10b981 0%, var(--color-primary) 100%);color:#041016;box-shadow:0 2px 16px #20d3f24d}.segmented-tab--depense.active{background:linear-gradient(135deg, #f97316 0%, var(--color-danger) 100%);color:#1a0808;box-shadow:0 2px 16px #ef444447}.phone-input-group{gap:var(--space-2);display:flex}.phone-prefix{flex-shrink:0;width:auto;min-width:8.75rem;padding-right:2.5rem}.phone-prefix-fixed{min-width:8.75rem;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-input-text);background-color:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.phone-prefix-fixed__flag{font-size:1.125rem;line-height:1}.phone-prefix-fixed__code{letter-spacing:.02em}.phone-number{flex:1}.password-group{position:relative}.password-toggle{right:var(--space-4);cursor:pointer;color:var(--color-slate-400);font-size:var(--text-lg);padding:var(--space-1);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.login-submit{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--text-base);margin-top:var(--space-6);font-weight:700}.login-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-slate-400)}.login-footer a{color:var(--color-primary);font-weight:600}.login-footer a:hover{color:var(--color-accent)}.horizontal-nav{gap:var(--space-4);border-bottom:1px solid var(--color-slate-700);margin-bottom:var(--space-6);padding-bottom:2px;display:flex;overflow-x:auto}.horizontal-nav-item{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--color-slate-400);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600;display:flex}.horizontal-nav-item:hover{color:var(--color-slate-200)}.horizontal-nav-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.page-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-4);opacity:.3;font-size:48px}.empty-state-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-slate-300);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--text-sm);color:var(--color-slate-400);max-width:360px}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.app-content{margin-left:0}.topbar{padding:0 var(--space-4);left:0}.app-main{padding:var(--space-4);padding-top:calc(var(--topbar-height) + var(--space-4))}.grid-3,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.stats-grid{grid-template-columns:1fr}.login-card{padding:var(--space-8) var(--space-5)}}
