@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#183c39;--teal:#21665c;--lime:#dce8a6;--paper:#f5f6f1;--muted:#65766e;--border:#dce2d8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;background:var(--teal);color:white;border:0;border-radius:8px;padding:12px 19px;text-decoration:none;display:inline-block;font-weight:600}button:hover,.button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--ink);border:1px solid var(--border)}aside{position:fixed;inset:0 auto 0 0;width:258px;background:#fcfcf8;border-right:1px solid var(--border);padding:33px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1px;line-height:1.5}.brand small{display:block;color:var(--teal);letter-spacing:3px;font-size:9px;margin-top:6px}.mark{font-size:53px;line-height:1;color:var(--teal);position:relative;font-weight:700}.mark span{position:absolute;right:-7px;top:-9px;font-size:31px;background:#fcfcf8}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#7a8980;margin:48px 12px 17px}nav a{display:flex;gap:13px;text-decoration:none;padding:13px 14px;border-radius:8px;color:#667970;margin:3px 0;font-size:17px}nav span{font-size:14px}nav a.active{background:#e7eee4;color:var(--ink);font-weight:700}.aside-bottom{margin-top:auto;padding:20px 10px 0;color:var(--muted);font-size:13px;line-height:1.7}.aside-bottom small{font-size:10px}.shell{margin-left:258px}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 45px;font-size:10px;letter-spacing:1.4px}header b{color:#a7b2a7;margin:0 15px}#identity{font-size:12px;letter-spacing:0}#signout{padding:7px 10px;margin-left:15px;font-size:12px}main{max-width:1350px;margin:auto;padding:38px 45px 50px}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:36px;letter-spacing:-1.3px;margin:10px 0 12px;line-height:1.2}h2{font-size:21px;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.7}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:var(--teal)}.muted{color:var(--muted)}.lead{color:var(--muted);margin-bottom:28px}.hero{background:#173e39;border-radius:14px;padding:34px 38px;color:#fff;display:grid;grid-template-columns:1fr 180px;gap:25px;position:relative;overflow:hidden}.hero h2{font-size:29px;max-width:520px;line-height:1.3}.hero p{color:#d5e0d2;max-width:540px;font-size:14px}.hero .eyebrow{color:#dce8a6}.hero .button{background:var(--lime);color:var(--ink);margin-top:7px}.hero-art{align-self:center;font-size:100px;color:var(--lime);text-align:center;line-height:1}.hero-art small{display:block;font:10px 'DM Sans';letter-spacing:2px;margin-top:16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.two{grid-template-columns:1.3fr 1fr}.card{background:white;border:1px solid var(--border);border-radius:12px;padding:24px}.card p{font-size:13px;color:var(--muted)}.card .icon{display:block;background:#edf2e6;width:38px;height:38px;border-radius:10px;text-align:center;line-height:38px;margin-bottom:20px;font-size:20px}.card a.text-link{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;text-decoration:none;color:var(--teal)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.pill{display:inline-block;font-size:10px;background:#e9efe2;color:#466345;padding:6px 9px;border-radius:20px}.notice{background:#edf0e2;border-left:3px solid #a0b66e;padding:14px 18px;font-size:13px;line-height:1.7;border-radius:0 8px 8px 0;margin:20px 0}.warning{background:#fff4db;border-color:#d5a845}label.field{display:block;font-size:13px;font-weight:600;margin:18px 0 7px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #cdd8cd;background:#fcfdf9;border-radius:7px;padding:12px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.check{display:flex;gap:12px;align-items:flex-start;line-height:1.6;padding:13px 0;border-bottom:1px solid #edf0e9;font-size:14px}.check input{margin-top:5px;accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}.small{font-size:12px}.module{margin:12px 0;border:1px solid var(--border);border-radius:9px;background:white}summary{cursor:pointer;padding:18px;font-weight:600;line-height:1.5}.module article{padding:0 23px 23px}.module article p{white-space:pre-line;line-height:1.8;font-size:14px}.stat{font-size:34px;font-weight:700}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:13px 10px;vertical-align:top}th{color:var(--muted);font-size:11px}footer{padding:24px 45px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}footer span{float:right}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-30%);background:#173e39;color:white;padding:14px 22px;border-radius:8px;box-shadow:0 4px 18px #0002;display:none;max-width:80vw;z-index:10}.auth-card{max-width:500px;margin:25px auto}.auth-intro{max-width:700px}.auth-card h2{margin-top:7px}button.link{background:none;color:var(--teal);padding:0;font-size:13px;text-decoration:underline}.empty{padding:30px;color:var(--muted);text-align:center}.role-grid{display:grid;gap:14px}.role{border-bottom:1px solid var(--border);padding:10px 0}.role strong{display:block;margin-bottom:6px}.role span{font-size:13px;color:var(--muted)}:focus-visible{outline:3px solid #96b33f;outline-offset:3px}
@media(max-width:1000px){aside{width:215px}.shell{margin-left:215px}main{padding:28px}header{padding:0 28px}.hero{grid-template-columns:1fr}.hero-art{display:none}.grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}h1{font-size:30px}}
@media(max-width:650px){aside{position:static;width:auto;padding:18px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:10px}.mark{font-size:40px}.nav-label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav a{white-space:nowrap;padding:9px;font-size:0}nav span{font-size:12px}.shell{margin:0}header{height:60px;padding:0 20px}header>span{font-size:8px}main{padding:24px 18px}.grid{grid-template-columns:1fr}.hero{padding:27px}.hero h2{font-size:24px}footer{padding:20px;font-size:9px}footer span{display:block;float:none;margin-top:8px}.auth-card{margin-top:20px}.card{padding:20px}}
[hidden]{display:none!important}
.auth-message:not(:empty){padding:14px;background:#edf0e2;border:1px solid #c8d7b9;border-radius:8px;line-height:1.6;font-size:14px}dialog{border:1px solid var(--border);border-radius:12px;padding:25px;color:var(--ink);max-width:90vw}

.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:13px;line-height:1.6}

.calendar-toolbar,.calendar-month-nav,.calendar-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin:28px 0 18px}.calendar-month-nav h2{margin:0;min-width:155px;text-align:center}.calendar-controls label{font-size:12px}.calendar-controls select{width:auto;max-width:200px}.calendar-toolbar button{padding:9px 12px;font-size:12px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border)}.calendar-weekdays{border:1px solid var(--border);border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden}.calendar-weekdays span{padding:13px 4px;background:#e9eee3;font-size:10px;font-weight:700;text-align:center}.calendar-grid{border:1px solid var(--border);border-radius:0 0 10px 10px;overflow:hidden}.calendar-day{padding:9px 7px;background:#fff;min-height:155px;min-width:0}.calendar-day.outside-month{background:#f0f2eb;color:#a3aea5}.calendar-date{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px;font-weight:700;margin-bottom:10px}.calendar-day.today{box-shadow:inset 0 0 0 2px #65916d;background:#fbfdf5}.today-label{font-size:9px;font-weight:500;color:var(--teal)}.calendar-topic{display:block;text-align:left;width:100%;padding:9px 7px;margin:7px 0;background:#eaf2e2;color:var(--ink);border-left:3px solid #7c9d54;border-radius:5px;white-space:normal;overflow-wrap:anywhere;font-weight:400}.calendar-topic.morning{background:#fcf1dc;border-color:#d5ad57}.calendar-topic.evening{background:#eeedf7;border-color:#9594bd}.calendar-topic strong{display:block;font-size:12px;line-height:1.5;margin:5px 0}.calendar-meeting{display:block;font-size:9px;line-height:1.5}.calendar-host{font-size:10px;color:var(--muted)}.calendar-no-topic{font-size:10px;color:#9aa69b}.mobile-day{display:none}.topic-detail{width:700px;max-height:85vh;overflow:auto}.topic-detail h2{margin-top:15px}.topic-detail h3{margin-top:25px}.topic-detail li{padding:6px 0;line-height:1.6}.topic-teaching{white-space:pre-wrap}.topic-detail::backdrop{background:#152f3a88}
@media(max-width:1000px){.calendar-toolbar{align-items:flex-start}.calendar-date{font-size:11px}.calendar-topic strong{font-size:11px}.calendar-day{padding:7px 5px}}
@media(max-width:750px){.calendar-grid{display:block;border-radius:10px;background:none;border:0}.calendar-weekdays,.outside-month,.calendar-day.no-topics:not(.today),.desktop-number{display:none}.calendar-day{border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:16px;min-height:0}.mobile-day{display:inline}.calendar-topic{padding:14px}.calendar-topic strong{font-size:15px}.calendar-meeting,.calendar-host{font-size:12px}.calendar-date{font-size:14px}.calendar-month-nav h2{min-width:auto;font-size:19px}.calendar-controls{width:100%}.calendar-controls select{flex:1;max-width:none}.calendar-controls button{white-space:nowrap}}
