.hub-sidebar-resizer{z-index:45;cursor:col-resize;touch-action:none;background:0 0;outline:0;width:12px;position:fixed;top:0;bottom:0}.hub-sidebar-resizer[hidden]{display:none!important}.hub-sidebar-resizer:after{content:"";background:color-mix(in srgb,currentColor 18%,transparent);opacity:.5;width:2px;position:absolute;top:0;bottom:0;left:5px}.hub-sidebar-resizer:hover:after,.hub-sidebar-resizer:focus-visible:after,.hub-sidebar-resizing .hub-sidebar-resizer:after{opacity:1;background:#ffae00;width:3px}.hub-sidebar-resizer:focus-visible{outline-offset:-3px;outline:2px solid #ffae00}.hub-sidebar-resizing,.hub-sidebar-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media print{.hub-sidebar-resizer{display:none!important}}:root{color:#253b34;--forest:#173c36;--gold:#efdfbd;--line:#e1e5dc;--muted:#6b7970;background:#f7f7f2;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:var(--forest);color:#fff;border:1px solid #0000;border-radius:9px;padding:12px 18px;font-size:.8125rem;font-weight:650}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #b38232}a{color:inherit}p{color:var(--muted);font-size:.875rem;line-height:1.65}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;margin-bottom:12px;font-size:2.125rem;line-height:1.18}h2{letter-spacing:-.4px;margin-bottom:10px;font-size:1.3125rem}h3{margin-bottom:6px;font-size:1rem}small{color:var(--muted);font-size:.75rem;line-height:1.6}.eyebrow,.nav-label{text-transform:uppercase;letter-spacing:1.8px;color:#899383;margin-bottom:12px;font-size:.625rem;font-weight:750;display:block}.brand{align-items:center;gap:12px;font-size:1.4375rem;font-weight:350;line-height:1.1;text-decoration:none;display:flex}.brand-mark{background:var(--gold);color:var(--forest);border-radius:12px;place-items:center;width:48px;height:48px;font-size:1.625rem;font-weight:750;display:grid}.brand small{text-transform:uppercase;letter-spacing:1.4px;color:inherit;opacity:.65;margin-top:7px;font-size:.5625rem;display:block}.login{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:var(--forest);color:#fff;flex-direction:column;justify-content:center;align-items:flex-start;padding:54px 12%;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #72928733;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-250px;right:-150px;box-shadow:0 0 0 60px #7292870c,0 0 0 120px #7292870b}.login-story .brand{margin-bottom:100px}.login-story h1{letter-spacing:-2px;font-size:clamp(2.5rem,4.4vw,4.5rem);line-height:1.13}.login-story h1 em{color:var(--gold);font-style:normal}.login-story p{color:#c0d1c7;max-width:310px}.login-story small{color:#b1c4b8}.login-story>small{margin-top:70px}.login-form{align-self:center;width:100%;max-width:560px;margin:auto;padding:60px}.login-form h2{font-size:1.8125rem}.login-form form{margin:30px 0 24px}.login-form form>button{justify-content:space-between;width:100%;display:flex}.login-form>small{margin-top:26px;display:block}.login-form label{margin-bottom:20px}label{flex-direction:column;gap:8px;font-size:.75rem;font-weight:650;display:flex}input,select{color:#233c31;background:#fff;border:1px solid #ccd4cc;border-radius:8px;width:100%;min-height:44px;padding:11px 12px}input::placeholder{color:#949f97}.secondary{color:var(--forest);background:#fff;border:1px solid #dce2d9}.notice{color:#315542;background:#eaf2e7;border:1px solid #cfdfcd;border-radius:9px;padding:16px 18px;font-size:.8125rem}.notice p{color:inherit;margin:6px 0 0}.error{color:#8c3822;background:#fff0eb;border:1px solid #edc9bc;border-radius:9px;padding:15px}.loading{max-width:600px;margin:15vh auto;padding:30px}.loading .brand{margin-bottom:40px}.loading button{margin-right:10px}.app-shell aside{background:var(--forest);color:#fff;z-index:2;flex-direction:column;width:244px;padding:34px 22px;display:flex;position:fixed;inset:0 auto 0 0}.app-shell aside .brand{margin-bottom:55px}.nav-label{color:#99b0a3;margin-left:11px;font-size:.5625rem}nav{gap:7px;display:grid}nav button{color:#c3d1c9;text-align:left;background:0 0;align-items:center;gap:13px;padding:13px 12px;display:flex}nav button.active{background:var(--gold);color:var(--forest)}.sidebar-foot{margin-top:auto;padding-top:30px}.sidebar-foot p{color:#cfdbd4;overflow-wrap:anywhere;margin-top:12px;font-size:.75rem}.role{text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-size:.625rem}.signout{background:0 0;padding:8px 0;font-weight:400}.main-shell{flex-direction:column;min-height:100vh;margin-left:244px;display:flex}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 40px;font-size:.75rem;display:flex}.muted{color:#8b948d}.secure{color:#507653;font-size:.6875rem}.main-shell main{width:100%;max-width:1440px;margin:0 auto;padding:40px}.screen-heading{margin-bottom:28px}.screen-heading p{margin-bottom:0}.heading-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.summary-strip{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(3,1fr);margin-bottom:26px;display:grid}.summary-strip>div{border-right:1px solid var(--line);flex-direction:column;gap:8px;padding:22px 26px;display:flex}.summary-strip>div:last-child{border:0}.summary-strip strong{font-size:1.6875rem}.summary-strip small{font-size:.6875rem}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:25px;display:grid}.group-card,.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:25px}.group-card{flex-direction:column;display:flex}.group-title{align-items:center;gap:12px;display:flex}.group-title>div{flex:1}.group-title h2{margin:2px 0 0;font-size:1.0625rem}.group-title small{font-size:.625rem}.group-title b{color:#507653;font-size:1.4375rem}.tile-icon{color:#4f705b;background:#edf2e9;border-radius:11px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:.9375rem;font-weight:700;display:grid}.group-card>p{flex:1;min-height:30px;margin-top:20px;font-size:.75rem}.group-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-actions button{padding:10px 12px;font-size:.6875rem}.tag{color:#49624d;background:#eef3e9;border-radius:6px;width:fit-content;margin:3px 5px 3px 0;padding:6px 9px;font-size:.625rem;display:inline-block}.panel{margin-bottom:24px}.assign-form{grid-template-columns:1.2fr 1fr auto;align-items:end;gap:16px;margin-top:24px;display:grid}.fine-print{margin:15px 0 0;font-size:.6875rem}.table-wrap{margin-top:22px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.75rem}th{color:#889386;text-align:left;text-transform:uppercase;letter-spacing:.7px;background:#f6f8f3;padding:14px 12px;font-size:.625rem}td{border-bottom:1px solid var(--line);padding:16px 12px;line-height:1.6}td:first-child{overflow-wrap:anywhere}td:last-child .text-button{display:block}.text-button{color:#4e6b52;background:0 0;border:0;padding:5px 0;font-size:.6875rem}.danger{color:#95543d}.search-label{font-size:.625rem}.search-label input{min-width:200px}.welcome-card{color:var(--forest);text-align:left;background:#edf2e7;border:1px solid #d8e1cf;align-items:center;gap:20px;width:100%;margin-bottom:25px;padding:26px;display:flex}.welcome-card>div{flex:1}.welcome-card h2{font-size:1.125rem}.welcome-card p{margin-bottom:0;font-weight:400}.home-grid{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.home-grid .panel{min-height:255px}.empty-icon{color:#a4b39c;margin:24px 0 16px;font-size:1.875rem}.section-grid{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}footer{color:#8a9689;justify-content:space-between;margin-top:auto;padding:20px 40px;font-size:.625rem;display:flex}dialog{border:1px solid var(--line);color:#253b34;border-radius:16px;width:min(500px,100vw - 32px);max-height:90vh;padding:32px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10261fcc}dialog h2{margin-bottom:28px}fieldset{border:1px solid var(--line);border-radius:10px;margin:24px 0;padding:18px}legend{font-size:.75rem;font-weight:650}fieldset p{margin:0;font-size:.75rem}.checkbox{flex-direction:row;align-items:center;gap:12px;margin:10px 0}.checkbox input{width:17px;height:17px;min-height:0;accent-color:var(--forest)}.form-actions{justify-content:flex-end;gap:12px;display:flex}.install button,.install p{font-size:.6875rem}@media (width<=1000px){.app-shell aside{width:210px;padding:28px 18px}.main-shell{margin-left:210px}.main-shell main{padding:28px}.assign-form{grid-template-columns:1fr 1fr}.assign-form button{grid-column:1/-1}.login-form{padding:38px}.group-actions{flex-direction:column;align-items:flex-start}}@media (width<=700px){.login{grid-template-columns:1fr}.login-story{padding:26px}.login-story .brand{margin-bottom:40px}.login-story h1{font-size:2.625rem}.login-story>small{display:none}.login-form{padding:35px 25px}.app-shell aside{width:auto;padding:20px;position:static}.app-shell aside .brand{margin-bottom:22px}.app-shell nav{flex-wrap:wrap;display:flex}.nav-label{display:none}.sidebar-foot{flex-wrap:wrap;align-items:center;gap:15px;padding-top:16px;display:flex}.sidebar-foot p,.sidebar-foot .install{margin:0}.sidebar-foot .install p{max-width:300px}.main-shell{margin:0}header{height:58px;padding:0 22px}.main-shell main{padding:28px 20px}.heading-row{flex-direction:column;align-items:flex-start;gap:18px}h1{font-size:1.8125rem}.group-grid,.home-grid{grid-template-columns:1fr}.summary-strip>div{padding:18px 13px}.summary-strip strong{font-size:1.4375rem}.assign-form{grid-template-columns:1fr}.panel,.group-card{padding:22px}.welcome-card{align-items:flex-start;padding:22px}.welcome-card p{font-size:.75rem}.search-label{width:100%}.group-actions{flex-direction:row;align-items:center}footer{padding:18px 22px}.secure{font-size:.5625rem}.home-grid{gap:0}}.preview-banner{color:#796039;background:#f5ebd5;border:1px solid #e9dabb;border-radius:8px;margin-bottom:26px;padding:10px 14px;font-size:.6875rem}.directory-toolbar{grid-template-columns:2fr 1fr 1fr;gap:18px;display:grid}.directory-caption{justify-content:space-between;align-items:center;margin:28px 0 20px;font-size:.8125rem;display:flex}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.member-card{color:var(--forest);border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;min-width:0;padding:25px;display:flex;box-shadow:0 4px 14px #233d3004}.member-card:hover{border-color:#87a28a;box-shadow:0 8px 26px #233d3010}.member-card h2{overflow-wrap:anywhere;margin-top:8px;font-size:1.125rem}.member-card p{margin-bottom:12px;font-size:.75rem}.member-kind{text-transform:uppercase;letter-spacing:1px;color:#85947e;font-size:.5625rem;font-weight:650}.member-photo{color:#688359;background:#e8eee1;border-radius:18px;flex-shrink:0;place-items:center;width:76px;height:76px;margin-bottom:22px;font-size:1.625rem;font-weight:500;display:grid;overflow:hidden}.member-photo img{object-fit:cover;width:100%;height:100%}.member-photo.large{width:104px;height:104px;margin:0;font-size:2rem}.profile-link{border-top:1px solid var(--line);width:100%;margin-top:18px;padding-top:18px;font-size:.6875rem;font-weight:650}.directory-empty{text-align:center;padding:50px 25px}.directory-empty p{max-width:470px;margin:10px auto}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:22px;margin:32px 0 8px;font-size:.75rem;display:flex}.profile-dialog{width:min(690px,100vw - 32px);padding:30px}.profile-dialog>.heading-row{margin-bottom:24px}.profile-dialog>.heading-row .eyebrow{margin:0}.profile-dialog>.heading-row button{padding:7px 13px;font-size:1.25rem}.profile-heading{align-items:center;gap:24px;display:flex}.profile-heading h2{margin:8px 0;font-size:1.625rem}.profile-heading p{margin:0;font-size:.75rem}.profile-facts{background:#f7f9f4;border-radius:10px;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0;padding:22px;display:grid}.profile-facts dt{color:var(--muted);margin-bottom:6px;font-size:.625rem}.profile-facts dd{overflow-wrap:anywhere;margin:0;font-size:.8125rem}.profile-section{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.profile-section>p{font-size:.75rem}.contact-block p{overflow-wrap:anywhere;margin:8px 0;font-size:.8125rem}.contact-actions{flex-wrap:wrap;gap:10px;margin:18px 0 0;display:flex}.contact-actions a{color:var(--forest);background:#eef3e8;border:1px solid #dfe7d9;border-radius:7px;padding:9px 13px;font-size:.6875rem;font-weight:650;text-decoration:none}.profile-link-form{gap:15px;margin-top:22px;display:grid}.profile-link-form .checkbox{font-size:.6875rem;font-weight:400}.linked-person{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.75rem;display:flex}.linked-person span{overflow-wrap:anywhere}.form-actions{margin-top:24px}.notice button{margin-top:14px}.install{margin:20px 0}.install button{font-size:.6875rem}.install p{font-size:.6875rem;line-height:1.6}.sidebar-foot .install button{color:#c7d4ca;background:#ffffff0c;border-color:#ffffff20}.sidebar-foot .install p{font-size:.6875rem}.main-shell main{margin:0 auto}.member-card .tag{font-weight:400}@media (width>=1450px){.member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1100px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-toolbar{grid-template-columns:1fr 1fr}.directory-toolbar label:first-child{grid-column:1/-1}}@media (width<=700px){.profile-dialog>.heading-row{flex-direction:row;align-items:center}.profile-heading{gap:15px}.profile-heading h2{font-size:1.375rem}.member-photo.large{width:76px;height:76px}.profile-facts{gap:16px;padding:18px}.preview-banner{font-size:.625rem}.directory-caption{align-items:flex-start;gap:12px}.directory-caption small{text-align:right;font-size:.625rem}}@media (width<=430px){.member-grid,.profile-facts,.directory-toolbar{grid-template-columns:1fr}.directory-toolbar label:first-child{grid-column:auto}.profile-dialog{padding:23px}.profile-heading{align-items:flex-start}.pagination{gap:12px}.pagination button{padding:10px;font-size:.6875rem}.linked-person{flex-direction:column;align-items:flex-start}}@media (width<=700px){.table-wrap table{min-width:620px}.table-wrap td:first-child{overflow-wrap:normal;min-width:190px}}.member-card-open{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:4px;flex-direction:column;flex:1;align-items:flex-start;padding:0;display:flex}.member-card-open:hover{filter:none}.member-quick-links{gap:10px;width:100%;padding-top:16px;display:flex}.member-quick-links a,.member-quick-links .unavailable{border:1px solid var(--line);background:var(--soft,#eef3e8);width:42px;height:42px;color:inherit;border-radius:10px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.member-quick-links a:hover{background:var(--line);border-color:currentColor}.member-quick-links .unavailable{opacity:.35;cursor:default}.member-card-summary{flex:1;align-items:center;gap:16px;width:100%;min-width:0;display:flex}.member-card-summary .member-photo{border-radius:12px;width:76px;height:92px;margin:0}.member-card-details{min-width:0}.member-card-details p{margin:0 0 9px}.member-card .member-quick-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px}.member-quick-links button,.member-quick-links button.member-card-open{border:1px solid var(--line);background:var(--soft,#eef3e8);width:42px;height:42px;color:inherit;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.member-quick-links button:hover{border-color:currentColor}.member-quick-links button:disabled{opacity:.35;cursor:default}.profile-edit-button{margin-top:22px}.profile-editor{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.profile-editor p{font-size:.75rem}.profile-editor fieldset{border:0;margin:18px 0;padding:0}.profile-edit-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.profile-edit-grid input{width:100%;min-width:0}.register-row.selected-member{outline:2px solid var(--forest);outline-offset:2px;background:var(--soft,#eef3e8);border-radius:8px}@media (width<=700px){.member-grid{grid-template-columns:1fr}}@media (width<=430px){.profile-edit-grid{grid-template-columns:1fr}.member-card{padding:20px}}.teaching-assignments fieldset{border:0;margin:18px 0;padding:0}.teaching-assignments legend{margin-bottom:12px;font-weight:650}.teaching-class-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.member-card-details .member-teaching-summary{margin:10px 0 0;font-size:.6875rem;line-height:1.5}@media (width<=430px){.teaching-class-options{grid-template-columns:1fr}}.dismissible-notice{align-items:flex-start;gap:14px;display:flex}.dismissible-notice>div{flex:1;min-width:0}.notice .dismiss-notice{width:30px;height:30px;color:inherit;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin:0;padding:0;font-size:1.4375rem;line-height:1;display:grid}.notice .dismiss-notice:hover{background:var(--line)}.notice .dismiss-notice:focus-visible{outline-offset:2px;outline:2px solid}.teaching-class-choice{border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.teaching-class-choice>label+label{gap:6px;margin-top:12px;font-size:.6875rem;display:grid}.teaching-class-choice select{width:100%;min-width:0}.directory-search{min-width:0;padding:24px}.directory-search>label{min-width:0}.directory-search .directory-toolbar{padding:0}.directory-filter-details summary span{text-align:right;min-width:0}.directory-filter-details summary:focus-visible{outline:3px solid var(--forest);outline-offset:4px;border-radius:4px}@media (width<=700px){.directory-search{padding:20px}}.member-card{padding:20px}.member-card-summary{align-items:center;gap:18px}html body .member-card .member-card-summary .member-photo{border-radius:50%;width:104px;height:104px;margin:0}html[data-member-photo-shape=rounded] body .member-card .member-card-summary .member-photo{border-radius:18px}.member-card-details{flex:1;min-width:0}.member-card-details h2{margin:5px 0 8px;font-size:1.3rem;line-height:1.18}.member-card-details p{margin:0;font-size:.8125rem;line-height:1.45}.member-card .member-quick-links{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:14px;display:grid}.member-card .member-quick-links>button{text-align:center;border-radius:12px;flex-direction:column;grid-column:span 3;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;height:auto;min-height:68px;padding:8px;font-size:.8125rem;line-height:1.25;display:flex}.member-card .member-quick-links>button>span{overflow-wrap:anywhere;max-width:100%;display:block}.member-card .member-quick-links>a,.member-card .member-quick-links>.unavailable{border-radius:12px;grid-column:span 2;width:100%;min-width:0;height:52px}.member-card .member-quick-links svg{flex-shrink:0;width:23px;height:23px}@media (width<=350px){html body .member-card .member-card-summary .member-photo{width:92px;height:92px}}.profile-reference>summary{cursor:pointer;border-radius:4px;width:fit-content;max-width:100%}.profile-reference>summary small{color:var(--muted);margin:4px 0 0;font-size:.625rem;display:block}.profile-reference>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.profile-reference code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:8px;font-size:.75rem;display:block}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.class-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.class-photo{color:#55745c;background:#e5ebe0;flex-direction:column;justify-content:center;align-items:center;height:190px;display:flex;overflow:hidden}.class-photo>span{letter-spacing:3px;font-size:3rem;font-weight:300}.class-photo small{margin-top:12px;font-size:.625rem}.class-photo img{object-fit:cover;width:100%;height:100%}.class-content{flex-direction:column;flex:1;padding:24px;display:flex}.class-content h2{font-size:1.375rem}.class-content p{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font-size:.75rem}.class-content .eyebrow{font-size:.5625rem}.class-actions{flex-wrap:wrap;gap:8px;display:flex}.class-actions button{padding:10px 12px;font-size:.6875rem}.class-admin{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;display:flex}.class-form{gap:18px;display:grid}.class-form h2,.class-form .eyebrow,.class-form .form-actions{margin:0}.photo-preview{object-fit:cover;border-radius:10px;width:100%;height:190px}textarea{font:inherit;resize:vertical;width:100%;color:inherit;background:#fff;border:1px solid #ccd4cc;border-radius:8px;padding:12px}textarea:focus-visible{outline-offset:3px;outline:3px solid #b38232}.register-picker{grid-template-columns:1.3fr 1fr auto;align-items:end;gap:18px;display:grid}.attendance-summary{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.attendance-count{background:#edf2e9;border-radius:9px;padding:10px 13px;font-size:.6875rem}.attendance-count strong{margin-right:5px;font-size:1.0625rem}.attendance-count.present{color:#32623b;background:#e8f4e9}.attendance-count.absent{color:#914631;background:#fcf0e8}.register-row{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr 1.2fr auto;align-items:center;gap:18px;padding:18px 0;display:grid}.register-row>strong{overflow-wrap:anywhere;font-size:.875rem}.register-row>strong small{margin-top:5px;font-size:.625rem;font-weight:400;display:block}.register-row label{min-width:0;font-size:.625rem}.add-class-member{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:16px;margin-top:16px;padding-top:24px;display:grid}.add-class-member small{grid-column:1/-1}.theme-toggle{white-space:nowrap;padding:9px 12px;font-size:.6875rem}.login-form>.theme-toggle{margin-bottom:30px}.header-tools{align-items:center;gap:18px;display:flex}@media (width<=1200px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.register-row{grid-template-columns:1fr 1fr}.register-row>strong{grid-column:1/-1}}@media (width<=700px){.class-grid,.register-picker{grid-template-columns:1fr}.register-row{gap:12px}.add-class-member{grid-template-columns:1fr}.header-tools{gap:8px}header>.header-tools .secure{display:none}.class-photo{height:210px}}.class-card{background:var(--surface);border-radius:18px;box-shadow:0 5px 18px #00000008}.class-photo{background:var(--soft);color:var(--accent)}.class-photo-button{width:100%;color:inherit;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:hidden}.class-photo-button:hover{filter:none}.class-photo-button:hover .class-photo img{transform:scale(1.035)}.class-photo-button:focus-visible{outline-offset:-5px}.class-photo-open{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111b;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:.75rem;display:flex;position:absolute;bottom:12px;right:12px}.class-actions{gap:10px}.class-actions button{flex:1 1 0;min-width:0;min-height:48px;padding:12px 16px;font-size:.8125rem}.class-primary-action{justify-content:space-between;align-items:center;display:flex}.class-admin button{flex:1 1 0;min-width:0}.class-grid[data-layout=compact] .class-card{grid-template-columns:124px minmax(0,1fr);display:grid}.class-grid[data-layout=compact] .class-photo-button,.class-grid[data-layout=compact]>.class-card>.class-photo,.class-grid[data-layout=compact] .class-photo{height:100%;min-height:190px}.class-grid[data-layout=compact] .class-photo-open{justify-content:center;font-size:.65rem;inset:auto 8px 8px}.class-grid[data-layout=compact] .class-content{padding:20px}.class-grid[data-layout=compact] .class-content h2{font-size:1.125rem}.class-grid[data-layout=compact] .class-content p{max-height:3.8em;overflow:hidden}.class-grid[data-layout=compact] .class-actions button{min-height:44px}.class-grid[data-layout=compact] .class-admin{margin-top:12px}@media (prefers-reduced-motion:no-preference){.class-photo img{transition:transform .2s}.class-card{transition:transform .18s,box-shadow .18s}.class-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000012}}@media (width<=760px){.class-grid[data-layout=compact]{grid-template-columns:1fr}.class-grid[data-layout=compact] .class-card{grid-template-columns:104px minmax(0,1fr)}.class-grid[data-layout=compact] .class-content{padding:16px}.class-grid[data-layout=compact] .class-photo-open{display:none}}.class-grid[data-layout=compact]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-grid[data-layout=compact] .class-compact-card{grid-template-rows:auto auto;grid-template-columns:1fr;min-height:0;display:grid}.class-compact-top{grid-template-columns:minmax(0,1fr) minmax(0,2fr);min-width:0;display:grid}.class-compact-art{border-right:1px solid var(--line);min-width:0;min-height:156px;display:flex;overflow:hidden}.class-grid[data-layout=compact] .class-compact-art .class-photo-button,.class-grid[data-layout=compact] .class-compact-art>.class-photo{flex:1;height:auto;min-height:156px}.class-grid[data-layout=compact] .class-compact-art .class-photo{height:100%;min-height:156px;padding:18px 20px}.class-compact-description{-webkit-line-clamp:3;border-top:1px solid var(--line);width:100%;color:var(--muted);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;padding:9px 12px;font-size:.6875rem;line-height:1.35;display:-webkit-box;overflow:hidden}.class-compact-side{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--soft) 42%,var(--surface)));flex-direction:column;gap:9px;min-width:0;padding:12px;display:flex}.class-compact-side h2{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.15}.class-compact-side .eyebrow{margin-bottom:4px;font-size:.5rem}.class-compact-side .tag{padding:4px 6px;font-size:.55rem}.class-compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:0;display:grid}.class-compact-actions button{text-align:center;overflow-wrap:anywhere;border-radius:9px;justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;min-height:48px;padding:8px;font-size:.625rem;line-height:1.2;display:flex}.class-compact-actions .class-primary-action{background:var(--forest);color:var(--brand-on-primary)}.class-compact-actions .secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.class-compact-actions .class-edit-action{background:color-mix(in srgb,var(--soft) 72%,var(--surface))}.class-compact-actions .class-archive-action{background:color-mix(in srgb,#b74934 10%,var(--surface));border-color:color-mix(in srgb,#b74934 32%,var(--line));color:#9a3e2e}.class-compact-card[data-action-count="4"] .class-compact-side{grid-template-rows:auto auto;align-content:space-between;row-gap:8px;display:grid}.class-compact-card[data-action-count="4"] .class-compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.class-compact-card[data-action-count="2"] .class-compact-side,.class-compact-card[data-action-count="1"] .class-compact-side{grid-template-rows:auto 1fr;row-gap:0;display:grid}.class-compact-card[data-action-count="2"] .class-compact-actions,.class-compact-card[data-action-count="1"] .class-compact-actions{align-self:center;gap:10px;width:100%}.class-compact-card[data-action-count="1"] .class-compact-actions{grid-template-columns:1fr}.class-compact-card[data-action-count="1"] .class-compact-actions button,.class-compact-card[data-action-count="2"] .class-compact-actions button{min-height:58px;font-size:.6875rem}@media (width<=1050px){.class-grid[data-layout=compact]{grid-template-columns:1fr}}@media (width<=760px){.class-grid[data-layout=compact]{gap:10px}.class-compact-art,.class-grid[data-layout=compact] .class-compact-art .class-photo-button,.class-grid[data-layout=compact] .class-compact-art>.class-photo,.class-grid[data-layout=compact] .class-compact-art .class-photo{min-height:154px}.class-grid[data-layout=compact] .class-compact-art .class-photo{padding:16px 13px}.class-compact-description{padding:7px 9px;font-size:.625rem}.class-compact-side{border-top:0;gap:7px;padding:10px}.class-compact-actions{gap:5px}.class-compact-card[data-action-count="2"] .class-compact-actions,.class-compact-card[data-action-count="1"] .class-compact-actions{gap:8px}.class-compact-actions button{min-height:46px;padding:7px;font-size:.59rem}.class-compact-card[data-action-count="1"] .class-compact-actions button,.class-compact-card[data-action-count="2"] .class-compact-actions button{min-height:52px;font-size:.625rem}}.register-history-dates{max-height:320px;margin:0 0 16px;padding:0;list-style:none;overflow-y:auto}.register-history-dates li+li{border-top:1px solid var(--line)}.register-history-date{text-align:left;width:100%;color:var(--text);background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:16px 8px;display:flex}.register-history-date strong,.register-history-date small{display:block}.register-history-date small{margin-top:5px}.register-history-view{white-space:nowrap;color:var(--muted);font-size:.75rem}.register-report{width:min(900px,100vw - 32px);max-width:none}.register-report-class{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.register-report-table{margin:16px 0;overflow-x:auto}.register-report-table table{border-collapse:collapse;text-align:left;width:100%;min-width:320px;font-size:.8125rem}.register-report-table caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.register-report-table th,.register-report-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;padding:12px 10px}.register-report-table thead th{color:var(--muted);white-space:nowrap;font-size:.75rem}.register-report-table tbody th{width:32%;font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--text)}.register-report-table td:last-child{white-space:pre-wrap;width:42%}@media (width<=600px){.register-history-date{align-items:flex-start}.register-history-view{font-size:.625rem}.register-history-date strong{font-size:.8125rem}.register-report{padding:18px}.register-report .heading-row{gap:12px}.register-report .attendance-summary{gap:8px}.register-report-table th,.register-report-table td{padding:10px 6px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:var(--brand-light-surface,#fff);--text:#253b34;--soft:var(--brand-light-soft,#edf2e9);--accent:#173c36}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e1e9e3;--surface:var(--brand-dark-surface,#1b2923);--text:#e1e9e3;--soft:var(--brand-dark-soft,#293b30);--line:#35473d;--muted:#afbeb3;--accent:#b9d6c1;background:#111b18}[data-theme=dark] .main-shell,[data-theme=dark] .login-form{background:#111b18}.panel,.group-card,.summary-strip,.member-card,.class-card,dialog{background:var(--surface);color:var(--text)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--text);background:#14211b;border-color:#4a5d4e}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#91a396}[data-theme=dark] .secondary,[data-theme=dark] .contact-actions a{color:#d2e7d7;background:#273c30;border-color:#49604e}[data-theme=dark] .notice{color:#d2e9d6;background:#223c2c;border-color:#41654c}[data-theme=dark] .error{color:#ffd7c6;background:#452c25;border-color:#785044}[data-theme=dark] .preview-banner{color:#e6d2ac;background:#382f20;border-color:#635135}[data-theme=dark] th,[data-theme=dark] .profile-facts,[data-theme=dark] .tag,[data-theme=dark] .tile-icon,[data-theme=dark] .member-photo,[data-theme=dark] .class-photo,[data-theme=dark] .attendance-count{background:var(--soft);color:#c8decc}[data-theme=dark] .text-button,[data-theme=dark] .group-title b,[data-theme=dark] .secure{color:#b8d6bb}[data-theme=dark] .danger{color:#f2b49c}[data-theme=dark] .eyebrow,[data-theme=dark] .member-kind,[data-theme=dark] .muted,[data-theme=dark] footer{color:#a2b6a6}[data-theme=dark] .attendance-count.present{color:#d0eecf;background:#25452e}[data-theme=dark] .attendance-count.absent{color:#f5d1bf;background:#483128}[data-theme=dark] .welcome-card{background:var(--soft);color:var(--text);border-color:var(--line)}@media (prefers-reduced-motion:no-preference){body,.panel,.class-card,.group-card,input,select,textarea{transition:background-color .15s,color .15s}}.events-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.events-heading h2{margin-bottom:0}.events-heading .text-button{white-space:nowrap}.event-source{margin:12px 0 20px;display:block}.events-empty{margin:20px 0}.event-list{margin:18px 0}.event-row{text-align:left;color:var(--text);border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:16px;width:100%;padding:16px 0;font-weight:400;display:flex}.event-row:hover{background:var(--soft);filter:none}.event-date{background:var(--soft);color:var(--gold);text-align:center;border-radius:10px;flex-direction:column;gap:2px;width:54px;min-width:54px;padding:9px 4px;display:flex}.event-date small{color:inherit;text-transform:uppercase;font-size:.5625rem}.event-date strong{font-size:1.4375rem}.event-row-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.event-row-content>strong{overflow-wrap:anywhere;font-size:.875rem}.event-row-content small{overflow-wrap:anywhere;font-size:.6875rem}.event-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.event-toolbar button{font-size:.6875rem}.event-toolbar>.text-button{margin-left:auto}.event-dialog{width:min(660px,100vw - 32px)}.event-dialog>.events-heading{margin-bottom:22px}.event-dialog .events-heading .eyebrow{margin:0}.event-dialog h2{overflow-wrap:anywhere}.event-form{gap:18px;display:grid}.event-form>.checkbox{margin:0}.event-form .form-actions{margin-top:8px}.event-date-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.event-date-fields label,.event-date-fields input{min-width:0}.event-description{white-space:pre-wrap;overflow-wrap:anywhere}.event-fact{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.event-fact p{overflow-wrap:anywhere}.event-when{font-size:.8125rem}.event-google-link{color:var(--accent);margin:14px 0;font-size:.8125rem;display:inline-block}.event-delete{background:var(--soft);border-radius:10px;margin-top:22px;padding:20px}.delete-event-button{background:#963e29}.calendar-account{overflow-wrap:anywhere}.event-browser-toolbar{justify-content:space-between;align-items:end;gap:18px;margin:24px 0;display:flex}.event-browser-toolbar label{flex:1}.event-browser-toolbar button{font-size:.75rem}@media (width<=700px){.event-dialog{padding:23px}.event-date-fields{grid-template-columns:1fr}.event-toolbar>.text-button{margin-left:0}.events-heading{align-items:flex-start}.event-browser-toolbar{flex-direction:column;align-items:stretch}.event-row{gap:12px}}.event-thumbnail{background:var(--soft);width:88px;height:72px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.5625rem;display:grid;overflow:hidden}.event-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.event-cover{background:var(--soft);width:100%;min-height:120px;color:var(--accent);border-radius:12px;place-items:center;margin:0 0 24px;font-size:2rem;display:grid;overflow:hidden}.event-cover img{object-fit:contain;width:100%;max-height:340px;display:block}.event-upload-preview{object-fit:contain;background:var(--soft);border-radius:12px;width:100%;max-height:300px;display:block}.event-image-field{gap:12px;display:grid}.event-image-field .event-cover{margin:0}.event-image-field>.text-button{justify-self:start}.event-image-field input[type=file]{max-width:100%;font-size:.75rem}.event-image-field>small{font-weight:400}@media (width<=430px){.event-thumbnail{width:72px;height:66px}.event-cover img{max-height:250px}}.events-panel{position:relative;overflow:hidden}.events-panel:before{content:"";background:linear-gradient(90deg,var(--gold),var(--forest));height:5px;position:absolute;inset:0 0 auto}.event-list{gap:10px;margin:18px 0;display:grid}.event-row{text-align:left;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--soft) 42%,var(--surface)));color:var(--text);border:1px solid var(--line);border-radius:14px;align-items:center;gap:16px;width:100%;padding:12px;font-weight:400;display:flex;box-shadow:0 4px 12px #00000007}.event-row:hover{background:var(--soft);border-color:color-mix(in srgb,var(--forest) 45%,var(--line));filter:none;transform:translateY(-1px)}@media (prefers-reduced-motion:no-preference){.event-row{transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s}.event-row:hover{box-shadow:0 9px 20px #0000000d}}.event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-row{background:var(--surface);border-radius:16px;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 16px #0000000a}.event-card-media{aspect-ratio:16/9;background:linear-gradient(135deg,color-mix(in srgb,var(--forest) 13%,var(--surface)),color-mix(in srgb,var(--gold) 34%,var(--surface)));width:100%;color:var(--forest);place-items:center;display:grid;position:relative;overflow:hidden}.event-thumbnail{background:0 0;border-radius:0;width:100%;height:100%}.event-thumbnail img{object-fit:cover;width:100%;height:100%}.event-card-placeholder{background:color-mix(in srgb,var(--surface) 80%,transparent);border-radius:16px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 6px 18px #00000012}.event-card-placeholder svg{width:28px;height:28px}.event-date{border:1px solid color-mix(in srgb,var(--surface) 72%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);width:52px;min-width:52px;color:var(--gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:11px;padding:7px 4px;position:absolute;top:12px;left:12px;box-shadow:0 5px 15px #0000001a}.event-row-content{flex:1;gap:7px;padding:15px;display:flex}.event-row-content>strong{font-size:.9375rem;line-height:1.35}.event-card-action{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;align-items:center;margin-top:auto;padding-top:9px;font-size:.6875rem;font-weight:750;display:flex}.event-cover{aspect-ratio:16/9;min-height:0}.event-cover img,.event-upload-preview{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%;max-height:none}.event-image-upload{border:2px dashed color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--soft) 60%,var(--surface));border-radius:14px;padding:18px}.event-image-title{font-size:.75rem;font-weight:750}.event-image-prompt{color:var(--text);font-size:1rem;font-weight:750}.event-image-upload input[type=file]{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px}.event-image-upload input[type=file]::file-selector-button{background:var(--forest);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:7px;margin-right:10px;padding:9px 12px;font-weight:700}@media (width<=540px){.event-list{grid-template-columns:1fr}.event-row-content{padding:14px}.event-image-upload{padding:15px}}.event-heading-add{white-space:nowrap;min-height:44px;padding:10px 15px}.events-more{border:1px solid var(--line);background:var(--soft);width:100%;min-height:46px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:8px 14px;display:flex}.events-more svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;transition:transform .18s}.events-more[aria-expanded=true] svg{transform:rotate(180deg)}.event-calendar-download{min-height:46px;margin:14px 0 2px}.event-repeat{border:1px solid var(--line);background:var(--soft);border-radius:12px;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:18px;display:grid}.event-repeat legend{padding:0 7px;font-weight:750}@media (width<=540px){.event-repeat{grid-template-columns:1fr}}.event-list-primary,.event-list-future{grid-template-columns:1fr}.future-events-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:14px;max-height:min(58vh,560px);margin:12px 0;padding:2px 8px 2px 2px;overflow-y:auto}.future-events-scroll .event-list{margin:0}.event-row-open{border-radius:inherit;width:100%;min-width:0;color:inherit;text-align:left;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:stretch;padding:0;display:flex}.event-row-open:hover{filter:none;background:0 0;transform:none}.event-row.has-location .event-row-content>strong,.event-row.has-meeting .event-row-content>strong,.event-row.has-location .event-row-content>small,.event-row.has-meeting .event-row-content>small{padding-right:50px}.event-row.has-location.has-meeting .event-row-content>strong,.event-row.has-location.has-meeting .event-row-content>small{padding-right:100px}.event-quick-links{z-index:2;gap:6px;display:flex;position:absolute;bottom:49px;right:13px}.event-directions-link,.event-meet-link{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--surface) 92%,transparent);width:44px;height:44px;color:var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:11px;place-items:center;display:grid;box-shadow:0 4px 12px #00000012}.event-directions-link:hover,.event-meet-link:hover{background:var(--accent);color:var(--brand-on-primary);transform:translateY(-1px)}.event-directions-link:focus-visible,.event-meet-link:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.event-directions-link svg,.event-meet-link svg,.event-meet-join svg,.event-detail-directions svg,.location-suggestions svg{flex:none;width:20px;height:20px}.event-location-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.event-location-heading .eyebrow{margin:0}.event-detail-directions{border:1px solid var(--line);background:var(--soft);min-height:40px;color:var(--accent);border-radius:10px;align-items:center;gap:7px;padding:8px 11px;font-size:.6875rem;font-weight:750;display:inline-flex}.event-detail-directions:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.event-location-field,.location-combobox{position:relative}.location-suggestions{z-index:8;border:1px solid var(--line);background:var(--surface);border-radius:12px;max-height:250px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px #00000020}.location-suggestions button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:11px 10px;font-size:.75rem;font-weight:650;line-height:1.35;display:flex}.location-suggestions button:hover,.location-suggestions button:focus-visible{background:var(--soft);filter:none;transform:none}.location-suggestions svg{color:var(--accent);margin-top:1px}.location-status{color:var(--muted);padding:11px 10px;font-size:.75rem;display:block}.event-location-field>.error{margin-top:7px;display:block}@media (width<=540px){.future-events-scroll{max-height:54vh;padding-right:5px}.event-quick-links{bottom:47px;right:12px}.event-detail-directions span{display:none}.event-detail-directions{justify-content:center;width:42px;padding:8px}}.past-events{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.past-events>summary{cursor:pointer;padding:10px 0;font-size:.9375rem;font-weight:650}.past-events>p{color:var(--muted);font-size:.8125rem}.event-row-content .event-past-badge{background:var(--soft);border:1px solid var(--line);border-radius:6px;align-self:flex-start;padding:3px 7px;font-size:.6875rem;font-weight:650;line-height:1.4;display:inline-block}.event-meeting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.event-meeting .eyebrow{margin:0}.event-meet-join{border:1px solid var(--line);background:var(--soft);min-height:44px;color:var(--accent);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.event-meet-join:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.events-page-grid{grid-template-columns:1.2fr 1fr;align-items:stretch;gap:24px;display:grid}.events-page-grid>.panel{min-width:0}.events-month-panel{position:relative;overflow:hidden}.events-month-panel:before{content:"";background:linear-gradient(90deg,var(--forest),var(--gold));height:5px;position:absolute;inset:0 0 auto}.events-month-panel h2{margin-bottom:12px}.events-month-intro,.events-history-intro{color:var(--muted);font-size:.8125rem}.events-month-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(70vh,640px);padding:2px;overflow-y:auto}.events-month-list .event-list{grid-template-columns:1fr;gap:12px;margin:0}.events-month-panel .event-row-open{grid-template-columns:104px minmax(0,1fr);min-height:160px;display:grid}.events-month-panel .event-card-media{aspect-ratio:auto;height:100%}.events-month-panel .event-card-placeholder{display:none}.events-month-panel .event-card-media:not(.has-image) .event-date{position:static}.events-month-panel .event-row .event-row-content>strong,.events-month-panel .event-row .event-row-content>small,.events-month-panel .event-row.has-location.has-meeting .event-row-content>strong,.events-month-panel .event-row.has-location.has-meeting .event-row-content>small{padding-right:0}.events-month-panel .event-quick-links{bottom:16px;right:14px}.events-month-panel .event-row:has(.event-quick-links) .event-card-action{min-height:54px;padding-right:50px}.events-month-panel .event-row.has-location.has-meeting .event-card-action{padding-right:100px}.events-month-panel .event-row:has(.event-quick-links) .event-card-action>span{display:none}.events-history-panel .calendar-browser{border:0;margin:0;padding:0}.events-history-panel .event-list{grid-template-columns:repeat(3,minmax(0,1fr))}.events-history-panel .event-browser-toolbar label{flex:none;width:min(280px,100%)}@media (width<=1100px){.events-history-panel .event-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.events-page-grid{grid-template-columns:1fr;gap:0}.events-month-list{max-height:60vh}}@media (width<=540px){.events-history-panel .event-list{grid-template-columns:1fr}.events-month-panel .event-row-open{grid-template-columns:88px minmax(0,1fr)}}.form-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-card{flex-direction:column;gap:10px;min-width:0;margin-bottom:0;display:flex}.form-card h2,.form-card p{overflow-wrap:anywhere;margin:0}.form-card p{flex:1}.form-card .tag{text-transform:capitalize}.forms-dialog{width:min(680px,100vw - 32px)}.forms-dialog.wide{width:min(920px,100vw - 32px)}.forms-dialog>.events-heading{margin-bottom:24px}.forms-dialog h2{overflow-wrap:anywhere;margin-bottom:12px}.form-builder,.form-main-fields{gap:20px;display:grid}.form-main-fields{border:0;min-width:0;margin:0;padding:0}.form-main-fields>fieldset{margin:0}.section-library{background:var(--soft);border-radius:12px;padding:20px}.section-library p{margin:0;font-size:.75rem}.builder-section{min-width:0;margin:0}.section-tools,.question-flags{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.section-tools{margin-top:12px}.builder-question{border-top:1px solid var(--line);gap:16px;margin-top:18px;padding-top:18px;display:grid}.question-settings{grid-template-columns:1.6fr 1fr;gap:18px;display:grid}.question-flags label{font-size:.6875rem}.builder-section>.secondary{margin-top:18px}.fill-form fieldset{gap:22px;display:grid}.fill-form label{line-height:1.5}.prefill-source{color:var(--accent);font-size:.625rem;font-weight:400}.answer-checkbox{align-items:flex-start}.forms-dialog input[type=checkbox]{flex-shrink:0}.response-row{text-align:left;overflow-wrap:anywhere;flex-wrap:wrap;gap:12px;width:100%;margin:12px 0;font-weight:400;display:flex}.response-row strong{flex:1;min-width:160px}.response-detail{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.response-detail>div{margin-top:24px}.response-detail dl>div{border-bottom:1px solid var(--line);padding:12px 0}.response-detail dt{color:var(--muted);font-size:.75rem}.response-detail dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font-size:.875rem}.event-form-link{text-align:left;width:100%;margin:12px 0;display:block}.form-builder fieldset:disabled{opacity:.65}@media (width<=800px){.form-card-grid,.question-settings{grid-template-columns:1fr}.forms-dialog{padding:23px}.section-tools,.question-flags{gap:12px}.forms-dialog .form-actions{flex-wrap:wrap}}.form-long-text,.question-description{white-space:pre-wrap;overflow-wrap:anywhere}.question-description{color:var(--muted);margin:8px 0;font-weight:400;line-height:1.6;display:block}.form-attachment img{object-fit:contain;max-width:180px;max-height:180px;margin:10px 0;display:block}.form-attachment{overflow-wrap:anywhere}.fill-form .multi-answer{gap:12px}.registration-qr{margin:12px 0}.registration-qr img{width:200px;max-width:100%}.registration-qr figcaption{color:var(--muted);font-size:.75rem}.form-card>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.forms-dialog>p{white-space:pre-wrap}.pending-review-banner{color:#6e4d00;text-align:left;background:#fff4d6;border:1px solid #edcf7b;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 0 24px;padding:16px 18px;display:flex}.tag.pending{color:#694900;background:#fff0c2}.tag.approved{color:#275a32;background:#e1f3e5}.tag.rejected{color:#833928;background:#fbe6e1}.response-row.pending{background:#fffaf0;border-color:#d9ae42}.review-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.review-heading h3,.review-heading p{margin:7px 0}.review-choice span{flex-direction:column;gap:4px;display:flex}.review-choice small{color:var(--muted);font-weight:400}.review-actions{background:var(--surface,#fff);border-top:1px solid var(--line);margin-top:20px;padding:18px 0;position:sticky;bottom:-32px}.invited-form-page{background:var(--page-background);min-height:100dvh;display:block;max-width:none!important;margin:0!important;padding:0!important}.invited-form-page>header{background:var(--forest);color:#fff;justify-content:space-between;align-items:center;gap:20px;height:auto;min-height:72px;padding:14px max(20px,50vw - 450px);display:flex}.invited-form-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:18px;width:min(860px,100% - 32px);margin:32px auto;padding:clamp(22px,5vw,48px);box-shadow:0 16px 50px #173c3614}.invited-form-card h1{margin-top:8px}.invited-form-card .fill-form fieldset{margin:26px 0}.invitation-complete{background:color-mix(in srgb,var(--forest) 8%,var(--surface,#fff));border:1px solid var(--line);border-radius:14px;padding:24px}.invitation-complete strong{font-size:1.2rem}.invitation-complete p:last-child{margin-bottom:0}@media (width<=700px){.pending-review-banner{flex-direction:column;align-items:flex-start}.invited-form-page>header{padding:13px 16px}.invited-form-card{width:100%;box-shadow:none;border-inline:0;border-radius:0;margin:0;padding:24px 18px}.review-heading{flex-direction:column}.review-actions{flex-direction:column-reverse;bottom:-23px}.review-actions button{width:100%}}.pending-form-queue{background:color-mix(in srgb,#fff4d6 35%,var(--surface));border-color:#e7c665}.pending-form-list{gap:12px;margin-top:18px;display:grid}.pending-form-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.pending-form-card h3,.pending-form-card p{margin:7px 0}.pending-form-card p{color:var(--muted);font-size:.75rem}@media (width<=600px){.pending-form-card{flex-direction:column;align-items:stretch}.pending-form-card button{width:100%}}.form-address-combobox{margin-top:7px;position:relative}.form-address-field>small{margin-top:7px;display:block}.form-address-suggestions{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:12px;max-height:250px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px #00000020}.form-address-suggestions button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 10px;font-size:.78rem;font-weight:650;line-height:1.4;display:flex}.form-address-suggestions button:hover,.form-address-suggestions button:focus-visible{background:var(--soft);filter:none;transform:none}.form-address-suggestions svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:1px}.form-address-status{color:var(--muted);padding:11px 10px;font-size:.75rem;display:block}.invitation-complete h2{margin-top:0}.invitation-complete button{margin-top:12px}.invitation-complete h2:focus{outline:none}:root{font-size:calc(16px * var(--app-font-scale,1));font-family:var(--app-font-family,Inter,"Segoe UI",Arial,sans-serif);--forest:var(--brand-light-primary,#173c36);--gold:var(--brand-light-accent,#efdfbd);--brand-on-primary:var(--brand-light-on-primary,#fff);--brand-on-accent:var(--brand-light-on-accent,#111)}html[data-theme=dark]{--forest:var(--brand-dark-primary,#234c40);--gold:var(--brand-dark-accent,#dfc793);--brand-on-primary:var(--brand-dark-on-primary,#fff);--brand-on-accent:var(--brand-dark-on-accent,#111)}button,.app-shell aside,.login-story{color:var(--brand-on-primary)}.app-shell aside nav button,.app-shell aside .sidebar-foot p,.app-shell aside .nav-label,.app-shell aside .signout,.login-story p,.login-story small{color:inherit}.app-shell aside nav button.active,.brand-mark{color:var(--brand-on-accent)}.brand-logo{object-fit:contain;object-position:center;clip-path:none;width:64px;height:64px;box-shadow:none;background:0 0;border-radius:0;flex-shrink:0}.settings-form fieldset{border:0;min-width:0;margin:0;padding:0}.settings-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-columns>section{min-width:0}.logo-controls{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.logo-controls>img{object-fit:cover;background:var(--soft);border:3px solid var(--gold);clip-path:circle(50%);border-radius:50%;width:112px;height:112px}.logo-controls label{max-width:100%}.colour-setting{grid-template-columns:1fr 60px 80px;align-items:center;gap:12px;margin:16px 0;display:grid}.colour-setting input{height:44px;padding:4px}.brand-sample{overflow-wrap:anywhere;border-radius:12px;gap:16px;margin-top:24px;padding:24px;display:grid}.brand-sample span{border-radius:8px;padding:12px}.settings-actions{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.app-shell aside{overflow-y:auto}.appearance-divider{text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:18px;font-size:.6875rem}.appearance-preview{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:220px;margin-top:24px;display:grid;overflow:hidden}.appearance-preview-nav{overflow-wrap:anywhere;flex-direction:column;gap:15px;padding:20px 14px;font-size:.75rem;display:flex}.appearance-preview-nav>span{border-radius:7px;padding:9px}.appearance-preview-nav>small{color:inherit;margin-top:auto}.appearance-preview-page{place-items:center;padding:10px;display:grid}.appearance-preview-page>div{border-radius:12px;gap:12px;padding:18px;display:grid;box-shadow:0 5px 15px #0001}.appearance-preview-page span,.appearance-preview-page small{color:inherit;border-radius:8px;padding:10px;font-size:.75rem}.layout-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.layout-choice{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:row;align-items:flex-start;gap:12px;padding:16px;display:flex}.layout-choice:has(input:checked){border-color:var(--forest);box-shadow:0 0 0 2px color-mix(in srgb,var(--forest) 18%,transparent)}.layout-choice input{width:18px;height:18px;min-height:0;accent-color:var(--forest);margin-top:2px}.layout-choice span{gap:5px;display:grid}.layout-choice small{font-weight:400}@media (width<=700px){.settings-columns,.layout-options{grid-template-columns:1fr}.colour-setting{grid-template-columns:1fr 48px 75px}}.mobile-brand,.mobile-menu-toggle{display:none}@media (width>=821px){.install{display:none}}:root{--sidebar:var(--brand-light-sidebar,#173c36);--sidebar-text:var(--brand-light-sidebar-text,#fff);--sidebar-gradient:var(--brand-light-sidebar-gradient,none);--page-background:var(--brand-light-background,#f7f7f2)}html[data-theme=dark]{--sidebar:var(--brand-dark-sidebar,#234c40);--sidebar-text:var(--brand-dark-sidebar-text,#fff);--sidebar-gradient:var(--brand-dark-sidebar-gradient,none);--page-background:var(--brand-dark-background,#111b18)}html,html[data-theme=dark],.main-shell,html[data-theme=dark] .main-shell,.login-focused{background:var(--page-background)}.app-shell .desktop-sidebar,html[data-theme=dark] .app-shell .desktop-sidebar{background-color:var(--sidebar);background-image:var(--sidebar-gradient);color:var(--sidebar-text)}.app-header{background:var(--surface);flex-shrink:0}.app-header .header-tools{align-items:center;gap:16px;display:flex}.desktop-sidebar nav svg,.mobile-navigation nav svg{flex-shrink:0}.nav-badge{color:#fff;background:#d04435;border-radius:999px;place-items:center;min-width:24px;height:24px;margin-left:auto;padding:0 7px;font-size:.7rem;line-height:1;display:grid}.signout{align-items:center;gap:10px;min-height:44px;display:flex}.main-shell{min-width:0}.login-focused{justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex}.login-focused .login-form{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:100%;max-width:460px;padding:32px}.login-topbar{justify-content:flex-end;margin-bottom:28px;display:flex}.login-focused .brand{justify-content:center;margin-bottom:36px;font-size:1.625rem}.login-focused .brand small{text-transform:none;letter-spacing:.2px;margin-top:7px;font-size:.75rem}.login-focused h1{text-align:center;letter-spacing:-.7px;font-size:1.625rem}.login-focused .login-form>p,.login-focused .login-form>small{text-align:center}.login-focused .login-form form{margin:26px 0 20px}.login-focused .install{text-align:center}.page-loading{border:1px solid var(--line);background:var(--surface);min-height:180px;color:var(--muted);border-radius:16px;align-items:center;gap:12px;padding:24px;display:flex}.loading-indicator{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px}.section-load-error{max-width:640px;margin:8vh auto}.section-load-error h1{font-size:1.5rem}.app-splash{text-align:center;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--soft) 75%,transparent),transparent 38%),var(--page-background);min-height:100dvh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.splash-orbit{background:var(--surface);border-radius:50%;place-items:center;width:132px;height:132px;margin-bottom:28px;display:grid;position:relative;box-shadow:0 18px 50px #0002}.splash-orbit:before{content:"";border:4px solid color-mix(in srgb,var(--gold) 32%,transparent);border-top-color:var(--forest);border-right-color:var(--gold);border-radius:50%;position:absolute;inset:-9px}.splash-orbit .brand-logo,.splash-orbit .brand-mark{width:104px;height:104px;box-shadow:none;border-radius:50%}.app-splash h1{margin-bottom:8px}.app-splash p{margin-bottom:0}.splash-actions{gap:12px;margin-top:20px;display:flex}@media (prefers-reduced-motion:no-preference){.loading-indicator,.splash-orbit:before{animation:.8s linear infinite loading-turn}@keyframes loading-turn{to{transform:rotate(360deg)}}}@media (width<=820px){.login-focused{padding:24px 16px}.login-focused .login-form{padding:24px 20px}.login-topbar{margin-bottom:24px}.app-shell .desktop-sidebar{display:none}.main-shell{min-height:100dvh;margin-left:0}.app-header{z-index:5;height:auto;min-height:76px;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:12px;position:sticky;top:0;box-shadow:0 2px 12px #00000005}.mobile-brand{flex:1;min-width:0;display:block}.mobile-brand .brand{gap:10px;min-width:0;font-size:1.125rem}.mobile-brand .brand>span:last-child{overflow-wrap:anywhere;min-width:0}.mobile-brand .brand-mark,.mobile-brand .brand-logo{border-radius:50%;flex-shrink:0;width:48px;height:48px;font-size:1.25rem}.mobile-brand .brand small{letter-spacing:0;text-transform:none;opacity:1;color:var(--muted);margin-top:4px;font-size:.6875rem;line-height:1.35}.desktop-breadcrumb,.app-header .secure{display:none}.app-header .header-tools{flex-shrink:0;gap:6px}.app-header .theme-toggle,.mobile-menu-toggle{background:var(--surface);width:44px;min-height:44px;color:var(--text);border:1px solid var(--line);border-radius:12px;place-items:center;padding:10px;display:grid}.app-header .theme-toggle .theme-label{display:none}.app-header .theme-toggle>span:first-child{font-size:1.25rem}.main-shell main{padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.mobile-navigation{width:min(360px,100vw - 24px);max-width:none;height:100dvh;max-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));background:var(--forest);color:var(--brand-on-primary);overscroll-behavior:contain;border:0;border-radius:22px 0 0 22px;margin:0;position:fixed;inset:0 0 0 auto;overflow-y:auto}.mobile-navigation[open]{flex-direction:column;display:flex}.mobile-navigation::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071d19a6}.mobile-menu-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px;display:flex}.mobile-menu-heading h2{margin:0;font-size:1.1875rem}.mobile-menu-heading .eyebrow{color:inherit;opacity:.7;margin-bottom:5px}.mobile-menu-heading button{min-width:44px;min-height:44px;color:inherit;background:#ffffff12;border-color:#ffffff30;place-items:center;padding:10px;display:grid}.mobile-navigation nav{flex:none;gap:6px;display:grid}.mobile-navigation nav button{min-height:48px;color:inherit;gap:14px;padding:13px 14px}.mobile-navigation nav button.active{background:var(--gold);color:var(--brand-on-accent)}.mobile-navigation .sidebar-foot{margin-top:auto;padding-top:24px;display:block}.mobile-navigation .sidebar-foot p,.mobile-navigation .install p{color:inherit;opacity:.8;max-width:100%;margin:10px 0}.mobile-navigation .install{margin:12px 0}.mobile-navigation .signout{color:inherit;padding:10px 0}.mobile-navigation,html[data-theme=dark] .mobile-navigation{background-color:var(--sidebar);background-image:var(--sidebar-gradient);color:var(--sidebar-text)}.screen-heading h1{overflow-wrap:anywhere}.main-shell main h1:focus{outline:none}.summary-strip,.summary-strip>div{min-width:0}input,select,textarea{font-size:max(16px,1rem)}footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.header-home,.header-refresh{background:var(--surface);min-height:40px;color:var(--text);border:1px solid var(--line);border-radius:11px;align-items:center;gap:8px;padding:9px 12px;display:flex}.header-home svg,.header-refresh svg{width:18px;height:18px}.header-home[aria-current=page]{background:var(--soft);color:var(--accent)}@media (width<=820px){.app-header .theme-toggle,.app-header .header-home,.app-header .header-refresh,.mobile-menu-toggle{background:var(--surface);width:44px;min-height:44px;color:var(--text);border:1px solid var(--line);border-radius:12px;place-items:center;padding:10px;display:grid}.app-header .header-home span,.app-header .header-refresh span{display:none}.app-header .header-home[aria-current=page]{background:var(--soft);color:var(--accent)}}@media (width>=821px){.app-shell .desktop-sidebar{width:var(--hub-sidebar-width,244px)}.app-shell>.main-shell{margin-left:var(--hub-sidebar-width,244px)}}@media (width<=820px){.mobile-navigation{width:min(360px,100vw - 24px)}}.splash-orbit .brand-logo,.mobile-brand .brand-logo{clip-path:none;object-fit:contain;box-shadow:none;background:0 0;border-radius:0}.home-shortcuts{margin-top:32px}.shortcut-heading{margin-bottom:20px}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.shortcut-card{--shortcut-tint:#e6f2ec;--shortcut-ink:#245d48;text-align:left;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);border-radius:18px;flex-direction:column;align-items:flex-start;gap:18px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #00000003}.shortcut-card[data-tone=blue]{--shortcut-tint:#e8f0ff;--shortcut-ink:#315ca4}.shortcut-card[data-tone=gold]{--shortcut-tint:#fcf0d9;--shortcut-ink:#8a591e}.shortcut-card[data-tone=purple]{--shortcut-tint:#f0eafb;--shortcut-ink:#70439d}.shortcut-icon{background:var(--shortcut-tint);width:48px;height:48px;color:var(--shortcut-ink);border-radius:14px;place-items:center;display:grid}.shortcut-icon svg{width:26px;height:26px}.shortcut-copy{flex:1;gap:8px;display:grid}.shortcut-copy strong{font-size:1.0625rem;line-height:1.3}.shortcut-copy>span{color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.6}.shortcut-action{border-top:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;padding-top:15px;font-size:.875rem;display:flex}.shortcut-card:hover{border-color:var(--shortcut-ink);filter:none;box-shadow:0 8px 24px #0000000b}.shortcut-card:active{transform:scale(.985)}.shortcut-card:focus-visible{outline:3px solid var(--shortcut-ink);outline-offset:3px}html[data-theme=dark] .shortcut-icon{background:color-mix(in srgb,var(--shortcut-tint) 14%,var(--surface));color:var(--shortcut-tint)}.announcements-panel{min-width:0}.announcements-panel .events-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.announcement-empty{padding:24px 0}.announcement{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:20px 0}.announcement-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.75rem;display:flex}.announcement-role{background:var(--soft,#edf3ed);color:var(--text);border-radius:6px;padding:4px 9px}.announcement h3{font-size:1.0625rem}.announcement-body{white-space:pre-wrap;font-size:.9375rem}.announcement-update{display:block}.announcement .text-button{margin-top:10px;display:block}.announcement-dialog{width:min(620px,100vw - 32px)}.announcement-dialog fieldset{border:0;gap:18px;padding:0;display:grid}.announcement-dialog textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);resize:vertical;border-radius:8px;padding:12px}.announcement-dialog .form-actions{flex-wrap:wrap}.calendar-status{margin-bottom:18px}.calendar-setup-steps{padding-left:22px;font-size:.875rem;line-height:1.7}.calendar-setup-steps li{margin:10px 0}.calendar-status code{overflow-wrap:anywhere}@media (prefers-reduced-motion:no-preference){.shortcut-card{transition:transform .16s,box-shadow .16s,border-color .16s}.shortcut-card:hover{transform:translateY(-3px)}.shortcut-action svg{transition:transform .16s}.shortcut-card:hover .shortcut-action svg{transform:translate(4px)}}@media (width<=1100px){.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.shortcut-grid{grid-template-columns:1fr;gap:12px}.shortcut-card{grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px;display:grid}.shortcut-action{grid-column:1/-1}.announcement-dialog{padding:22px}}.announcements-panel{position:relative;overflow:hidden}.announcements-panel:before{content:"";background:linear-gradient(90deg,var(--forest),var(--gold));height:5px;position:absolute;inset:0 0 auto}.announcement-feed{gap:12px;margin-top:20px;display:grid}.announcement{border:1px solid color-mix(in srgb,var(--line) 80%,var(--gold));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--soft) 45%,var(--surface)));border-radius:14px;padding:18px;box-shadow:0 5px 15px #00000008}.announcement-role{background:var(--gold);color:var(--brand-on-accent);border-radius:999px;padding:5px 10px;font-weight:700}.announcement{padding:0;position:relative;overflow:hidden}.announcement-open{width:100%;min-height:176px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(118px,34%) minmax(0,1fr);padding:0;font-weight:400;display:grid}.announcement-open:hover{filter:none;background:color-mix(in srgb,var(--soft) 45%,transparent)}.announcement-thumbnail{background:linear-gradient(145deg,color-mix(in srgb,var(--forest) 14%,var(--surface)),color-mix(in srgb,var(--gold) 38%,var(--surface)));place-items:center;width:100%;height:100%;min-height:176px;display:grid;overflow:hidden}.announcement-thumbnail img,.announcement-cover img{object-fit:cover;width:100%;height:100%}.announcement-image-loading{border:3px solid var(--line);border-top-color:var(--forest);border-radius:50%;width:30px;height:30px}.announcement-card-copy{flex-direction:column;min-width:0;padding:18px;display:flex}.announcement-card-copy h3{margin:0 0 8px;font-size:1.08rem}.announcement-excerpt{-webkit-line-clamp:2;color:var(--muted);white-space:pre-wrap;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.55;display:-webkit-box;overflow:hidden}.announcement-card-action{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;gap:8px;margin-top:auto;padding-top:11px;font-size:.7rem;font-weight:750;display:flex}.announcement-cover{aspect-ratio:16/9;background:var(--soft);border-radius:14px;width:100%;max-height:340px;margin-bottom:22px;display:block;overflow:hidden}.announcement-view{position:relative}.announcement-close{z-index:3;background:color-mix(in srgb,var(--surface) 92%,transparent);width:48px;height:48px;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;place-items:center;padding:0;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 4px 18px #0003}.announcement-view .announcement-body{margin:24px 0;line-height:1.7}.announcement-image-upload{border:2px dashed color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--soft) 60%,var(--surface));border-radius:14px;gap:8px;padding:16px;display:grid}.announcement-upload-preview{object-fit:contain;background:var(--soft);border-radius:12px;width:100%;max-height:300px}.announcement-dialog fieldset{gap:16px}@media (prefers-reduced-motion:no-preference){.announcement-image-loading{animation:.8s linear infinite loading-turn}}@media (width<=540px){.announcement-open{grid-template-columns:104px minmax(0,1fr);min-height:158px}.announcement-thumbnail{min-height:158px}.announcement-card-copy{padding:15px}.announcement-card-copy h3{font-size:1rem}.announcement-excerpt{-webkit-line-clamp:2}.announcement-close{top:10px;right:10px}}.announcement-open:not(:has(.announcement-thumbnail)){grid-template-columns:minmax(0,1fr)}.announcement-meta{flex-wrap:wrap;gap:8px}.announcement-meta time{white-space:nowrap}[hidden]{display:none!important}.home-tasks{flex-wrap:wrap;gap:10px;margin:0 0 26px;display:flex}.home-tasks button{align-items:center;gap:10px;min-height:48px;font-size:.875rem;display:flex}.section-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.section-tabs button{background:var(--surface);border:1px solid var(--line);min-width:120px;min-height:48px;color:var(--text);flex:1;justify-content:center;align-items:center;gap:8px;font-size:.875rem;display:flex}.section-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.directory-search>label{font-size:.875rem}.directory-filter-details{margin-top:16px}.directory-filter-details summary{cursor:pointer;justify-content:space-between;gap:16px;font-size:.875rem;font-weight:650;display:flex}.directory-filter-details summary span{color:var(--muted);overflow-wrap:anywhere;font-size:.8125rem;font-weight:400}.directory-toolbar{margin-top:18px}.filter-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.filter-chips:empty{display:none}.filter-chips button{min-height:36px;padding:7px 10px;font-size:.8125rem}.class-view-controls,.history-filters,.report-tools{flex-wrap:wrap;align-items:end;gap:16px;margin:0 0 22px;display:flex}.class-view-controls label,.history-filters label,.report-tools label{flex:1;min-width:140px;font-size:.8125rem}.class-view-controls .checkbox{justify-content:flex-end}.history-filters{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.calendar-browser{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.report-print-frame{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:fixed;inset:0}.user-role-dialog{width:min(780px,100vw - 32px)}.user-role-dialog .section-tabs{z-index:4;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 0;position:sticky;top:-32px}.user-role-dialog fieldset[role=tabpanel]{min-height:220px}.user-role-dialog fieldset>label{margin:18px 0}.editor-actions{z-index:5;background:var(--surface);border-top:1px solid var(--line);align-items:center;margin-top:22px;padding:16px 0;position:sticky;bottom:-32px}.editor-actions>small{margin-right:auto;font-size:.8125rem}.own-profile-link{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:20px;display:grid}.profile-link-warning{color:var(--muted);line-height:1.5}.profile-link-warning .text-button{font-size:.875rem;display:block}.user-membership-fields label,.user-role-dialog label,.history-filters label{font-size:.875rem}.role-option small,.user-role-dialog p,.access-user-profile small,.access-user-profile label,.access-membership dt,.access-user-summary p,.access-user-actions button,.access-summary small{font-size:.8125rem}.profile-dialog .heading-row:first-child{z-index:4;background:var(--surface);padding:12px 0;position:sticky;top:-32px}.builder-preview-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.builder-preview-section li{padding:8px 0;line-height:1.5}.builder-preview-section small{color:var(--muted);font-size:.8125rem;display:block}.form-builder [role=tabpanel]>.builder-section{margin-top:20px}@media (width<=600px){.home-tasks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.home-tasks button{text-align:left;justify-content:flex-start;padding:12px 10px;font-size:.8125rem}.home-tasks svg{flex-shrink:0}.section-tabs{gap:6px}.section-tabs button{min-width:calc(50% - 6px);padding:10px 8px;font-size:.8125rem}.history-filters,.report-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.history-filters label:first-child,.report-tools label{grid-column:1/-1}.history-filters label,.report-tools label{min-width:0}.history-filters button{grid-column:1/-1}.user-role-dialog,.forms-dialog,.profile-dialog,.family-dialog{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:20px}.user-role-dialog .section-tabs{top:-20px}.editor-actions{flex-wrap:wrap;padding:14px 0;bottom:-20px}.editor-actions button{flex:1;min-height:44px}.editor-actions>small{flex-basis:100%}.profile-dialog .heading-row:first-child{top:-20px}.access-summary small{font-size:.75rem}.class-view-controls{align-items:stretch}.class-view-controls .checkbox{justify-content:flex-start}}.register-report-attribution{overflow-wrap:anywhere;line-height:1.5}:root{--active-option-bg:var(--gold);--active-option-text:var(--brand-on-accent)}.app-shell button:is([aria-selected=true],[aria-pressed=true],[aria-current=page]){filter:none;background:var(--active-option-bg)!important;color:var(--active-option-text)!important;border-color:var(--active-option-bg)!important;box-shadow:inset 0 0 0 1px var(--active-option-bg)!important}.app-shell button:is([aria-selected=true],[aria-pressed=true],[aria-current=page]) :is(small,.directory-tab-count,.access-tab-count){color:var(--active-option-text)!important}.app-shell button[aria-selected=true] :is(.directory-tab-count,.access-tab-count){background:color-mix(in srgb,var(--active-option-text) 12%,transparent)}dialog:not(.mobile-navigation){--dialog-padding:32px;padding:var(--dialog-padding);overscroll-behavior:contain;scroll-padding-top:130px}dialog .dialog-header{top:calc(-1 * var(--dialog-padding));z-index:10;margin:calc(-1 * var(--dialog-padding)) calc(-1 * var(--dialog-padding)) 24px;padding:16px var(--dialog-padding);background:var(--surface);color:var(--text);border-bottom:1px solid var(--line);flex-shrink:0;position:sticky}.dialog-header-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.dialog-header-copy{overflow-wrap:anywhere;min-width:0}dialog .dialog-header h2{margin:0;font-size:1.25rem}.dialog-header .eyebrow{margin:0 0 6px}.dialog-header-copy>small{margin-top:6px;display:block}dialog .dialog-header-close{flex-shrink:0;place-items:center;width:44px;height:44px;min-height:44px;padding:0;font-size:1.5rem;line-height:1;display:grid}.user-role-dialog .dialog-header .section-tabs{border:0;margin:16px 0 0;padding:0;position:static}@media (width<=800px){dialog:not(.mobile-navigation){--dialog-padding:23px}}@media (width<=600px){dialog:not(.mobile-navigation){--dialog-padding:20px}.dialog-header-row{gap:12px}dialog .dialog-header h2{font-size:1.125rem}}.mobile-navigation .mobile-menu-heading{top:calc(-22px - env(safe-area-inset-top));z-index:10;padding:calc(22px + env(safe-area-inset-top)) 20px 16px;background:var(--sidebar);color:var(--sidebar-text);border-bottom:1px solid #ffffff25;flex-shrink:0;margin:-22px -20px 24px;position:sticky}
