@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0,0');
:root{--chgm-blue:#1a73e8;--chgm-ink:#172033;--chgm-muted:#6f7b8f;--chgm-line:#e2e7ef;--chgm-soft:#f6f8fc}.chgm-dashboard,.chgm-room,.chgm-student-list{font-family:Inter,Roboto,Arial,sans-serif;color:var(--chgm-ink)}.chgm-dashboard{display:grid;gap:18px}.chgm-card,.chgm-room-card{padding:22px;border:1px solid var(--chgm-line);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(33,50,85,.06)}.chgm-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.chgm-heading span,.chgm-eyebrow{color:#4664dd;font-size:11px;font-weight:900;letter-spacing:.08em}.chgm-heading h3{margin:4px 0 0;font-size:20px}.chgm-connection{padding:7px 10px;border-radius:999px;background:#fff5e6;color:#a15d00!important;font-size:11px!important;letter-spacing:0!important}.chgm-connection.is-ok{background:#ecf8ef;color:#287542!important}.chgm-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chgm-form label{display:grid;gap:7px}.chgm-form label>span{color:#344057;font-size:12px;font-weight:800}.chgm-form .is-wide{grid-column:1/-1}.chgm-form input,.chgm-form select,.chgm-form textarea{width:100%;padding:11px 12px;border:1px solid #d9e0eb;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:13px;outline:none;box-sizing:border-box}.chgm-form input:focus,.chgm-form select:focus,.chgm-form textarea:focus{border-color:#5686ed;box-shadow:0 0 0 3px rgba(26,115,232,.12)}.chgm-actions{display:flex;justify-content:flex-end;gap:9px}.chgm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border:1px solid #d9e1ed;border-radius:10px;background:#fff;color:#334057!important;font-size:12px;font-weight:800;text-decoration:none!important;cursor:pointer}.chgm-btn.is-primary{border-color:var(--chgm-blue);background:var(--chgm-blue);color:#fff!important}.chgm-btn.is-large{min-height:52px;padding:12px 22px;font-size:14px}.chgm-table-wrap{overflow:auto}.chgm-table{width:100%;border-collapse:collapse}.chgm-table th,.chgm-table td{padding:13px;border-bottom:1px solid #e8ecf2;text-align:left;font-size:12px;vertical-align:middle}.chgm-table th{color:#69758a;font-size:10px;text-transform:uppercase}.chgm-table td strong,.chgm-table td small{display:block}.chgm-table td small{margin-top:3px;color:#8190a5}.chgm-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef1f6;color:#5f6c81;font-size:10px;font-weight:850}.chgm-status.is-approved,.chgm-status.is-live{background:#e9f8ef;color:#217340}.chgm-status.is-pending_review{background:#fff4dd;color:#945a05}.chgm-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.chgm-row-actions a,.chgm-row-actions button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dfe5ee;border-radius:9px;background:#fff;color:#536078;cursor:pointer;text-decoration:none}.chgm-row-actions .is-green{color:#18864b}.chgm-row-actions form{margin:0}.chgm-row-actions .material-symbols-outlined{font-size:19px}.chgm-notice{margin-bottom:14px;padding:11px 13px;border-radius:10px;background:#eef5ff;color:#285ca7;font-size:12px}.chgm-notice.is-error{background:#fff0ef;color:#a83830}.chgm-notice.is-success{background:#edf9f1;color:#247346}.chgm-notice.is-warning{background:#fff6e7;color:#905b08}.chgm-room{display:grid;place-items:center;min-height:65vh;padding:24px}.chgm-room-card{width:min(720px,100%);text-align:center}.chgm-google-mark{display:grid;grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);gap:3px;width:max-content;margin:0 auto 16px;transform:rotate(45deg)}.chgm-google-mark span{border-radius:4px}.chgm-google-mark span:nth-child(1){background:#4285f4}.chgm-google-mark span:nth-child(2){background:#ea4335}.chgm-google-mark span:nth-child(3){background:#34a853}.chgm-google-mark span:nth-child(4){background:#fbbc04}.chgm-room h1{margin:8px 0;font-size:30px}.chgm-room h1+p{margin:0 0 20px;color:var(--chgm-muted);font-size:13px}.chgm-prejoin{display:flex;align-items:center;gap:12px;margin:0 auto 20px;padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:var(--chgm-soft);text-align:left}.chgm-prejoin>.material-symbols-outlined{color:#1a73e8;font-size:30px}.chgm-prejoin div{display:grid;gap:4px}.chgm-prejoin strong{font-size:13px}.chgm-prejoin small{color:#727f93;font-size:11px;line-height:1.5}.chgm-teacher-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid #e7ebf1}.chgm-student-list{display:grid;gap:10px}.chgm-session{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--chgm-line);border-radius:13px;background:#fff}.chgm-session>span{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#edf4ff;color:#1a73e8}.chgm-session div{display:grid;gap:3px}.chgm-session small{color:#78859a}
.chgm-admin .chgm-settings-status{display:grid;gap:4px;margin:16px 0;padding:14px;border-left:4px solid #dba617;background:#fff9e8}.chgm-admin .chgm-settings-status.is-connected{border-color:#34a853;background:#effaf2}.chgm-admin .chgm-settings-status span{color:#5f6b7b}
@media(max-width:720px){.chgm-card,.chgm-room-card{padding:16px}.chgm-form{grid-template-columns:1fr}.chgm-form .is-wide{grid-column:auto}.chgm-heading{align-items:flex-start;flex-direction:column}.chgm-room{padding:12px}.chgm-room h1{font-size:24px}.chgm-session{grid-template-columns:36px minmax(0,1fr)}.chgm-session .chgm-btn{grid-column:1/-1;width:100%}}
.chgm-lesson-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0;padding:14px;border:1px solid #dfe6ef;border-radius:13px;background:#f8fbff}.chgm-lesson-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e7f0ff;color:#1a73e8}.chgm-lesson-card>div{display:grid;gap:3px}.chgm-lesson-card small{color:#738197;font-size:11px}@media(max-width:640px){.chgm-lesson-card{grid-template-columns:42px minmax(0,1fr)}.chgm-lesson-card .chgm-btn{grid-column:1/-1;width:100%}}

/* v0.1.0-beta.2 - compact fields without clipping text. */
.chgm-form input,.chgm-form select,.chgm-form textarea{min-height:38px;padding:5px;line-height:1.45}
.chgm-form textarea{min-height:88px;resize:vertical}

/* v0.1.0-beta.7 - enforce table cell spacing inside the admin wrapper. */
.chgm-admin-panel{overflow:hidden;border:1px solid #e2e7f0;border-radius:16px;background:#fff;color:#172033;font-family:Inter,Roboto,Arial,sans-serif;box-shadow:0 10px 30px rgba(31,42,68,.05)}
.chgm-admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e8ecf3;background:linear-gradient(135deg,#fff 0%,#f8faff 100%)}
.chgm-admin-head>div:first-child{min-width:0}.chgm-admin-head>div:first-child>span{color:#4d5ee8;font-size:10px;font-weight:900;letter-spacing:.1em}.chgm-admin-head h2{margin:4px 0 5px;color:#172033;font-size:21px;line-height:1.25}.chgm-admin-head p{max-width:760px;margin:0;color:#748096;font-size:12px;line-height:1.55}
.chgm-admin-count{display:grid;place-items:center;flex:0 0 90px;min-height:68px;padding:8px;border:1px solid #dfe4f3;border-radius:12px;background:#fff}.chgm-admin-count strong{color:#4658df;font-size:22px;line-height:1}.chgm-admin-count span{color:#7b879a;font-size:10px;font-weight:800}
.chgm-admin-table-wrap{width:100%;padding-inline:16px;overflow-x:auto;box-sizing:border-box}.chgm-admin-table{width:100%;min-width:920px;border:0;border-collapse:collapse;background:#fff}.chgm-admin-table-wrap table th,.chgm-admin-table-wrap table td{padding:13px 14px!important;border:0;border-bottom:1px solid #e8ecf3;text-align:left;vertical-align:middle}.chgm-admin-table th{background:#f8f9fc;color:#69758a;font-size:10px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.chgm-admin-table th:last-child,.chgm-admin-table td:last-child{text-align:right}.chgm-admin-table tbody tr:last-child td{border-bottom:0}.chgm-admin-table tbody tr:hover{background:#fbfcff}.chgm-admin-table td{color:#344057;font-size:12px;line-height:1.45}
.chgm-admin-primary{display:grid;gap:3px}.chgm-admin-primary strong{color:#172033;font-size:12px}.chgm-admin-primary small{color:#8490a2;font-size:10px}.chgm-admin-meet{display:grid;align-items:start;gap:7px;max-width:360px}.chgm-admin-meet>a{display:inline-flex;align-items:center;gap:5px;width:max-content;color:#3159d9;font-size:11px;font-weight:800;text-decoration:none}.chgm-admin-meet>a .material-symbols-outlined{font-size:16px}.chgm-admin-unavailable{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#f1f3f7;color:#7a8494;font-size:10px;font-weight:800}
.chgm-api-error{max-width:330px}.chgm-api-error summary{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#fff0ef;color:#ae3e36;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.chgm-api-error summary::-webkit-details-marker{display:none}.chgm-api-error summary .material-symbols-outlined{font-size:15px}.chgm-api-error>div{margin-top:7px;padding:9px 10px;border:1px solid #f2d7d4;border-radius:9px;background:#fffafa}.chgm-api-error p{margin:0;color:#8f3c36;font-size:10px;line-height:1.55;overflow-wrap:anywhere}.chgm-api-error a{display:inline-flex;align-items:center;gap:3px;margin-top:7px;color:#3159d9;font-size:10px;font-weight:800;text-decoration:none}.chgm-api-error a .material-symbols-outlined{font-size:13px}
.chgm-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.chgm-admin-actions form{margin:0}.chgm-admin-action{display:grid!important;place-items:center;width:34px!important;height:34px!important;min-width:34px;padding:0!important;border:1px solid #dfe4ed!important;border-radius:9px!important;background:#fff!important;color:#59677c!important;box-shadow:none!important;cursor:pointer;text-decoration:none!important}.chgm-admin-action:hover,.chgm-admin-action:focus-visible{border-color:#bcc6d8!important;background:#f6f8fc!important;outline:none}.chgm-admin-action.is-approve{color:#23834c!important}.chgm-admin-action.is-reject{color:#c44943!important}.chgm-admin-action.is-sync{color:#3f5fd5!important}.chgm-admin-action .material-symbols-outlined{font-size:18px;line-height:1}
.chgm-admin-empty{text-align:center!important;padding:44px 16px!important}.chgm-admin-empty>span{display:block;margin-bottom:7px;color:#9ba7ba;font-size:30px}.chgm-admin-empty strong,.chgm-admin-empty small{display:block}.chgm-admin-empty small{margin-top:4px;color:#8b96a8;font-size:10px}
@media(max-width:767px){.chgm-admin-head{align-items:flex-start;padding:16px;flex-direction:column}.chgm-admin-count{display:flex;justify-content:flex-start;gap:7px;width:100%;min-height:0}.chgm-admin-head h2{font-size:18px}}

/* v0.1.0-beta.8 - OBS controls and automatic-finish states. */
.chgm-status.is-ended,.chgm-status.is-recording_pending,.chgm-status.is-recording_published{background:#eef1f6;color:#647187}
.chgm-obs-recorder{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid #e1e6ef;border-radius:12px;background:#f8faff}
.chgm-obs-state{flex:1 1 100%;color:#748096;font-size:11px;font-weight:700}
.chgm-obs-state.is-recording{color:#c53535}.chgm-obs-state.is-success{color:#237846}.chgm-obs-state.is-error{color:#b23a33}
.chgm-btn.is-record{color:#b72f2f!important}.chgm-btn.is-stop{border-color:#efc7c4;color:#b72f2f!important}

/* v0.1.0-beta.11 - dedicated Meet window + OBS auto Window Capture + health monitor. */
.chgm-room-hint{max-width:620px;margin:10px auto 0!important;color:#68758a!important;font-size:11.5px!important;line-height:1.55!important}
.chgm-obs-workstation{flex:1 1 100%;overflow:hidden;border:1px solid #dde5f1;border-radius:16px;background:#fbfcff;text-align:left}
.chgm-obs-workstation__head{display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border-bottom:1px solid #e8edf5;background:#fff}
.chgm-obs-workstation__head>.material-symbols-outlined{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#eef4ff;color:#3269d8;font-size:21px}
.chgm-obs-workstation__head>div{display:grid;gap:3px;min-width:0}.chgm-obs-workstation__head strong{font-size:13px;color:#253147}.chgm-obs-workstation__head small{color:#758197;font-size:10.8px;line-height:1.45}
.chgm-obs-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:11px 12px 0}
.chgm-obs-checks>span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 8px;border:1px solid #e1e6ef;border-radius:9px;background:#fff;color:#7b8799;font-size:10px;font-weight:800;text-align:center;white-space:nowrap}
.chgm-obs-checks .material-symbols-outlined{font-size:16px}.chgm-obs-checks>span.is-ok{border-color:#ccebd8;background:#f0fbf4;color:#287846}.chgm-obs-checks>span.is-active{border-color:#f2c5c5;background:#fff3f3;color:#bd3333}.chgm-obs-checks>span.is-warn{border-color:#f2dfba;background:#fff8e9;color:#946214}
.chgm-obs-workstation .chgm-obs-recorder{margin:10px 12px 0;padding:12px;border-color:#dfe5ef;background:#fff}
.chgm-obs-health{display:block;flex:1 1 100%;padding-top:3px;color:#778399;font-size:10.5px;font-weight:650;line-height:1.45}.chgm-obs-health.is-success{color:#287846}.chgm-obs-health.is-warning{color:#956311}.chgm-obs-health.is-error{color:#b33b35}.chgm-obs-health.is-info{color:#3368b5}
.chgm-obs-safety{display:flex;align-items:flex-start;gap:9px;margin:10px 12px 12px;padding:10px 11px;border-radius:10px;background:#f4f7fb;color:#657287}.chgm-obs-safety>.material-symbols-outlined{flex:0 0 auto;color:#4d66a8;font-size:18px}.chgm-obs-safety p{margin:0!important;font-size:10.5px!important;line-height:1.55!important;color:inherit!important}.chgm-obs-safety strong{color:#3b475c}
.chgm-btn[data-chgm-obs-open-meet] .material-symbols-outlined,.chgm-btn[data-chgm-obs-prepare] .material-symbols-outlined{font-size:18px}
@media(max-width:720px){.chgm-obs-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.chgm-obs-workstation .chgm-obs-recorder{align-items:stretch}.chgm-obs-workstation .chgm-obs-recorder>.chgm-btn{flex:1 1 calc(50% - 4px)}.chgm-obs-workstation__head small{font-size:10px}}

/* v0.1.0-beta.12 - simplified teacher recording flow. */
.chgm-obs-workstation .chgm-obs-recorder{gap:10px;margin:12px;padding:14px;background:#fff}
.chgm-obs-workstation .chgm-obs-recorder>.chgm-btn{min-width:132px;min-height:44px}
.chgm-btn.is-obs{border-color:#d7e1f7;color:#3159c8!important;background:#f8fbff}
.chgm-btn.is-upload{border-color:#d7e9dd;color:#277447!important;background:#f7fcf8}
.chgm-btn:disabled{opacity:.48;cursor:not-allowed}
.chgm-obs-state{margin-top:2px;font-size:12px;text-align:center}
.chgm-obs-health{padding:2px 8px 0;text-align:center}
.chgm-obs-diagnostics{margin:0 12px 10px;border-top:1px solid #edf0f5}
.chgm-obs-diagnostics summary{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 4px 5px;color:#7b8799;font-size:10px;font-weight:800;cursor:pointer;list-style:none}
.chgm-obs-diagnostics summary::-webkit-details-marker{display:none}
.chgm-obs-diagnostics summary .material-symbols-outlined{font-size:15px}
.chgm-obs-diagnostics .chgm-obs-checks{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 0 2px}
.chgm-obs-safety{margin-top:7px}
@media(max-width:720px){.chgm-obs-workstation .chgm-obs-recorder>.chgm-btn{flex:1 1 calc(50% - 5px);min-width:0}.chgm-obs-diagnostics .chgm-obs-checks{grid-template-columns:1fr 1fr}.chgm-obs-diagnostics .chgm-obs-checks>span:last-child{grid-column:1/-1}}
@media(max-width:460px){.chgm-obs-workstation .chgm-obs-recorder>.chgm-btn{flex-basis:100%}}
.chgm-room-extra{flex:1 1 100%;text-align:center}.chgm-room-extra summary{display:inline-flex;align-items:center;gap:5px;color:#7b8799;font-size:10.5px;font-weight:800;cursor:pointer;list-style:none}.chgm-room-extra summary::-webkit-details-marker{display:none}.chgm-room-extra summary .material-symbols-outlined{font-size:17px}.chgm-room-extra[open] .chgm-btn{margin-top:8px}
