:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#163343;background:#f3f7f8;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#087f94}button,input,select{font:inherit}button,.button{border:1px solid #cbdce1;border-radius:8px;background:white;color:#163343;padding:9px 14px;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#e7f2f3}button.primary{background:#087f94;color:white;border-color:#087f94}button:disabled{opacity:.55;cursor:wait}input,select{display:block;width:100%;padding:10px;border:1px solid #cbdce1;border-radius:8px;background:white;margin-top:6px}label{display:block;font-weight:600;font-size:.9rem;margin:15px 0}p{line-height:1.6}.portal-header{background:white;padding:15px 3%;display:flex;gap:24px;align-items:center;border-bottom:1px solid #d8e5e9}.portal-header img{display:block;max-width:150px;height:auto}.portal-header small{display:block;color:#6b7c84;margin-top:4px}.portal-header nav{margin-left:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portal-header a{font-size:.9rem}.dashboard-body{height:100dvh;display:flex;flex-direction:column}.presence-screen{display:flex;flex-direction:column;min-height:0;flex:1;padding:22px 3% 12px}.clock-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:8px 8px 22px;border-bottom:2px solid #d1e4e6}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.18em;color:#168094;margin:0 0 4px}.clock{font-size:clamp(2.8rem,7.5vw,7rem);line-height:1.08;font-weight:730;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.date{font-size:clamp(1rem,2.2vw,1.7rem);color:#506874;margin-top:10px}.count-block{text-align:right;display:flex;align-items:center;gap:22px}.count-block strong{font-size:clamp(4rem,10vw,9rem);line-height:1;color:#087e69;font-weight:750}.count-block span{max-width:140px;font-size:clamp(1rem,2vw,1.5rem)}.live-line{display:flex;justify-content:space-between;gap:16px;padding:14px 4px;font-size:.8rem;color:#6b7c84}.live:before{content:'●';color:#12966c;margin-right:8px}.warning{color:#94620c;font-weight:650}.kid-board{min-height:140px;flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-content:start;gap:16px;padding:10px 4px 18px}.kid-card{background:white;border:1px solid #cde3db;border-top:4px solid #239b79;border-radius:14px;padding:20px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:185px;overflow-wrap:anywhere}.kid-card strong{font-size:1.12rem}.kid-card small{color:#6b7c84}.person-icon{background:#e5f5ed;border-radius:50%;width:76px;height:76px;display:grid;place-items:center}.person-icon svg{width:51px;height:51px;fill:#17845f}.board-empty{grid-column:1/-1;text-align:center;padding:50px;color:#687d87}footer{font-size:.7rem;color:#6b7c84;padding:8px 4px;line-height:1.5}#error{color:#a82e35;margin:8px 0}#error:empty{display:none}.login-body{min-height:100dvh;display:grid;place-items:center;background:linear-gradient(140deg,#e5f2ef,#f4f7f9)}.school-login{background:white;border:1px solid #d4e3e7;border-radius:20px;max-width:460px;width:calc(100% - 32px);padding:38px}.school-login img{margin-bottom:24px}.school-login h1{font-size:1.8rem}.school-login button{width:100%;margin:10px 0 16px}.school-login small{color:#6b7c84;line-height:1.5}.teacher-main{max-width:1450px;padding:28px 3%;margin:auto}.toolbar,.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.toolbar{margin-bottom:24px}.toolbar .selected{background:#163343;color:white}.card{background:white;border:1px solid #d8e5e9;border-radius:14px;padding:22px;margin:18px 0}.filters label{min-width:180px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e0e9ed;vertical-align:top}th{background:#eff5f6}.muted{color:#687d87;font-size:.8rem}.person-row{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e0e9ed}.person-row small{display:block;line-height:1.6}.auto-row{background:#fff4dc}.repeat-row{color:#687d87}dialog{border:1px solid #cbdce1;border-radius:16px;padding:24px;max-width:550px;width:calc(100% - 30px)}dialog::backdrop{background:#12334288}[hidden]{display:none!important}@media(max-width:850px){.portal-header{gap:12px;flex-wrap:wrap}.portal-header nav{width:100%;margin:0;gap:10px}.portal-header img{width:120px}.kid-board{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.count-block{gap:10px}.count-block span{max-width:100px}.clock-strip{gap:12px}.kid-card{min-height:150px;padding:14px 8px}.person-icon{width:60px;height:60px}.person-icon svg{width:40px;height:40px}.live-line{flex-wrap:wrap;gap:5px}.filters label{min-width:130px;flex:1}.person-row{flex-wrap:wrap}.school-login{padding:26px}}@media print{.portal-header,.toolbar,.filters,button,.no-print,#error{display:none!important}body{background:white;color:black}.teacher-main{padding:0;max-width:none}.card{border:0;padding:0;margin:0}table{font-size:9pt}.auto-row{print-color-adjust:exact}.table-scroll{overflow:visible}}
@media(max-width:520px){.clock-strip{flex-wrap:wrap}.count-block{width:100%;text-align:left}.count-block strong{font-size:3.5rem}.count-block span{max-width:none;font-size:1rem}.clock{font-size:3.2rem}.presence-screen,.kid-board{min-width:0}.portal-header>div{min-width:0;overflow-wrap:anywhere}}
