
/* Layout: one A4-like column of stacked cards, each with a terracotta title bar, matching the School House schedule */
:root{
  color-scheme:light;
  --page:#fef8f4; --card:#ffffff; --tint:#fbe9e1; --line:#efdcd2;
  --ink:#3e2a22; --muted:#8c776d; --accent:#b0644b; --accent-ink:#9a5340;
  --red-bg:#f9dcd6; --red:#b23a2a; --amber-bg:#fcefc4; --amber:#8a6100;
  --green-bg:#dff0e0; --green:#2f6b3a; --blue-bg:#e3ecf7; --blue:#2d5b8a;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Poppins","Helvetica Neue",Arial,sans-serif;
}
body{background:var(--page);color:var(--ink);font-family:var(--body);font-size:13px;line-height:1.5}
.wrap{max-width:860px;margin:0 auto;padding-block:28px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;gap:16px}
.masthead{display:grid;grid-template-columns:210px 1fr;background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.brand{background:var(--tint);border-right:2px solid var(--accent);display:flex;align-items:center;gap:10px;padding:22px 16px}
.brand svg{flex:none}
.brand b{font-family:var(--display);font-size:17px;color:var(--accent-ink);display:block;line-height:1.1}
.brand small{font-size:7.5px;letter-spacing:.18em;color:var(--accent-ink);text-transform:uppercase}
.title{padding:16px 22px}
.eyebrow{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-ink);font-weight:500}
h1{font-family:var(--display);font-weight:500;font-size:38px;line-height:1.1;margin:4px 0 6px;text-wrap:balance}
.sub{font-size:11px;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.bar{background:var(--accent);color:#fff;font-weight:600;font-size:13px;padding:7px 10px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bar span{font-weight:400;font-size:11px;opacity:.9}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:620px}
th{background:var(--tint);text-align:left;font-weight:500;font-size:11.5px;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;font-size:12px}
tr:last-child td{border-bottom:0}
td+td,th+th{border-left:1px solid var(--line)}
.date{font-variant-numeric:tabular-nums;white-space:nowrap}
.pill{display:inline-block;border-radius:999px;padding:1px 9px;font-size:10.5px;font-weight:600;white-space:nowrap}
.p-Priority,.p-Rescheduled{background:var(--red-bg);color:var(--red)}
.p-Needs,.p-Planned{background:var(--amber-bg);color:var(--amber)}
.p-Good,.p-Completed{background:var(--green-bg);color:var(--green)}
.p-In{background:var(--blue-bg);color:var(--blue)}
.dim{color:#b8a79e}
.jobs{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.jobs small{display:block;color:var(--muted);font-size:11px}
.ba{display:flex;gap:6px}
.ba figure{margin:0;width:56px}
.ba img{width:56px;height:42px;object-fit:cover;border-radius:2px;display:block}
.ba figcaption{font-size:9.5px;color:var(--muted)}
a{color:#2563c9}
.season{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line)}
.season:last-child{border-bottom:0}
.season h3{margin:0;font-size:12px;font-weight:600;padding:10px;background:var(--page);border-right:1px solid var(--line)}
.season h3 small{display:block;font-weight:400;color:var(--muted);font-size:10.5px}
.tags{display:flex;flex-wrap:wrap;gap:4px 5px;padding:9px 10px;align-content:center}
.tag{border:1.3px solid var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 8px;font-size:10.5px;line-height:1.6}
.tag b{font-weight:600}
.empty td{color:var(--muted);font-style:italic}
.dp{font-size:11px;line-height:1.55;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.dp b{color:var(--ink);font-weight:600}
footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:9.5px;letter-spacing:.16em;color:var(--accent-ink);text-transform:uppercase}
/* owner tools */
.tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.tools p{margin:0 auto 0 0;font-size:11.5px;color:var(--muted)}
button{font:inherit;font-size:12px;border-radius:999px;padding:5px 14px;border:1.3px solid var(--accent);background:var(--card);color:var(--accent-ink);cursor:pointer}
button.solid{background:var(--accent);color:#fff}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
input,select,textarea{font:inherit;font-size:12px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:3px;padding:3px 5px;width:100%;box-sizing:border-box}
textarea{min-height:60px;resize:vertical}
.ed{display:grid;gap:4px}
.upl{font-size:10.5px;color:var(--accent-ink);cursor:pointer;text-decoration:underline}
.upl input{display:none}
.msg{font-size:11.5px;color:var(--red)}
.x{border:0;padding:0 4px;color:var(--red);background:none}
@media (max-width:560px){.masthead{grid-template-columns:1fr}.brand{border-right:0;border-bottom:2px solid var(--accent)}h1{font-size:32px}.season{grid-template-columns:1fr}.season h3{border-right:0;border-bottom:1px solid var(--line)}}

body{margin:0}img{max-width:100%}.plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.plan div{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.plan dd{margin:2px 0 0;font-size:12.5px}
.covers{padding:10px 12px;display:flex;flex-wrap:wrap;gap:4px 5px}
.signout{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:11.5px;color:var(--muted)}
.privacy{margin:0;padding:12px 14px 12px 32px;display:grid;gap:5px;font-size:12px}
.privacy li::marker{color:var(--accent)}
.privlink{padding:0 14px 12px;font-size:11.5px}
.signout button{font-size:11.5px;padding:3px 12px}

[hidden]{display:none!important}

