.cp-tutor-attendance-admin,
.cp-workflow-attendance-summary {
    --cp-attendance-blue: #2457d6;
    --cp-attendance-dark: #173f9f;
    --cp-attendance-border: #dbe4f0;
    --cp-attendance-muted: #667085;
    color: #13203a;
}
.cp-classroom-attendance { margin-top: 0; }
.cp-classroom-attendance__date { color:var(--cp-attendance-dark); font-weight:900; }
.cp-classroom-attendance__unavailable { display:flex; align-items:flex-start; gap:13px; padding:18px; border:1px solid #e5caca; border-radius:13px; background:#fff8f8; color:#7c3030; }
.cp-classroom-attendance__unavailable > .dashicons { font-size:24px; }
.cp-classroom-attendance__unavailable strong { display:block; }
.cp-classroom-attendance__unavailable p { margin:5px 0 0; color:#8d5555; }
.cp-classroom-attendance__session { padding:18px; border:1px solid var(--cp-attendance-border); border-radius:15px; background:#f8faff; }
.cp-classroom-attendance__session + .cp-classroom-attendance__session { margin-top:12px; }
.cp-classroom-attendance__session-heading { display:flex; justify-content:space-between; gap:14px; margin-bottom:13px; }
.cp-classroom-attendance__session-heading span { color:var(--cp-attendance-muted); }
.cp-classroom-attendance-table { min-width:520px; }
.cp-classroom-attendance-table th, .cp-classroom-attendance-table td { text-align:center; vertical-align:middle; }
.cp-classroom-attendance-table th:last-child { text-align:left; }
.cp-attendance-choice { display:inline-grid; position:relative; width:30px; height:30px; place-items:center; cursor:pointer; }
.cp-attendance-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.cp-attendance-choice input + span { display:block; width:24px; height:24px; border:2px solid #9aa9bf; border-radius:6px; background:#fff; }
.cp-attendance-choice input:checked + span { border-color:var(--cp-attendance-blue); background:var(--cp-attendance-blue); box-shadow:inset 0 0 0 5px #fff; }
.cp-attendance-choice input:focus-visible + span { outline:3px solid rgba(36,87,214,.25); outline-offset:2px; }
.cp-classroom-attendance .cp-campus-actions { justify-content:flex-end; margin-top:14px; }
.cp-workflow-attendance-summary { margin-top: 28px; padding: clamp(20px,3vw,32px); border: 1px solid var(--cp-attendance-border); border-radius: 22px; background: #fff; box-shadow: 0 16px 45px rgba(23,32,51,.07); }
.cp-workflow-attendance-summary__header { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.cp-workflow-attendance-summary h2 { margin:3px 0 8px; font:900 clamp(25px,3vw,35px)/1.1 Lato,Arial,sans-serif; color:#061d33; }
.cp-workflow-attendance-summary__header p:not(.cp-campus-eyebrow) { max-width:700px; margin:0; color:var(--cp-attendance-muted); line-height:1.6; }
.cp-attendance-stat-select { display:grid; gap:7px; min-width:min(360px,100%); color:#344054; font-weight:800; }
.cp-attendance-stat-select select { min-height:43px; padding:9px 11px; border:1px solid #cbd6e5; border-radius:9px; background:#fff; color:#13203a; font:inherit; }
.cp-workflow-attendance-summary__chart { display:grid; gap:13px; margin:25px 0; padding:20px; border:1px solid #e1e8f2; border-radius:16px; background:#f8faff; }
.cp-attendance-chart__item { display:grid; gap:6px; }
.cp-attendance-chart__heading { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.cp-attendance-chart__heading span { color:var(--cp-attendance-dark); font-weight:900; }
.cp-attendance-chart__track { height:12px; overflow:hidden; border-radius:999px; background:#e5eaf2; }
.cp-attendance-chart__track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2457d6,#6c95ef); transition:width .25s ease; }
.cp-attendance-chart__item small { color:var(--cp-attendance-muted); }
.cp-workflow-attendance-overview { min-width:720px; }
.cp-workflow-attendance-overview th, .cp-workflow-attendance-overview td { vertical-align:middle; }
.cp-attendance-student-link { display:block; margin-top:4px; padding:0; border:0; background:none; color:var(--cp-attendance-blue); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.cp-attendance-student-link:hover { text-decoration:underline; }
.cp-tutor-attendance-admin { width:min(1380px,100%); margin:30px auto 0; }
.cp-tutor-attendance-admin .cp-workflow-admin__hero { margin-top:0; }
.cp-tutor-attendance-list { display:grid; gap:10px; margin-top:18px; padding:14px; border:1px solid var(--cp-attendance-border); border-radius:18px; background:#f7f9fd; }
.cp-tutor-attendance-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto 24px; align-items:center; gap:13px; width:100%; padding:15px; border:1px solid var(--cp-attendance-border); border-radius:14px; background:#fff; color:inherit; text-align:left; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.cp-tutor-attendance-row:hover, .cp-tutor-attendance-row:focus-visible { border-color:rgba(36,87,214,.38); box-shadow:0 10px 28px rgba(23,63,159,.1); transform:translateY(-1px); }
.cp-tutor-attendance-row__icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:#edf3ff; color:var(--cp-attendance-blue); font-size:22px; }
.cp-tutor-attendance-row > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
.cp-tutor-attendance-row small, .cp-tutor-attendance-row__metric { color:var(--cp-attendance-muted); }
.cp-tutor-attendance-row__metric { white-space:nowrap; }
.cp-tutor-attendance-row__metric b { color:var(--cp-attendance-dark); font-size:18px; }
.cp-tutor-attendance-dialog { width:min(900px,calc(100% - 28px)); max-height:calc(100vh - 32px); padding:0; overflow:auto; border:0; border-radius:20px; background:#fff; box-shadow:0 28px 90px rgba(5,20,45,.28); }
.cp-tutor-attendance-dialog::backdrop { background:rgba(8,22,45,.62); backdrop-filter:blur(3px); }
.cp-tutor-attendance-dialog__body { padding:clamp(22px,4vw,34px); }
.cp-tutor-attendance-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:17px; border-bottom:1px solid var(--cp-attendance-border); }
.cp-tutor-attendance-dialog header h3 { margin:3px 0 0; font:900 28px/1.15 Lato,Arial,sans-serif; }
.cp-tutor-attendance-dialog header button { display:grid; width:38px; height:38px; min-width:38px; place-items:center; padding:0; border:1px solid var(--cp-attendance-border); border-radius:999px; background:#fff; color:#13203a; font:400 27px/1 Arial,sans-serif; cursor:pointer; }
.cp-tutor-attendance-dialog__columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:20px; }
.cp-tutor-attendance-dialog__columns section { min-width:0; padding:17px; border:1px solid var(--cp-attendance-border); border-radius:14px; background:#f8faff; }
.cp-tutor-attendance-dialog__columns h4 { margin:0 0 12px; font:900 19px/1.2 Lato,Arial,sans-serif; }
.cp-tutor-attendance-dialog__columns ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.cp-tutor-attendance-dialog__columns li { display:grid; gap:4px; padding:11px 0; border-bottom:1px solid #e1e8f2; }
.cp-tutor-attendance-dialog__columns li:last-child { border-bottom:0; }
.cp-tutor-attendance-dialog__columns li small { color:var(--cp-attendance-muted); }
.cp-attendance-video-form { display:grid; gap:8px; margin-top:7px; }
.cp-attendance-video-form input { width:100%; min-height:40px; padding:8px 10px; border:1px solid #cbd6e5; border-radius:8px; background:#fff; color:#13203a; font:inherit; }
.cp-attendance-video-form button { justify-self:start; }
.cp-tutor-attendance-dialog footer { display:flex; justify-content:flex-end; margin-top:22px; padding-top:18px; border-top:1px solid var(--cp-attendance-border); }
@media (max-width:760px) {
    .cp-workflow-attendance-summary__header, .cp-tutor-attendance-dialog header { flex-direction:column; }
    .cp-attendance-stat-select { min-width:0; width:100%; }
    .cp-tutor-attendance-row { grid-template-columns:40px minmax(0,1fr); }
    .cp-tutor-attendance-row__metric, .cp-tutor-attendance-row > .dashicons:last-child { grid-column:2; justify-self:start; }
    .cp-tutor-attendance-dialog__columns { grid-template-columns:1fr; }
    .cp-tutor-attendance-dialog footer .cp-campus-button { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
    .cp-attendance-chart__track span, .cp-tutor-attendance-row { transition:none; }
}
