/* École des Riches V8.6 — finition visuelle, accueil classique, agenda calendrier, EDT mobile */

/* Évite le flash de l'ancienne interface entre le rendu de base et le rendu V8. */
.portal{visibility:visible!important}

/* Menu latéral : rendu plus proche des versions classiques, sans scrollbar imbriquée. */
.portal-sidebar{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable!important;overscroll-behavior:contain!important}
.portal-sidebar nav{overflow:visible!important;flex:0 0 auto!important;min-height:0!important;scrollbar-width:none!important}
.portal-sidebar nav::-webkit-scrollbar{display:none!important}
.portal-sidebar nav a{min-height:44px!important;padding:10px 13px!important;border-radius:12px!important;font-weight:800!important;line-height:1.25!important;white-space:normal!important}
.portal-sidebar nav a.active{box-shadow:0 8px 20px color-mix(in srgb,var(--pn-accent) 30%,transparent)!important}
.portal-brand{padding-bottom:18px!important}.school-pill{margin-bottom:18px!important;border-radius:12px!important}
.sidebar-label{margin-top:4px!important;margin-bottom:8px!important}.sidebar-bottom-portal{margin-top:18px!important;flex:0 0 auto!important}
.portal-topbar{backdrop-filter:saturate(1.1) blur(9px);background:color-mix(in srgb,var(--pn-card) 94%,transparent)!important}

/* Cohérence générale. */
.pn-page,.pn-card,.pn-row,.pn-home-item,.pn-toolbar,.pn-modal,.pn-field,.pn-table-wrap,.hybrid-old-timetable,.schedule-toolbar,.pn-calendar-card,.pn-calendar-details{min-width:0!important}
.pn-card,.pn-modal,.pn-table-wrap,.pn-toolbar,.schedule-toolbar{border-color:var(--pn-line)!important;background:var(--pn-card)!important;color:var(--pn-text)!important}
.pn-row>div,.pn-home-item>div,.mobile-course-main{min-width:0!important}
.pn-row strong,.pn-row small,.pn-home-item strong,.pn-home-item small,.mobile-course-meta span{overflow-wrap:anywhere!important}
img{max-width:100%}

/* Accueil classique avec Bonjour et pense-bête en haut. */
.edr-dashboard-home{display:grid;gap:18px;width:100%;max-width:100%;min-width:0}
.edr-welcome-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;align-items:center;padding:26px 30px;border:1px solid color-mix(in srgb,var(--pn-accent) 24%,var(--pn-line));border-radius:calc(var(--pn-radius) + 4px);background:linear-gradient(118deg,var(--pn-accent),color-mix(in srgb,var(--pn-accent) 72%,#ffffff));color:#fff;box-shadow:0 14px 32px color-mix(in srgb,var(--pn-accent) 18%,transparent)}
.edr-welcome-hero::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-120px;background:rgba(255,255,255,.1);pointer-events:none}
.edr-welcome-copy{position:relative;z-index:1}.edr-welcome-copy .eyebrow{color:rgba(255,255,255,.78)!important;margin-bottom:5px}.edr-welcome-copy h1{margin:0 0 6px;font-size:clamp(1.9rem,3.2vw,2.9rem);letter-spacing:-.035em}.edr-welcome-copy>p:last-child{margin:0;color:rgba(255,255,255,.88);font-weight:650;text-transform:capitalize}
.edr-welcome-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.edr-welcome-stats button{display:grid;align-content:center;gap:3px;min-height:92px;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px;background:rgba(255,255,255,.13);color:#fff;text-align:left;backdrop-filter:blur(6px);transition:transform .14s ease,background .14s ease}
.edr-welcome-stats button:hover{transform:translateY(-2px);background:rgba(255,255,255,.19)}.edr-welcome-stats strong{font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edr-welcome-stats span{font-size:.72rem;line-height:1.25;opacity:.9;overflow-wrap:anywhere}
.edr-dashboard-top{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:16px;align-items:stretch}
.edr-dashboard-top>.pn-card{margin:0!important;height:100%}.edr-postit-card .pn-card-head{border-bottom:0!important;padding-bottom:4px!important}
.edr-postit-paper{position:relative;margin:0 14px 14px;padding:16px 15px 11px;border:1px solid #e5cc6f;border-radius:16px;background:linear-gradient(145deg,#fff7b7,#ffe779);box-shadow:0 10px 22px rgba(112,86,13,.14);color:#55460e;transform:rotate(-.08deg);overflow:hidden}
.edr-postit-paper::after{content:"";position:absolute;right:-32px;bottom:-32px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.24);pointer-events:none}.edr-postit-pin{position:absolute;right:18px;top:13px;width:12px;height:12px;border-radius:50%;background:#d45247;box-shadow:0 2px 0 #93332c,0 4px 8px rgba(0,0,0,.18)}
.edr-postit-paper .pn-postit{display:block;width:100%!important;min-height:120px!important;border:0!important;background:transparent!important;color:#4f410d!important;box-shadow:none!important;resize:vertical!important;font:600 .95rem/1.55 "Segoe Print","Comic Sans MS",var(--pn-font)!important;padding:7px 2px 6px!important}.edr-postit-paper .pn-postit::placeholder{color:#8c7933!important}
.edr-postit-paper .pn-postit-status{position:relative;z-index:1;padding:7px 2px 0!important;border-top:1px dashed rgba(93,73,9,.24);color:#74611c!important;font-size:.69rem!important}
html[data-pn-dark="1"] .edr-postit-paper{background:linear-gradient(145deg,#7b6720,#5b4b16);border-color:#9a8230;color:#fff5b9}html[data-pn-dark="1"] .edr-postit-paper .pn-postit,html[data-pn-dark="1"] .edr-postit-paper .pn-postit::placeholder,html[data-pn-dark="1"] .edr-postit-paper .pn-postit-status{color:#fff0a0!important}
.edr-dashboard-lower{margin-top:0!important}.dashboard-timetable-embedded{margin-top:2px!important;padding-top:2px!important;width:100%;max-width:100%;min-width:0}.dashboard-timetable-embedded .hybrid-schedule-scroll{overflow-x:auto!important;max-width:100%}.edr-dashboard-home>.pn-page,.edr-dashboard-home .pn-page{min-width:0;max-width:100%;width:100%}.dashboard-section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 10px}.dashboard-section-title h2{margin:0;font-size:1.35rem}.dashboard-section-title .eyebrow{margin-bottom:2px}

/* EDT : grille desktop, vue journée dédiée téléphone/tablette. */
.schedule-mobile-day{display:none}.schedule-desktop-week{display:block}.schedule-brand{border:1px solid var(--pn-line)!important;background:color-mix(in srgb,var(--pn-card) 94%,var(--pn-bg))!important}
.schedule-brand img{object-fit:cover}.hybrid-course span{display:block!important}.hybrid-course:focus-visible{outline:3px solid color-mix(in srgb,var(--pn-accent) 65%,#fff)!important;outline-offset:2px!important}
.mobile-day-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:9px;padding:10px;border:1px solid var(--pn-line);border-radius:16px;background:var(--pn-card);box-shadow:var(--pn-shadow)}
.mobile-day-nav>div{text-align:center}.mobile-day-nav strong{display:block;font-size:1.12rem;text-transform:capitalize}.mobile-day-nav span{display:block;margin-top:2px;color:var(--pn-muted);font-size:.76rem;text-transform:capitalize}.mobile-day-arrow{width:44px;height:44px;border:1px solid var(--pn-line);border-radius:13px;background:var(--pn-soft);color:var(--pn-accent);font-size:1.7rem;line-height:1;display:grid;place-items:center}
.mobile-day-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:9px 2px 11px;color:var(--pn-muted);font-size:.75rem}.mobile-day-summary strong{color:var(--pn-accent);font-size:.73rem;padding:5px 8px;border-radius:999px;background:var(--pn-soft)}
.mobile-day-list{display:grid;gap:9px}.mobile-course-card{display:grid;grid-template-columns:62px minmax(0,1fr) 20px;gap:11px;align-items:center;border:1px solid var(--pn-line);border-left:5px solid var(--course);border-radius:15px;background:var(--pn-card);padding:12px;box-shadow:0 3px 12px rgba(0,0,0,.045);cursor:pointer;color:var(--pn-text)}.mobile-course-card:active{transform:scale(.995)}
.mobile-course-time{align-self:stretch;display:grid;align-content:center;justify-items:start;border-right:1px solid var(--pn-line);padding-right:8px}.mobile-course-time strong{font-size:.98rem}.mobile-course-time span{font-size:.7rem;color:var(--pn-muted);margin-top:2px}.mobile-course-main>strong{display:block;font-size:1rem;margin-bottom:7px}.mobile-course-meta{display:grid;gap:5px}.mobile-course-meta span{display:flex;align-items:center;gap:6px;color:var(--pn-muted);font-size:.72rem;line-height:1.25}.mobile-course-meta img{width:14px;height:14px;opacity:.76;filter:none!important}.mobile-course-open{font-size:1.55rem;color:var(--pn-accent)}
.mobile-day-closed{display:grid;place-items:center;text-align:center;gap:7px;min-height:210px;padding:24px;border:1px dashed var(--pn-line);border-radius:16px;background:color-mix(in srgb,var(--pn-accent) 5%,var(--pn-card));color:var(--pn-text)}.mobile-day-closed img{width:54px;height:54px;border-radius:14px}.mobile-day-closed span{font-size:.78rem;color:var(--pn-muted)}

/* Agenda calendrier classique. */
.pn-agenda-page{display:grid;gap:14px}.pn-calendar-card,.pn-calendar-details{overflow:hidden}.pn-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--pn-line)}.pn-calendar-toolbar>strong{text-transform:capitalize;font-size:1rem}.pn-calendar-toolbar>div{display:flex;gap:7px}
.pn-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:0;background:var(--pn-line);gap:1px}.pn-cal-head{background:color-mix(in srgb,var(--pn-accent) 7%,var(--pn-card));padding:9px 5px;text-align:center;font-size:.72rem;font-weight:900;color:var(--pn-muted)}
.pn-cal-day{min-height:100px;border:0;background:var(--pn-card);position:relative;text-align:left;padding:8px;color:var(--pn-text);display:block;overflow:hidden}.pn-cal-day:hover{background:color-mix(in srgb,var(--pn-accent) 5%,var(--pn-card))}.pn-cal-day.outside{opacity:.48}.pn-cal-day.today{box-shadow:inset 0 0 0 2px var(--pn-accent)}.pn-cal-day.selected{background:color-mix(in srgb,var(--pn-accent) 10%,var(--pn-card))}.pn-cal-day.holiday{background:color-mix(in srgb,#e6a74f 9%,var(--pn-card))}
.pn-cal-num{font-weight:900;font-size:.8rem}.pn-cal-dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:8px}.pn-cal-dot{width:9px;height:9px;min-width:9px;border-radius:50%;display:inline-block}.pn-cal-dot.homework{background:#4d7ed3}.pn-cal-dot.assessment{background:#9368d0}.pn-cal-dot.event{background:#df9144}.pn-cal-dot.canteen{background:#4ca779}.pn-cal-dot.vacation{background:#d75d75}.pn-cal-label{display:block;margin-top:7px;font-size:.64rem;line-height:1.25;color:var(--pn-muted);max-height:32px;overflow:hidden}.pn-calendar-details .pn-row>.pn-cal-dot{margin-left:13px}

/* Thèmes : cartes de prévisualisation plus proches de la V5. */
.pn-theme-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:11px!important}.pn-theme{position:relative;display:grid!important;gap:7px!important;min-height:100px!important;padding:10px!important;border:2px solid var(--pn-line)!important;border-radius:14px!important;background:var(--pn-card)!important;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important}.pn-theme:hover{transform:translateY(-2px);border-color:var(--pn-accent)!important}.pn-theme.active{border-color:var(--pn-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pn-accent) 14%,transparent)!important}.pn-theme.active::after{content:"✓";position:absolute;right:8px;top:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--pn-accent);color:#fff;font-weight:900;font-size:.72rem}.pn-theme-swatches{height:46px!important;border-radius:9px!important;margin:0!important}.pn-theme strong{font-size:.78rem!important}

/* Bugfixs visuels généraux. */
.pn-modal-body,.view-content,.pn-table-wrap{overscroll-behavior:contain}.pn-table-wrap{overflow:auto!important}.pn-table{width:100%;border-collapse:collapse}.pn-table th,.pn-table td{white-space:normal!important;vertical-align:top}.pn-toolbar>*{min-width:0}.pn-toolbar select,.pn-toolbar input{max-width:100%}.pn-page-actions{flex-wrap:wrap!important}.pn-btn{max-width:100%;white-space:normal;text-align:center}.pn-form-actions{position:sticky;bottom:0;background:linear-gradient(to top,var(--pn-card) 74%,transparent);padding-bottom:2px}

@media(max-width:1100px){
  /* Téléphone + tablette : EDT journalier, pas la grille PC. */
  .schedule-mobile-day{display:block!important}.schedule-desktop-week{display:none!important}.hybrid-schedule-toolbar>div:first-child{display:none}.hybrid-schedule-toolbar{padding:8px!important;margin-bottom:9px!important}.schedule-brand{margin-bottom:9px!important}.schedule-brand img{width:42px!important;height:42px!important}
  .dashboard-timetable-embedded .schedule-brand{display:none!important}.dashboard-timetable-embedded .hybrid-schedule-toolbar{margin-top:0!important}
}

@media(max-width:980px){
  /* Le menu devient un vrai panneau latéral sur tablette aussi. */
  .portal{display:block!important}.portal-sidebar{position:fixed!important;left:-282px!important;top:0!important;width:260px!important;height:100dvh!important;transition:left .2s ease!important;z-index:71!important}.portal-sidebar.open{left:0!important}.portal-topbar #mobileMenu{display:block!important}.mobile-backdrop.open{display:block!important;z-index:70!important}.view-content{padding:16px 13px 96px!important}
  .edr-welcome-hero{grid-template-columns:1fr;padding:22px 20px}.edr-welcome-stats{grid-template-columns:repeat(3,1fr)}.edr-dashboard-top{grid-template-columns:1fr}.pn-dashboard.edr-dashboard-lower{grid-template-columns:1fr 1fr!important}
  .pn-calendar-grid{overflow:hidden}.pn-cal-day{min-height:78px;padding:6px}.pn-cal-label{display:none}.pn-calendar-toolbar{padding:10px}.pn-calendar-toolbar .pn-btn{padding:8px 10px}
}

@media(max-width:700px){
  .view-content{padding:12px 9px 92px!important}.edr-dashboard-home{gap:12px}.edr-welcome-hero{border-radius:16px;padding:18px 16px}.edr-welcome-copy h1{font-size:1.8rem}.edr-welcome-stats{gap:6px}.edr-welcome-stats button{min-height:76px;padding:9px}.edr-welcome-stats strong{font-size:1rem}.edr-welcome-stats span{font-size:.64rem}.pn-dashboard.edr-dashboard-lower{grid-template-columns:1fr!important}.dashboard-section-title{align-items:center}.dashboard-section-title h2{font-size:1.18rem}
  .schedule-brand{padding:9px!important}.schedule-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important}.schedule-select{width:100%!important}.schedule-select select{width:100%!important}.mobile-day-nav{grid-template-columns:44px 1fr 44px;padding:8px}.mobile-day-arrow{width:40px;height:40px}.mobile-course-card{grid-template-columns:54px minmax(0,1fr) 16px;padding:10px;gap:9px}.mobile-course-main>strong{font-size:.92rem}.mobile-course-meta span{font-size:.67rem}
  .pn-calendar-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center}.pn-calendar-toolbar>strong{text-align:center}.pn-calendar-toolbar>div{grid-column:1/-1;justify-content:space-between}.pn-calendar-grid{font-size:.8rem}.pn-cal-head{font-size:.62rem;padding:7px 2px}.pn-cal-day{min-height:62px;padding:5px}.pn-cal-dots{margin-top:5px}.pn-cal-dot{width:7px;height:7px;min-width:7px}.pn-calendar-details .pn-row>.pn-cal-dot{margin-left:9px}
  .pn-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pn-theme{min-height:104px!important}
}

@media(max-width:430px){
  .edr-welcome-stats{grid-template-columns:1fr 1fr}.edr-welcome-stats button:last-child{grid-column:1/-1}.edr-postit-paper{margin:0 10px 10px}.edr-postit-paper .pn-postit{min-height:105px!important}.mobile-course-meta span{align-items:flex-start}.pn-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pn-cal-day{min-height:55px}.pn-cal-num{font-size:.72rem}
}
@media(max-width:350px){.pn-theme-grid{grid-template-columns:1fr!important}}

@media print{
  .schedule-mobile-day{display:none!important}.schedule-desktop-week{display:block!important}.edr-welcome-hero,.edr-dashboard-top,.edr-dashboard-lower,.dashboard-section-title{display:none!important}
  .pn-agenda-page .pn-page-head .pn-page-actions,.pn-calendar-toolbar button{display:none!important}
}
