/* SCOVER PX-R1-C.2 | Student My Attendance Light with full View modal chain.
   Scope: opt-in Student attendance tab only. Purple solid CTA + white contract.
   Legacy Dark, Schedule, Home, Guardian, Tutor, Admin unaffected. */
html[data-theme="light"][data-pxr1b-light="on"][data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] {
 --c2-main:#6d53c6;--c2-hover:#6045b8;--c2-soft:#f3efff;
 --c2-ink:#19324b;--c2-muted:#526e87;--c2-line:#d3e1ed;
 --pxr1b4-cta-bg:#6d53c6;--pxr1b4-cta-hover:#6045b8;--pxr1b4-cta-active:#5337a4;
}
/* Attendance-owned layout: preserves original grid sizing and breakpoints. */
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell {
 color:var(--c2-ink);
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell :is(.journey-head,.journey-hero>.card,.journey-shell>.card,.journey-kpi,.journey-row){
 background:#fff!important;background-image:none!important;color:var(--c2-ink)!important;
 border-color:var(--c2-line)!important;box-shadow:0 7px 24px rgba(35,65,96,.055)!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-head{
 background:linear-gradient(120deg,#fff 0%,#faf8ff 100%)!important;
 border-left:4px solid var(--c2-main)!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell :is(h2,h3,b,strong){color:var(--c2-ink)}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell :is(p,small,.muted,.journey-main span,.attendance-note-safe){color:var(--c2-muted)!important}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-head>small{color:var(--c2-main)!important;font-weight:800}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-kpi{
 border-top:3px solid #b4a2f1!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-bar{
 background:#eaf0f7!important;border:1px solid #d1e0ee!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-bar i{
 background:var(--c2-main)!important;background-image:none!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-row :is(span,strong){color:var(--c2-ink)!important}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-row:nth-child(even){background:#f9fbfe!important}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-row:hover{border-color:#b4a2f1!important;background:#fbf9ff!important}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-filterbar label{
 color:#335673!important;font-weight:650;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-filterbar select{
 background:#fff!important;background-image:none!important;color:#19324b!important;
 border:1px solid #bdd2e3!important;box-shadow:none!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-filterbar select:focus-visible{outline:3px solid var(--c2-main)!important;outline-offset:2px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .badge{
 color:#365f7e!important;border-color:#cbdfea!important;background:#edf5fb!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-badge{
 background:#edf5fb!important;border-color:#cbdfea!important;color:#365f7e!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-badge.good{
 background:#eaf7ef!important;border-color:#bce1c9!important;color:#156c46!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-badge.warn{
 background:#fff5e7!important;border-color:#f0d5a6!important;color:#795000!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-badge.bad{
 background:#fff0f2!important;border-color:#edc0c9!important;color:#9a2842!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .notice{
 background:#f2f7fc!important;background-image:none!important;color:#335b77!important;border-color:#d2e2ee!important;
}
/* Attendance 'View' is secondary; no purple flood of row actions. */
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-row button.secondary{
 background:#f2f7fb!important;background-image:none!important;color:#234b67!important;
 border:1px solid #c8dbe9!important;box-shadow:none!important;text-shadow:none!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-row button.secondary:hover{
 background:#e9f2f9!important;border-color:#a4c7dd!important;
}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell button:focus-visible{outline:3px solid var(--c2-main)!important;outline-offset:2px!important}
/* Native mobile/tabled layouts intentionally remain unchanged. */

/* Class Detail modal visual contract shared with frozen C.1a Schedule. */
/* SCOVER PX-R1-C.2 — Attendance-owned Class Detail dialog visuals.
 * Requires C.2 preview JS; only opt-in Student My Attendance.
 * Does NOT alter handlers, forms, API, disabled/validation/submit rules or Dark.
 */
html[data-theme="light"][data-pxr1c2-attendance="student"][data-pxr1c2-dialog="student"] body[data-academic-shell="portal"] #modal{
 --c1a-main:#6d53c6;--c1a-hover:#6045b8;--c1a-soft:#f3efff;
 --c1a-ink:#19324b;--c1a-muted:#536e85;--c1a-line:#cfdeeb;
 --modal-accent:#6d53c6;--modal-accent-soft:rgba(109,83,198,.10);
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal.modal:not(.hidden){
 background:rgba(26,44,66,.48)!important;backdrop-filter:blur(5px);
 color:var(--c1a-ink)!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card{
 background:#fff!important;background-image:none!important;border:1px solid var(--c1a-line)!important;
 color:var(--c1a-ink)!important;box-shadow:0 26px 75px rgba(25,52,80,.22)!important;
 scrollbar-color:#b7cde0 #f7fafd;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head{
 border-bottom:1px solid var(--c1a-line)!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head>div:first-child::before{
 background:linear-gradient(var(--c1a-main),var(--c1a-main)) 13px 12px/16px 2px no-repeat,
 linear-gradient(var(--c1a-main),var(--c1a-main)) 13px 19px/11px 2px no-repeat,
 linear-gradient(var(--c1a-main),var(--c1a-main)) 13px 26px/16px 2px no-repeat,
 #eef5fb!important;border-color:#c7d8e7!important;box-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(h2,h3,h4,b,strong){color:var(--c1a-ink)}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(p,small,.muted){color:var(--c1a-muted)!important}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head h2{color:var(--c1a-ink)!important}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head small,
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(.brief-section,.student-brief-section)>h3{
 color:var(--c1a-main)!important;
}
/* Nested information blocks from Student Class Detail, Tutor Roster / Brief / Completed. */
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(
 .info,.notice,.preclass-info,.brief-section,.student-brief-section,
 .student-previous-meeting .date-box,.student-previous-meeting .topic-box,
 .tutor-roster-head,.tutor-roster-person,.roster-chip,.tutor-roster-privacy,
 .live-attendance-card,.live-att-row,.completion-meta>div,.student-tutor-hero,
 .attendance-status-row,.student-safety-note,.session-feedback-readback,
 .session-feedback-panel){
 background:#f5f9fd!important;background-image:none!important;
 border-color:#d4e2ee!important;color:var(--c1a-ink)!important;box-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(
 .preclass-info,.student-brief-meta .info,.completion-meta .info,
 .tutor-roster-person,.roster-chip,.student-previous-meeting .date-box,
 .student-previous-meeting .topic-box){background:#fff!important}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(.att-row,.live-att-row,.student-previous-meeting,.completion-meta){
 border-color:#d8e5ef!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(.badge,.arrival-chip){
 background:#eef5fb!important;border-color:#cbddec!important;color:#335e7c!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card .badge.good{
 background:#e9f7ee!important;border-color:#b9dfc7!important;color:#176844!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card .badge.warn,
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal :is(.attendance-unresolved,.push-error){
 background:#fff5e3!important;border-color:#eddbb4!important;color:#855600!important;
}
/* The original portal modal-form polish has hard-coded dark gradients. */
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(.form-grid,.live-attendance-toolbar){
 background:#f7fafd!important;background-image:none!important;border-color:#d7e4ee!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card label:not(.chip):not(.availability-all-day){
 color:#385b74!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea){
 background:#fff!important;background-image:none!important;color:#17354e!important;
 border:1px solid #bfd1e0!important;box-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(input,textarea)::placeholder{color:#6b859b!important;opacity:1}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(input,select,textarea):focus-visible{
 outline:2px solid var(--c1a-main)!important;outline-offset:2px!important;
}
/* CTA role contract: primary solid / white, secondary neutral / navy, no gradients. */
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button:not(.secondary):not(:disabled){
 background:var(--c1a-main)!important;background-image:none!important;color:#fff!important;
 border-color:transparent!important;text-shadow:none!important;box-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button:not(.secondary):not(:disabled):hover{
 background:var(--c1a-hover)!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button.secondary,
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head>button.secondary{
 background:#eff5fa!important;background-image:none!important;color:#234761!important;
 border:1px solid #c5d8e7!important;box-shadow:none!important;text-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button.secondary:hover:not(:disabled){
 background:#e4f0f8!important;border-color:#a7c6dd!important;color:#193e59!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button:focus-visible{
 outline:3px solid var(--c1a-main)!important;outline-offset:2px!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card button:disabled{
 opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card .modal-head>button.secondary::before{
 color:#234761!important;
}
html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card :is(.live-attendance-head,.live-attendance-toolbar,.live-att-state,.roster-person) small{
 color:var(--c1a-muted)!important;
}
/* Keep responsive behavior owned by the original portal CSS. */
@media(max-width:640px){
 html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-card{
  max-width:100%;padding:15px!important;
 }
 html[data-pxr1c2-dialog] body[data-academic-shell="portal"] #modal .modal-head>div:first-child{
  padding-left:50px;
 }
}
/* Label stacking for existing Student tutor identity markup. */
html[data-pxr1c2-dialog="student"] body[data-academic-shell="portal"] #modal .student-tutor-hero>div:last-child :is(b,small){display:block}
html[data-pxr1c2-dialog="student"] body[data-academic-shell="portal"] #modal .student-tutor-hero>div:last-child small{margin-top:3px}
/* Legibility within Attendance only; no change to the original responsive grid. */
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-row>span{font-size:10px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-row>strong{font-size:12px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .journey-kpi small{font-size:10px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell :is(.journey-date b,.journey-main b,.journey-topic b){font-size:11px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell :is(.journey-date small,.journey-main span,.journey-main small,.journey-topic small,.attendance-note-safe){font-size:10px}
html[data-pxr1c2-attendance="student"] body[data-academic-shell="portal"] #pane>.journey-shell .attendance-status-badge{font-size:10px}
