.parent-v2{--pv2-blue:#2563eb;--pv2-ink:#0f172a;--pv2-muted:#64748b;--pv2-border:#cbd5e1;--pv2-bg:#f8fafc;--pv2-card:#fff;color:var(--pv2-ink);font-family:Segoe UI,Arial,sans-serif}.parent-v2 *{box-sizing:border-box}.pv2-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:20px;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.pv2-kicker{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#bfdbfe}.pv2-hero h1{font-size:28px;margin:6px 0}.pv2-hero p{margin:0;color:#dbeafe;max-width:760px;line-height:1.55}.pv2-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.pv2-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.pv2-nav,.pv2-panel,.pv2-card{background:var(--pv2-card);border:1px solid var(--pv2-border);border-radius:16px}.pv2-nav{padding:12px;align-self:start;position:sticky;top:16px}.pv2-nav-label{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--pv2-muted);padding:10px 10px 6px}.pv2-nav a{display:flex;align-items:center;gap:8px;text-decoration:none;color:#334155;font-weight:700;padding:10px;border-radius:10px;margin:2px 0}.pv2-nav a:hover,.pv2-nav a.is-active{background:#dbeafe;color:#1d4ed8}.pv2-panel{padding:20px;min-width:0}.pv2-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.pv2-page-head h2{font-size:23px;margin:0 0 5px}.pv2-page-head p{margin:0;color:var(--pv2-muted)}.pv2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.pv2-span-12{grid-column:span 12}.pv2-span-8{grid-column:span 8}.pv2-span-6{grid-column:span 6}.pv2-span-4{grid-column:span 4}.pv2-span-3{grid-column:span 3}.pv2-card{padding:18px}.pv2-card h3{margin:0 0 7px;font-size:17px}.pv2-card p{color:var(--pv2-muted);line-height:1.5}.pv2-stat strong{display:block;font-size:28px}.pv2-stat span{color:var(--pv2-muted);font-weight:650}.pv2-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:800;text-decoration:none;cursor:pointer;font:inherit}.pv2-btn-primary{background:var(--pv2-blue);color:#fff}.pv2-btn-secondary{background:#fff;color:#1e293b;border-color:var(--pv2-border)}.pv2-btn-danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.pv2-btn-small{padding:7px 10px;font-size:13px}.pv2-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pv2-alert{border-radius:11px;padding:12px 14px;margin-bottom:12px;font-weight:650}.pv2-alert.is-info{background:#dbeafe;color:#1e3a8a}.pv2-alert.is-success{background:#dcfce7;color:#166534}.pv2-alert.is-warning{background:#fef3c7;color:#92400e}.pv2-alert.is-danger{background:#fee2e2;color:#991b1b}.pv2-form{display:grid;gap:14px}.pv2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pv2-field-group{display:grid;gap:6px}.pv2-field-group label{font-weight:800;font-size:13px}.pv2-input,.pv2-select,.pv2-textarea{width:100%;border:1px solid #94a3b8;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#0f172a}.pv2-textarea{min-height:120px;resize:vertical}.pv2-input:focus,.pv2-select:focus,.pv2-textarea:focus,.pv2-btn:focus-visible,.pv2-nav a:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.pv2-help{font-size:12px;color:var(--pv2-muted)}.pv2-table-wrap{overflow:auto;border:1px solid var(--pv2-border);border-radius:12px}.pv2-table{width:100%;border-collapse:collapse;min-width:760px}.pv2-table th,.pv2-table td{text-align:left;padding:11px 12px;border-bottom:1px solid #e2e8f0;vertical-align:top}.pv2-table th{background:#f1f5f9;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475569}.pv2-table tr:last-child td{border-bottom:0}.pv2-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#e2e8f0;color:#334155}.pv2-badge.blue{background:#dbeafe;color:#1d4ed8}.pv2-badge.yellow{background:#fef3c7;color:#92400e}.pv2-badge.green{background:#dcfce7;color:#166534}.pv2-badge.violet{background:#ede9fe;color:#6d28d9}.pv2-badge.red{background:#fee2e2;color:#b91c1c}.pv2-badge.gray{background:#e2e8f0;color:#475569}.pv2-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 18px}.pv2-step{padding:9px;border-radius:9px;background:#e2e8f0;color:#475569;text-align:center;font-size:12px;font-weight:800}.pv2-step.is-active{background:#2563eb;color:#fff}.pv2-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv2-check{border:1px solid var(--pv2-border);border-radius:11px;padding:11px;display:flex;gap:9px;align-items:flex-start}.pv2-check input{margin-top:3px}.pv2-empty{text-align:center;padding:28px;color:var(--pv2-muted)}.pv2-thread{display:grid;gap:10px}.pv2-message{max-width:85%;border-radius:13px;padding:11px 13px;background:#f1f5f9}.pv2-message.is-teacher{margin-left:auto;background:#dbeafe}.pv2-message small{display:block;color:var(--pv2-muted);margin-top:5px}.pv2-light-row{display:flex;gap:8px;align-items:center}.pv2-light{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px rgba(148,163,184,.2)}.pv2-light.blue{background:#3b82f6}.pv2-light.yellow{background:#f59e0b}.pv2-light.green{background:#22c55e}.pv2-light.violet{background:#8b5cf6}.pv2-light.red{background:#ef4444}.pv2-light.gray{background:#94a3b8}.pv2-note{border-left:4px solid #2563eb;background:#eff6ff;padding:12px;border-radius:0 10px 10px 0;color:#1e3a8a}.pv2-preview-email{border:1px solid var(--pv2-border);border-radius:14px;padding:18px;background:#fff}.pv2-preview-email .button{display:inline-block;background:#2563eb;color:#fff;padding:10px 15px;border-radius:9px;font-weight:800}.pv2-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.pv2-tabs a{padding:8px 11px;border-radius:9px;text-decoration:none;font-weight:800;color:#475569;background:#e2e8f0}.pv2-tabs a.is-active{background:#2563eb;color:#fff}@media(max-width:980px){.pv2-layout{grid-template-columns:1fr}.pv2-nav{position:static;display:flex;flex-wrap:wrap}.pv2-nav-label{width:100%}.pv2-span-8,.pv2-span-6,.pv2-span-4,.pv2-span-3{grid-column:span 12}}@media(max-width:650px){.pv2-hero,.pv2-page-head{display:block}.pv2-hero-actions,.pv2-page-head .pv2-actions{margin-top:14px}.pv2-form-grid,.pv2-check-grid{grid-template-columns:1fr}.pv2-stepper{grid-template-columns:1fr}.pv2-panel{padding:14px}}@media(prefers-reduced-motion:reduce){.parent-v2 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.pv2-public-body{margin:0;background:#eef2f7;color:#0f172a;font-family:Segoe UI,Arial,sans-serif}.pv2-public-shell{max-width:1060px;margin:0 auto;padding:24px 16px 40px}.pv2-public-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:20px;padding:26px;margin-bottom:18px;box-shadow:0 18px 45px rgba(15,23,42,.16)}.pv2-public-header h1{font-size:30px;margin:6px 0}.pv2-public-header p{margin:0;color:#dbeafe}.pv2-public-expiry{text-align:right;font-size:13px;color:#dbeafe;line-height:1.5}.pv2-public-expiry strong{color:#fff}.pv2-public-card{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:22px;margin-bottom:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.pv2-public-card h2{margin:0 0 8px;font-size:22px}.pv2-public-card>p{color:#64748b;line-height:1.6}.pv2-public-centered{max-width:720px;margin:8vh auto;text-align:center}.pv2-public-centered .pv2-form{max-width:560px;margin:20px auto 0;text-align:left}.pv2-public-icon{width:54px;height:54px;border-radius:16px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-size:25px;margin:0 auto 14px}.pv2-public-verify{max-width:800px;margin:6vh auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:24px;align-items:center}.pv2-public-verify .pv2-public-icon{margin:0 0 14px}.pv2-public-content{display:grid;gap:0}.pv2-public-stats{margin-bottom:16px}.pv2-progress-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#eff6ff;border-radius:12px;padding:14px;color:#1e3a8a}.pv2-public-evaluations{display:grid;gap:10px}.pv2-evaluation-row{border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}.pv2-evaluation-row.is-missing{background:#fff7ed;border-color:#fed7aa}.pv2-evaluation-row>div:first-child{display:grid;gap:4px}.pv2-evaluation-row span{font-size:12px;color:#64748b}.pv2-evaluation-row p{grid-column:1/-1;margin:4px 0 0;color:#475569;line-height:1.5}.pv2-evaluation-score{font-weight:850;color:#1e3a8a;text-align:right}.pv2-public-list{padding-left:22px;line-height:1.6}.pv2-comment-group{border-top:1px solid #e2e8f0;padding:15px 0}.pv2-comment-group:first-of-type{border-top:0}.pv2-comment-group h3{margin:0 0 3px}.pv2-comment-group>span{font-size:12px;color:#64748b}.pv2-comment-group ul{margin-bottom:0;line-height:1.6}.pv2-public-thread{margin:16px 0;max-height:460px;overflow:auto;padding:4px}.pv2-public-message-form{border-top:1px solid #e2e8f0;padding-top:16px}.pv2-public-footer{text-align:center;color:#64748b;font-size:12px;padding:10px 0}.pv2-public-request-form .pv2-textarea{min-height:90px}@media(max-width:720px){.pv2-public-header{display:block}.pv2-public-expiry{text-align:left;margin-top:14px}.pv2-public-verify{grid-template-columns:1fr;margin:2vh auto}.pv2-evaluation-row{grid-template-columns:1fr}.pv2-evaluation-score{text-align:left}.pv2-public-shell{padding:12px}.pv2-public-header,.pv2-public-card{border-radius:14px;padding:18px}}


/* Correctif UI 2026-07-11 — intégration EdTech Pro et grille de suivi */
.parent-v2 .pv2-hero,
.parent-v2 .pv2-hero h1,
.parent-v2 .pv2-hero h2,
.parent-v2 .pv2-hero h3 {
  color: #ffffff !important;
}
.parent-v2 .pv2-hero p { color: #dbeafe !important; }
.parent-v2 .pv2-kicker { color: #bfdbfe !important; }
.parent-v2 .pv2-hero .pv2-btn-primary { background: #2563eb !important; color: #ffffff !important; }
.parent-v2 .pv2-hero .pv2-btn-secondary { background: #ffffff !important; color: #0f172a !important; border-color: #bfdbfe !important; }
.parent-v2 .pv2-btn-primary,
.parent-v2 .pv2-tabs a.is-active { color: #ffffff !important; }
.parent-v2 .pv2-btn-secondary { color: #1e293b !important; }
.parent-v2 .pv2-card,
.parent-v2 .pv2-grid > * { min-width: 0; }
.parent-v2 .pv2-span-1 { grid-column: span 1; }
.parent-v2 .pv2-span-2 { grid-column: span 2; }
.parent-v2 .pv2-span-5 { grid-column: span 5; }
.parent-v2 .pv2-span-7 { grid-column: span 7; }
.parent-v2 .pv2-span-9 { grid-column: span 9; }
.parent-v2 .pv2-span-10 { grid-column: span 10; }
.parent-v2 .pv2-span-11 { grid-column: span 11; }
.parent-v2 .pv2-table-compact { min-width: 0; table-layout: auto; }
.parent-v2 .pv2-table-compact th:first-child,
.parent-v2 .pv2-table-compact td:first-child { width: 70%; }
.parent-v2 .pv2-table-compact th:last-child,
.parent-v2 .pv2-table-compact td:last-child { width: 30%; }
.parent-v2 .pv2-mail-diagnostics { display: grid; gap: 8px; margin: 12px 0; }
.parent-v2 .pv2-diagnostic-row { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid #e2e8f0; }
.parent-v2 .pv2-diagnostic-row:last-child { border-bottom: 0; }
.parent-v2 .pv2-diagnostic-row span:first-child { color: #64748b; font-weight: 700; }
.parent-v2 .pv2-diagnostic-row code { overflow-wrap: anywhere; text-align: right; }
.parent-v2 .pv2-mail-error { display: block; margin-top: 6px; color: #b91c1c; font-size: 12px; font-weight: 700; line-height: 1.4; }
@media (max-width: 1180px) {
  .parent-v2 .pv2-span-5,
  .parent-v2 .pv2-span-7 { grid-column: span 12; }
}
@media (max-width: 980px) {
  .parent-v2 .pv2-span-1,
  .parent-v2 .pv2-span-2,
  .parent-v2 .pv2-span-5,
  .parent-v2 .pv2-span-7,
  .parent-v2 .pv2-span-9,
  .parent-v2 .pv2-span-10,
  .parent-v2 .pv2-span-11 { grid-column: span 12; }
}

/* Communication Parents V2 — tutoriels interactifs administrateur */
.pv2-tour-layer[hidden]{display:none!important}.pv2-tour-layer{inset:0;position:fixed;z-index:2147482000}.pv2-tour-blocker{background:transparent;inset:0;position:fixed;z-index:1}.pv2-tour-spotlight{border:3px solid #fff;border-radius:14px;box-shadow:0 0 0 9999px rgba(15,23,42,.74),0 8px 30px rgba(15,23,42,.25);left:0;pointer-events:none;position:fixed;top:0;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease;width:0;z-index:2}.pv2-tour-dialog{background:#fff;border:1px solid #dbe3ef;border-radius:16px;box-shadow:0 22px 70px rgba(15,23,42,.36);color:#172033;display:grid;gap:12px;left:24px;max-width:410px;padding:20px;position:fixed;top:24px;width:calc(100vw - 48px);z-index:3}.pv2-tour-dialog:focus{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.pv2-tour-dialog-top{align-items:center;display:flex;justify-content:space-between}.pv2-tour-progress{background:#dbeafe;border-radius:999px;color:#1d4ed8;font-size:10px;font-weight:850;letter-spacing:.04em;padding:6px 9px;text-transform:uppercase}.pv2-tour-close{align-items:center;background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;color:#475569;cursor:pointer;display:flex;font:inherit;font-size:21px;height:34px;justify-content:center;line-height:1;width:34px}.pv2-tour-close:hover,.pv2-tour-close:focus-visible{border-color:#94a3b8;color:#0f172a;outline:0}.pv2-tour-dialog h2{color:#172033;font-size:20px;line-height:1.25;margin:0}.pv2-tour-dialog p{color:#526075;font-size:13px;line-height:1.62;margin:0}.pv2-tour-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:2px}.pv2-tour-primary,.pv2-tour-secondary{border-radius:9px;cursor:pointer;font:inherit;font-size:12px;font-weight:850;min-height:39px;padding:9px 15px}.pv2-tour-primary{background:#2563eb;border:1px solid #2563eb;color:#fff}.pv2-tour-primary:hover,.pv2-tour-primary:focus-visible{background:#1d4ed8;border-color:#1d4ed8;outline:3px solid rgba(37,99,235,.2)}.pv2-tour-secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}.pv2-tour-secondary:hover,.pv2-tour-secondary:focus-visible{border-color:#64748b;outline:3px solid rgba(100,116,139,.15)}.pv2-tour-secondary:disabled{cursor:not-allowed;opacity:.45}.pv2-tour-save-status{font-size:10px!important;min-height:16px;text-align:right}.pv2-tour-save-status.is-error{color:#b91c1c}body.pv2-tour-open{overflow:hidden}.pv2-help-hero{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;display:grid;gap:22px;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);margin-bottom:18px;padding:24px}.pv2-help-hero h3{font-size:23px;margin:9px 0}.pv2-help-hero p{color:#475569;line-height:1.6;margin:0}.pv2-help-summary{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.pv2-help-summary div{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:13px;text-align:center}.pv2-help-summary strong{color:#2563eb;display:block;font-size:22px}.pv2-help-summary span{color:#64748b;font-size:11px;font-weight:750}.pv2-help-catalog{margin-top:22px}.pv2-help-catalog>h3{font-size:16px;margin:22px 0 10px}.pv2-help-grid{display:grid;gap:13px;grid-template-columns:repeat(3,minmax(0,1fr))}.pv2-help-card{background:#fff;border:1px solid #cbd5e1;border-radius:15px;display:flex;flex-direction:column;gap:9px;min-height:225px;padding:16px}.pv2-help-card.is-unavailable{background:#f8fafc;border-style:dashed}.pv2-help-card-top{align-items:center;color:#64748b;display:flex;font-size:10px;font-weight:750;justify-content:space-between}.pv2-help-status{border-radius:999px;padding:5px 8px}.pv2-help-status.is-new{background:#dbeafe;color:#1d4ed8}.pv2-help-status.is-progress{background:#fff7ed;color:#c2410c}.pv2-help-status.is-complete{background:#dcfce7;color:#166534}.pv2-help-status.is-dismissed{background:#e2e8f0;color:#475569}.pv2-help-card h4{font-size:15px;line-height:1.35;margin:0}.pv2-help-card p{color:#64748b;font-size:12px;line-height:1.55;margin:0}.pv2-help-card>.pv2-btn{margin-top:auto}.pv2-help-requirement{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;display:grid;font-size:11px;gap:3px;margin-top:auto;padding:10px}.pv2-help-reset{align-items:end;display:grid;gap:22px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);margin-top:22px}.pv2-help-reset h3{margin:0 0 7px}.pv2-help-reset p{margin:0}.pv2-help-reset form{display:grid;gap:9px}@media(prefers-reduced-motion:reduce){.pv2-tour-spotlight{transition:none}}@media(max-width:1100px){.pv2-help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.pv2-help-hero,.pv2-help-reset{grid-template-columns:1fr}.pv2-help-grid{grid-template-columns:1fr}.pv2-help-card{min-height:0}}@media(max-width:650px){.pv2-tour-dialog{bottom:12px;left:12px;max-width:none;padding:17px;top:auto;width:calc(100vw - 24px)}.pv2-tour-dialog h2{font-size:18px}.pv2-tour-actions{justify-content:stretch}.pv2-tour-primary,.pv2-tour-secondary{flex:1}.pv2-tour-spotlight{border-radius:10px}}

/* Correctif C031 — sécurité visuelle des envois Parents V2 */
.parent-v2 .pv2-btn:disabled,
.parent-v2 .pv2-btn[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .5;
  box-shadow: none;
}
.parent-v2 .pv2-check:has(input:disabled) {
  background: #f8fafc;
  color: #64748b;
}
.parent-v2 .pv2-check:has(input:disabled) strong {
  color: #475569;
}
