:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fa;--bg-accent:#e4eef6;--surface:#fff;--ink:#414042;--muted:#6b6a6c;--brand:#2f7bb8;--brand-2:#256899;--brand-soft:#d7e8f5;--danger:#9b2c2c;--border:#d0d7de;--shadow:0 10px 30px #2f7bb81f;--radius:14px;--font:"Segoe UI", "Avenir Next", "Helvetica Neue", sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left, #c9ddf0 0%, transparent 42%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.stack{flex-direction:column;gap:.9rem;display:flex}.row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.app-shell{grid-template-rows:auto 1fr auto;width:100%;min-width:0;max-width:720px;min-height:100dvh;margin:0 auto;display:grid;overflow-x:hidden}.app-header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem .75rem;display:flex}.app-header__identity{align-items:center;gap:.75rem;min-width:0;display:flex}.app-header__logo{object-fit:contain;flex-shrink:0;width:52px;height:52px}.app-header__brand{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0;font-size:.78rem;font-weight:700}.app-header__title{margin:.15rem 0 0;font-size:1.15rem}.app-main{min-width:0;padding:0 1.1rem 1.2rem;overflow-x:hidden}.bottom-nav{padding:.65rem 1.1rem calc(.65rem + var(--safe-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);background:#f7faf7eb;grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:sticky;bottom:0}.bottom-nav__link{text-align:center;color:var(--muted);border-radius:999px;padding:.7rem .5rem;font-weight:600}.bottom-nav__link.active{background:var(--brand);color:#fff}.page{padding-bottom:1rem}.page-heading h2{margin:0}.muted{color:var(--muted);margin:.2rem 0 0}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.7rem 1rem;font-weight:650;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--brand);color:#fff}.btn--ghost{border-color:var(--border);color:var(--ink);background:0 0}.panel,.job-card,.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.field{flex-direction:column;gap:.35rem;display:flex}.field span,.field-label{color:var(--muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea,.date-strip input[type=date]{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.7rem .8rem}.error-banner{color:var(--danger);background:#fde8e8;border-radius:10px;margin:0;padding:.7rem .85rem}.empty-state{text-align:center;color:var(--muted);padding:2rem 1rem}.date-strip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.job-card__meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;display:flex}.job-card__time{color:var(--muted);margin-left:auto;font-size:.9rem;font-weight:600}.job-card--done{background:linear-gradient(#fff 0%,#f3f8fc 100%);border-color:#9ec5e8}.job-card--future{opacity:.92}.badge--status-waiting{color:#1f7a3f;background:#e5f4ea}.badge--status-in_progress{color:#9b2c2c;background:#fde8e8}.badge--status-done{background:var(--brand-soft);color:var(--brand-2)}.badge--status-problem{color:#9b2c2c;background:#fde8e8}.row-between{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.info-banner{background:var(--brand-soft);color:var(--brand-2);border-radius:10px;margin:0;padding:.7rem .85rem}.agenda-page{gap:.85rem;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.agenda-title-bar{margin:-.25rem 0 0}.agenda-title-bar h2{text-align:center;margin:0}.agenda-calendar{width:100%;min-width:0;max-width:100%;padding:.85rem;overflow:hidden}.agenda-month-nav{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;margin-bottom:.75rem;display:flex}.agenda-month-nav strong{text-align:center;flex:1;min-width:0}.agenda-weekdays,.agenda-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;width:100%;display:grid}.agenda-weekdays span{text-align:center;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:.2rem 0;font-size:.68rem;overflow:hidden}.agenda-day{aspect-ratio:1;width:100%;max-width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:0;padding:0;font-size:.85rem;font-weight:600}.agenda-day.is-empty{visibility:hidden;pointer-events:none}.agenda-day.is-past{color:#9aa3ab}.agenda-day.has-dispo:not(.is-selected){box-shadow:inset 0 -3px 0 var(--brand)}.agenda-day.is-selected{background:var(--brand);color:#fff}.agenda-fullday{border:1.5px solid var(--brand);width:100%;max-width:100%;color:var(--brand);cursor:pointer;box-sizing:border-box;background:#eef5fb;border-radius:12px;padding:.8rem 1rem;font-weight:700}.agenda-fullday.is-active{background:var(--brand);color:#fff}.agenda-fullday:disabled{opacity:.55;cursor:not-allowed}.agenda-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;width:100%;max-width:100%;display:grid}.agenda-slot{color:#333;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:100%;min-width:0;max-width:100%;min-height:3.4rem;padding:.45rem .3rem;display:flex;overflow:hidden}.agenda-slot__time{white-space:nowrap;font-size:.78rem;font-weight:650}.agenda-slot__status{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;padding:0 .15rem;font-size:.62rem;line-height:1.15;overflow:hidden}.agenda-slot.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}.agenda-slot.is-locked{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.agenda-slot.is-booked{color:#b71c1c;opacity:.85;cursor:default;background:#ffebee;border-color:#ef9a9a}.agenda-slot:disabled:not(.is-locked):not(.is-booked){opacity:.55;cursor:not-allowed}.agenda-save{box-sizing:border-box;width:100%;max-width:100%;margin-top:.25rem}@media (width<=380px){.agenda-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-slot__time{font-size:.72rem}}.job-card__title{margin:.45rem 0 .2rem;font-size:1.05rem}.job-card__address{color:var(--muted);margin:.25rem 0 0}.job-card__actions{margin-top:.75rem}.badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge--inter{background:var(--brand-soft);color:var(--brand-2)}.badge--mission{color:var(--ink);background:#ececf1}.login-page{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.login-card{width:min(100%,420px)}.login-card__logo{width:min(100%,220px);height:auto;margin:0 auto .75rem;display:block}.login-card h1{text-align:center;margin:.2rem 0 .4rem}.login-card__hint{color:var(--muted);text-align:center;margin:0 0 1rem}.wizard-top{gap:.75rem;display:grid}.stepper{grid-template-columns:repeat(5,1fr);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.stepper--3{grid-template-columns:repeat(3,1fr)}.stepper li{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.25rem;font-size:.68rem;display:flex}.stepper__btn{border:1px solid var(--border);background:#fff;border-radius:999px;width:2rem;height:2rem;font-weight:700}.stepper__btn.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.stepper__btn.is-done:not(.is-active){background:var(--brand-2);color:#fff;border-color:var(--brand-2)}.photo-picker__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;display:flex}.photo-picker__grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.photo-picker__grid li{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;position:relative;overflow:hidden}.photo-picker__grid img{object-fit:cover;width:100%;height:100%}.photo-picker__remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:999px;width:1.5rem;height:1.5rem;position:absolute;top:.2rem;right:.2rem}.signature-pad__canvas{border:1px dashed var(--border);touch-action:none;background:#fff;border-radius:12px;width:100%;height:160px;margin-bottom:.5rem;display:block}@media (width<=480px){.stepper,.mission-stepper{grid-template-columns:repeat(3,1fr)}.page .stepper:has(li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}
