/* Règles natives limitées à Récap. Les noms et contacts restent toujours complets. */
.rdv-recap-mobile,.rdv-recap-list { font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#172d47; }
.rdv-recap-mobile *,.rdv-recap-list * { box-sizing:border-box; }
.rdv-recap-launch { display:block; cursor:pointer; list-style:none; padding:16px 24px; background:#102c53; color:#fff; border-radius:0; font-weight:750; text-align:center; max-width:420px; margin:16px auto; }
.rdv-recap-launch::-webkit-details-marker { display:none; }
.rdv-recap-mobile:not([open]) > .rdv-recap-shell { display:none; }
.rdv-recap-shell { position:fixed; inset:var(--rdv-mobile-header-bottom,0px) 0 0; z-index:1000000; height:calc(100vh - var(--rdv-mobile-header-bottom,0px)); height:calc(100dvh - var(--rdv-mobile-header-bottom,0px)); width:100%; background:#fff; display:flex; flex-direction:column; padding-top:env(safe-area-inset-top); overflow:hidden; }
.rdv-recap-head { background:#102c53; color:#fff; display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; padding:10px 14px; gap:12px; }
:where(.rdv-recap-mobile,.rdv-recap-list) button,.rdv-mobile-recap-only .rdv-exit-action { border:1px solid #a7bbce; background:#fff; color:#17385b; border-radius:0; padding:9px 12px; min-height:44px; font-family:inherit; font-size:14px; font-weight:600; line-height:1.3; cursor:pointer; white-space:normal; }
.rdv-recap-mobile button:disabled,.rdv-recap-list button:disabled { opacity:.5; cursor:default; }
.rdv-recap-mobile :focus-visible,.rdv-recap-list :focus-visible { outline:3px solid #2382c1; outline-offset:2px; }
.rdv-recap-head button { background:transparent; color:#fff; border-color:#d2dcea; }
.rdv-recap-shell [data-recap-app] { flex:1; min-height:0; display:flex; flex-direction:column; }
.rdv-recap-controls { flex:0 0 auto; background:#fff; border-bottom:1px solid #d6e0eb; }
.rdv-recap-tabs { display:flex; gap:7px; padding:10px 12px 6px; overflow-x:auto; overscroll-behavior-x:contain; }
.rdv-recap-tabs button { color:var(--rdv-blue,#0f2954); font-weight:800; flex:0 0 auto; max-width:185px; border:0; background:transparent; box-shadow:none; }
.rdv-recap-tabs button[aria-selected="true"] { background:transparent; color:var(--rdv-blue,#0f2954); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.rdv-recap-search { display:flex; align-items:baseline; gap:10px; margin:0; padding:9px 12px 12px; font-weight:600; font-size:13px; }
.rdv-recap-search input,.rdv-tpm-recap-filter input.rdv-tpm-key { flex:1; width:100%!important; min-width:0!important; max-width:none!important; height:44px; padding:9px 12px; border:0!important; border-bottom:1px solid #8a9eb4!important; border-radius:0!important; box-shadow:none!important; background:#fff; font-size:16px; color:#172d47; }
html.rdv-mobile-ui .rdv-recap-mobile [data-recap-active="exit"] .rdv-recap-search input { border:0!important; outline:0!important; box-shadow:none!important; }
.rdv-recap-scroll { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:10px 12px calc(18px + env(safe-area-inset-bottom)); }
.rdv-recap-mobile [hidden],.rdv-trusted-recap[hidden] { display:none!important; }
.rdv-recap-mobile .rdv-exit-tabs { display:flex; gap:12px; margin:0 0 12px; }
.rdv-recap-mobile .rdv-exit-tabs button { flex:1 1 0; min-width:0; padding:6px 4px; border:0!important; background:transparent!important; box-shadow:none!important; color:#c40000!important; -webkit-text-fill-color:currentColor!important; font-size:13px; font-weight:500; white-space:nowrap; text-transform:none; }
.rdv-recap-mobile .rdv-exit-tabs button[aria-selected="true"] { font-weight:800; text-decoration:underline; text-underline-offset:4px; }
html.rdv-recap-open,html.rdv-recap-open body { overflow:hidden!important; }
.rdv-recap-message { margin:8px 0; color:#245f37; font-size:14px; }
.rdv-recap-message:empty { display:none; }
.rdv-recap-message.is-error { color:#a32525; }
.rdv-recap-list-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 10px; }
.rdv-recap-table { border-collapse:collapse; width:100%; table-layout:fixed; background:#fff; }
.rdv-recap-table th,.rdv-recap-table td { padding:12px; border-bottom:1px solid #e1e7ef; text-align:left; vertical-align:top; white-space:pre-wrap; overflow-wrap:anywhere; }
.rdv-recap-table th { background:#eaf0f7; font-size:13px; }
.rdv-recap-table td:first-child { font-weight:700; }
.rdv-recap-edit label { display:block; font-weight:600; }
.rdv-recap-edit textarea { display:block; width:100%; min-height:110px; resize:vertical; font-family:inherit; font-size:16px; line-height:1.5; border:1px solid #9db2c7; border-radius:0; padding:10px; }
.rdv-recap-edit div { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.rdv-recap-pager { display:flex; justify-content:center; align-items:center; gap:10px; margin:16px 0; }
.rdv-tpm-recap-status-buttons { flex-wrap:wrap; }
.rdv-tpm-recap-filter { display:flex; align-items:center; gap:12px; }
.rdv-tpm-recap-filter .rdv-tpm-count { flex:0 0 auto; }
.rdv-trusted-recap { padding:10px 0; }
.rdv-recap-trusted .rdv-recap-table-scroll { max-width:100%; max-height:58vh; max-height:min(58dvh,620px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.rdv-recap-trusted .rdv-recap-table,
#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table { width:100%!important; min-width:680px!important; max-width:none!important; table-layout:fixed!important; border-collapse:separate; border-spacing:0; }
.rdv-recap-col-student { width:25%; }
.rdv-recap-col-class { width:13%; }
.rdv-recap-col-trusted { width:50%; }
.rdv-recap-col-action { width:12%; }
.rdv-recap-trusted .rdv-recap-table th,.rdv-recap-trusted .rdv-recap-table td,
#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table th,#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table td { padding:6px 8px!important; font-size:13px!important; line-height:1.35!important; vertical-align:middle!important; white-space:pre-wrap!important; overflow-wrap:anywhere!important; overflow:visible!important; text-overflow:clip!important; }
.rdv-recap-trusted .rdv-recap-table th,
#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table th { position:sticky; top:0; z-index:1; background:#eaf0f7; white-space:nowrap!important; }
.rdv-recap-trusted .rdv-recap-table td:nth-child(2),.rdv-recap-trusted .rdv-recap-table td:last-child,
#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table td:nth-child(2),#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table td:last-child { white-space:nowrap!important; }
.rdv-recap-trusted .rdv-recap-table button,
#rdv-tests-programmes-modal .rdv-recap-trusted .rdv-recap-table button { min-height:30px!important; padding:4px 7px!important; font-size:12px!important; line-height:1.3!important; white-space:nowrap!important; }
.rdv-recap-mobile .rdv-recap-trusted td[data-label]::before { display:none; }
.rdv-recap-mobile .rdv-recap-trusted .rdv-recap-table-scroll { max-height:calc(100vh - 285px); max-height:max(140px,calc(100dvh - 285px)); }
.rdv-recap-mobile .rdv-recap-list:not(.rdv-recap-trusted) .rdv-recap-table,.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table,
.rdv-recap-mobile .rdv-recap-list:not(.rdv-recap-trusted) .rdv-recap-table tbody,.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table tbody { display:block; width:100%; min-width:0!important; }
.rdv-recap-mobile .rdv-recap-list:not(.rdv-recap-trusted) .rdv-recap-table thead,.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table thead { display:none; }
.rdv-recap-mobile .rdv-recap-list:not(.rdv-recap-trusted) .rdv-recap-table tr,.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table tr { display:block; background:#fff; border:1px solid #dce5ef; border-radius:0; padding:12px; margin:0 0 12px; box-shadow:0 2px 4px #102c5306; }
.rdv-recap-mobile .rdv-recap-list:not(.rdv-recap-trusted) .rdv-recap-table td,.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table td { display:block; width:100%!important; min-width:0!important; max-width:none!important; padding:5px 0!important; border:0!important; white-space:pre-wrap!important; overflow-wrap:anywhere; text-align:left!important; font-size:15px; }
.rdv-recap-mobile td[data-label]::before { content:attr(data-label); display:block; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#61738a; font-weight:600; margin-bottom:1px; }
.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table-wrap { overflow:visible; }
.rdv-recap-mobile .rdv-exit-panel { padding:0; }
.rdv-recap-mobile .rdv-exit-history h3 { font-size:16px; margin-top:14px; }
.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table td:last-child button { width:100%; margin-top:6px; background:#173b60; color:#fff; }
.rdv-recap-mobile .rdv-exit-panel .rdv-exit-table .rdv-exit-student { font-size:17px; }
.rdv-recap-mobile .rdv-exit-pager { flex-wrap:wrap; }
@media(max-width:380px) { .rdv-recap-search { gap:6px; padding-left:8px; padding-right:8px; } .rdv-recap-scroll { padding-left:8px; padding-right:8px; } }

.rdv-mobile-recap-only { max-width:750px; padding:0 10px 16px; margin:0 auto; box-sizing:border-box; }
.rdv-mobile-recap-only .rdv-recap-launch { font-family:"Segoe UI",Tahoma,Arial,Helvetica,sans-serif; position:relative; display:flex; align-items:center; gap:13px; min-height:68px; width:100%; box-sizing:border-box; max-width:none; margin:0 0 10px; padding:10px 32px 10px 14px; text-align:left; border:1px solid #d6dfeb; border-radius:0!important; background:#f7f9fc; color:#0f2954; box-shadow:0 2px 5px #102c5308; }
.rdv-mobile-recap-only .rdv-recap-launch:hover { background:#eef3f9; border-color:#9bacc4; }
.rdv-recap-launch-icon { display:block; flex:0 0 24px; width:24px; height:24px; }
.rdv-recap-launch-copy { min-width:0; flex:1; }
.rdv-recap-launch strong,.rdv-recap-launch small { display:block; }
.rdv-recap-launch strong { font-size:14px; font-weight:700; line-height:1.35; white-space:normal; }
.rdv-recap-launch small { margin-top:3px; color:#5d7088; font-size:12px; font-weight:400; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rdv-recap-launch::after { content:'›'; position:absolute; top:50%; right:12px; transform:translateY(-50%); font-size:25px; font-weight:400; }
.rdv-mobile-recap-only .rdv-agent-shell { overflow-y:auto; }
.rdv-mobile-recap-only .rdv-agent-shell .rdv-recap-head { position:sticky; top:0; z-index:2; }
.rdv-exit-recap *, .rdv-trusted-recap *, .rdv-recap-mobile * { border-radius:0!important; }
.rdv-exit-recap .rdv-exit-planned.is-ongoing,.rdv-recap-mobile .rdv-exit-planned.is-ongoing { color:#df7600!important; font-weight:800; }

#rdv-tests-programmes-modal .rdv-tpm-search-label { display:flex; align-items:baseline; flex:1; min-width:0; gap:12px; font-size:13px; font-weight:600; margin:0; }
#rdv-tests-programmes-modal .rdv-tpm-recap-section button { border-radius:0!important; }
#rdv-tests-programmes-modal .rdv-tpm-recap-filter input.rdv-tpm-key { border-bottom-width:1px!important; }

.rdv-exit-toolbar { align-items:center; justify-content:space-between; gap:8px; }
.rdv-exit-count { font-size:12px; line-height:1.4; }
html body [data-exit-refresh],html body [data-recap-refresh] {
  background:transparent!important; border:0!important; box-shadow:none!important; border-radius:0!important;
  color:#245fc0!important; -webkit-text-fill-color:currentColor!important; font-size:12px!important; font-weight:700!important; text-decoration:underline!important;
  text-underline-offset:3px; padding:4px 2px!important; min-height:30px!important; white-space:nowrap;
}
html body .rdv-exit-student strong { border:0; background:transparent; box-shadow:none; }

/* En-tête du rendu mobile natif, distinct de la navigation PC. */
.rdv-mobile-header-space{position:relative;width:100%;margin-bottom:14px;}
.rdv-mobile-header{background:#fff;box-sizing:border-box;z-index:2147483001;}
.rdv-mobile-header.is-fixed{position:fixed;}
.rdv-mobile-brand{display:flex;align-items:center;justify-content:center;padding:12px 0 28px;}
.rdv-mobile-brand-filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;}
.rdv-mobile-brand-window{display:block;position:relative;overflow:hidden;width:110px;max-width:55vw;aspect-ratio:1108/174;flex:none;}
.rdv-mobile-brand-window img{position:absolute;display:block;width:130.685921%;max-width:none!important;height:auto!important;left:-15.343%;top:-263.2184%;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.rdv-mobile-toolbar{display:grid;grid-template-columns:72px minmax(0,1fr) 34px;align-items:center;gap:6px;min-height:52px;padding:4px 0;border-bottom:1px solid #d4dce7;color:#0f2954;background:#fff;box-sizing:border-box;}
.rdv-mobile-toolbar>strong{text-align:center;font-size:14px;line-height:1.25;}
.rdv-mobile-toolbar button{display:flex;align-items:center;justify-content:center;gap:4px;background:transparent;box-shadow:none;border:0;border-radius:0;padding:4px 0;min-height:40px;margin:0;color:#0f2954;font:12px/1.3 Arial,sans-serif;cursor:pointer;}
html.rdv-mobile-ui body [data-rdv-mobile-home],html.rdv-mobile-ui body [data-rdv-mobile-home]:is(:focus,:active,[aria-selected=true]){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.rdv-mobile-toolbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;}
.rdv-mobile-toolbar .rdv-mobile-sms-toggle{border:1px solid currentColor;border-radius:50%;min-height:34px;width:34px;height:34px;padding:5px;}
.rdv-mobile-sms-toggle.is-blocked{color:#c00000;}.rdv-mobile-sms-toggle.is-active{color:#19803d;}.rdv-mobile-sms-toggle:disabled{opacity:.5;cursor:wait;}
.rdv-mobile-recap-only .rdv-ee-nav-badge{display:inline-block;position:relative;top:-.5em;box-sizing:border-box;flex:0 0 auto;align-self:center;min-width:0;min-height:0;width:auto;height:auto;padding:0;margin:0 0 0 2px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--rdv-notification-color,#c00000)!important;font-size:10px!important;font-weight:800!important;line-height:1!important;vertical-align:baseline;white-space:nowrap;text-decoration:none}
.rdv-mobile-recap-only .rdv-ee-nav-badge[hidden]{display:none!important;}
@media print{.rdv-mobile-header-space{display:none;}}

/* Rubriques mobiles : une surface blanche sous l’en-tête, actions texte natives. */
.rdv-mobile-recap-only.has-active-section>details:not([open]),
.rdv-mobile-recap-only.has-active-section>.rdv-reclamations-mobile-launch,
.rdv-mobile-recap-only.has-active-section>details[open]>summary{display:none!important;}
.rdv-mobile-recap-only .rdv-recap-shell{background:#fff;padding-top:0;box-sizing:border-box;}
html.rdv-mobile-ui body :is(.rdv-mobile-recap-only .rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog,.rdv-canteen-dialog,.rdv-assiduite-dialog,.rdv-absence-review-dialog) button:where(:not(.rdv-agent-camera *)){--rdv-notification-color:#c00000;
 background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
 color:#0f2954!important;-webkit-text-fill-color:currentColor!important;min-height:36px;padding:6px 4px;
 font-size:13px;line-height:1.35;white-space:nowrap;word-break:normal;overflow-wrap:normal;text-transform:none;
}
html.rdv-mobile-ui body :is(.rdv-mobile-recap-only .rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog,.rdv-canteen-dialog,.rdv-assiduite-dialog,.rdv-absence-review-dialog) button:is([aria-selected=true],[aria-pressed=true],.is-active){text-decoration:underline;text-underline-offset:5px;}
html.rdv-mobile-ui body :is(.rdv-mobile-recap-only .rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog,.rdv-canteen-dialog) :is(.rdv-club-danger,.rdv-cp-danger,.rdv-club-pa.is-absent){color:#b60000!important;}
html.rdv-mobile-ui body :is(.rdv-mobile-recap-only .rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog,.rdv-canteen-dialog) .rdv-club-pa.is-present{color:#1b6a31!important;}
html.rdv-mobile-ui body .rdv-assiduite-dialog .rdv-reclamation-save{color:#bd5700!important;}
html.rdv-mobile-ui body .rdv-assiduite-dialog .rdv-reclamation-badge{color:var(--reclamation-color,#b60000)!important;}
html.rdv-mobile-ui :is(dialog.rdv-club-dialog,dialog.rdv-cp-dialog,dialog.rdv-canteen-dialog,dialog.rdv-absence-review-dialog)[open]{
 position:fixed!important;inset:var(--rdv-mobile-header-bottom,0px) 0 0!important;transform:none!important;
 width:100%!important;max-width:100%!important;margin:0!important;min-height:0!important;
 height:calc(100dvh - var(--rdv-mobile-header-bottom,0px))!important;max-height:calc(100dvh - var(--rdv-mobile-header-bottom,0px))!important;
 box-sizing:border-box!important;padding:12px!important;background:#fff!important;border:0!important;box-shadow:none!important;
}
html.rdv-mobile-ui :is(dialog.rdv-club-dialog,dialog.rdv-cp-dialog,dialog.rdv-canteen-dialog,dialog.rdv-absence-review-dialog)::backdrop{
 clip-path:inset(var(--rdv-mobile-header-bottom,0px) 0 0);background:#fff;
}
html.rdv-mobile-ui .rdv-assiduite-overlay{inset:var(--rdv-mobile-header-bottom,0px) 0 0;padding:0!important;background:#fff!important;}
html.rdv-mobile-ui .rdv-assiduite-overlay>.rdv-assiduite-dialog{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;margin:0!important;border:0!important;background:#fff!important;box-shadow:none!important;}
html.rdv-mobile-ui .rdv-absence-days{gap:2px;justify-content:space-between;}
html.rdv-mobile-ui .rdv-absence-days button{flex:1 0 36px;min-width:36px!important;padding:8px 2px!important;white-space:nowrap!important;font-size:13px!important;}
html.rdv-mobile-ui .rdv-absence-days button[aria-pressed=true]{color:#9b163b!important;}
html.rdv-mobile-ui .rdv-absence-actions{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px;}
html.rdv-mobile-ui .rdv-absence-actions>button{font-size:12px!important;}
html.rdv-mobile-ui .rdv-absence-review-dialog .rdv-absence-heading{align-items:center;gap:10px;}
html.rdv-mobile-ui .rdv-absence-review-dialog .rdv-absence-heading h2{font-size:14px;font-weight:600;line-height:1.35;}
html.rdv-mobile-ui .rdv-absence-review-dialog .rdv-absence-review-filters{gap:8px 12px;align-items:center;justify-content:flex-start;}
html.rdv-mobile-ui .rdv-absence-review-dialog .rdv-absence-review-filters>label:not([hidden]){gap:6px;font-size:13px;}
html.rdv-mobile-ui .rdv-service-notices{height:auto;max-height:150px;min-height:0;}

html.rdv-mobile-ui body :is(.rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog) :is(.rdv-cp-control,.rdv-cp-attempt-link){color:#bd5700!important;}
html.rdv-mobile-ui body :is(.rdv-recap-shell,.rdv-club-dialog,.rdv-cp-dialog) .rdv-cp-reopen{color:#176f36!important;}

html.rdv-mobile-ui body :is(.rdv-club,.rdv-club-dialog,.rdv-cp-dialog) :is(.rdv-club-page-actions,.rdv-club-toolbar,.rdv-cp-toolbar,.rdv-cp-actions){flex-wrap:wrap!important;justify-content:flex-start!important;max-width:100%;gap:4px 10px;}
html.rdv-mobile-ui :is(.rdv-service-notices,[data-cp-notice],[data-club-notice]):empty{margin:0!important;padding:0!important;height:0!important;min-height:0!important;}
