:root{--green:#103f34;--gold:#c8a852;--paper:#f6f3e9;--ink:#20362f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}header{background:var(--green);color:#fff;padding:22px max(20px,calc((100% - 1060px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:3px solid var(--gold)}.brand{color:inherit;text-decoration:none}.brand small,.brand strong{display:block}.brand small,.eyebrow{letter-spacing:.15em;color:var(--gold);font-size:11px}.brand strong{font-size:22px}main{max-width:1060px;margin:auto;padding:28px 18px 100px}h1{font-size:30px;line-height:1.2}h2{font-size:21px}h3{font-size:17px}.card{display:block;background:#fffdf8;border:1px solid #e5e0d2;border-radius:18px;padding:24px;margin:18px 0;box-shadow:0 7px 22px #103f3406}.narrow{max-width:470px;margin:30px auto}a{color:var(--green)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.tile{padding:18px;border:1px solid #d9d1ba;border-radius:10px;text-decoration:none}button,.primary{display:inline-block;background:#e9e3d3;color:var(--ink);border:0;border-radius:9px;padding:12px 18px;font:600 15px system-ui;cursor:pointer;text-decoration:none}.primary{background:var(--green);color:#fff}button:hover,.primary:hover{filter:brightness(1.12)}label{display:block;font-weight:600}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;padding:11px;margin:6px 0;border:1px solid #c9c4b4;border-radius:7px;background:#fff;font:inherit}select[multiple]{min-height:140px}textarea{min-height:100px}.helptext,small{color:#6d756d;font-size:13px}.helptext{display:block}.errorlist{color:#a32525;padding-left:20px}.notice{padding:16px;background:#f0e3b9;border-radius:12px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px}.metrics b,.metrics span,.lesson span{display:block}.metrics b{font-size:24px;color:var(--green)}.metrics span{font-size:13px}.lesson{text-decoration:none}.lesson:hover{border-color:var(--gold)}nav{position:fixed;bottom:0;left:0;right:0;background:var(--green);display:flex;justify-content:center;align-items:center;gap:28px;padding:12px;box-shadow:0 -3px 15px #0001}nav a,nav button{color:#fff;font-size:14px;text-decoration:none}nav button{background:transparent;padding:8px}details{border-top:1px solid #ddd;padding-top:16px}summary{cursor:pointer}@media(max-width:600px){header{padding:18px}.brand strong{font-size:18px}header>span{max-width:100px;font-size:12px}main{padding:18px 12px 95px}.card{padding:18px}h1{font-size:25px}nav{gap:18px}.metrics{grid-template-columns:1fr 1fr}}

/* Explicit checkboxes work identically on desktop and mobile; no Ctrl-click. */
[id$="_parents"],[id$="_students"],[id$="_children"],[id$="_shared_with"]{max-height:300px;overflow:auto;border:1px solid #c9c4b4;border-radius:8px;padding:10px;background:white}
[id$="_parents"] label,[id$="_students"] label,[id$="_children"] label,[id$="_shared_with"] label{display:flex;align-items:flex-start;gap:10px;font-weight:400;padding:6px}
input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin:3px 0;accent-color:var(--green)}fieldset{border:1px solid #d9d1ba;border-radius:12px;margin:18px 0;padding:18px}legend{font-weight:600}.warning{border-color:#bd8c30;background:#fff3d6}
/* Keep five navigation items usable on narrow screens. */
nav{flex-wrap:wrap;column-gap:18px;row-gap:4px}
