:root{--brand-black:#000;--brand-white:#fff;--brand-success:#00c292;--brand-danger:#e46a76;--brand-warning:#fec107;--brand-info:#03a9f3;--brand-light:#f4f2ee;--brand-gray:#6c757d;--brand-gray-dark:#343a40;--background:#f7f6f3;--surface:#fff;--text-primary:#14120f;--text-secondary:#6c757d;--divider:#eae7e0;--font-display:"Poppins", "Segoe UI", system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-full:999px;--shadow-sm:0 1px 2px #14120f0d, 0 1px 1px #14120f0a;--shadow-md:0 8px 24px -8px #14120f29;--shadow-lg:0 16px 40px -12px #14120f47;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--background);color:var(--text-primary);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0}button,input,select{font-family:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.screen{flex-direction:column;min-height:100%;display:flex}.brand-hero{background:var(--brand-black);border-radius:0 0 var(--radius-lg) var(--radius-lg);text-align:center;padding:44px 24px 40px;position:relative;overflow:hidden}.brand-hero:before{content:"";pointer-events:none;background:radial-gradient(#ffffff14,#0000 70%);height:180px;position:absolute;inset:-40% -10% auto}.brand-hero-mark{border-radius:var(--radius-md);background:var(--brand-white);width:84px;height:84px;box-shadow:var(--shadow-lg);justify-content:center;align-items:center;margin:0 auto 18px;padding:10px;display:flex}.brand-hero-mark img{object-fit:contain;width:100%;height:100%}.brand-hero-wordmark{width:auto;height:34px;margin:0 auto;display:block}.brand-hero-tagline{color:#ffffff8c;letter-spacing:.02em;margin:10px 0 0;font-size:13px}.toolbar{background:var(--brand-black);color:var(--brand-white);z-index:10;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.toolbar-back{color:var(--brand-white);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.toolbar-title{font-family:var(--font-display);margin:0;font-size:17px;font-weight:600}.toolbar-wordmark{width:auto;height:20px;display:block}.content{flex:1;padding:20px 16px 32px}.card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px}.card-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.card-clickable:active{background:var(--brand-light);transform:scale(.98)}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-value{font-family:var(--font-display);margin:10px 0 2px;font-size:30px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:13px}.quick-link{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:84px;font-size:13.5px;font-weight:600;display:flex}.quick-link-icon{border-radius:var(--radius-sm);background:var(--brand-light);justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot-retard{background:var(--brand-danger)}.dot-a-jour{background:var(--brand-success)}.dot-avance{background:var(--brand-info)}.dot-gray{background:var(--brand-gray)}.btn{border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:14px 20px;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-block{width:100%}.btn-primary{background:var(--brand-black);color:var(--brand-white);box-shadow:var(--shadow-md)}.btn-success{background:var(--brand-success);color:var(--brand-white);box-shadow:var(--shadow-sm)}.btn-warning{background:var(--brand-warning);color:var(--brand-black)}.btn-outline{background:var(--surface);color:var(--brand-black);border:1.5px solid var(--divider)}.btn-sm{border-radius:var(--radius-sm);padding:9px 14px;font-size:13px}.field{margin-bottom:18px}.field label{color:var(--text-secondary);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field input,.field select{border-radius:var(--radius-sm);background:var(--brand-light);width:100%;color:var(--text-primary);border:1.5px solid #0000;padding:14px 16px;font-size:15px;transition:border-color .15s,background .15s}.field input::placeholder{color:var(--text-secondary);opacity:.7}.field input:focus,.field select:focus{border-color:var(--brand-black);background:var(--surface);outline:none}.error-text{color:var(--brand-danger);margin-top:8px;font-size:13px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-retard{color:var(--brand-danger);background:#fdeced}.badge-a-jour{color:var(--brand-success);background:#e6f9f4}.badge-avance{color:var(--brand-info);background:#e6f5fd}.badge-gray{background:var(--brand-light);color:var(--brand-gray-dark)}.spinner{border:3px solid var(--divider);border-top-color:var(--brand-black);border-radius:50%;width:30px;height:30px;margin:48px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.list-item{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:15px 4px;display:flex}.list-item:last-child{border-bottom:none}.section-title{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:22px 0 10px;font-size:13px;font-weight:700}.search-bar{background:var(--brand-light);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:18px;padding:12px 18px;display:flex}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.modal-overlay{z-index:100;background:#14120f8c;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));width:100%;max-height:85vh;box-shadow:var(--shadow-lg);overflow-y:auto}
