:root{color-scheme:light;--color-forest:#174c3c;--color-forest-dark:#103b30;--color-sage:#e7efe8;--color-paper:#fff;--color-canvas:#f7f8f5;--color-ink:#20332d;--color-muted:#64736c;--color-border:#e5ebe5;--color-blue-soft:#e5f1fb;--color-peach-soft:#fff0df;--shadow-card:0 0.6rem 1.8rem rgb(22 63 45/7%);--radius-card:1.1rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--color-canvas);color:var(--color-ink);font-family:Segoe UI,Arial,sans-serif;line-height:1.6;margin:0}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{border-radius:.3rem;outline:3px solid #d59b35;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-forest-dark);line-height:1.18}h1{font-size:clamp(2.55rem,5.2vw,4.5rem);letter-spacing:-.045em;margin-bottom:1.1rem}h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em;margin-bottom:.8rem}h3{font-size:1.08rem;margin-bottom:.5rem}.site-header{align-items:center;background:var(--color-paper);display:flex;justify-content:space-between;min-height:5.25rem;padding:.65rem clamp(1.25rem,6vw,6rem);position:relative;z-index:2}.brand{align-items:center;color:var(--color-forest);display:inline-flex;gap:.65rem;line-height:1.15;text-decoration:none}.brand-mark{display:block;flex:0 0 auto;height:3rem;width:3rem}.brand-name{font-size:1.12rem;font-weight:750;letter-spacing:-.025em}.brand-name small{color:var(--color-muted);display:block;font-size:.64rem;font-weight:600;letter-spacing:.08em;margin-top:.22rem;text-transform:uppercase}.site-nav{align-items:center;display:flex;gap:clamp(1rem,2.4vw,2.1rem)}.mobile-nav-panel a,.site-nav a{color:var(--color-ink);font-size:.9rem;font-weight:600;text-decoration:none}.mobile-nav-panel a:hover,.site-nav a:hover{color:var(--color-forest)}.button,.site-nav .button{align-items:center;background:var(--color-forest);border:0;border-radius:.65rem;color:var(--color-paper);display:inline-flex;font:inherit;font-size:.94rem;font-weight:700;gap:.55rem;justify-content:center;min-height:2.8rem;padding:.7rem 1.15rem;text-decoration:none;transition:background-color .14s ease,transform .14s ease}.button:hover{background:var(--color-forest-dark);color:var(--color-paper);transform:translateY(-1px)}.site-nav .button-small{min-height:2.45rem;padding:.55rem 1rem}.mobile-nav{display:none;position:relative}.mobile-nav summary{align-items:center;background:var(--color-sage);border-radius:.65rem;cursor:pointer;display:flex;height:2.8rem;justify-content:center;list-style:none;width:2.8rem}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span,.mobile-nav summary span:after,.mobile-nav summary span:before{background:var(--color-forest);border-radius:2px;display:block;height:2px;position:relative;width:1.1rem}.mobile-nav summary span:after,.mobile-nav summary span:before{content:"";position:absolute}.mobile-nav summary span:before{top:-.35rem}.mobile-nav summary span:after{top:.35rem}.mobile-nav-panel{background:var(--color-paper);border:1px solid var(--color-border);border-radius:.8rem;box-shadow:var(--shadow-card);display:grid;grid-gap:.25rem;gap:.25rem;min-width:13rem;padding:.55rem;position:absolute;right:0;top:calc(100% + .6rem)}.mobile-nav-panel a{border-radius:.45rem;padding:.65rem .8rem}.mobile-nav-panel a:hover{background:var(--color-sage)}.hero-section{align-items:center;background:linear-gradient(110deg,#eef4eb,#f4f6ef 55%,#f8efe2);display:grid;grid-gap:clamp(2rem,5vw,5rem);gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);min-height:31rem;overflow:hidden;padding:clamp(3rem,6vw,5.5rem) clamp(1.25rem,8vw,8rem)}.hero-copy{max-width:37rem}.eyebrow{color:var(--color-forest);font-size:.75rem;font-weight:750;letter-spacing:.13em;margin-bottom:.75rem;text-transform:uppercase}.hero-lede{color:var(--color-muted);font-size:clamp(1.05rem,1.6vw,1.25rem);margin-bottom:1.7rem;max-width:30rem}.hero-visual{min-width:0;position:relative}.hero-visual img{aspect-ratio:1.42;border-radius:1.65rem;box-shadow:0 1.2rem 3.5rem rgb(58 84 60/15%);display:block;height:auto;object-fit:cover;width:100%}.hero-note{align-items:center;background:var(--color-paper);border:1px solid rgb(255 255 255/75%);border-radius:999px;bottom:1rem;box-shadow:var(--shadow-card);color:var(--color-forest-dark);display:flex;font-size:.8rem;font-weight:700;gap:.55rem;left:1rem;padding:.65rem .9rem;position:absolute}.hero-note-dot{background:#78a77e;border-radius:50%;height:.55rem;width:.55rem}.section-wrap{margin-inline:auto;max-width:80rem;padding-inline:clamp(1.25rem,5vw,4.5rem)}.portal-section{padding-bottom:clamp(3.5rem,6vw,5rem);padding-top:clamp(3.5rem,6vw,5rem)}.section-heading{align-items:flex-end;display:flex;gap:2rem;justify-content:space-between}.section-heading h2{margin-bottom:0}.section-intro{color:var(--color-muted);margin-bottom:.25rem;max-width:23rem}.portal-grid{display:grid;grid-gap:1.15rem;gap:1.15rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.7rem}.portal-card{align-items:flex-start;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:14.25rem;padding:1.5rem;transition:transform .16s ease,box-shadow .16s ease}.portal-card-link{color:inherit;text-decoration:none}.portal-card:hover{box-shadow:0 .9rem 2rem rgb(22 63 45/11%);transform:translateY(-3px)}.portal-card-blue{background:linear-gradient(145deg,var(--color-paper),var(--color-blue-soft))}.portal-card-sage{background:linear-gradient(145deg,var(--color-paper),#edf5e8)}.portal-card-peach{background:linear-gradient(145deg,var(--color-paper),var(--color-peach-soft))}.portal-icon{align-items:center;background:rgb(255 255 255/78%);border:1px solid rgb(255 255 255/90%);border-radius:.85rem;color:var(--color-forest);display:inline-flex;height:3.15rem;justify-content:center;margin-bottom:1.05rem;width:3.15rem}.portal-icon svg{height:1.75rem;width:1.75rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.portal-card-copy h3{font-size:1.14rem;margin-bottom:.45rem}.portal-card-copy p{color:var(--color-muted);font-size:.9rem;margin-bottom:1rem}.portal-link{color:var(--color-forest);font-size:.81rem;font-weight:750;margin-top:auto}.portal-unavailable{color:#68776f;font-weight:650}.news-section{background:var(--color-sage);padding-block:clamp(3rem,5.5vw,4.5rem)}.news-heading{margin-bottom:1.6rem}.announcement-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.announcement-card{align-items:flex-start;background:var(--color-paper);border:1px solid rgb(23 76 60/7%);border-radius:.95rem;box-shadow:0 .35rem 1.2rem rgb(22 63 45/5%);display:flex;gap:.85rem;min-height:10rem;padding:1.2rem}.announcement-icon{align-items:center;background:#eff4e9;border-radius:.65rem;color:var(--color-forest);display:inline-flex;flex:0 0 auto;font-size:.85rem;font-weight:800;height:2.35rem;justify-content:center;width:2.35rem}.announcement-category{color:var(--color-forest);font-size:.68rem;font-weight:750;letter-spacing:.07em;margin-bottom:.25rem;text-transform:uppercase}.announcement-card h3{font-size:1rem;margin-bottom:.35rem}.announcement-copy{color:var(--color-muted);font-size:.82rem;margin-bottom:.6rem}.announcement-status{color:#7b837e;font-size:.72rem;font-weight:650}.about-section{padding-bottom:clamp(4rem,7vw,6rem);padding-top:clamp(4rem,7vw,6rem)}.about-intro{margin:0 auto 2rem;max-width:44rem;text-align:center}.about-intro>p:last-child{color:var(--color-muted);margin-bottom:0}.about-cards{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 .3rem 1.2rem rgb(22 63 45/4%);min-height:11rem;padding:1.4rem}.info-card-mission{border-top:3px solid #87b79a}.info-card-message{border-top:3px solid #efc576}.info-card-programs{border-top:3px solid #9c98c5}.info-mark{color:#81978a;display:block;font-size:.72rem;font-weight:750;letter-spacing:.1em;margin-bottom:.8rem}.info-card p{color:var(--color-muted);font-size:.88rem;margin-bottom:0}.site-footer{background:var(--color-forest-dark);color:var(--color-paper);padding:2.5rem clamp(1.25rem,6vw,6rem) 1.25rem}.footer-main{align-items:flex-start;display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:1.1fr 1fr 1fr;margin:0 auto;max-width:80rem;padding-bottom:2rem}.brand-footer{color:var(--color-paper)}.brand-footer .brand-mark{background:var(--color-paper);border-radius:50%}.brand-footer .brand-name small{color:#c4d5c8}.footer-main h2{color:var(--color-paper);font-size:1rem;letter-spacing:0;margin-bottom:.5rem}.footer-main p{color:#d0ddd3;font-size:.85rem;margin-bottom:0;max-width:21rem}.footer-bottom{border-top:1px solid rgb(255 255 255/18%);color:#d0ddd3;display:flex;font-size:.76rem;gap:1rem;justify-content:space-between;margin:0 auto;max-width:80rem;padding-top:1rem}.dashboard-layout{background:#f5f7f4;display:grid;grid-template-columns:16.25rem minmax(0,1fr);min-height:100vh}.dashboard-sidebar{background:linear-gradient(180deg,#174c3c,#123f32);color:#f7fbf8;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:1.25rem .9rem 1rem;position:-webkit-sticky;position:sticky;top:0}.dashboard-brand{align-items:center;color:white;display:flex;gap:.65rem;margin:.1rem .45rem 1.2rem;text-decoration:none}.dashboard-brand img{background:white;border-radius:50%;flex:0 0 auto;height:2.7rem;width:2.7rem}.dashboard-brand>span{font-size:1rem;font-weight:750;line-height:1.15}.dashboard-brand small{color:#d0e0d5;display:block;font-size:.57rem;font-weight:600;letter-spacing:.06em;margin-top:.22rem;text-transform:uppercase}.dashboard-portal-label{border-bottom:1px solid rgb(255 255 255/16%);color:#b7d0bf;font-size:.67rem;font-weight:750;letter-spacing:.11em;margin:0 .45rem .65rem;padding:.25rem .15rem .85rem;text-transform:uppercase}.dashboard-nav{display:grid;grid-gap:.2rem;gap:.2rem}.dashboard-nav-group[data-section-start=true]{border-top:1px solid rgb(255 255 255/15%);margin-top:.5rem;padding-top:.55rem}.dashboard-nav-link{align-items:center;border-radius:.55rem;color:#deebe1;display:flex;font-size:.83rem;gap:.75rem;min-height:2.45rem;padding:.48rem .65rem;text-decoration:none;transition:background-color .12s ease,color .12s ease}.dashboard-nav-link.is-current,.dashboard-nav-link:hover{background:rgb(255 255 255/15%);color:white}.dashboard-nav-link.is-current{box-shadow:inset 3px 0 #b7d9ad;font-weight:700}.dashboard-nav-icon{align-items:center;color:#c4d9ca;display:inline-flex;flex:0 0 auto;font-size:1rem;height:1.45rem;justify-content:center;width:1.45rem}.dashboard-home-link{align-items:center;border-top:1px solid rgb(255 255 255/16%);color:#d6e6dc;display:flex;font-size:.76rem;gap:.55rem;margin-top:auto;padding:1rem .5rem .2rem;text-decoration:none}.dashboard-home-link:hover{color:white}.dashboard-main{min-width:0}.dashboard-header{align-items:center;background:white;border-bottom:1px solid var(--color-border);display:flex;gap:1.25rem;min-height:4.7rem;padding:.65rem clamp(1.1rem,3vw,2.4rem);position:-webkit-sticky;position:sticky;top:0;z-index:4}.dashboard-header-title{min-width:10rem}.dashboard-header-eyebrow{color:var(--color-muted);display:block;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-header h1{font-size:1.15rem;letter-spacing:-.02em;margin:.05rem 0 0}.dashboard-search{align-items:center;background:#f6f8f5;border:1px solid #e9ede8;border-radius:.55rem;color:#718078;display:flex;gap:.5rem;margin-left:auto;max-width:18rem;min-width:11rem;padding:.48rem .65rem}.dashboard-search>span{font-size:1.1rem;line-height:1}.dashboard-search input{background:transparent;border:0;color:var(--color-ink);font:inherit;min-width:0;outline:0;width:100%}.dashboard-search input::placeholder{color:#8b9790;font-size:.79rem}.dashboard-search kbd{background:white;border:1px solid #e1e6e1;border-radius:.3rem;color:#849087;flex:0 0 auto;font-size:.6rem;padding:.12rem .3rem}.dashboard-mobile-menu,.dashboard-notifications,.dashboard-profile{position:relative}.dashboard-notifications summary,.dashboard-profile summary{align-items:center;cursor:pointer;display:flex;list-style:none}.dashboard-mobile-menu summary::-webkit-details-marker,.dashboard-notifications summary::-webkit-details-marker,.dashboard-profile summary::-webkit-details-marker{display:none}.dashboard-notifications summary{background:#f5f7f4;border-radius:.55rem;color:var(--color-forest);font-size:1.2rem;height:2.5rem;justify-content:center;position:relative;width:2.5rem}.dashboard-notifications summary i{background:#dc7568;border:2px solid white;border-radius:50%;height:.58rem;position:absolute;right:.36rem;top:.34rem;width:.58rem}.dashboard-profile summary{gap:.55rem}.avatar{align-items:center;background:#e9eee6;border-radius:50%;color:var(--color-forest);display:inline-flex;flex:0 0 auto;font-size:.69rem;font-weight:800;height:2.35rem;justify-content:center;width:2.35rem}.profile-name{color:var(--color-ink);font-size:.78rem;font-weight:700;line-height:1.25}.profile-name small{color:var(--color-muted);display:block;font-size:.66rem;font-weight:500;margin-top:.15rem}.profile-chevron{color:var(--color-muted);font-size:.9rem;margin-left:.1rem}.header-popover{background:white;border:1px solid var(--color-border);border-radius:.7rem;box-shadow:0 .8rem 2rem rgb(27 57 44/12%);min-width:14rem;padding:1rem;position:absolute;right:0;top:calc(100% + .65rem);z-index:8}.header-popover strong{color:var(--color-forest-dark);display:block;font-size:.85rem}.header-popover p,.header-popover>span{color:var(--color-muted);display:block;font-size:.73rem;margin:.35rem 0 0}.header-popover a{border-top:1px solid var(--color-border);color:var(--color-forest);display:block;font-size:.75rem;font-weight:700;margin-top:.7rem;padding-top:.65rem;text-decoration:none}.dashboard-content{margin:0 auto;max-width:102rem;padding:1.6rem clamp(1.1rem,3vw,2.4rem) 2.5rem}.dashboard-page-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.dashboard-page-heading .eyebrow{font-size:.66rem;margin-bottom:.3rem}.dashboard-date{color:#7a8780;display:block;font-size:.68rem;margin-bottom:.6rem}.dashboard-page-heading h2{font-size:clamp(1.6rem,2.5vw,2rem);margin:0 0 .3rem}.dashboard-page-description{color:var(--color-muted);font-size:.85rem;margin-bottom:0}.demo-data-badge,.sample-data-note{background:#edf3ec;border-radius:999px;color:#53735c;flex:0 0 auto;font-size:.67rem;font-weight:700;padding:.42rem .7rem}.welcome-banner{align-items:center;background:linear-gradient(105deg,#e3efe5,#eef4e9 62%,#f8f0df);border:1px solid #e5ede4;border-radius:1rem;display:flex;justify-content:space-between;margin-bottom:1.6rem;min-height:9rem;overflow:hidden;padding:1.4rem 1.6rem;position:relative}.welcome-banner>div:first-child{position:relative;z-index:1}.welcome-kicker{color:#58745e;display:block;font-size:.65rem;font-weight:750;letter-spacing:.1em;margin-bottom:.4rem;text-transform:uppercase}.welcome-banner h2{font-size:clamp(1.3rem,2.5vw,1.8rem);margin:0 0 .35rem}.welcome-banner h2 span{color:#d69e39;font-size:.9em}.welcome-banner p{color:#607168;font-size:.85rem;margin:0}.welcome-art{align-self:stretch;flex:0 0 12rem;position:relative}.welcome-sun{background:#f4d77c;border-radius:50%;height:3rem;position:absolute;right:2.4rem;top:0;width:3rem}.welcome-leaf{background:#8caf79;border-radius:100% 0 100% 0;height:2.8rem;position:absolute;right:.5rem;top:2rem;transform:rotate(-25deg);width:1.35rem}.welcome-leaf-two{background:#b4c995;right:2rem;top:3.1rem;transform:rotate(25deg) scale(.8)}.welcome-hill{background:#8fb59a;border-radius:100% 0 0;bottom:-2.1rem;height:4.6rem;position:absolute;right:-2.4rem;transform:rotate(-10deg);width:12rem}.dashboard-section-title{align-items:flex-end;display:flex;gap:.8rem;justify-content:space-between;margin:1.5rem 0 .85rem}.dashboard-section-title h2{font-size:1.05rem;letter-spacing:-.015em;margin:0 0 .2rem}.dashboard-section-title p{color:var(--color-muted);font-size:.75rem;margin:0}.sample-data-note{font-size:.62rem;padding:.3rem .55rem}.stats-grid{display:grid;grid-gap:.8rem;gap:.8rem}.management-stats,.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:white;border:1px solid var(--color-border);border-radius:.85rem;box-shadow:0 .25rem 1rem rgb(22 63 45/4%);color:inherit;display:flex;flex-direction:column;min-height:8.3rem;padding:.9rem;text-decoration:none}a.stat-card{transition:transform .15s ease,box-shadow .15s ease}a.stat-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.55rem}.quick-action-icon,.stat-icon{align-items:center;background:#edf3ec;border-radius:.65rem;color:var(--color-forest);display:inline-flex;font-size:.85rem;font-weight:800;height:2.15rem;justify-content:center;width:2.15rem}.stat-blue .stat-icon,.stat-blue.stat-icon{background:#e7f0fa;color:#4979a7}.stat-peach .stat-icon,.stat-peach.stat-icon{background:#fff0e5;color:#ba704b}.stat-yellow .stat-icon,.stat-yellow.stat-icon{background:#fbf2d9;color:#94752c}.stat-lavender .stat-icon,.stat-lavender.stat-icon{background:#efecf8;color:#7567a0}.card-arrow{color:#9ba59e;font-size:.85rem}.stat-label{color:#596a61;font-size:.7rem;font-weight:600}.stat-value{color:var(--color-forest-dark);font-size:1.35rem;letter-spacing:-.035em;line-height:1.2;margin-top:.22rem}.stat-detail{color:#89948d;font-size:.64rem;margin-top:.2rem}.dashboard-block{margin-top:1.5rem}.quick-actions-grid{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-action-card{align-items:center;background:white;border:1px solid var(--color-border);border-radius:.75rem;display:flex;gap:.65rem;min-width:0;padding:.72rem;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}.quick-action-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.quick-action-icon{background:#edf3ec;flex:0 0 auto}.quick-action-copy{display:block;min-width:0}.quick-action-copy strong{color:var(--color-forest-dark);display:block;font-size:.72rem;line-height:1.3}.quick-action-copy small{color:var(--color-muted);display:block;font-size:.62rem;line-height:1.35;margin-top:.18rem}.quick-action-arrow{color:#829187;font-size:.8rem;margin-left:auto}.dashboard-columns{align-items:stretch;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.section-card{background:white;border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 .25rem 1rem rgb(22 63 45/4%);min-width:0;padding:1rem}.section-card-heading{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.85rem}.section-card-heading h3{color:var(--color-forest-dark);font-size:.91rem;margin:0}.section-card-heading p{color:var(--color-muted);font-size:.68rem;margin:.2rem 0 0}.text-link{color:var(--color-forest);flex:0 0 auto;font-size:.68rem;font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}.chart-period{background:#f4f7f3;border-radius:.4rem;color:#65756a;font-size:.64rem;padding:.3rem .45rem}.chart-legend{display:flex;gap:1rem;margin-bottom:.65rem}.chart-legend span{align-items:center;color:#69776e;display:inline-flex;font-size:.65rem;gap:.35rem}.chart-legend i{border-radius:2px;display:inline-block;height:.55rem;width:.55rem}.legend-income{background:#529271}.legend-expense{background:#e79a8f}.chart-plot{align-items:flex-end;border-bottom:1px solid #e8ece7;display:flex;gap:.5rem;height:10.5rem;justify-content:space-around;padding:.5rem .6rem 0}.chart-month{align-items:center;color:#7e8982;display:flex;flex:1 1;flex-direction:column;font-size:.62rem;gap:.38rem;height:100%;justify-content:flex-end}.chart-bars{align-items:flex-end;display:flex;gap:.2rem;height:100%;justify-content:center;max-width:2.4rem;width:100%}.chart-bar{border-radius:.23rem .23rem 0 0;display:block;max-height:100%;width:.72rem}.chart-bar-income{background:#5a9a76}.chart-bar-expense{background:#eca39a}.chart-disclaimer,.table-disclaimer{color:#8a948d;font-size:.62rem;margin:.65rem 0 0}.dashboard-event-list{display:grid}.dashboard-event{align-items:center;border-bottom:1px solid #eff1ee;display:flex;gap:.65rem;min-width:0;padding:.65rem 0}.dashboard-event:last-child{border-bottom:0;padding-bottom:0}.event-date{align-items:center;background:#eff5ee;border-radius:.55rem;color:var(--color-forest);display:flex;flex:0 0 2.65rem;flex-direction:column;justify-content:center;min-height:2.9rem}.event-date small{font-size:.52rem;font-weight:800;letter-spacing:.06em}.event-date strong{font-size:1rem;line-height:1.15}.dashboard-announcement h4,.dashboard-event h4,.observation-row h4{color:var(--color-forest-dark);font-size:.74rem;margin:0}.dashboard-announcement p,.dashboard-event p,.observation-row p{color:var(--color-muted);font-size:.64rem;margin:.15rem 0 0}.event-arrow{color:#91a096;font-size:1.25rem;margin-left:auto}.table-scroll{max-width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;min-width:34rem;text-align:left;width:100%}.dashboard-table th{background:#f7f9f6;color:#738078;font-size:.62rem;font-weight:700;padding:.55rem .45rem}.dashboard-table td{border-bottom:1px solid #eff1ee;color:#65736b;font-size:.65rem;padding:.65rem .45rem;white-space:nowrap}.dashboard-table td strong{color:var(--color-ink);display:block;font-size:.68rem}.dashboard-table td small{color:#89948d;display:block;font-size:.61rem;margin-top:.1rem}.dashboard-table .amount-cell{color:var(--color-forest);font-weight:750}.dashboard-announcement-list{display:grid;grid-gap:.55rem;gap:.55rem}.dashboard-empty-state{color:var(--color-muted);font-size:.72rem;margin:0;padding:.85rem 0}.dashboard-announcement{align-items:flex-start;background:#fafbf9;border:1px solid #eff1ed;border-radius:.65rem;display:flex;gap:.6rem;padding:.65rem}.dashboard-announcement-icon{align-items:center;background:#edf4eb;border-radius:.48rem;color:var(--color-forest);display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:800;height:1.85rem;justify-content:center;width:1.85rem}.dashboard-announcement .announcement-category{display:block;font-size:.57rem;margin-bottom:.17rem}.class-overview-card{margin-bottom:.85rem}.class-overview{align-items:center;display:flex;gap:.8rem}.class-illustration{align-items:center;background:#eaf4e7;border-radius:.8rem;color:#66916c;display:inline-flex;flex:0 0 auto;font-size:1.6rem;height:3.5rem;justify-content:center;width:3.5rem}.class-overview-name h2{font-size:1.05rem;margin:0 0 .25rem}.class-overview-name p{color:var(--color-muted);font-size:.72rem;margin:0}.class-overview-name p span{color:#9aa49d;padding:0 .15rem}.class-overview>.text-link{margin-left:auto}.teacher-actions,.teacher-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-list,.observation-list{display:grid}.attendance-row{align-items:center;border-bottom:1px solid #eff1ee;display:flex;gap:.55rem;padding:.57rem 0}.attendance-row:last-child{border-bottom:0}.student-avatar{align-items:center;background:#edf3ec;border-radius:50%;color:var(--color-forest);display:inline-flex;font-size:.62rem;font-weight:800;height:1.8rem;justify-content:center;width:1.8rem}.attendance-row>strong{color:#3f5147;font-size:.7rem}.status-badge{border-radius:999px;font-size:.6rem;font-weight:700;margin-left:auto;padding:.25rem .5rem}.status-present{background:#e7f4e8;color:#4d8658}.status-late{background:#fff3d9;color:#997628}.status-absent{background:#fae9e7;color:#a65c56}.observation-row{align-items:flex-start;border-bottom:1px solid #eff1ee;display:flex;gap:.6rem;padding:.68rem 0}.observation-row:last-child{border-bottom:0}.observation-dot{background:#7cab81;border:3px solid #e5f1e4;border-radius:50%;flex:0 0 auto;height:.9rem;margin-top:.1rem;width:.9rem}.observation-area{color:#63876a;display:block;font-size:.58rem;font-weight:750;margin-bottom:.14rem;text-transform:uppercase}.student-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.student-profile-summary{align-items:center;display:flex;gap:1rem}.student-initial-avatar{align-items:center;background:linear-gradient(145deg,#f5d8c2,#eab995);border:4px solid #fff4e8;border-radius:50%;color:#6f4938;display:inline-flex;flex:0 0 auto;font-size:1rem;font-weight:800;height:4.3rem;justify-content:center;width:4.3rem}.student-profile-details h2{font-size:1.1rem;margin:0 0 .3rem}.student-profile-details p{color:var(--color-muted);font-size:.73rem;margin:.15rem 0 0}.fee-summary-grid{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr))}.fee-summary-grid>div{background:#f7f9f6;border:1px solid #edf0eb;border-radius:.65rem;display:grid;grid-gap:.3rem;gap:.3rem;padding:.8rem}.fee-summary-grid span{color:var(--color-muted);font-size:.65rem}.fee-summary-grid strong{color:var(--color-forest-dark);font-size:1.05rem}.fee-summary-grid .fee-balance{color:#a96c42}.dashboard-footer{color:#859189;font-size:.64rem;padding:0 2.4rem 1rem;text-align:right}.dashboard-mobile-menu{display:none}.module-placeholder{align-items:flex-start;background:white;border:1px solid var(--color-border);border-radius:1rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;margin:2rem auto;max-width:42rem;padding:clamp(1.5rem,5vw,3rem)}.placeholder-icon{align-items:center;background:var(--color-sage);border-radius:.8rem;color:var(--color-forest);display:inline-flex;font-size:1.3rem;height:3rem;justify-content:center;margin-bottom:1.4rem;width:3rem}.module-placeholder .eyebrow{font-size:.66rem;margin-bottom:.35rem}.module-placeholder h2{font-size:1.8rem;margin:0 0 .5rem}.module-placeholder>p:not(.eyebrow){color:var(--color-muted);font-size:.86rem;margin-bottom:1.4rem}@media (max-width:900px){.hero-section{gap:2rem;grid-template-columns:minmax(0,.9fr) minmax(16rem,1.1fr);padding-inline:clamp(1.25rem,5vw,3rem)}.portal-card{padding:1.2rem}.dashboard-layout{grid-template-columns:5.2rem minmax(0,1fr)}.dashboard-sidebar{align-items:center;padding-inline:.45rem}.dashboard-brand{margin-inline:0}.dashboard-brand>span,.dashboard-portal-label{font-size:0}.dashboard-nav-link{justify-content:center;padding-inline:0;width:2.9rem}.dashboard-nav-group[data-section-start=true]{margin-top:.25rem;padding-top:.25rem;width:100%}.dashboard-home-link{justify-content:center;font-size:0;width:100%}.dashboard-home-link span{font-size:1rem}.management-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.site-header{min-height:4.5rem;padding-inline:1rem}.brand-mark{height:2.65rem;width:2.65rem}.brand-name{font-size:1rem}.site-nav{display:none}.mobile-nav{display:block}.hero-section{gap:2rem;grid-template-columns:minmax(0,1fr);padding:3.25rem 1.25rem 2.75rem}.hero-copy{max-width:34rem}.hero-visual{margin-inline:-.2rem}.hero-visual img{aspect-ratio:1.35;border-radius:1.1rem}.section-heading{align-items:flex-start;flex-direction:column;gap:.7rem}.about-cards,.announcement-grid,.portal-grid{grid-template-columns:minmax(0,1fr)}.announcement-card,.portal-card{min-height:0}.footer-main{gap:1.5rem;grid-template-columns:minmax(0,1fr)}.footer-bottom{flex-direction:column;gap:.35rem}.dashboard-layout{display:block}.dashboard-sidebar{display:none}.dashboard-header{gap:.7rem;min-height:4.2rem;padding-inline:.8rem}.dashboard-mobile-menu{display:block;flex:0 0 auto}.dashboard-mobile-menu>summary{align-items:center;background:#edf3ec;border-radius:.55rem;color:var(--color-forest);cursor:pointer;display:flex;font-size:1.05rem;height:2.45rem;justify-content:center;list-style:none;width:2.45rem}.dashboard-mobile-panel{background:#174c3c;border-radius:0 0 .9rem .9rem;box-shadow:0 1rem 2rem rgb(12 41 30/24%);color:white;left:0;max-height:calc(100dvh - 4.2rem);overflow-y:auto;padding:1rem;position:fixed;right:0;top:4.15rem;z-index:9}.dashboard-mobile-panel .dashboard-brand{margin:0 0 1rem}.dashboard-mobile-panel .dashboard-portal-label{font-size:.67rem}.dashboard-mobile-panel .dashboard-nav-label{font-size:.83rem}.dashboard-mobile-panel .dashboard-nav-link{justify-content:flex-start;padding-inline:.65rem;width:100%}.dashboard-mobile-panel .dashboard-nav-group[data-section-start=true]{margin-top:.5rem;padding-top:.55rem}.dashboard-mobile-panel .dashboard-home-link{font-size:.76rem;justify-content:flex-start}.dashboard-header-title{min-width:0}.dashboard-header h1{font-size:1rem}.dashboard-header-eyebrow{font-size:.55rem}.dashboard-search,.profile-chevron,.profile-name{display:none}.dashboard-content{padding:1.1rem .85rem 2rem}.dashboard-page-heading{align-items:flex-start;flex-direction:column;gap:.55rem}.demo-data-badge{font-size:.6rem}.welcome-banner{min-height:8.2rem;padding:1.1rem}.welcome-banner p{max-width:18rem}.welcome-art{flex-basis:5rem;min-width:4rem}.welcome-sun{height:2rem;right:.4rem;width:2rem}.welcome-leaf{right:-.5rem}.welcome-leaf-two{right:.8rem}.welcome-hill{right:-3rem}.dashboard-columns{grid-template-columns:minmax(0,1fr)}.management-actions,.management-stats,.student-dashboard-stats,.teacher-actions,.teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-summary{align-items:flex-start;flex-wrap:wrap}.student-profile-details{padding-top:.4rem}.fee-summary-grid{grid-template-columns:minmax(0,1fr)}.dashboard-footer{padding:0 .85rem 1rem;text-align:center}}.finance-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.finance-summary-grid{margin:1rem 0}.finance-filter-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1rem}.finance-filter-row label,.finance-search{color:#43554a;display:grid;font-size:.75rem;font-weight:700;grid-gap:.35rem;gap:.35rem;max-width:24rem;width:100%}.finance-filter-row select,.finance-report-filter input,.finance-search input,.finance-search select{border:1px solid #dce4da;border-radius:.5rem;font:inherit;min-height:2.55rem;padding:.45rem .65rem;width:100%}.finance-chip-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.finance-chip-list span{background:#f2f6f1;border-radius:2rem;color:#4e6655;font-size:.72rem;padding:.35rem .65rem}.finance-edit-list{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:1rem}.finance-edit-list h3{color:var(--color-forest-dark);font-size:.85rem;margin:.45rem 0 0}.finance-edit-row{align-items:center;background:#fbfcfa;border:1px solid #e7ece6;border-radius:.6rem;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;padding:.6rem}.finance-edit-row input,.finance-edit-row select{border:1px solid #dce4da;border-radius:.45rem;font:inherit;min-height:2.35rem;min-width:0;padding:.35rem .5rem}.finance-edit-row input[type=checkbox],.student-form input[type=checkbox]{display:inline-block;height:auto;margin:.35rem .4rem 0 0;min-height:0;padding:0;width:auto}.operations-form-fields{border:0;margin:0;min-width:0;padding:0}.operations-form-fields:disabled{opacity:.72}.finance-allocation-list{border:1px solid #e5ebe4;border-radius:.6rem;grid-column:1/-1;margin:0;padding:.7rem}.finance-allocation-list legend{color:#43554a;font-size:.73rem;font-weight:700;padding:0 .25rem}.finance-allocation-row{align-items:center;border-bottom:1px solid #edf0ec;display:grid!important;grid-gap:.6rem!important;gap:.6rem!important;grid-template-columns:auto minmax(0,1fr) minmax(7rem,10rem);padding:.55rem 0}.finance-allocation-row input[type=checkbox]{accent-color:var(--color-forest);height:1rem;width:1rem}.finance-allocation-row span{color:#43554a;font-size:.75rem}.finance-allocation-row small{color:var(--color-muted);display:block;font-size:.68rem}.finance-allocation-row input[type=number]{border:1px solid #dce4da;border-radius:.45rem;font:inherit;min-height:2.35rem;padding:.35rem .5rem;width:100%}.finance-receipts{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.finance-receipt{background:#fff;border:1px solid #e2eae1;border-radius:.75rem;padding:1rem}.finance-receipt-heading{align-items:center;border-bottom:1px solid #edf0ec;display:flex;gap:1rem;justify-content:space-between;padding-bottom:.8rem}.finance-receipt-heading span{color:#718074;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.finance-receipt-heading h3{color:var(--color-forest-dark);margin:.2rem 0 0}.finance-receipt dl{display:grid;grid-gap:.65rem 1rem;gap:.65rem 1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:.85rem 0}.finance-receipt dl>div{min-width:0}.finance-receipt dt{color:#718074;font-size:.68rem}.finance-receipt dd{color:#34463a;font-size:.8rem;margin:.15rem 0 0;overflow-wrap:anywhere}.finance-receipt-total{align-items:center;border-top:1px solid #edf0ec;color:#43554a;display:flex;font-size:.8rem;justify-content:space-between;margin:0;padding:.65rem 0}.finance-receipt-total strong{color:var(--color-forest-dark)}@media (max-width:900px){.finance-edit-row,.finance-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.finance-receipt-heading{align-items:flex-start;flex-direction:column}.finance-receipt dl{grid-template-columns:minmax(0,1fr)}.finance-allocation-row{grid-template-columns:auto minmax(0,1fr)}.finance-allocation-row input[type=number]{grid-column:2}}@media print{.dashboard-header,.dashboard-page-heading,.dashboard-sidebar,.finance-receipt-heading button{display:none!important}.dashboard-layout{display:block}.finance-receipt{page-break-inside:avoid;break-inside:avoid;border:0}.finance-receipts .finance-receipt:not(:focus-within){display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.visually-hidden{clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:1px}.student-form-section,.student-module-card,.student-profile-header{background:white;border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 .25rem 1rem rgb(22 63 45/4%)}.student-module-card{margin-bottom:1rem;padding:clamp(1rem,2.3vw,1.5rem)}.student-form-actions,.student-guardian-heading,.student-list-toolbar,.student-mobile-card-heading,.student-profile-actions,.student-profile-identity{align-items:center;display:flex;gap:.85rem;justify-content:space-between}.student-list-toolbar{margin-bottom:1.1rem}.student-list-toolbar h2,.student-module-card>h2,.student-profile-header h2{color:var(--color-forest-dark);font-size:1.05rem;margin:0}.student-list-toolbar p{color:var(--color-muted);font-size:.74rem;margin:.25rem 0 0}.student-primary-button,.student-secondary-button{align-items:center;border-radius:.55rem;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:700;justify-content:center;min-height:2.7rem;padding:.55rem .9rem;text-decoration:none}.student-primary-button{background:var(--color-forest);border:1px solid var(--color-forest);color:white}.student-primary-button:hover{background:var(--color-forest-dark)}.student-primary-button:disabled{cursor:wait;opacity:.7}.student-secondary-button{background:white;border:1px solid #d9e2da;color:var(--color-forest)}.student-secondary-button:hover{background:#f3f7f2}.student-filters{align-items:center;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(14rem,1fr) minmax(9rem,.35fr) minmax(9rem,.35fr);margin-bottom:1rem}.student-filters input,.student-filters select,.student-form input:not([type=file]),.student-form select,.student-form textarea,.student-profile-actions select{background:white;border:1px solid #dce4dc;border-radius:.5rem;color:var(--color-ink);font:inherit;font-size:.78rem;min-height:2.7rem;padding:.6rem .7rem;width:100%}.student-filters select,.student-form select,.student-profile-actions select{cursor:pointer}.student-search-field{align-items:center;background:white;border:1px solid #dce4dc;border-radius:.5rem;display:flex;gap:.5rem;min-height:2.7rem;padding:0 .65rem}.student-search-field input{border:0;min-width:0;outline:0}.student-search-icon{color:#718078;font-size:1.15rem}.student-table-wrap{max-width:100%;overflow-x:auto}.student-table{border-collapse:collapse;min-width:58rem;text-align:left;width:100%}.student-table th{background:#f6f8f5;color:#6d7d73;font-size:.65rem;font-weight:750;padding:.75rem .65rem;white-space:nowrap}.student-table th:first-child{border-radius:.45rem 0 0 .45rem}.student-table th:last-child{border-radius:0 .45rem .45rem 0}.student-table td{border-bottom:1px solid #edf0ec;color:#66746b;font-size:.71rem;padding:.72rem .65rem;white-space:nowrap}.student-name-link{align-items:center;color:var(--color-forest-dark);display:inline-flex;font-weight:700;gap:.55rem;text-decoration:none}.student-name-link:hover,.student-profile-back a:hover,.student-row-actions a:hover{color:#39765a;text-decoration:underline}.student-guardian-avatar,.student-profile-avatar,.student-row-avatar{align-items:center;background:#eaf2e8;border-radius:50%;color:var(--color-forest);display:inline-flex;flex:0 0 auto;font-weight:750;justify-content:center}.student-row-avatar{height:2rem;width:2rem}.student-row-actions{align-items:center;display:flex;gap:.7rem}.student-row-actions a{color:var(--color-forest);font-size:.69rem;font-weight:700;text-decoration:none}.student-status{border-radius:999px;display:inline-flex;font-size:.63rem;font-weight:750;padding:.28rem .55rem;white-space:nowrap}.status-active{background:#e7f3e8;color:#39714a}.status-pending{background:#fff3db;color:#8a661e}.status-inactive,.status-withdrawn{background:#f0f1ef;color:#657169}.status-graduated{background:#e9eafa;color:#565c91}.student-card-list{display:none}.student-state{color:var(--color-muted);padding:2.4rem 1rem;text-align:center}.student-state h2,.student-state h3{color:var(--color-forest-dark);font-size:1.05rem;margin:0 0 .4rem}.student-state p{font-size:.8rem;margin:.25rem 0 1rem}.student-empty-state{align-items:center;display:flex;flex-direction:column}.student-empty-icon{align-items:center;background:#eff5ed;border-radius:50%;color:#52785c;display:inline-flex;font-size:1.35rem;height:3.2rem;justify-content:center;margin-bottom:.8rem;width:3.2rem}.student-error{background:#fff8f6;border:1px solid #f0d6cf;border-radius:.75rem;color:#8b4137}.student-error h2{color:#8b4137}.student-prototype-note{color:#859189;font-size:.65rem;margin:.8rem 0 0;text-align:right}.student-form{display:grid;grid-gap:.85rem;gap:.85rem}.student-form-section{padding:clamp(1rem,2.5vw,1.5rem)}.student-form-section-heading{border-bottom:1px solid #edf0ec;margin-bottom:1rem;padding-bottom:.8rem}.student-form-section-heading h2{color:var(--color-forest-dark);font-size:1rem;margin:0}.student-form label small,.student-form-section-heading p{color:var(--color-muted);display:block;font-size:.7rem;margin:.25rem 0 0}.student-form-grid{display:grid;grid-gap:.9rem 1rem;gap:.9rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-document-upload label,.student-form label{color:#43554a;display:block;font-size:.73rem;font-weight:700;min-width:0}.student-form label>span[aria-hidden=true]{color:#a44b3b}.student-form input:not([type=file]),.student-form select,.student-form textarea{display:block;margin-top:.35rem}.student-form input[type=file]{display:block;font:inherit;font-size:.72rem;margin-top:.45rem;max-width:100%}.student-form textarea{min-height:5rem;resize:vertical}.student-filters input:focus,.student-filters select:focus,.student-form input:focus,.student-form select:focus,.student-form textarea:focus,.student-profile-actions select:focus{border-color:#6c9c78;box-shadow:0 0 0 3px rgb(108 156 120/16%);outline:none}.guardian-form-card{border:1px solid #e6ece5;border-radius:.7rem;margin:0 0 .8rem;padding:1rem}.guardian-form-card legend{color:var(--color-forest);font-size:.75rem;font-weight:750;padding:0 .35rem}.student-document-list button,.student-text-button{background:transparent;border:0;color:#8b4137;cursor:pointer;font:inherit;font-size:.7rem;font-weight:700;margin-top:.6rem;padding:.4rem 0}.student-document-upload{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:minmax(10rem,.6fr) minmax(12rem,1fr)}.student-document-upload select{display:block;margin-top:.35rem;min-height:2.7rem;width:100%}.student-full-field{max-width:none}.student-document-list{color:#526258;font-size:.72rem;list-style:none;margin:.8rem 0 0;padding:0}.student-document-list li{align-items:center;border-top:1px solid #edf0ec;display:flex;gap:.5rem;justify-content:space-between;padding:.55rem 0}.student-document-list button{flex:0 0 auto;margin:0}.student-form-error{background:#fff4f1;border:1px solid #efd2cb;border-radius:.5rem;color:#8b4137;font-size:.76rem;margin:0;padding:.75rem .9rem}.student-form-actions{justify-content:flex-end;padding:.2rem 0 1rem}.student-profile-back{margin-bottom:.8rem}.student-profile-back a{color:var(--color-forest);font-size:.76rem;font-weight:700;text-decoration:none}.student-profile-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1.15rem}.student-profile-identity{justify-content:flex-start}.student-profile-avatar{font-size:1.35rem;height:4rem;width:4rem}.student-profile-id{color:var(--color-muted);font-size:.69rem;margin:0 0 .25rem}.student-profile-header h2{margin-bottom:.45rem}.student-profile-actions{justify-content:flex-end}.student-profile-actions select{min-width:9rem}.student-profile-header .student-form-error{flex-basis:100%}.student-profile-tabs{border-bottom:1px solid #dfe7df;display:flex;gap:.25rem;margin-bottom:1rem;overflow-x:auto}.student-profile-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#718078;cursor:pointer;flex:0 0 auto;font:inherit;font-size:.75rem;font-weight:700;min-height:2.8rem;padding:.65rem .85rem}.student-profile-tabs button.is-active,.student-profile-tabs button:hover{color:var(--color-forest)}.student-profile-tabs button.is-active{border-bottom-color:#568465}.student-information-grid,.student-profile-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-information-grid{margin:1rem 0 0}.student-information-item dt{color:#829087;font-size:.64rem;margin-bottom:.22rem}.student-information-item dd{color:#34473a;font-size:.76rem;font-weight:650;margin:0;overflow-wrap:anywhere}.student-emergency-panel{grid-column:1/-1}.student-guardian-list{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.student-guardian-card{align-items:flex-start;background:#fbfcfa;border:1px solid #e9eee8;border-radius:.7rem;display:flex;gap:.85rem;padding:1rem}.student-guardian-avatar{height:2.8rem;width:2.8rem}.student-guardian-details{flex:1 1;min-width:0}.student-guardian-heading{justify-content:flex-start;flex-wrap:wrap}.student-guardian-heading h3{color:var(--color-forest-dark);font-size:.85rem;margin:0}.student-guardian-heading h3 a{color:inherit;text-decoration:none}.student-guardian-heading h3 a:hover{text-decoration:underline}.student-guardian-details>p{color:var(--color-muted);font-size:.7rem;margin:.25rem 0 0}.student-guardian-details dl{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:.85rem 0 0}.student-primary-badge{background:#e8f2e7;border-radius:999px;color:#45704e;font-size:.59rem;font-weight:750;padding:.25rem .5rem}.student-future-panel{align-items:flex-start;display:flex;flex-direction:column}.student-future-panel p{color:var(--color-muted);font-size:.77rem;margin:.5rem 0 0}.access-active{background:#e7f3e8;color:#39714a}.access-pending-activation{background:#fff3db;color:#8a661e}.access-disabled{background:#f0f1ef;color:#657169}.guardian-result-count{color:var(--color-muted);font-size:.7rem;margin:-.35rem 0 .8rem}.guardian-table-wrap{max-width:100%;overflow-x:auto}.guardian-table{min-width:62rem}.guardian-card-list{display:none}.guardian-mobile-card dl{grid-template-columns:7rem minmax(0,1fr)}.guardian-mobile-card dl>div{display:grid;grid-gap:.4rem;gap:.4rem;grid-template-columns:subgrid}.student-linked-guardian-summary{align-content:center;background:#f5f8f4;border:1px solid #e6ece5;border-radius:.55rem;display:grid;grid-gap:.25rem;gap:.25rem;min-width:0;padding:.65rem}.student-linked-guardian-summary strong{color:var(--color-forest-dark);font-size:.76rem}.student-linked-guardian-summary a,.student-linked-guardian-summary span{color:var(--color-muted);font-size:.67rem}.student-linked-guardian-summary a{color:var(--color-forest);font-weight:700}.student-relationship-flags{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:.8rem}.student-relationship-flags label{align-items:center;color:#526258;display:inline-flex;font-size:.69rem;gap:.4rem}.student-relationship-flags input{accent-color:var(--color-forest);height:1rem;margin:0;width:1rem}.guardian-access-control{color:#43554a;display:block;font-size:.73rem;font-weight:700;max-width:24rem}.guardian-access-control select,.guardian-access-grid select{background:white;border:1px solid #dce4dc;border-radius:.5rem;display:block;font:inherit;font-size:.78rem;margin-top:.35rem;min-height:2.7rem;padding:.6rem .7rem;width:100%}.guardian-access-explanation{color:var(--color-muted);font-size:.75rem;margin:.5rem 0 1rem;max-width:48rem}.guardian-access-subheading{color:var(--color-forest-dark);font-size:.83rem;margin:1.2rem 0 .5rem}.guardian-access-list{list-style:none;margin:0;max-width:42rem;padding:0}.guardian-access-list li{align-items:center;border-top:1px solid #edf0ec;color:#43554a;display:flex;font-size:.73rem;gap:.75rem;justify-content:space-between;padding:.65rem 0}.guardian-access-list strong{color:var(--color-forest);font-size:.68rem}.guardian-linked-students{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.8rem}.guardian-linked-student-card{align-items:center;background:#fbfcfa;border:1px solid #e9eee8;border-radius:.7rem;display:flex;gap:.75rem;padding:.85rem}.guardian-linked-student-details{flex:1 1;min-width:0}.guardian-linked-student-details h3{color:var(--color-forest-dark);font-size:.82rem;margin:0}.guardian-linked-student-details>p{color:var(--color-muted);font-size:.67rem;margin:.2rem 0 0}.guardian-link-flags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.guardian-link-flags span{background:#eef4ec;border-radius:999px;color:#58735e;font-size:.58rem;font-weight:650;padding:.2rem .45rem}@media (max-width:900px){.student-table{min-width:52rem}.student-profile-grid{grid-template-columns:minmax(0,1fr)}.student-emergency-panel{grid-column:auto}}@media (max-width:680px){.student-list-toolbar{align-items:flex-start;flex-direction:column}.student-list-toolbar>.button{width:100%}.student-filters{grid-template-columns:minmax(0,1fr)}.student-table-wrap{display:none}.student-card-list{display:grid;grid-gap:.75rem;gap:.75rem}.guardian-table-wrap{display:none}.guardian-card-list{display:grid;grid-gap:.75rem;gap:.75rem}.student-mobile-card{border:1px solid #e8ede7;border-radius:.7rem;padding:.85rem}.student-mobile-card-heading{align-items:flex-start}.student-mobile-card dl{display:grid;grid-gap:.55rem;gap:.55rem;margin:.8rem 0}.student-mobile-card dl>div{display:grid;grid-gap:.4rem;gap:.4rem;grid-template-columns:7rem minmax(0,1fr)}.student-mobile-card dt{color:#829087;font-size:.65rem}.student-mobile-card dd{color:#43554a;font-size:.69rem;margin:0;overflow-wrap:anywhere}.student-document-upload,.student-form-grid,.student-guardian-details dl,.student-information-grid{grid-template-columns:minmax(0,1fr)}.student-profile-header,.student-profile-identity{align-items:flex-start}.student-profile-actions{align-items:stretch;flex-direction:column;width:100%}.student-profile-actions select,.student-profile-actions>*{width:100%}.guardian-linked-student-card{align-items:flex-start;flex-wrap:wrap}.guardian-linked-student-card>.student-secondary-button{flex-basis:100%}.student-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-prototype-note{text-align:left}}.school-muted{color:var(--color-muted);display:block;font-size:.75rem;margin-top:.2rem}.school-checklist{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:1rem}.school-checklist h3,.school-record-list>h3,.student-enrollment-history h3{color:var(--color-forest-dark);font-size:.95rem;margin:0 0 .6rem}.school-checklist>label{align-items:center;background:#fbfcfa;border:1px solid #e7ece6;border-radius:.6rem;display:flex;flex-wrap:wrap;gap:.65rem;padding:.7rem .8rem}.school-checkbox-field>input[type=checkbox],.school-checklist>label>input[type=checkbox]{accent-color:var(--color-forest);height:1rem;width:1rem}.school-checklist>label>span{color:#34463a;flex:1 1 12rem;font-size:.86rem}.school-checklist small{color:var(--color-muted);display:block}.school-checklist select,.school-entry-kind select{border:1px solid #dce4da;border-radius:.45rem;min-height:2.35rem;padding:.4rem .6rem}.school-configuration-columns,.school-record-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.school-record-card{background:#fff;border:1px solid #e8ede7;border-radius:.7rem;display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:1rem}.school-record-card h3,.school-record-card p{margin:0}.school-record-card h3{color:var(--color-forest-dark);font-size:1rem}.school-record-card h3 a{color:inherit;text-decoration:none}.school-record-card p,.school-record-card span{color:var(--color-muted);font-size:.82rem}.school-record-list{margin-top:1.25rem}.school-record-list>.school-record-card+.school-record-card{margin-top:.7rem}.school-entry-kind{align-items:center;display:flex;gap:.7rem;margin:.8rem 0}.school-entry-kind select{min-width:12rem}.school-checkbox-field{align-items:center;display:flex;flex-direction:row!important}.school-inline-form{background:#f7f9f6;border-radius:.7rem;margin:1rem 0;padding:1rem}.student-enrollment-history{border-top:1px solid #e9eee8;margin-top:1rem;padding-top:1rem}.student-enrollment-history-row{align-items:center;border-bottom:1px solid #edf0ec;color:#536357;display:grid;font-size:.8rem;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.65rem 0}.student-enrollment-history-row a{color:var(--color-forest);font-weight:650}.teacher-class-roster{margin-bottom:1rem}.teacher-prototype-note{color:var(--color-muted);font-size:.75rem;margin:.8rem 0}.school-mobile-list{display:none}@media (max-width:900px){.school-configuration-columns,.school-record-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.school-mobile-list{display:grid;grid-gap:.75rem;gap:.75rem}.school-entry-kind{align-items:stretch;flex-direction:column}.student-enrollment-history-row{align-items:flex-start;grid-template-columns:minmax(0,1fr)}}.auth-page{align-items:center;background:linear-gradient(145deg,#eff5ef,#f8f8f2);display:flex;justify-content:center;min-height:100vh;padding:1.25rem}.auth-card{background:#fff;border:1px solid #e2eae1;border-radius:1rem;box-shadow:0 1.5rem 4rem #193b2a12;max-width:28rem;padding:clamp(1.4rem,5vw,2.5rem);width:100%}.management-setup-card{max-width:39rem}.setup-name-fields{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-complete-notice{background:#e9f5ec;border:1px solid #bddcc4;border-radius:.65rem;color:#1d5631;margin:0 0 1.25rem;padding:.9rem 1rem}.operations-summary{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.2rem 0}.operations-summary a{background:#fff;border:1px solid #e1e9e0;border-radius:.8rem;color:var(--color-forest-dark);display:grid;grid-gap:.35rem;gap:.35rem;padding:1rem;text-decoration:none}.operations-summary strong{font-size:1.25rem}.operations-summary span{color:var(--color-muted);font-size:.8rem}@media (max-width:700px){.operations-summary,.setup-name-fields{grid-template-columns:minmax(0,1fr)}}.auth-brand{color:var(--color-forest-dark);display:inline-flex;flex-direction:column;font-size:1.25rem;font-weight:750;margin-bottom:2rem;text-decoration:none}.auth-brand span{color:var(--color-muted);font-size:.72rem;font-weight:500}.auth-card h1{color:var(--color-forest-dark);margin:.3rem 0 .5rem}.auth-card>p:not(.eyebrow){color:var(--color-muted);line-height:1.55}.auth-card form{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.4rem}.auth-card form label{color:#34463a;display:grid;font-size:.85rem;font-weight:650;grid-gap:.4rem;gap:.4rem}.auth-card input{border:1px solid #dce4da;border-radius:.55rem;font:inherit;min-height:2.8rem;padding:.65rem .75rem}.auth-card input:focus{border-color:var(--color-forest);outline:3px solid #174c3c24}.auth-note{border-top:1px solid #edf0ec;font-size:.76rem;margin-top:1.4rem;padding-top:1rem}.logout-control>button,.logout-control>span{color:var(--color-forest)}.logout-control>button{background:none;border:0;cursor:pointer;font:inherit;font-weight:650;padding:.2rem 0}.logout-control>span{display:block;font-size:.75rem}.attendance-filters{align-items:end;display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-bottom:1rem}.attendance-filters label,.attendance-roster-row label{color:#34463a;display:grid;font-size:.8rem;font-weight:650;grid-gap:.35rem;gap:.35rem}.attendance-filters input,.attendance-filters select,.attendance-roster-row select{background:#fff;border:1px solid #dce4da;border-radius:.5rem;font:inherit;min-height:2.55rem;padding:.45rem .65rem;width:100%}.attendance-roster-heading{align-items:center;border-bottom:1px solid #edf0ec;display:flex;gap:1rem;justify-content:space-between;padding:.5rem 0 1rem}.attendance-roster-heading h2,.attendance-roster-heading p{margin:0}.attendance-roster-heading h2{color:var(--color-forest-dark);font-size:1.1rem}.attendance-roster-heading p{color:var(--color-muted);font-size:.8rem;margin-top:.25rem}.attendance-roster-row{align-items:center;border-bottom:1px solid #edf0ec;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(9rem,14rem);padding:.75rem 0}.attendance-roster-row>div{display:grid;grid-gap:.2rem;gap:.2rem}.attendance-roster-row strong{color:#34463a;font-size:.9rem}.attendance-roster-row>div>span{color:var(--color-muted);font-size:.75rem}.attendance-summary-counts{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.attendance-summary-counts article{background:#f7f9f6;border:1px solid #e8ede7;border-radius:.65rem;display:grid;grid-gap:.35rem;gap:.35rem;padding:.85rem}.attendance-summary-counts span{color:var(--color-muted);font-size:.75rem}.attendance-summary-counts strong{color:var(--color-forest-dark);font-size:1.35rem}.attendance-success{background:#eff8f0;border:1px solid #cbe6ce;border-radius:.55rem;color:#245c35;padding:.75rem 1rem}@media (max-width:680px){.attendance-roster-heading{align-items:stretch;flex-direction:column}.attendance-roster-row{align-items:stretch;grid-template-columns:minmax(0,1fr)}.attendance-summary-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}