.teacher-access-btn { width: 100%; margin-top: 10px; padding: 13px; border: 1px solid rgba(255,255,255,.5); border-radius: 14px; color: white; background: rgba(8,28,35,.42); font-weight: 700; }
.teacher-screen { overflow: auto; color: #173743; background: #f4efe5; }
.teacher-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 34px clamp(22px,5vw,76px) 24px; color: white; background: #163d51; }
.teacher-header h1 { font-size: clamp(38px,5vw,62px); }
.teacher-header .eyebrow { margin-bottom: 7px; }
.teacher-close-btn { border: 1px solid rgba(255,255,255,.4); border-radius: 99px; padding: 11px 17px; color: white; background: rgba(255,255,255,.1); font-weight: 700; }
.teacher-tabs { position: sticky; z-index: 2; top: 0; display: flex; gap: 7px; padding: 13px clamp(22px,5vw,76px); background: rgba(244,239,229,.94); border-bottom: 1px solid #ded5c6; backdrop-filter: blur(12px); }
.teacher-tabs button { border: 0; border-radius: 99px; padding: 10px 16px; color: #5f625e; background: transparent; font-weight: 700; }
.teacher-tabs button.active { color: white; background: #157b7d; }
.teacher-content { max-width: 1280px; margin: auto; padding: 28px clamp(22px,5vw,76px) 70px; }
.teacher-screen label { margin: 0; }
.teacher-class-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom:28px; padding:20px; border:1px solid #ded5c6; border-radius:16px; background:#fffdf8; }
.teacher-class-toolbar label { display:grid; gap:7px; }
.teacher-class-toolbar label span { display:block; margin:0; color:#77766f; font-size:11px; font-weight:700; text-transform:uppercase; }.teacher-class-toolbar select,.teacher-inline-form input,.teacher-session-form input,.teacher-session-form select { min-height:44px; padding:9px 11px; border:1px solid #d4cec3; border-radius:10px; background:white; }.teacher-class-toolbar button,.teacher-inline-form button,.teacher-session-form button { min-height:44px; padding:9px 14px; border:0; border-radius:10px; color:white; background:#157b7d; font-weight:700; }.teacher-class-toolbar>span { display:flex; align-items:center; align-self:flex-end; min-height:44px; margin-left:auto; padding:8px 11px; border-radius:99px; background:#e5eee9; color:#416b63; font-size:12px; font-weight:700; }
.teacher-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.teacher-kpi, .teacher-card { border: 1px solid #e2d8ca; border-radius: 19px; background: #fffdf8; box-shadow: 0 8px 28px rgba(44,55,50,.06); }
.teacher-kpi { padding: 21px; }
.teacher-kpi span, .teacher-kpi small { display: block; color: #77766f; }
.teacher-kpi strong { display: block; margin: 7px 0; font: 700 38px Fraunces,serif; }
.teacher-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin: 36px 0 16px; }
.teacher-section-heading h2 { font-size: 34px; }
.teacher-section-heading .eyebrow { margin-bottom: 6px; color: #a85e31; }
.teacher-section-heading > p { color: #6e706a; }
.teacher-local-badge { padding: 8px 12px; border-radius: 99px; color: #4f6f67; background: #e5eee9; font-size: 12px; font-weight: 700; }
.teacher-actions { display: grid; gap: 14px; }
.teacher-action { display: flex; align-items: center; gap: 14px; padding: 17px; border-radius: 15px; background: white; border-left: 5px solid #c98442; }
.teacher-action > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; color: white; background: #c98442; font-weight: 800; }
.teacher-action.good { border-color: #3b8b6a; }.teacher-action.good > span { background: #3b8b6a; }.teacher-action.info { border-color: #5e83a4; }.teacher-action.info > span { background: #5e83a4; }
.teacher-action-category { display: block; margin-bottom: 4px; color: #38806a; font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.teacher-action p { margin: 3px 0 0; color: #6c6c66; }
.teacher-card { margin-bottom: 24px; padding: 24px; }.teacher-card h3 { margin: 0 0 5px; font: 700 24px Fraunces,serif; }.teacher-card > p { margin: 0 0 24px; color: #77766f; }
.teacher-student-attention { border-color: #e7c99f; background: #fffaf1; }
.teacher-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.teacher-card-heading .eyebrow { margin-bottom: 5px; color: #a85e31; }
.teacher-attention-count { padding: 7px 11px; border-radius: 99px; color: #8a552d; background: #f4e3cb; font-size: 12px; font-weight: 700; white-space: nowrap; }
.teacher-area-times { display: grid; gap: 19px; margin-top: 22px; }.teacher-area-times article > div:first-child { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 7px; }.teacher-bar { height: 10px; overflow: hidden; border-radius: 99px; background: #e9e2d7; }.teacher-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#157b7d,#efb447); }
.teacher-table-wrap { overflow-x: auto; } .teacher-card table { width: 100%; border-collapse: collapse; margin-top: 18px; }.teacher-card th,.teacher-card td { padding: 13px 10px; border-bottom: 1px solid #eee6db; text-align: left; }.teacher-card th { color: #78766f; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }.teacher-card td small { display: block; margin-top: 3px; color: #89877f; }.rate { display: inline-block; padding: 5px 9px; border-radius: 99px; color: #267154; background: #e0f1e8; font-weight: 700; }.rate.low { color: #9a4c32; background: #f8e6de; }.teacher-empty { color: #77766f; text-align: center !important; padding: 35px !important; }
.teacher-accordion-list { display: grid; gap: 14px; }
.teacher-accordion, .teacher-subaccordion { overflow: hidden; border: 1px solid #ded5c6; border-radius: 14px; background: white; }
.teacher-accordion > summary, .teacher-subaccordion > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; cursor: pointer; list-style: none; }
.teacher-accordion > summary::-webkit-details-marker, .teacher-subaccordion > summary::-webkit-details-marker { display: none; }
.teacher-accordion > summary span, .teacher-accordion > summary strong, .teacher-accordion > summary small, .teacher-subaccordion > summary span, .teacher-subaccordion > summary strong, .teacher-subaccordion > summary small { display: block; }
.teacher-accordion > summary strong { color: #173743; font: 700 20px Fraunces,serif; }
.teacher-accordion > summary small, .teacher-subaccordion > summary small { margin-top: 3px; color: #7d7e77; font-size: 11px; }
.teacher-accordion > summary i, .teacher-subaccordion > summary i { color: #157b7d; font-style: normal; font-size: 22px; transition: transform .2s; }
.teacher-accordion[open] > summary i, .teacher-subaccordion[open] > summary i { transform: rotate(180deg); }
.teacher-accordion[open] > summary { color: white; background: #edf5f1; }
.teacher-accordion-content { display: grid; gap: 8px; padding: 10px; border-top: 1px solid #e9e2d7; background: #faf7f1; }
.teacher-subaccordion > summary { padding: 13px 15px; }
.teacher-subaccordion > summary strong { color: #3f5e5b; font-size: 14px; }
.teacher-subaccordion .teacher-table-wrap { padding: 0 12px 12px; border-top: 1px solid #eee6db; }
.teacher-subaccordion table { margin-top: 6px; }
.teacher-resource-stats { display: grid; grid-template-columns: repeat(2,minmax(120px,1fr)); gap: 10px; padding: 14px 18px; border-top: 1px solid #e9e2d7; background: #faf7f1; }
.teacher-resource-stats > span { padding: 13px; border-radius: 11px; background: white; }
.teacher-resource-stats small, .teacher-resource-stats strong { display: block; }
.teacher-resource-stats small { margin-bottom: 4px; color: #7d7e77; font-size: 11px; text-transform: uppercase; }
.teacher-resource-stats strong { color: #173743; font-size: 18px; }
@media (max-width:800px) { .teacher-kpis { grid-template-columns: repeat(2,1fr); }.teacher-header { align-items: start; flex-direction: column; }.teacher-tabs { overflow-x: auto; }.teacher-tabs button { white-space: nowrap; }.teacher-section-heading { align-items: start; flex-direction: column; } }
@media (max-width:480px) { .teacher-kpis { grid-template-columns: 1fr; } }
.teacher-access-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.teacher-access-toggle { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px; border:1px solid #ded5c6; border-radius:14px; background:#fff; cursor:pointer; }
.teacher-access-toggle strong,.teacher-access-toggle small { display:block; }.teacher-access-toggle small { margin-top:3px; color:#77766f; }
.teacher-access-toggle input { width:22px; height:22px; accent-color:#157b7d; }
.teacher-access-toggle:has(input:checked) { border-color:#65a29a; background:#edf7f3; }
.teacher-matrix-card { margin-bottom: 18px; }
.teacher-matrix-card > p { margin-bottom: 12px; }
.progress-matrix { min-width: 820px; }
.progress-matrix th:not(:first-child), .progress-matrix td { text-align: center; }
.progress-matrix tbody th { position: sticky; left: 0; z-index: 1; min-width: 165px; color: #4f554f; background: #fffdf8; text-align: left; }
.matrix-status { position:relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 92px; padding: 7px 9px; border-radius: 9px; font-weight: 700; }
.matrix-status i, .matrix-legend i { display: inline-block; flex: 0 0 11px; width: 11px; height: 11px; border-radius: 3px; background: #aaa; }
.matrix-status small { font-size: 10px; white-space: nowrap; }
.matrix-lock { border:0; padding:2px; background:transparent; cursor:pointer; font-size:16px; }.matrix-lock.open-access{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}.matrix-status.access-locked{outline:2px solid rgba(103,82,34,.32);outline-offset:1px;filter:saturate(.65)}.matrix-status.access-locked .locked-access{filter:grayscale(.15);text-shadow:0 1px 0 white}
.matrix-status.good { color: #216344; background: #dcefe4; }.matrix-status.good i, .matrix-legend i.good { background: #3c9667; }
.matrix-status.progress { color: #87550e; background: #faeacb; }.matrix-status.progress i, .matrix-legend i.progress { background: #e9a52e; }
.matrix-status.alert { color: #893c30; background: #f6dfda; }.matrix-status.alert i, .matrix-legend i.alert { background: #cf614d; }
.matrix-status.none { color: #77766f; background: #ece9e3; }.matrix-status.none i, .matrix-legend i.none { background: #aaa69e; }
.matrix-legend { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 16px; color: #6d706a; font-size: 12px; }.matrix-legend span { display: inline-flex; align-items: center; gap: 6px; }
.teacher-list-intro { margin: -5px 0 18px; color: #74766f; }
.teacher-student-list { display: grid; gap: 10px; }
.teacher-student-row { width: 100%; display: grid; grid-template-columns: auto minmax(150px,1fr) minmax(85px,.45fr) minmax(100px,.5fr) minmax(190px,1.25fr) auto; gap: 18px; align-items: center; padding: 17px 19px; border: 1px solid #e2d8ca; border-radius: 17px; color: #173743; background: #fffdf8; text-align: left; box-shadow: 0 7px 22px rgba(44,55,50,.05); transition: transform .2s, border-color .2s, box-shadow .2s; }
.teacher-student-row>input { width:20px;height:20px;accent-color:#157b7d; }.teacher-row-open { border:0;border-radius:50%;width:38px;height:38px;color:white;background:#157b7d;font-size:20px; }.teacher-select-all { display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#5f6862;font-weight:700; }.teacher-select-all input{width:19px;height:19px;accent-color:#157b7d;}
.teacher-inline-form { display:flex;gap:10px; }.teacher-inline-form input{flex:1;}.teacher-goals{display:grid;gap:8px;margin-top:16px}.teacher-goals article{display:flex;gap:12px;align-items:center;padding:12px;border-radius:11px;background:#f2eee6}.teacher-goals span{padding:5px 8px;border-radius:99px;background:#dfeae5;color:#416b63;font-size:11px;font-weight:700}.teacher-session-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;align-items:end}.teacher-session-form label{display:grid;gap:5px;color:#5d655f;font-size:12px;font-weight:700}.teacher-session-form label:has(input[type=checkbox]){display:flex;align-items:center;padding-bottom:12px}.teacher-session-form input[type=checkbox]{min-height:auto;width:20px;height:20px;accent-color:#157b7d}
.teacher-assignment-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:16px;align-items:end}.teacher-assignment-form label{display:grid;gap:6px;color:#606760;font-size:12px;font-weight:700}.teacher-assignment-form select{min-height:44px;padding:9px 11px;border:1px solid #d4cec3;border-radius:10px;background:white;color:#173743}.teacher-assignment-form button{min-height:44px;padding:10px 16px;border:0;border-radius:10px;color:white;background:#157b7d;font-weight:700}.teacher-access-summary{margin-top:24px}
.teacher-student-row:hover { transform: translateY(-2px); border-color: #74a7a2; box-shadow: 0 10px 28px rgba(44,55,50,.1); }
.teacher-student-row > span { min-width: 0; }.teacher-student-row small { display: block; margin-bottom: 4px; color: #7d7e77; font-size: 11px; }.teacher-student-row strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.teacher-student-avatar { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; color: white; background: #157b7d; font: 700 21px Fraunces,serif; }
.teacher-student-identity strong { font-size: 17px; }.teacher-row-arrow { color: #157b7d; font-size: 22px; }
.teacher-back-list { margin: 0 0 8px; padding: 10px 15px; border: 0; border-radius: 99px; color: #486b66; background: #e1ebe7; font-weight: 700; }
@media (max-width:900px) { .teacher-student-row { grid-template-columns: auto 1fr auto; }.teacher-student-row > span:not(.teacher-student-avatar):not(.teacher-student-identity):not(.teacher-row-arrow) { grid-column: 2; }.teacher-current-mission { white-space: normal; } }
@media(max-width:700px){.teacher-session-form,.teacher-assignment-form{grid-template-columns:1fr}.teacher-inline-form{flex-direction:column}.teacher-class-toolbar>*{width:100%}.teacher-class-toolbar>span{margin-left:0}.teacher-class-toolbar select,.teacher-class-toolbar button{width:100%}}

.parent-header { background: linear-gradient(120deg,#245e59,#163d51); }
.parent-family-toolbar > strong { align-self:center; color:#416b63; }
.parent-access-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; }
.parent-access-toggle { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:82px; padding:16px; border:1px solid #ded5c6; border-radius:14px; background:white; cursor:pointer; }
.parent-access-toggle span, .parent-access-toggle strong, .parent-access-toggle small { display:block; }
.parent-access-toggle small { margin-top:4px; color:#77766f; font-size:11px; }
.parent-access-toggle input { flex:0 0 22px; width:22px; height:22px; accent-color:#157b7d; }
.parent-access-toggle:has(input:checked) { border-color:#65a29a; background:#edf7f3; box-shadow:0 5px 15px rgba(40,123,116,.08); }
.parent-access-time { grid-column:1/-1; }
.parent-connection-card > strong { display:inline-block; padding:10px 13px; border-radius:10px; color:#416b63; background:#e5eee9; }
.parent-mission-list table { margin-top:0; }
.parent-mission-category { display:block; margin-bottom:4px; color:#38806a !important; font-size:10px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.parent-activity-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.parent-activity-card { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:2px 11px; min-height:92px; padding:16px; border:1px solid #dce3dc; border-radius:16px; background:#fffdf8; box-shadow:0 8px 24px rgba(44,55,50,.05); }
.parent-activity-card > span { grid-row:1/3; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:#4f8d7b; font-size:17px; }
.parent-activity-card small, .parent-activity-card strong { display:block; }
.parent-activity-card small { color:#77766f; font-size:11px; }
.parent-activity-card strong { color:#173743; font:700 25px Fraunces,serif; }
.parent-token-card { border-color:#ead39c; background:#fff9e9; }
.parent-token-card > span { color:#513b10; background:#f3b63f; }
.parent-login-dialog { width:min(680px,calc(100% - 30px)); max-height:calc(100% - 30px); overflow:auto; }
.parent-login-intro { margin:10px 0 4px; color:#747973; line-height:1.5; }
.parent-login-dialog h3 { margin:24px 0 0; color:#355a57; font:700 21px Fraunces,serif; }
.parent-existing-section h3 { margin-top:6px; }
.parent-register-divider { display:flex; align-items:center; gap:12px; margin:26px 0 4px; color:#8a8982; font-size:12px; text-transform:uppercase; }
.parent-register-divider::before, .parent-register-divider::after { content:""; flex:1; height:1px; background:#ddd4c7; }
.parent-child-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.parent-child-fields h4 { grid-column:1/-1; margin:22px 0 -4px; color:#416b63; }
.parent-choice-dialog { width:min(720px,calc(100% - 30px)); }
.parent-choice-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px; }
.parent-choice-actions button { display:grid; grid-template-columns:42px 1fr; gap:4px 12px; align-items:center; padding:18px; border:1px solid #cfdbd5; border-radius:15px; color:#173743; background:#f4faf7; text-align:left; }
.parent-choice-actions button:hover { border-color:#157b7d; background:#e8f4ef; }
.parent-choice-actions button > span { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:white; background:#157b7d; font-size:19px; }
.parent-choice-actions strong, .parent-choice-actions small { display:block; }
.parent-choice-actions small { color:#747973; }
@media(max-width:1000px){.parent-activity-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.parent-child-fields{grid-template-columns:1fr}.parent-family-toolbar>strong{align-self:flex-start}.parent-access-time{grid-column:auto}.parent-activity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.parent-choice-actions{grid-template-columns:1fr}}
@media(max-width:480px){.parent-activity-grid{grid-template-columns:1fr}}
