/* Teacher Hub — shared styles for the 2026-11-10 surfaces. Cream / green, apple mark: the existing brand. */
:root{
  --h-paper:#FBF7EC; --h-card:#FFFDF6; --h-ink:#2E4634; --h-soft:#5A7263; --h-line:#E5DCC3;
  --h-green:#3A6B4A; --h-green-2:#588157; --h-sun:#F1C84B; --h-warm:#FBF0D3; --h-warm-ink:#6B5310;
  --h-done:#E2F2E7; --h-done-ink:#2E7D4F; --h-help:#FBE3DA; --h-help-ink:#9C3B1B; --h-shadow:0 2px 0 rgba(46,70,52,.08);
}
.hub-practice{position:sticky;top:0;z-index:60;background:#2E4634;color:#FFF8D9;padding:9px 14px;font-size:14.5px;line-height:1.35;text-align:center;border-bottom:3px solid var(--h-sun)}
.hub-practice strong{letter-spacing:1px;color:var(--h-sun)}
.hub-practice a{color:#fff;margin-left:10px;font-weight:700;white-space:nowrap}
.hub-google{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 22px;border-radius:999px;background:#fff;color:#1F2A24;
  border:2px solid #C9CFC6;font-weight:800;font-size:16.5px;text-decoration:none;box-shadow:var(--h-shadow)}
.hub-google:hover,.hub-google:focus{border-color:var(--h-green)}
.hub-hide{display:none !important}
body.gate-out .app, body.gate-none .app, body.gate-wait .app{display:none !important}
body.gate-in #splash, body.gate-wait #splash{display:none !important}

.hub-card{background:var(--h-card);border:3px solid var(--h-line);border-radius:18px;box-shadow:var(--h-shadow);padding:18px;margin:0 0 14px}
.hub-card h2,.hub-card h3{margin:0 0 6px;color:var(--h-ink)}
.hub-sub{color:var(--h-soft);font-size:14.5px;margin:0 0 10px}
.hub-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hub-btn{min-height:46px;padding:10px 18px;border-radius:12px;border:2px solid var(--h-green);background:var(--h-green);color:#fff;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.hub-btn.ghost{background:transparent;color:var(--h-green)}
.hub-btn:disabled{opacity:.55;cursor:default}
.hub-msg{min-height:20px;margin-top:8px;font-size:14.5px;color:var(--h-soft)}
.hub-msg.err{color:var(--h-help-ink);font-weight:700}
.hub-msg.ok{color:var(--h-done-ink);font-weight:700}
.hub-tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--h-warm);color:var(--h-warm-ink)}
.hub-tag.sample{background:#2E4634;color:#FFF8D9}
.hub-tag.ok{background:var(--h-done);color:var(--h-done-ink)}
.hub-tag.lock{background:#EFEAD8;color:var(--h-soft)}
.hub-skel{height:54px;border-radius:12px;background:linear-gradient(90deg,#F1EBD8 25%,#F8F3E2 37%,#F1EBD8 63%);background-size:400% 100%;animation:hubsk 1.2s ease infinite;margin:6px 0}
@keyframes hubsk{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media (prefers-reduced-motion:reduce){.hub-skel{animation:none}}

/* Morning Bell */
#bell{margin-bottom:14px}
.bell-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px}
.bell-head h2{margin:0;font-size:24px}
.bell-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bell-tile{border:3px solid var(--h-line);border-radius:16px;background:var(--h-card);padding:12px 12px 10px;text-align:left;cursor:pointer;font:inherit;color:var(--h-ink);min-height:84px;box-shadow:var(--h-shadow)}
.bell-tile .n{display:block;font-size:34px;font-weight:800;line-height:1}
.bell-tile .w{display:block;font-size:14px;font-weight:700;margin-top:4px}
.bell-tile.done{background:var(--h-done);border-color:#BFE0CB}
.bell-tile.help{background:var(--h-help);border-color:#F1C4B4}
.bell-tile.work{background:var(--h-warm);border-color:#EBD9A6}
.bell-tile[aria-pressed="true"]{outline:3px solid var(--h-green);outline-offset:2px}
.bell-list{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.bell-kid{display:flex;gap:10px;align-items:center;border:2px solid var(--h-line);border-radius:14px;background:#fff;padding:8px 10px;min-height:60px;text-align:left;cursor:pointer;font:inherit;color:var(--h-ink)}
.bell-kid .nm{font-weight:800;display:block}
.bell-kid .why{display:block;font-size:13px;color:var(--h-soft)}
.bell-kid .live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2E9E5B;margin-right:5px}
.bell-note{font-size:13px;color:var(--h-soft);margin:8px 0 0}

/* one search box */
#qa .qa-box{display:flex;gap:8px;align-items:stretch}
#qa input[type=search]{flex:1;min-width:0;min-height:54px;font:inherit;font-size:18px;padding:10px 16px;border-radius:14px;border:3px solid var(--h-green);background:#fff;color:var(--h-ink)}
.qa-results{margin-top:10px;display:grid;gap:8px}
.qa-hit{border:2px solid var(--h-line);border-radius:14px;background:#fff;padding:12px}
.qa-hit h4{margin:0 0 4px;font-size:17px}
.qa-hit .qa-how{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.qa-dest{margin:8px 0 0;font-size:14.5px;color:var(--h-ink);background:var(--h-warm);border-radius:10px;padding:8px 10px}
.qa-done{border:3px solid #BFE0CB;background:var(--h-done);border-radius:16px;padding:14px;margin-top:10px}
.qa-done h3{margin:0 0 6px;color:var(--h-done-ink)}
.qa-done ul{margin:6px 0 8px 18px;padding:0}

/* roster import */
#imp textarea{width:100%;min-height:130px;font:inherit;padding:10px;border-radius:12px;border:2px solid var(--h-line);box-sizing:border-box}
.imp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:10px 0}
.imp-item{display:flex;align-items:center;gap:8px;border:2px solid var(--h-line);border-radius:12px;background:#fff;padding:6px 8px}
.imp-item input{flex:1;min-width:0;font:inherit;border:none;background:transparent;min-height:36px}
.imp-item button{border:none;background:transparent;font-size:18px;cursor:pointer;min-width:36px;min-height:36px;color:var(--h-soft)}
.imp-dot{width:16px;height:16px;border-radius:50%;flex:none}
.imp-skip{font-size:13.5px;color:var(--h-soft)}

/* pass + mode */
.pass-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px}
.pass-plan{border:3px solid var(--h-line);border-radius:16px;padding:14px;text-align:center;background:#fff}
.pass-plan.best{border-color:var(--h-sun)}
.pass-plan .p{font-size:30px;font-weight:800}
.pass-strip{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border-radius:14px;padding:10px 14px;margin:0 0 12px;font-size:14.5px;border:2px solid var(--h-line);background:var(--h-card)}
.pass-strip.lapsed{background:var(--h-warm);border-color:#EBD9A6}
.pass-strip.notice{background:var(--h-help);border-color:#F1C4B4}

/* inbox */
.inbox-item{border:2px solid var(--h-line);border-radius:14px;background:#fff;padding:12px;margin:8px 0;cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--h-ink);display:block}
.inbox-item.handled{opacity:.7}
.inbox-item h4{margin:4px 0 2px;font-size:16.5px}
.inbox-open{border:3px solid var(--h-line);border-radius:16px;background:var(--h-card);padding:16px;margin:10px 0}
.inbox-open ul{margin:4px 0 10px 18px;padding:0}
.hub-links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;margin:18px 0 6px}
.hub-links a,.hub-links button{color:var(--h-green);font-weight:700;background:none;border:none;font:inherit;font-weight:700;cursor:pointer;padding:6px 0;text-decoration:underline}

@media (max-width:640px){
  .bell-tiles{grid-template-columns:1fr 1fr}
  .bell-tile .n{font-size:30px}
  #qa .qa-box{flex-direction:column}
  .pass-plans{grid-template-columns:1fr}
  .hub-practice{font-size:13px;padding:8px 10px}
}
@media print{.hub-practice,.hub-links,#bell,#qa,#imp,#hub-gate{display:none !important}}
.hub-links button{border:none !important;box-shadow:none !important;min-height:0 !important;background:none !important}
body.gate-in #plan-your-ela-year, body.gate-none #plan-your-ela-year, body.gate-wait #plan-your-ela-year{display:none}
button.wl-go{font:inherit;font-weight:800;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 16px;border-radius:12px;border:3px solid #3A6B4A;background:#3A6B4A;color:#fff;cursor:pointer}
/* shared shell for the newer standalone pages (check, homeschool, privacy) */
body.hub-page{margin:0;background:var(--h-paper);color:var(--h-ink);font-family:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.5}
.hub-wrap{max-width:860px;margin:0 auto;padding:18px 16px 60px}
.hub-top{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.hub-top h1{margin:0;font-size:26px;line-height:1.15}
.hub-top p{margin:2px 0 0;color:var(--h-soft);font-size:15px}
.hub-page input[type=text],.hub-page input[type=number],.hub-page input[type=date],.hub-page select,.hub-page textarea{font:inherit;min-height:46px;padding:8px 12px;border-radius:12px;border:2px solid var(--h-line);background:#fff;color:var(--h-ink);box-sizing:border-box;max-width:100%}
.hub-page label{font-weight:700;display:block;margin:10px 0 4px}
.hub-page table{border-collapse:collapse;width:100%;font-size:15px}
.hub-page th,.hub-page td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--h-line);vertical-align:top}
.hub-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.hub-tabs button{min-height:46px;padding:8px 16px;border-radius:999px;border:2px solid var(--h-line);background:var(--h-card);font:inherit;font-weight:800;color:var(--h-ink);cursor:pointer}
.hub-tabs button[aria-pressed="true"]{background:var(--h-green);border-color:var(--h-green);color:#fff}
.chk-q{border:2px solid var(--h-line);border-radius:14px;background:#fff;padding:14px;margin:10px 0}
.chk-q .n{font-size:13px;font-weight:800;color:var(--h-soft);text-transform:uppercase;letter-spacing:.6px}
.chk-q .p{font-size:20px;font-weight:700;margin:4px 0 10px}
.chk-q input{font-size:20px;width:100%}
.chk-q.right{border-color:#BFE0CB;background:var(--h-done)} .chk-q.wrong{border-color:#F1C4B4;background:var(--h-help)}
.chk-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chk-choices button{min-height:52px;border-radius:12px;border:2px solid var(--h-line);background:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer}
.chk-choices button[aria-pressed="true"]{border-color:var(--h-green);background:var(--h-done)}
.hub-stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0}
.hub-stat div{border:2px solid var(--h-line);border-radius:14px;background:#fff;padding:10px 12px}
.hub-stat b{display:block;font-size:26px}
.hub-prose h2{margin:22px 0 6px;font-size:21px} .hub-prose h3{margin:14px 0 4px;font-size:17px} .hub-prose p,.hub-prose li{font-size:16.5px}
@media print{.hub-tabs,.no-print{display:none !important} body.hub-page{background:#fff}}
