/* Teacher rescue console. Kept inside the existing admin page and theme. */
#pane-rescue { --ra-muted:#a8b5d3; padding-bottom:30px; }
#pane-rescue h2 { margin:0; font-size:19px; letter-spacing:-.3px; }
.ra-hero { overflow:hidden; position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 34px; border:1px solid #294c65; border-radius:20px; background:radial-gradient(ellipse at 95% 50%,rgba(25,240,200,.13),transparent 60%),linear-gradient(120deg,#14283a,#10192d 65%); }
.ra-eyebrow { display:block; color:#94b6cf; font-size:10px; font-weight:800; letter-spacing:1.6px; }
.ra-hero .ra-eyebrow { color:#62ddcb; }
.ra-hero h1 { margin:12px 0 10px; font-size:32px; line-height:1.12; letter-spacing:-.8px; }
.ra-hero h1 span { display:block; margin-top:9px; color:#bdcde0; font-size:16px; font-weight:500; letter-spacing:0; }
.ra-hero p { max-width:550px; margin:15px 0 20px; color:var(--ra-muted); font-size:13px; line-height:1.6; }
.ra-schedule { display:flex; flex-wrap:wrap; gap:9px; color:#afc5d9; font-size:12px; }
.ra-schedule span { padding:8px 11px; background:#102536; border:1px solid #274354; border-radius:7px; }
.ra-schedule b { color:#edf9ff; font-weight:700; }
.ra-beacon { flex:none; display:grid; place-items:center; position:relative; width:150px; height:150px; margin-right:10px; border:1px solid #306775; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0,transparent 24px,#25454e 25px,transparent 26px); }
.ra-beacon::before,.ra-beacon::after { content:""; position:absolute; background:#36606a; }
.ra-beacon::before { width:100%; height:1px; }
.ra-beacon::after { width:1px; height:100%; }
.ra-beacon span { display:grid; place-items:center; z-index:1; width:57px; height:57px; color:#8bf9df; background:#17463f; border:1px solid #58d8bc; border-radius:16px; font-size:36px; box-shadow:0 0 30px #19f0c822; }
.ra-beacon i { width:9px; height:9px; position:absolute; top:25px; right:33px; border-radius:50%; background:#78e9cb; box-shadow:0 0 10px #78e9cb; }
.ra-statusline { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:15px 0; color:var(--ra-muted); font-size:11px; }
.ra-statusline .btn { font-size:11px; }
.ra-statusline #ra-connection::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#70809c; }
.ra-statusline #ra-connection[data-live="true"]::before { background:#65d2b4; }
.ra-notice { display:flex; gap:14px; align-items:center; justify-content:space-between; margin:14px 0 0; padding:12px 15px; border:1px solid #36546c; border-radius:10px; background:#142b3c; color:#cfdeeb; font-size:13px; line-height:1.5; }
.ra-notice[data-error="true"] { background:#321f2b; border-color:#724155; color:#ffd3d8; }
.ra-top-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:16px; }
.ra-card { min-width:0; padding:23px; border:1px solid #273551; border-radius:15px; background:linear-gradient(140deg,#131e34,#10182b); }
.ra-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ra-tag { flex:none; padding:5px 9px; border:1px solid #355069; border-radius:6px; color:#c8d9e8; font-size:10px; font-weight:700; }
.ra-operation #ra-stage { margin-top:7px; font-size:25px; }
.ra-copy { margin:10px 0 18px; color:var(--ra-muted); font-size:12px; line-height:1.7; }
.ra-phases { display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:22px 0; list-style:none; gap:6px; }
.ra-phases li { padding-top:10px; border-top:3px solid #2c3a54; color:#8798b8; font-size:10px; white-space:nowrap; }
.ra-phases li span { display:block; margin-bottom:6px; color:#657792; font-size:10px; font-weight:800; }
.ra-phases li.is-current { border-color:#52d8b8; color:#a1f5df; }
.ra-phases li.is-current span { color:#52d8b8; }
.ra-phases li.is-done { border-color:#347766; }
.ra-weather { display:flex; align-items:center; gap:13px; border-top:1px solid #263550; padding-top:17px; }
.ra-wind-icon { display:grid; place-items:center; width:38px; height:38px; flex:none; border:1px solid #35516b; border-radius:10px; font-size:24px; color:#8dcaff; }
.ra-weather .ra-eyebrow { font-size:9px; margin-bottom:4px; }
.ra-weather b { display:block; white-space:nowrap; font-size:17px; font-variant-numeric:tabular-nums; }
.ra-weather p { margin:0 0 0 auto; max-width:200px; color:var(--ra-muted); font-size:10px; line-height:1.6; }
.ra-control-dot { flex:none; width:8px; height:8px; border:2px solid #729aaa; border-radius:50%; }
.ra-buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.ra-buttons .btn { min-height:43px; padding:10px 8px; font-size:12px; }
.ra-finale-btn { border-color:#5b526b; color:#e6d5ff; }
.ra-auto-btn { margin-top:12px; width:100%; min-height:36px; font-size:11px; }
.ra-small { margin:10px 0 0; color:var(--ra-muted); font-size:10px; line-height:1.65; }
.ra-controls .ra-small { min-height:30px; }
.ra-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; margin:16px 0; }
.ra-metric { padding:18px 17px; border:1px solid #25354f; border-radius:12px; background:#111c30; }
.ra-metric span,.ra-metric small { display:block; font-size:10px; color:var(--ra-muted); line-height:1.5; }
.ra-metric b { display:block; margin:7px 0; font-size:29px; font-weight:750; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.ra-metric small { color:#8296b6; font-size:9px; }
.ra-metric-score { border-color:#30554d; background:linear-gradient(145deg,#15352f,#102329); }
.ra-metric-score b { color:#8bf4d5; }
.ra-bottom-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:16px; }
.ra-bottom-grid .ra-card-head { margin-bottom:8px; }
.ra-fires { display:grid; gap:9px; margin-top:18px; }
.ra-fire { display:flex; align-items:center; gap:11px; padding:10px 12px; background:#192536; border:1px solid #3d3942; border-radius:9px; }
.ra-fire-mark { flex:none; color:#ffba7b; font-size:23px; }
.ra-fire-details { min-width:0; flex:1; }
.ra-fire-details b { display:block; font-size:11px; font-weight:650; }
.ra-fire-details small { display:block; margin-top:3px; color:#a3b1c6; font-size:9px; }
.ra-fire-bar { height:4px; margin-top:7px; overflow:hidden; background:#3c3b46; border-radius:4px; }
.ra-fire-bar span { display:block; height:100%; background:linear-gradient(90deg,#d67b58,#ffbb79); }
.ra-fire-health { flex:none; font-size:10px; color:#edc4a3; font-variant-numeric:tabular-nums; }
.ra-empty { margin:0; padding:27px 8px; text-align:center; color:#a5b3ce; font-size:12px; line-height:1.6; }
.ra-table-wrap { overflow-x:auto; }
.ra-table { width:100%; margin-top:15px; border-collapse:collapse; }
.ra-table th,.ra-table td { padding:12px 7px; font-size:11px; text-align:right; border-bottom:1px solid #26344b; white-space:nowrap; }
.ra-table th { color:#94a9c6; font-size:9px; font-weight:600; }
.ra-table th:first-child,.ra-table td:first-child { text-align:left; }
.ra-table td:first-child { white-space:normal; overflow-wrap:anywhere; max-width:160px; }
.ra-table td:last-child { color:#84e6ca; font-weight:700; }
.ra-table td.ra-empty { padding:30px 8px; text-align:center; color:#a5b3ce; font-weight:400; white-space:normal; }
.ra-rank { display:inline-grid; place-items:center; width:20px; height:20px; margin-right:7px; color:#a9bbd3; background:#24334a; border-radius:5px; font-size:10px; }
.ra-table tr:first-child .ra-rank { background:#3a3540; color:#f4d794; }
.ra-modules { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:21px 0 0; padding:20px 5px; border-top:1px solid #26354c; }
.ra-modules>div { display:flex; gap:10px; align-items:flex-start; }
.ra-modules>div>span { color:#86c4cd; font-size:22px; }
.ra-modules p { margin:0; color:#91a7c1; font-size:9px; line-height:1.65; }
.ra-modules b { display:block; color:#c2d2e6; font-size:11px; margin-bottom:3px; }
.ra-supply { margin:0 5px; color:#91a7c1; font-size:10px; line-height:1.7; }
#pane-rescue button:focus-visible { outline:2px solid #a1eaff; outline-offset:3px; }
@media(min-width:1200px) { body:has(#pane-rescue:not(.hidden)) .container { max-width:1180px; } }
@media(max-width:850px) { .ra-top-grid,.ra-bottom-grid { grid-template-columns:1fr; }.ra-metrics { grid-template-columns:repeat(3,1fr); }.ra-metric-score { grid-column:span 2; }.ra-modules { grid-template-columns:1fr 1fr; }.ra-weather p { max-width:none; margin-left:15px; } }
@media(max-width:520px) { body:has(#pane-rescue:not(.hidden)) .topbar { flex-wrap:wrap; padding:12px; gap:10px; } body:has(#pane-rescue:not(.hidden)) .topbar .spacer { display:none; } body:has(#pane-rescue:not(.hidden)) .topbar nav { margin-left:auto; } body:has(#pane-rescue:not(.hidden)) .topbar .user-chip { width:100%; font-size:12px; } body:has(#pane-rescue:not(.hidden)) .container { padding:16px 12px; } body:has(#pane-rescue:not(.hidden)) .admin-tabs { gap:4px; } body:has(#pane-rescue:not(.hidden)) .admin-tabs button { padding:9px 8px; font-size:11px; } .ra-hero { padding:23px; }.ra-hero h1 { font-size:26px; }.ra-hero h1 span { font-size:13px; }.ra-hero p { font-size:11px; }.ra-beacon { display:none; }.ra-schedule { font-size:10px; }.ra-card { padding:18px; }.ra-operation #ra-stage { font-size:22px; }.ra-phases li { font-size:9px; }.ra-weather { gap:10px; }.ra-weather p { max-width:145px; margin-left:auto; font-size:9px; }.ra-weather b { font-size:14px; }.ra-metrics { grid-template-columns:1fr 1fr; gap:9px; }.ra-metric { padding:15px; }.ra-metric-score { grid-column:span 2; }.ra-metric b { font-size:25px; }.ra-modules { gap:16px; }.ra-notice { flex-wrap:wrap; }.ra-table th,.ra-table td { padding:12px 5px; }.ra-table th { font-size:8px; }.ra-rank { margin-right:4px; width:17px; height:17px; } }
