@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--background: oklch(.98 .005 190);--foreground: oklch(.14 .01 190);--card: oklch(1 0 0);--card-foreground: oklch(.14 .01 190);--popover: oklch(1 0 0);--popover-foreground: oklch(.14 .01 190);--primary: oklch(.62 .12 185);--primary-foreground: oklch(.14 .01 190);--secondary: oklch(.9 .01 190);--secondary-foreground: oklch(.14 .01 190);--muted: oklch(.93 .005 190);--muted-foreground: oklch(.45 .01 190);--accent: oklch(.68 .12 72);--accent-foreground: oklch(.14 .01 190);--destructive: oklch(.48 .14 28);--destructive-foreground: oklch(.98 0 0);--border: oklch(.88 .005 190);--input: oklch(.88 .005 190);--ring: oklch(.65 .15 185);--font-sans: system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, monospace;--radius: .125rem}.dark{--background: oklch(.12 .01 190);--foreground: oklch(.95 .005 190);--card: oklch(.15 .01 190);--card-foreground: oklch(.95 .005 190);--popover: oklch(.15 .01 190);--popover-foreground: oklch(.95 .005 190);--primary: oklch(.62 .12 185);--primary-foreground: oklch(.14 .01 190);--secondary: oklch(.22 .01 190);--secondary-foreground: oklch(.95 .005 190);--muted: oklch(.18 .005 190);--muted-foreground: oklch(.65 .005 190);--accent: oklch(.68 .12 72);--accent-foreground: oklch(.14 .01 190);--destructive: oklch(.5 .14 28);--destructive-foreground: oklch(.98 0 0);--border: oklch(.25 .01 190);--input: oklch(.25 .01 190);--ring: oklch(.7 .12 185)}:root{--primary:#28aba5;--font-sans:"DM Sans",sans-serif;--font-display:"Space Grotesk",sans-serif;--sidebar-width:244px}*{box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none;margin:0}#root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}body{font-family:var(--font-sans);color:var(--foreground);background:var(--background);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--ring);outline-offset:3px}button{transition:background .15s,color .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.kpi-number{font-family:var(--font-display)}h1{font-size:30px;letter-spacing:-1px;line-height:1.2}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:16px}p{line-height:1.6}.muted,.text-muted-foreground{color:var(--muted-foreground)}.bg-card{background:var(--card)}.bg-background{background:var(--background)}.text-foreground{color:var(--foreground)}.border-border{border-color:var(--border)}.shell{display:flex;height:100%;min-height:0}.sidebar{width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--border);background:var(--card);display:flex;flex-direction:column;padding:30px 18px 20px}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;letter-spacing:-1.5px}.brand svg{color:var(--primary)}.brand-sub{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted-foreground);margin:9px 0 37px 10px}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--muted-foreground)}.nav-label{padding:0 12px;margin-bottom:13px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;background:transparent;text-align:left;display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--radius);color:var(--muted-foreground);min-height:44px}.nav button:hover{background:var(--muted)}.nav button.active{color:var(--foreground);background:color-mix(in srgb,var(--primary) 12%,var(--card));box-shadow:inset 3px 0 var(--primary);font-weight:600}.nav button.active svg{color:var(--primary)}.nav-count{margin-left:auto;font-size:11px;font-family:var(--font-mono)}.sidebar-footer{margin-top:auto;padding:18px 10px 0;border-top:1px solid var(--border)}.secure-line{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted-foreground);margin-bottom:14px}.avatar{height:32px;width:32px;display:grid;place-items:center;background:var(--muted);font-weight:700;border-radius:50%;flex-shrink:0}.account{display:flex;align-items:center;gap:9px;font-size:12px}.work{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.topbar{height:66px;flex-shrink:0;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--card);font-size:12px}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-right{display:flex;align-items:center;gap:14px}.live-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--primary);margin-right:6px}.content{flex:1;min-height:0;overflow-y:auto;padding:34px 36px 44px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-head p{margin-top:9px;color:var(--muted-foreground)}.eyebrow{margin-bottom:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;min-height:44px;white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);background:var(--card);font-weight:600;font-size:12px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn-ghost{background:transparent;border-color:transparent}.icon-btn{border:0;background:transparent;color:var(--muted-foreground);padding:8px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi{padding:21px 20px;background:var(--card);border:1px solid var(--border);text-align:left;border-top:2px solid var(--border)}.kpi:first-child{border-top-color:var(--primary)}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted-foreground);font-size:12px;gap:10px}.kpi-number{font-size:40px;line-height:1.2;letter-spacing:-2px;margin:13px 0 9px;font-weight:500}.kpi small{font-size:10px;color:var(--muted-foreground)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{border:1px solid var(--border);background:var(--card);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:16px}.panel-head .muted{font-size:11px;margin-top:5px}.panel-bottom{padding:14px 22px;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:11px;display:flex;gap:8px;align-items:center}.empty{padding:46px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px}.empty-icon{padding:16px;background:var(--background);border:1px solid var(--border);margin-bottom:4px;color:var(--primary)}.empty p{font-size:12px;color:var(--muted-foreground);max-width:360px}.intro{margin-top:24px;background:var(--card);border:1px solid var(--border);padding:26px;display:flex;justify-content:space-between;align-items:center;gap:30px}.intro h2{font-size:19px}.intro p{font-size:12px;margin-top:8px;color:var(--muted-foreground);max-width:570px}.steps{display:flex;gap:18px}.step{display:flex;gap:8px;align-items:center;font-size:11px;white-space:nowrap}.step span{border:1px solid var(--border);width:24px;height:24px;display:grid;place-items:center;font-family:var(--font-mono);color:var(--primary)}.banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 17px;margin-bottom:24px;border:1px solid var(--border);background:var(--card);font-size:12px}.banner p{display:flex;align-items:center;gap:10px}.banner svg{flex-shrink:0;color:var(--primary)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.search{position:relative;flex:1;min-width:200px}.search svg{position:absolute;left:13px;top:14px;color:var(--muted-foreground)}.search input{padding-left:40px;width:100%}input,select,textarea{border:1px solid var(--input);padding:11px 12px;background:var(--card);color:var(--foreground);min-height:44px;border-radius:var(--radius)}select{max-width:100%}.filters select{min-width:150px}.check-label{display:flex;gap:8px;align-items:center;font-size:12px}.check-label input{min-height:auto;accent-color:var(--primary)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--muted-foreground);background:var(--background);padding:14px 18px;white-space:nowrap}td{padding:16px 18px;border-top:1px solid var(--border);font-size:12px;max-width:300px}td.primary-cell{font-weight:600;min-width:190px}td .sub{display:block;color:var(--muted-foreground);font-size:11px;margin-top:5px;font-weight:400}.table-link{background:none;border:none;color:inherit;text-align:left;padding:0;font-weight:600}.table-link:hover{text-decoration:underline;text-decoration-color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--radius);background:var(--muted);font-size:10px;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.badge.en-cours{background:color-mix(in srgb,var(--accent) 12%,var(--card));color:color-mix(in srgb,var(--accent) 70%,var(--foreground))}.badge.termine{color:color-mix(in srgb,var(--primary) 70%,var(--foreground));background:color-mix(in srgb,var(--primary) 10%,var(--card))}.badge.bloque,.overdue{color:var(--destructive)}.badge.bloque{background:color-mix(in srgb,var(--destructive) 8%,var(--card))}.row-actions{display:flex;justify-content:flex-end}.notice{padding:12px 16px;background:var(--card);border:1px solid var(--border);margin-bottom:20px;font-size:12px;display:flex;gap:10px;align-items:center}.error{color:var(--destructive);border-color:var(--destructive)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--border);background:var(--card);text-align:left;padding:16px 22px;font-size:12px}.list-row:last-child{border-bottom:0}.list-row small{display:block;margin-top:6px;color:var(--muted-foreground)}.list-row.overdue small{color:var(--destructive)}.skeleton{height:120px;background:linear-gradient(90deg,var(--muted),var(--card),var(--muted));background-size:200%;animation:pulse 1.5s infinite}.skeleton-row{height:54px;margin:12px;background:var(--muted)}@keyframes pulse{to{background-position:-200% 0}}.detail-info{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border:1px solid var(--border);background:var(--card);padding:24px;margin-bottom:24px}.detail-info label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:10px}.detail-info p{font-size:13px}.detail-tabs{display:flex;gap:20px;border-bottom:1px solid var(--border);margin-bottom:22px}.detail-tabs button{border:0;background:transparent;padding:14px 3px;color:var(--muted-foreground);font-size:12px}.detail-tabs button.active{border-bottom:2px solid var(--primary);color:var(--foreground);font-weight:600}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--foreground) 35%,transparent);z-index:30;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--card);border:1px solid var(--border);width:620px;max-width:100%;max-height:100%;display:flex;flex-direction:column;box-shadow:0 12px 60px color-mix(in srgb,var(--foreground) 15%,transparent)}.modal-head{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.modal-head p{font-size:11px;color:var(--muted-foreground);margin-top:6px}.form-body{padding:24px;overflow-y:auto;min-height:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field small{font-size:10px;color:var(--muted-foreground)}textarea{resize:vertical;min-height:90px}.form-footer{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);gap:10px}.form-footer small{color:var(--muted-foreground);font-size:10px}.source-box{margin-top:22px;padding:18px;background:var(--background);border:1px solid var(--border)}.source-box h3{font-size:12px;margin-bottom:15px;display:flex;gap:8px;align-items:center}.toast{position:absolute;bottom:24px;right:28px;z-index:50;background:var(--foreground);color:var(--background);padding:15px 20px;display:flex;align-items:center;gap:10px;font-size:12px}.mobile-toggle{display:none}.login-dialog{text-align:left}.login-dialog .form-body{padding:32px}.login-dialog h2{font-size:26px;margin:20px 0 12px}.login-dialog p{color:var(--muted-foreground);font-size:13px;margin-bottom:22px}.login-dialog .btn{width:100%}.journal-diff{font-family:var(--font-mono);font-size:11px;white-space:pre-wrap;background:var(--background);padding:16px;overflow-wrap:anywhere}.login-loading{display:grid;place-items:center;height:100%;padding:24px}.page-footer{display:flex;justify-content:space-between;margin-top:26px;gap:12px;font-size:10px;color:var(--muted-foreground)}@media(min-width:1600px){.content{padding:40px 48px}.kpis{gap:24px}.kpi{padding:26px}.dashboard-grid{gap:28px}}@media(max-width:1100px){:root{--sidebar-width:210px}.content{padding:28px 24px}.topbar{padding:0 24px}.kpis{gap:10px}.kpi{padding:17px 14px}.intro{align-items:flex-start;flex-direction:column;gap:18px}.dashboard-grid{grid-template-columns:1fr 1fr}.step{font-size:10px}}@media(max-width:760px){.sidebar{display:none}.sidebar.open{display:flex;position:absolute;top:0;bottom:0;left:0;width:260px;z-index:22;box-shadow:12px 0 60px color-mix(in srgb,var(--foreground) 20%,transparent)}.mobile-toggle{display:inline-flex}.menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--foreground) 25%,transparent);z-index:21;border:0}.topbar{height:59px;padding:0 14px}.topbar-right .date-label,.topbar-right .status-label{display:none}.content{padding:24px 18px 28px}h1{font-size:26px}.page-head{align-items:flex-start;gap:12px;margin-bottom:22px}.page-head p{font-size:12px}.page-head .btn{font-size:11px;padding:10px}.page-head .eyebrow{font-size:9px}.kpis{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.kpi{padding:17px 14px}.kpi-top{font-size:11px;align-items:flex-start;min-height:30px}.kpi-top svg{width:16px;flex-shrink:0}.kpi-number{font-size:34px;margin:6px 0}.kpi small{font-size:9px}.dashboard-grid{grid-template-columns:1fr;gap:18px}.panel-head{padding:18px}.empty{padding:34px 20px}.intro{padding:20px;margin-top:18px}.steps{flex-direction:column;gap:10px}.banner{align-items:flex-start;padding:13px}.banner p{font-size:11px;align-items:flex-start}.banner .btn{padding:7px 9px;min-height:36px;font-size:10px}.filters{gap:8px}.search{min-width:100%;flex-basis:100%}.filters select{min-width:0;flex:1;width:45%;font-size:11px}.check-label{width:100%}.modal-backdrop{padding:12px}.modal-head,.form-body{padding:20px}.fields{grid-template-columns:1fr;gap:16px}.field.wide{grid-column:auto}.form-footer{padding:16px;flex-wrap:wrap}.form-footer small{width:100%}.form-footer>div{display:flex;width:100%;gap:8px}.form-footer .btn{flex:1}.detail-info{grid-template-columns:1fr 1fr;padding:18px;gap:20px}.detail-tabs{gap:13px}.toast{left:18px;right:18px;bottom:18px}.page-footer{font-size:9px}.topbar-left{gap:4px}.topbar-left .muted{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
