/* OrgaSAV dark mode — scoped, without affecting PDF documents. */
:root[data-theme="dark"]{color-scheme:dark;--accent:#f15b72;--line:#354258;--muted:#aab8cb;--text:#eef3fb;--surface:#1b2535;--surface-secondary:#222e40;--background:#111a28;color:#eef3fb;background:#111a28}
[data-theme="dark"] body,[data-theme="dark"] .network-state{background:#111a28;color:#eef3fb}
[data-theme="dark"] .app-header,[data-theme="dark"] .app-copyright,[data-theme="dark"] .menu-dialog,[data-theme="dark"] .details-dialog{background:#1b2535;color:#eef3fb;border-color:#354258}
[data-theme="dark"] .brand,[data-theme="dark"] .page h1,[data-theme="dark"] .page h2,[data-theme="dark"] .page h3{color:#eef3fb}
[data-theme="dark"] .menu-button,[data-theme="dark"] .icon-button,[data-theme="dark"] .secondary,[data-theme="dark"] .planning-today,[data-theme="dark"] .planning-compact-controls>.icon-button{background:#27354a;color:#eef3fb;border-color:#42516a}
[data-theme="dark"] .menu-dialog nav a,[data-theme="dark"] .app-copyright-text{color:#d9e5f4}
[data-theme="dark"] .menu-dialog nav a:hover,[data-theme="dark"] .home-bottom-link[aria-current="page"]{background:#342936;color:#ff7a8f}
[data-theme="dark"] .environment{background:#4a3a21;color:#ffe2a2}
[data-theme="dark"] .page :is(article,section,fieldset,details,.card,.tile,.panel,.client-card,.client-directory-item,.client-row,.calendar-toolbar,.planning-toolbar,.planning-modes,.calendar-scroll,.calendar-grid,.calendar-head,.calendar-day,.calendar-cell,.mission-person,.mission-detail-item,.mission-detail-team,.home-card){border-color:#354258}
[data-theme="dark"] .page :is(.card,.tile,.panel,.client-card,.client-directory-item,.client-row,.home-card),[data-theme="dark"] .page>section,[data-theme="dark"] .page>article{background-color:#1b2535;color:#eef3fb}
[data-theme="dark"] :is(input,textarea,select){background:#202d40;color:#f1f5fb;border-color:#52617a}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#a4b2c5}
[data-theme="dark"] :is(.small,.muted,.caption,.network-state,.mission-detail-label,.mission-detail-note){color:#aab8cb}
[data-theme="dark"] .planning-modes{background:#27354a;border-color:#3b4a61}
[data-theme="dark"] .planning-modes a{color:#d2deed}
[data-theme="dark"] .planning-modes a[aria-current="page"]{background:#3a475d;color:#ff8195}
[data-theme="dark"] .planning-simple-title,[data-theme="dark"] .mission-detail-heading h2,[data-theme="dark"] .mission-detail-team h3,[data-theme="dark"] .mission-person-info strong,[data-theme="dark"] .mission-detail-item strong{color:#f1f5fb}
[data-theme="dark"] .mission-detail-item,[data-theme="dark"] .mission-person,[data-theme="dark"] .mission-detail-icon,[data-theme="dark"] .mission-person-avatar{background:#263348;border-color:#40506a;color:#eef3fb}
[data-theme="dark"] .mission-detail-value,[data-theme="dark"] .mission-detail-purpose{color:#c9d6e8}
[data-theme="dark"] .mission-detail-heading,[data-theme="dark"] .mission-detail-note{border-color:#40506a}
[data-theme="dark"] .mission-status-done{background:#163e32;color:#9be5bd}
[data-theme="dark"] .mission-status-neutral{background:#36465d;color:#d6e0ed}
[data-theme="dark"] .calendar-scroll{background:#1b2535}
[data-theme="dark"] .calendar-scroll :is(th,td){border-color:#3b485c}
[data-theme="dark"] .calendar-scroll :is(.calendar-hour,.calendar-day-header){background:#253248;color:#d9e4f3}
[data-theme="dark"] .calendar-scroll .calendar-event{color:#183a2b}
[data-theme="dark"] .home-bottom-nav{background:#1b2535}
[data-theme="dark"] .home-bottom-link{color:#d9e5f4}
[data-theme="dark"] .message{background:#442833;color:#ffd4dc;border-color:#714252}
[data-theme="dark"] .error{background:#432531;color:#ffb9c7}

@media(prefers-reduced-motion:no-preference){body,.app-header,.app-copyright,.menu-dialog,.details-dialog,.page{transition:background-color .2s ease,color .2s ease,border-color .2s ease}}

/* Switch styled like the other OrgaSAV navigation controls. */
.menu-dialog .theme-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 12px;margin:12px 0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#202735;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.theme-toggle-title{display:flex;align-items:center;gap:10px}
#theme-icon{display:grid;place-items:center;width:24px;font-size:21px;color:#a60c20}
.theme-switch-track{position:relative;display:block;flex:0 0 48px;width:48px;height:28px;border-radius:30px;background:#c5cdd8;box-shadow:inset 0 0 0 1px #b3bdcb;transition:background .28s ease}
.theme-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.theme-toggle[aria-checked="true"] .theme-switch-track{background:#a60c20;box-shadow:none}
.theme-toggle[aria-checked="true"] .theme-switch-thumb{transform:translateX(20px)}
[data-theme="dark"] .menu-dialog .theme-toggle{background:#27354a;color:#f1f5fb;border-color:#42516a}
[data-theme="dark"] #theme-icon{color:#ffbd71}
/* Override hardcoded light backgrounds in existing page modules. */
[data-theme="dark"]{--accent:#f06a80;--line:#3c4a61;--muted:#aebdd1;color-scheme:dark}
[data-theme="dark"] body{color:#edf3fc;background:#111a28}
[data-theme="dark"] .page :is(.client-entry,.client-entry-body,.client-machine,.client-detail-heading,.client-add-machine,.client-entry-summary,.client-machine-icon,.client-avatar,.mission-detail-grid,.mission-detail-team,.mission-person,.mission-detail-item,.mission-person-avatar,.mission-detail-icon,.planning-period-picker form,.planning-modes,.planning-toolbar,.calendar-scroll,.home-tile,.home-panel,.home-card,.dashboard-card,.summary-card,.stat-card,.report-card,.form-card,.wizard-card,.section-card,.card,.tile,.panel){background-color:#1b2535;color:#edf3fc;border-color:#3c4a61}
[data-theme="dark"] .page :is(.client-machine,.client-machine-icon,.client-avatar,.mission-person,.mission-detail-item,.mission-person-avatar,.mission-detail-icon){background-color:#263449}
[data-theme="dark"] .page :is(h1,h2,h3,h4,strong,.client-entry-label strong,.client-machine-head h4,.client-detail-heading h3,.client-detail-section h3,.mission-detail-heading h2,.mission-detail-team h3,.mission-person-info strong,.planning-period-picker>summary,.planning-simple-title){color:#edf3fc}
[data-theme="dark"] .page :is(p,small,.client-entry-label small,.client-machine-meta,.client-detail-heading p,.client-machine-details>span,.mission-detail-value,.mission-detail-purpose,.planning-period-picker label){color:#b9c8db}
[data-theme="dark"] .page :is(button.secondary,a.secondary,.client-machine-form-row select,.date-jump input,.planning-today){background:#27354a;color:#edf3fc;border-color:#485974}
[data-theme="dark"] .page :is(input,textarea,select){background:#202d40;color:#edf3fc;border-color:#52617a}
[data-theme="dark"] .app-copyright,[data-theme="dark"] .app-copyright .home-bottom-nav,[data-theme="dark"] .home-bottom-link{background:#1b2535;color:#dbe7f7}
[data-theme="dark"] .page :is(table,th,td){border-color:#41516b;color:#e1eaf6}
[data-theme="dark"] .page th{background:#263449}
[data-theme="dark"] .page td{background:#1b2535}
[data-theme="dark"] .page :is(.primary,.selected,[aria-current="page"]){border-color:#a60c20}
@media(prefers-reduced-motion:reduce){.theme-switch-track,.theme-switch-thumb{transition:none}}

/* Home view lives outside .page: match its own palette and card styles. */
[data-theme="dark"] .technician-home{
  --home-text:#eef3fb;
  --home-muted:#aebdd1;
  --home-line:#3c4a61;
  --home-accent:#f06a80;
  color:var(--home-text);
}
[data-theme="dark"] .technician-home .home-welcome h1,
[data-theme="dark"] .technician-home .home-day h2,
[data-theme="dark"] .technician-home .card h2,
[data-theme="dark"] .technician-home .home-tile h2{
  color:#f1f5fb;
}
[data-theme="dark"] .technician-home .home-welcome>p:last-child,
[data-theme="dark"] .technician-home .home-day p:last-child,
[data-theme="dark"] .technician-home .home-tile p,
[data-theme="dark"] .technician-home .card .small,
[data-theme="dark"] .technician-home .home-sync{
  color:#b6c5d8;
}
[data-theme="dark"] .technician-home .home-day{
  background:#2a2533;
  border-color:#6a3c4b;
  color:#f1f5fb;
}
[data-theme="dark"] .technician-home .home-day .home-eyebrow{
  color:#ff8b9d;
}
[data-theme="dark"] .technician-home .card,
[data-theme="dark"] .technician-home .home-tile{
  background:#1b2535;
  color:#eef3fb;
  border-color:#3c4a61;
  box-shadow:0 5px 18px #0002;
}
[data-theme="dark"] .technician-home .card p:not(.home-eyebrow),
[data-theme="dark"] .technician-home .home-tile .home-metric{
  color:#d8e3f2;
}
[data-theme="dark"] .technician-home .card .small{
  color:#b6c5d8 !important;
}
[data-theme="dark"] .technician-home .card .secondary,
[data-theme="dark"] .technician-home .home-tile .secondary{
  background:#29384e;
  color:#f1f5fb;
  border-color:#53627b;
}
[data-theme="dark"] .technician-home .home-sync{
  border-color:#3c4a61;
}
[data-theme="dark"] .technician-home .home-icon{
  background:#462c3b;
  color:#ff8498;
}
[data-theme="dark"] .technician-home .home-tile-action{
  color:#ff8498;
}
[data-theme="dark"] .technician-home .home-day button:disabled{
  background:#36445a;
  color:#b6c5d8;
}

/* Team hours and daily tracking: the three totals must never remain white. */
[data-theme="dark"] .page .time-summary,
[data-theme="dark"] .page .card .time-summary{
  background:#263449;
  color:#eef3fb;
  border:1px solid #43536d;
  border-radius:16px;
}
[data-theme="dark"] .page .time-summary>div{
  background:transparent;
  color:#eef3fb;
}
[data-theme="dark"] .page .time-summary strong{
  color:#f4f7ff;
}
[data-theme="dark"] .page .time-summary span{
  color:#b8c9df;
}

/* Planning grid: preserve status colors while making the timetable genuinely dark. */
[data-theme="dark"] .planning-page .calendar-scroll{
  background:#172233;
  border-color:#46566e;
}
[data-theme="dark"] .planning-page .calendar-hours,
[data-theme="dark"] .planning-page .calendar-corner,
[data-theme="dark"] .planning-page .calendar-day-heading{
  background:#263449;
  color:#dbe6f5;
  border-color:#46566e;
}
[data-theme="dark"] .planning-page .calendar-day,
[data-theme="dark"] .planning-page .calendar-day.is-today,
[data-theme="dark"] .planning-page .calendar-overview .is-weekend{
  background:#172233;
  border-color:#46566e;
}
[data-theme="dark"] .planning-page .calendar-day.is-today .calendar-day-heading,
[data-theme="dark"] .planning-page .calendar-overview .is-today .calendar-day-heading{
  background:#352b3c;
  color:#ff9bac;
}
[data-theme="dark"] .planning-page .calendar-overview .is-weekend .calendar-day-heading{
  background:#273347;
}
[data-theme="dark"] .planning-page .calendar-overview .is-weekend.is-today .calendar-day-heading{
  background:#352b3c;
}
[data-theme="dark"] .planning-page .calendar-day-heading a,
[data-theme="dark"] .planning-page .calendar-day-heading a strong{
  color:#f0f5fd;
}
[data-theme="dark"] .planning-page .calendar-day.is-today .calendar-day-heading a strong{
  color:#ff9bac;
}
[data-theme="dark"] .planning-page .calendar-day-heading a span,
[data-theme="dark"] .planning-page .calendar-count,
[data-theme="dark"] .planning-page .calendar-corner,
[data-theme="dark"] .planning-page .calendar-hour,
[data-theme="dark"] .planning-page .calendar-end{
  color:#b8c9de;
}
[data-theme="dark"] .planning-page .calendar-track{
  background:repeating-linear-gradient(to bottom,#46566e 0,#46566e 1px,transparent 1px,transparent 30px,#304055 30px,#304055 31px,transparent 31px,transparent 60px);
}
[data-theme="dark"] .planning-page .calendar-empty{
  background:#243248ee;
  color:#c5d3e5;
}
[data-theme="dark"] .planning-page .calendar-event{
  background:#50303e;
  border-color:#9a5269;
  border-left-color:#ff8298;
  color:#ffe4ea;
}
[data-theme="dark"] .planning-page .calendar-event.event-in_progress{
  background:#203e57;
  border-color:#427ca3;
  border-left-color:#67b8ef;
  color:#d9f0ff;
}
[data-theme="dark"] .planning-page .calendar-event.event-work_done{
  background:#1d4035;
  border-color:#458b71;
  border-left-color:#70d6a3;
  color:#d8f9e6;
}
[data-theme="dark"] .planning-page .calendar-event :is(strong,.calendar-event-time,.calendar-event-title,.calendar-event-people){
  color:inherit;
}
[data-theme="dark"] .planning-page .calendar-now{
  background:#ff6683;
}
[data-theme="dark"] .planning-page .calendar-now::before{
  background:#ff6683;
}
[data-theme="dark"] .planning-page .calendar-legend{
  color:#c2d0e2;
}

/* The client directory is a transparent layout, not another card. */
[data-theme="dark"] .page .client-directory { background-color:#111a28; }
[data-theme="dark"] .page .client-directory-heading { background-color:#111a28; }
[data-theme="dark"] .page .client-directory-heading span { color:#aebdd1; }

[data-theme="dark"] .new-client-dialog{background:#1b2535;color:#edf3fc;border-color:#46566e}
[data-theme="dark"] .new-client-dialog h2{color:#edf3fc}
[data-theme="dark"] .new-client-dialog :is(input,select,textarea){background:#263449;color:#edf3fc;border-color:#52617a}
[data-theme="dark"] .new-client-dialog .icon-button{background:#29384e;color:#edf3fc;border-color:#52617a}

/* Keep the planning heading and toolbar container flush with the page in dark mode. */
:root[data-theme="dark"] .page.planning-page,
:root[data-theme="dark"] .planning-page .planning-toolbar,
:root[data-theme="dark"] .planning-page .planning-toolbar-compact,
:root[data-theme="dark"] .planning-page > h1,
:root[data-theme="dark"] .planning-page > .eyebrow{
  background:#111a28!important;
  background-color:#111a28!important;
  box-shadow:none!important;
}

/* Mes missions : harmoniser l'état vide et les badges au thème sombre. */
:root[data-theme="dark"] .page .empty{
  background:#1b2535!important;color:#eef3fb!important;border-color:#354258!important
}
:root[data-theme="dark"] .page .empty p{color:#b9c7da!important}
:root[data-theme="dark"] .page .card .status{
  background:#34455e!important;color:#f1f5fc!important;border:1px solid #526581!important
}

/* Compact collaborator editor: semantic theme colors, shared light/dark surfaces. */
.member-profile-card{display:grid;gap:14px;min-width:0}
.member-profile-card>h2{margin:0}
.member-profile-card>.small{margin:0}
.member-profile-fields{display:grid;gap:12px}
.member-profile-fields>label{display:grid;gap:6px;font-weight:600}
.member-profile-fields input,.member-profile-fields select{width:100%;min-width:0;box-sizing:border-box}
.member-profile-card .member-planning-color{margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2,transparent)}
.member-profile-card [hidden]{display:none!important}
.member-profile-rights{display:grid;gap:9px;min-width:0;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px}
.member-profile-rights legend{padding:0 6px;font-weight:650}
.member-profile-card>.primary{width:100%;min-height:46px}
@media(min-width:768px){.member-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Collaborator editor: one save action and compact accessible sections. */
.member-profile-card .member-editor-section{min-width:0;border-top:1px solid var(--line);padding:0}
.member-profile-card .member-editor-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-weight:650;color:inherit}
.member-profile-card .member-editor-section>summary::-webkit-details-marker{display:none}
.member-profile-card .member-editor-section>summary::after{content:'⌄';font-size:22px;font-weight:400;line-height:1;transition:transform .15s}
.member-profile-card .member-editor-section[open]>summary::after{transform:rotate(180deg)}
.member-profile-card .member-editor-section>.member-profile-fields,
.member-profile-card .member-editor-section>.member-profile-rights,
.member-profile-card .member-editor-section>.member-color-palette{margin:0 0 14px}
.member-profile-card .member-editor-role{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0}
.member-profile-card .member-editor-role label{font-weight:650}
.member-profile-card .member-editor-role select{max-width:210px;width:100%;min-width:0;font:inherit;font-size:14px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2,var(--surface,transparent));color:inherit}
.member-profile-card .member-planning-color{padding:0;border:0;border-radius:0;background:transparent}
.member-profile-card .member-profile-rights{border:0;padding:0}
.member-profile-card .member-profile-rights legend{font-size:13px}
@media(max-width:390px){.member-profile-card .member-editor-role{grid-template-columns:1fr}.member-profile-card .member-editor-role select{max-width:none}}


/* Archived document cards live in a dialog, outside the .page theme scope. */
.report-archive-card{background:var(--surface,#fff);color:var(--text,#202735);border-color:var(--line);overflow-wrap:anywhere}
.report-archive-card .small{color:var(--muted)}
.menu-dialog{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
