/* École des Riches V8.2 — stabilité visuelle & retour au style classique */
:root{
  --classic-blue:#315fb4;
  --classic-navy:#1d3154;
  --classic-bg:#f4f7fc;
  --classic-yellow:#f4c352;
  --ui-radius:clamp(10px,var(--pn-radius),18px);
}
html{scroll-behavior:smooth}
body{min-width:320px;background:var(--pn-bg)!important;overflow-x:hidden}
img{max-width:100%}
button,input,select,textarea{min-width:0}
button:disabled{cursor:not-allowed;opacity:.55}

/* Sidebar : un seul défilement, pas d'ascenseur imbriqué */
.portal{grid-template-columns:272px minmax(0,1fr)!important}
.portal-sidebar{
  width:272px!important;
  padding:20px 14px 14px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:none!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pn-side) 94%,#000),var(--pn-side))!important;
}
.portal-sidebar::-webkit-scrollbar{display:none}
.portal-sidebar nav{overflow:visible!important;display:grid!important;gap:5px!important;flex:0 0 auto!important}
.portal-brand{padding:2px 8px 18px!important;font-size:1.05rem!important}
.portal-brand .school-mark.small{box-shadow:none!important;border:1px solid rgba(255,255,255,.16)}
.school-pill{margin:0 7px 18px!important;padding:10px 11px!important;border-radius:12px!important}
.sidebar-label{margin:0 13px 8px!important;font-size:.66rem!important}
.portal-sidebar nav a{
  min-height:43px;
  padding:9px 11px!important;
  border-radius:12px!important;
  font-size:.86rem!important;
  font-weight:760!important;
  letter-spacing:-.01em;
}
.portal-sidebar nav a .nav-icon{width:29px!important;height:29px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:rgba(255,255,255,.07)!important}
.portal-sidebar nav a .nav-icon img{width:16px!important;height:16px!important}
.portal-sidebar nav a.active .nav-icon,.portal-sidebar nav a:hover .nav-icon{background:rgba(255,255,255,.14)!important}
.sidebar-bottom-portal{
  position:sticky;bottom:-14px;z-index:3;
  margin-top:22px!important;padding:14px 8px 16px!important;
  background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--pn-side) 96%,#000) 24%);
  backdrop-filter:blur(8px);
}

/* Barre haute plus proche de l'ancien design */
.portal-topbar{
  min-height:72px;
  padding:15px clamp(20px,3vw,42px)!important;
  background:color-mix(in srgb,var(--pn-card) 97%,var(--pn-bg))!important;
  box-shadow:0 3px 16px rgba(25,53,78,.05)!important;
}
.portal-topbar h1{font-size:1.45rem!important;letter-spacing:-.025em!important}
.portal-topbar .eyebrow{margin-bottom:4px!important;font-size:.64rem!important}
.topbar-actions{gap:12px!important}.topbar-actions .avatar{box-shadow:0 3px 12px rgba(0,0,0,.08)}

/* Contenu */
.view-content{padding:26px clamp(20px,3vw,44px) 64px!important;max-width:none!important}
.pn-page{max-width:1500px!important;margin-inline:auto!important}
.pn-page-head{
  margin:0 0 18px!important;
  padding:0 2px 13px;
  border-bottom:1px solid color-mix(in srgb,var(--pn-line) 78%,transparent);
  align-items:flex-end!important;
}
.pn-page-head h1{font-size:1.55rem!important;line-height:1.15!important;letter-spacing:-.03em!important}
.pn-page-head p{font-size:.82rem!important;line-height:1.45!important;max-width:820px;color:var(--pn-muted)!important}
.pn-page-actions{gap:8px!important}

/* Cartes */
.pn-card,.pn-panel,.pn-settings-card,.pn-assessment,.pn-assessment-card,.pn-session-hero,.pn-table-wrap,.pn-profile-card,.pn-history-item,.pn-cdt-content,.section-card,.record-card,.announcement-card,.form-card,.data-card,.settings-card,.admin-card{
  border:1px solid color-mix(in srgb,var(--pn-line) 82%,transparent)!important;
  border-radius:var(--ui-radius)!important;
  background:var(--pn-card)!important;
  box-shadow:0 6px 24px color-mix(in srgb,var(--pn-side) 7%,transparent)!important;
}
.pn-card{overflow:hidden}
.pn-card-head{min-height:48px!important;padding:12px 15px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--pn-accent) 4%,var(--pn-card)),var(--pn-card))!important;border-bottom:1px solid var(--pn-line)!important}
.pn-card-head h3{font-size:.92rem!important;letter-spacing:-.01em!important}
.pn-card-head img,.title-with-icon img{width:18px!important;height:18px!important}
.pn-card-body{padding:15px!important}
.pn-dashboard{gap:16px!important}.pn-dashboard-col{gap:16px!important}
.pn-home-item,.pn-row{padding:13px 15px!important;min-height:58px!important}
.pn-home-item strong,.pn-row strong{font-size:.84rem!important}.pn-home-item small,.pn-row small{font-size:.72rem!important;line-height:1.4!important}
.pn-row-icon{width:35px!important;height:35px!important;border-radius:10px!important;background:color-mix(in srgb,var(--pn-accent) 10%,var(--pn-card))!important}
.pn-row-icon img{width:17px!important;height:17px!important}
.pn-datebox{border-radius:10px!important;min-width:45px!important;padding:6px!important}

/* Post-it comme avant */
.pn-postit{
  margin:14px!important;
  width:calc(100% - 28px)!important;
  min-height:155px!important;
  padding:16px!important;
  border:1px solid #ead68d!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#fff9cf,#fff4ad)!important;
  color:#51461f!important;
  box-shadow:0 10px 24px rgba(122,99,20,.11)!important;
  line-height:1.55!important;
  resize:vertical;
}
.pn-postit-status{padding:0 15px 13px!important;font-size:.68rem!important;color:var(--pn-muted)!important}

/* Boutons cohérents et plus grands */
.pn-btn,.pn-link,.pn-att-btn,.pn-tab,.schedule-modes button{
  min-height:36px;
  border-radius:10px!important;
  font-size:.76rem!important;
  font-weight:760!important;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease!important;
}
.pn-btn{padding:8px 12px!important;border:1px solid color-mix(in srgb,var(--pn-accent) 25%,var(--pn-line))!important;background:var(--pn-card)!important;color:var(--pn-text)!important}
.pn-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 13px color-mix(in srgb,var(--pn-accent) 12%,transparent)}
.pn-btn.primary{background:var(--pn-accent)!important;color:#fff!important;border-color:var(--pn-accent)!important}
.pn-btn.danger{background:color-mix(in srgb,var(--pn-danger) 10%,var(--pn-card))!important;color:var(--pn-danger)!important;border-color:color-mix(in srgb,var(--pn-danger) 35%,var(--pn-line))!important}
.pn-btn.small{min-height:30px!important;padding:6px 9px!important;font-size:.7rem!important}
.pn-fab{width:52px!important;height:52px!important;border-radius:16px!important;box-shadow:0 12px 30px color-mix(in srgb,var(--pn-accent) 30%,transparent)!important}
.pn-fab img{width:19px!important;height:19px!important}

/* Toolbars */
.pn-toolbar,.schedule-toolbar{
  gap:9px!important;
  padding:10px!important;
  margin-bottom:14px!important;
  border:1px solid var(--pn-line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--pn-card) 95%,var(--pn-bg))!important;
  box-shadow:0 3px 12px rgba(0,0,0,.035)!important;
}
.pn-toolbar input,.pn-toolbar select,.schedule-select select{
  min-height:38px!important;padding:8px 10px!important;border-radius:9px!important;border:1px solid var(--pn-line)!important;background:var(--pn-input)!important;color:var(--pn-text)!important;font-size:.76rem!important;
}

/* Modales/formulaires : homogènes avec l'ancien style */
.pn-modal,.edit-dialog,.session-dialog{
  border-radius:18px!important;
  border:1px solid color-mix(in srgb,var(--pn-line) 80%,transparent)!important;
  overflow:hidden!important;
  box-shadow:0 26px 90px rgba(19,42,70,.30)!important;
}
.pn-modal-head{
  min-height:65px!important;padding:13px 17px!important;
  background:linear-gradient(120deg,color-mix(in srgb,var(--pn-accent) 13%,var(--pn-card)),var(--pn-card))!important;
}
.pn-modal-head small{font-size:.66rem!important;color:var(--pn-accent)!important;font-weight:800!important}
.pn-modal-head h2{font-size:1.1rem!important}
.pn-modal-close{width:36px!important;height:36px!important;background:var(--pn-card)!important;border:1px solid var(--pn-line)!important}
.pn-modal-body{padding:18px!important;max-height:min(76vh,780px)!important}
.pn-form{gap:13px!important}.pn-field{gap:6px!important}
.pn-field label,.pn-field>span{font-size:.74rem!important;font-weight:760!important;color:var(--pn-text)!important}
.pn-field input,.pn-field select,.pn-field textarea{
  min-height:42px!important;padding:9px 11px!important;border-radius:10px!important;font-size:.8rem!important;border:1px solid var(--pn-line)!important;background:var(--pn-input)!important;color:var(--pn-text)!important;
}
.pn-field textarea{min-height:104px!important;line-height:1.45!important}
.pn-field input:focus,.pn-field select:focus,.pn-field textarea:focus,.pn-toolbar input:focus,.pn-toolbar select:focus{
  outline:none!important;border-color:var(--pn-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pn-accent) 13%,transparent)!important;
}
.pn-form-actions{margin-top:17px!important;padding-top:13px!important;gap:8px!important}
.pn-check{font-size:.76rem!important;min-height:34px}

/* Évaluations */
.pn-assessment-grid{gap:14px!important}.pn-assessment{padding:16px!important;border-top:4px solid var(--assessment,var(--pn-accent))!important}
.pn-assessment h3{font-size:1rem!important;margin:0 0 7px!important}.pn-assessment p{font-size:.76rem!important;line-height:1.45!important}
.pn-assessment-meta{gap:6px!important}.pn-tag{font-size:.67rem!important;padding:5px 8px!important;border-radius:999px!important}
.pn-assessment-actions{gap:7px!important;margin-top:13px!important}

/* Tableaux */
.pn-table-wrap{overflow:auto!important;max-width:100%!important}
.pn-table{font-size:.76rem!important;border-collapse:separate!important;border-spacing:0!important}
.pn-table th{position:sticky;top:0;z-index:2;padding:11px 12px!important;font-size:.7rem!important;text-transform:none!important;letter-spacing:0!important;background:color-mix(in srgb,var(--pn-accent) 7%,var(--pn-card))!important}
.pn-table td{padding:10px 12px!important;min-height:44px!important}
.pn-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--pn-bg) 36%,var(--pn-card))!important}
.pn-table tbody tr:hover td{background:color-mix(in srgb,var(--pn-accent) 5%,var(--pn-card))!important}
.pn-table input,.pn-table select{min-height:36px!important;border-radius:8px!important;border:1px solid var(--pn-line)!important;background:var(--pn-input)!important;color:var(--pn-text)!important;padding:6px 8px!important}

/* Appel */
.pn-att-layout{gap:16px!important}.pn-students{gap:8px!important}
.pn-student{padding:11px 12px!important;border-radius:13px!important;border:1px solid var(--pn-line)!important;background:var(--pn-card)!important;box-shadow:0 2px 8px rgba(0,0,0,.025)!important}
.pn-student-avatar{width:38px!important;height:38px!important;border-radius:11px!important;background:color-mix(in srgb,var(--pn-accent) 12%,var(--pn-card))!important;color:var(--pn-accent)!important}
.pn-student-name{font-size:.83rem!important;font-weight:800!important}.pn-student small{font-size:.68rem!important;color:var(--pn-muted)!important}
.pn-att-actions{gap:6px!important}.pn-att-btn{padding:7px 10px!important;min-height:34px!important}
.pn-att-btn.present.active{background:#2d9a68!important;color:#fff!important;border-color:#2d9a68!important}.pn-att-btn.abs.active{background:#d94f63!important;color:#fff!important;border-color:#d94f63!important}.pn-att-btn.late.active{background:#d8902b!important;color:#fff!important;border-color:#d8902b!important}
.pn-summary{gap:8px!important}.pn-summary>div{padding:12px!important;border-radius:12px!important;background:var(--pn-card)!important;border:1px solid var(--pn-line)!important}.pn-summary strong{font-size:1.35rem!important}.pn-summary span{font-size:.67rem!important}

/* Vie scolaire */
.pn-tabs{gap:6px!important;padding:2px 0 9px!important;overflow-x:auto!important;scrollbar-width:none!important}.pn-tabs::-webkit-scrollbar{display:none}.pn-tab{white-space:nowrap!important;padding:7px 11px!important}.pn-tab.active{background:var(--pn-accent)!important;color:#fff!important;border-color:var(--pn-accent)!important}
.pn-kpis{gap:10px!important}.pn-kpi{padding:13px!important;border-radius:13px!important;border:1px solid var(--pn-line)!important;background:var(--pn-card)!important}.pn-kpi span{font-size:.68rem!important}.pn-kpi strong{font-size:1.45rem!important}
.pn-history{gap:8px!important}.pn-history-item{padding:12px!important;grid-template-columns:92px 1fr auto!important;align-items:center!important}.pn-history-item time{font-size:.68rem!important;color:var(--pn-muted)!important}.pn-history-item strong{font-size:.8rem!important}.pn-history-item small{font-size:.69rem!important;line-height:1.4!important}

/* Séance / cahier */
.pn-session-hero{padding:19px!important;background:linear-gradient(130deg,color-mix(in srgb,var(--pn-accent) 12%,var(--pn-card)),var(--pn-card))!important;border-left:5px solid var(--pn-accent)!important}
.pn-session-hero h1{font-size:1.45rem!important}.pn-session-hero p{font-size:.78rem!important}.pn-session-status{font-size:.7rem!important;padding:7px 10px!important;border-radius:999px!important}
.pn-session-actions{gap:12px!important}.pn-action-card{min-height:116px!important;border-radius:14px!important;padding:15px!important;border:1px solid var(--pn-line)!important;background:var(--pn-card)!important;box-shadow:0 4px 15px rgba(0,0,0,.04)!important}.pn-action-card:hover{border-color:color-mix(in srgb,var(--pn-accent) 45%,var(--pn-line))!important;transform:translateY(-2px)!important}.pn-action-card img{width:24px!important;height:24px!important}.pn-action-card strong{font-size:.86rem!important}.pn-action-card small{font-size:.7rem!important;line-height:1.4!important}
.pn-cdt-hero{border-radius:14px!important;padding:15px!important;background:linear-gradient(120deg,color-mix(in srgb,var(--pn-accent) 11%,var(--pn-card)),var(--pn-card))!important;border:1px solid var(--pn-line)!important}.pn-cdt-hero h2{font-size:1.1rem!important}.pn-cdt-hero p{font-size:.74rem!important}

/* Emploi du temps : vrai 8h-16h et meilleur rendu */
.hybrid-schedule-scroll{border-radius:15px!important;overflow:auto!important}
.hybrid-old-timetable .schedule-week{grid-template-columns:64px repeat(5,minmax(180px,1fr))!important;min-width:970px!important}
.hybrid-old-timetable .schedule-time-rail,.hybrid-old-timetable .schedule-day{height:512px!important}
.hybrid-old-timetable .schedule-corner,.hybrid-old-timetable .schedule-day-head{min-height:54px!important;padding:9px!important}
.hybrid-old-timetable .schedule-day-head strong{font-size:.78rem!important}.hybrid-old-timetable .schedule-day-head small{font-size:.65rem!important}
.hybrid-old-timetable .schedule-time-rail span{font-size:.63rem!important}
.hybrid-course{left:4px!important;right:4px!important;width:auto!important;border-left:4px solid var(--course-line)!important;background:var(--course-bg)!important;border-radius:9px!important;padding:5px 7px!important;overflow:hidden!important}
.hybrid-course strong{font-size:.72rem!important;line-height:1.2!important}.hybrid-course span{font-size:.59rem!important;line-height:1.25!important}.hybrid-course small{font-size:.58rem!important}
.hybrid-timetable-legend{padding:10px 2px 0!important;font-size:.7rem!important}

/* Paramètres */
.pn-settings-grid{gap:16px!important}.pn-setting-section{padding:15px!important}.pn-setting-section h3{font-size:.88rem!important;margin-bottom:12px!important}.pn-setting-row{margin:9px 0!important;gap:14px!important}.pn-setting-row label{font-size:.74rem!important}.pn-setting-row input,.pn-setting-row select{min-height:40px!important;border-radius:9px!important;font-size:.75rem!important}
.pn-theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}.pn-theme{padding:9px!important;border-radius:11px!important;min-height:70px!important}.pn-theme strong{font-size:.7rem!important;line-height:1.2!important}.pn-theme-swatches{height:28px!important;border-radius:7px!important}.pn-theme.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--pn-accent) 16%,transparent)!important}

/* États vides */
.pn-empty{min-height:170px!important;padding:28px!important;border:1px dashed color-mix(in srgb,var(--pn-line) 85%,transparent)!important;border-radius:14px!important;background:color-mix(in srgb,var(--pn-bg) 55%,var(--pn-card))!important}.pn-empty img{width:72px!important;height:72px!important;opacity:.88}.pn-empty strong{font-size:.9rem!important}.pn-empty p{font-size:.73rem!important;line-height:1.45!important}

/* Mobile/tablette */
@media(max-width:980px){
  .portal{display:block!important}.portal-sidebar{width:272px!important;left:-292px!important}.portal-sidebar.open{left:0!important}
  .portal-topbar{min-height:64px!important;padding:11px 14px!important}.portal-topbar h1{font-size:1.12rem!important}.portal-topbar .today{display:none}
  .view-content{padding:15px 11px 100px!important}.pn-page-head{align-items:flex-start!important;gap:10px!important}.pn-page-head h1{font-size:1.2rem!important}.pn-page-head p{font-size:.74rem!important;display:block!important}.pn-page-actions{width:100%;justify-content:flex-start!important;overflow-x:auto!important}
  .pn-dashboard{grid-template-columns:1fr!important;gap:12px!important}.pn-dashboard-col{gap:12px!important}
  .pn-toolbar{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important}.pn-toolbar>*{flex:0 0 auto}.pn-toolbar .grow{min-width:220px!important}
  .pn-modal{width:calc(100vw - 14px)!important;max-height:92vh!important}.pn-modal-body{padding:14px!important;max-height:80vh!important}.pn-form{grid-template-columns:1fr!important}.pn-field.full{grid-column:auto!important}
  .pn-session-actions{grid-template-columns:1fr 1fr!important}.pn-att-layout{grid-template-columns:1fr!important}.pn-history-item{grid-template-columns:78px 1fr!important}.pn-history-item .pn-row-actions{grid-column:2!important}
  .pn-theme-grid{grid-template-columns:repeat(3,1fr)!important}
  .hybrid-old-timetable .schedule-week{grid-template-columns:58px repeat(5,165px)!important;min-width:883px!important}.hybrid-schedule-scroll{overflow-x:auto!important}
}
@media(max-width:620px){
  .view-content{padding-inline:8px!important}.pn-page-head{padding-inline:4px!important}.pn-page-head p{display:none!important}
  .pn-card,.pn-assessment,.pn-history-item,.pn-cdt-content{border-radius:13px!important}.pn-card-head{padding:10px 12px!important}.pn-card-body{padding:12px!important}
  .pn-row,.pn-home-item{padding:11px 12px!important}.pn-row{grid-template-columns:34px minmax(0,1fr)!important}.pn-row>.pn-row-actions,.pn-row>time{grid-column:2!important;justify-self:start!important}
  .pn-session-actions{grid-template-columns:1fr!important}.pn-action-card{min-height:94px!important}
  .pn-student{grid-template-columns:38px minmax(0,1fr)!important}.pn-att-actions{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.pn-att-btn{width:100%!important}
  .pn-kpis{grid-template-columns:repeat(2,1fr)!important}.pn-summary{grid-template-columns:repeat(3,1fr)!important}.pn-summary>div{padding:9px 5px!important}.pn-summary strong{font-size:1.1rem!important}
  .pn-theme-grid{grid-template-columns:repeat(2,1fr)!important}.pn-setting-row{grid-template-columns:1fr!important}.pn-table{min-width:720px!important}
  .pn-form-actions{position:sticky;bottom:-14px;z-index:4;background:var(--pn-card);padding:12px 0 2px!important}
  .pn-form-actions .pn-btn{flex:1!important}
}

/* Accessibilité */
.pn-high-contrast .pn-card,.pn-high-contrast .pn-modal,.pn-high-contrast .pn-toolbar,.pn-high-contrast .pn-student{border-width:2px!important}
.pn-reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--pn-accent) 58%,#fff)!important;outline-offset:2px!important}

/* Bibliothèque de cours héritée des anciennes versions */
.pn-library-card{margin-top:16px!important}.pn-library-card .pn-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pn-course-library-frame{display:block;width:100%;height:min(760px,72vh);border:0;background:var(--pn-card)}
@media(max-width:760px){.pn-course-library-frame{height:68vh}.pn-library-card .pn-card-head{align-items:flex-start;flex-direction:column}}
