@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";
:root{--ink:#17231d;--muted:#67736c;--cream:#f7f6f0;--paper:#fffefa;--line:#dedfd8;--green:#27634b;--green-dark:#184633;--mint:#dcece2;--gold:#dba84c}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.brand{letter-spacing:-.2px;align-items:center;gap:11px;font:700 15px Manrope,sans-serif;display:flex}.brand-mark{background:var(--green);color:#fff;letter-spacing:.3px;border-radius:10px;place-items:center;min-width:40px;height:34px;padding:0 7px;font:700 11px Manrope,sans-serif;display:grid}.brand-light .brand-mark{color:var(--green-dark);background:#fff}.eyebrow{color:var(--green);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.eyebrow.light{color:#b9d8c7}.muted{color:var(--muted)}.muted.large{font-size:17px}.mobile-brand{display:none}.login-shell{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(145deg,#183c2e 0%,#24543f 58%,#39745a 100%);flex-direction:column;justify-content:space-between;min-height:720px;padding:48px 7vw;display:flex;position:relative;overflow:hidden}.login-story:before,.login-story:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:560px;height:560px;position:absolute;bottom:-190px;right:-240px}.login-story:after{background:#ffffff0a;width:380px;height:380px;bottom:-210px;right:-90px}.story-copy{z-index:1;max-width:620px;position:relative}.story-copy h1{letter-spacing:-4px;margin:0 0 30px;font:600 clamp(50px,6vw,82px)/.98 Manrope}.story-copy>p:last-child{color:#dbe8df;max-width:510px;font-size:18px;line-height:1.65}.story-note{color:#bed2c4;font-size:13px}.login-panel{background:var(--paper);place-items:center;padding:60px;display:grid}.login-card{width:min(420px,100%)}.login-card h2{letter-spacing:-1.6px;margin:0 0 10px;font:600 38px Manrope}.login-card>.muted{margin:0 0 32px}.form-stack{gap:19px;display:grid}.form-stack label{gap:8px;font-size:13px;font-weight:700;display:grid}.form-stack input{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd1cc;border-radius:9px;outline:none;padding:14px 15px}.form-stack input:focus{border-color:var(--green);box-shadow:0 0 0 3px #27634b1a}.button{border:0;border-radius:9px;padding:14px 18px;font-weight:700;transition:all .2s}.button.primary{background:var(--green);color:#fff;justify-content:center;gap:14px;display:flex}.button.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.button.secondary{background:var(--ink);color:#fff;padding:10px 14px}.button.completed{background:var(--mint);color:var(--green);padding:10px 14px}.help{text-align:center;color:#89918c;margin-top:28px;font-size:12px}.alert{border-radius:8px;margin:18px 0;padding:11px 13px;font-size:13px}.alert.error{color:#8b3327;background:#f9e8e4}.alert.success{color:#226144;background:#e2f2e8}.app-header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 max(28px,50vw - 590px);display:flex}.app-header nav{align-items:center;gap:24px;font-size:13px;font-weight:600;display:flex}.app-header nav>a:hover{color:var(--green)}.app-header form{margin:0}.user-pill{align-items:center;gap:8px;display:flex}.user-pill>span{background:var(--mint);width:28px;height:28px;color:var(--green);border-radius:50%;place-items:center;font-weight:700;display:grid}.text-button{color:var(--green);background:0 0;border:0;padding:5px;font-size:12px;font-weight:700}.page-shell{width:min(1180px,100% - 48px);margin:0 auto;padding:64px 0 90px}.welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:60px;display:flex}.welcome-row h1,.admin-hero h1{letter-spacing:-2.4px;margin:0 0 12px;font:600 clamp(38px,5vw,58px) Manrope}.progress-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;width:310px;padding:20px 22px}.progress-card>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.progress-card strong{font:600 26px Manrope}.progress-card span,.progress-card small{color:var(--muted);font-size:12px}.progress-track{background:#e6e8e3;border-radius:9px;height:7px;margin:13px 0 10px;overflow:hidden}.progress-track span{background:var(--green);border-radius:9px;height:100%;display:block}.section-title{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.section-title h2,.panel h2{letter-spacing:-.6px;margin:0 0 5px;font:600 23px Manrope}.section-title p{margin:0}.section-title>span,.count-badge{color:var(--muted);background:#eaeae4;border-radius:20px;padding:6px 10px;font-size:12px}.lesson-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;grid-template-columns:145px 1fr;min-height:230px;transition:all .2s;display:grid;overflow:hidden}.lesson-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1a2d2414}.lesson-art{background:#d7e6dd;place-items:center;display:grid}.lesson-art span{width:70px;height:70px;color:var(--green);background:#ffffffa6;border-radius:50%;place-items:center;font:600 24px Manrope;display:grid}.art-2{background:#e9dec4}.art-2 span{color:#805c1d}.art-3{background:#d9dfec}.art-3 span{color:#3d527d}.art-4{background:#ead8d3}.art-4 span{color:#80483c}.lesson-card.done{opacity:.84}.lesson-body{flex-direction:column;padding:24px;display:flex}.lesson-meta{color:var(--green);text-transform:uppercase;letter-spacing:1px;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.lesson-body h3{margin:12px 0 8px;font:600 20px Manrope}.lesson-body p{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.5}.lesson-body form{margin-top:auto}.admin-page{padding-top:48px}.admin-hero{color:#fff;background:var(--green-dark);border-radius:18px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:38px 42px;display:flex}.admin-hero h1{font-size:42px}.admin-hero p:last-child{color:#c4d7cb;margin:0}.admin-stats{gap:42px;display:flex}.admin-stats div{text-align:center;display:grid}.admin-stats strong{font:600 35px Manrope}.admin-stats span{text-transform:uppercase;letter-spacing:1px;color:#b9cec1;font-size:11px}.admin-layout{grid-template-columns:minmax(0,1fr) 340px;gap:22px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:15px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding:24px 25px 18px;display:flex}.panel-heading p{margin:0;font-size:13px}.user-table{overflow-x:auto}.table-row{border-bottom:1px solid #e9e9e3;grid-template-columns:1.5fr .7fr .8fr .7fr .4fr;align-items:center;min-width:670px;padding:15px 24px;font-size:12px;display:grid}.table-row:last-child{border-bottom:0}.table-head{color:#8a928d;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.user-cell{align-items:center;gap:11px;display:flex}.user-cell>b{background:var(--mint);width:34px;height:34px;color:var(--green);border-radius:9px;place-items:center;display:grid}.user-cell>span{gap:2px;display:grid}.user-cell small{color:var(--muted)}.role,.status{text-transform:capitalize;border-radius:20px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:700}.role.admin{color:#765a21;background:#ece4cf}.role.learner{color:#4b5e7b;background:#e6ebf2}.status.active{color:#23704c;background:#e1f1e6}.status.inactive{color:#7a6251;background:#eee8e1}.create-panel{padding:27px}.create-panel>h2{font-size:25px}.create-panel>.muted{margin-bottom:24px;font-size:13px;line-height:1.5}.security-note{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin-top:24px;padding-top:20px;font-size:11px;line-height:1.5;display:flex}.security-note>span{color:var(--green)}.security-note p{margin:0}@media (max-width:850px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:32px}.mobile-brand{margin-bottom:70px;display:flex}.welcome-row{align-items:start;gap:28px}.lesson-grid,.admin-layout{grid-template-columns:1fr}.create-panel{grid-row:1}.admin-hero{align-items:flex-start;gap:30px}.app-header nav>a,.user-pill{display:none}}@media (max-width:600px){.app-header{padding:0 18px}.page-shell{width:calc(100% - 30px);padding-top:40px}.welcome-row,.admin-hero{display:block}.progress-card{width:100%;margin-top:28px}.lesson-card{grid-template-columns:1fr}.lesson-art{height:115px}.section-title{align-items:start}.admin-hero{padding:28px}.admin-stats{margin-top:28px}.story-copy h1{letter-spacing:-2px}}.cef-login{color:#fff;background:#292b43;grid-template-rows:94px minmax(620px,1fr) 18px;min-height:100vh;display:grid}.cef-nav{background:#292b43;border-top:5px solid #f5792d;justify-content:space-between;align-items:center;padding:0 clamp(28px,8vw,150px);display:flex}.cef-logo{align-items:center;gap:14px;display:flex}.cef-seal{letter-spacing:-1px;border:3px solid #fff;border-radius:50%;place-items:center;width:58px;height:58px;font:800 15px Manrope;display:grid}.cef-logo>span:last-child{display:grid}.cef-logo small{text-transform:uppercase;letter-spacing:1.5px;font-size:9px}.cef-logo strong{letter-spacing:2px;font:700 29px/1 Manrope}.portal-label{text-transform:uppercase;letter-spacing:2px;color:#c8c9d1;font-size:12px;font-weight:700}.cef-hero{isolation:isolate;background:linear-gradient(90deg,#1b1d2ff0,#232538b8),radial-gradient(circle at 18% 35%,#82838a 0 2%,#0000 2.5%),linear-gradient(125deg,#565861 0 24%,#9d9ea2 24% 27%,#454750 27% 55%,#74757b 55% 58%,#363842 58%);grid-template-columns:1.2fr .8fr;align-items:center;gap:8vw;padding:70px clamp(28px,8vw,150px);display:grid;position:relative;overflow:hidden}.cef-hero:before{content:"";z-index:-1;mix-blend-mode:screen;background:repeating-linear-gradient(115deg,#0000 0 90px,#ffffff09 91px 93px);position:absolute;inset:0}.cef-hero:after{content:"VOLUNTEER TRAINING";z-index:-1;letter-spacing:-8px;color:#ffffff09;white-space:nowrap;font:800 clamp(70px,12vw,190px)/.8 Manrope;position:absolute;bottom:-20px;left:-15px}.hero-message{max-width:720px}.hero-kicker{text-transform:uppercase;letter-spacing:4px;margin:0 0 22px;font-size:13px;font-weight:700}.hero-message h1{letter-spacing:4px;justify-items:start;gap:9px;margin:0 0 28px;font:800 clamp(58px,7vw,105px)/.82 Manrope;display:grid}.hero-message h1 span{background:#f5792d;padding:12px 20px 14px;display:block}.hero-message h1 span:nth-child(2){background:#50ba98}.hero-message h1 span:nth-child(3){background:#ffb43f}.hero-message>p:last-child{color:#eeeef1;max-width:590px;font-size:18px;line-height:1.6}.cef-login-card{color:#292b43;background:#fffffff7;border-top:8px solid #50ba98;justify-self:end;width:min(430px,100%);padding:38px 40px 34px;box-shadow:0 24px 70px #00000047}.cef-login-card .eyebrow{color:#f06d25}.cef-login-card h2{letter-spacing:-1px;margin:0 0 10px;font:700 34px Manrope}.cef-login-card>.muted{margin:0 0 25px;font-size:14px;line-height:1.55}.cef-login-card .form-stack input{border:2px solid #d7d7dc;border-radius:0;padding:13px 14px}.cef-login-card .form-stack input:focus{box-shadow:none;border-color:#50ba98}.cef-button{color:#fff;letter-spacing:1.8px;background:#f5792d;border-radius:0;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.cef-button:hover{background:#dc6220}.cef-login-card .help{color:#777986;margin-bottom:0}.cef-stripes{grid-template-columns:1fr 1fr 1fr;display:grid}.cef-stripes span:first-child{background:#f5792d}.cef-stripes span:nth-child(2){background:#50ba98}.cef-stripes span:nth-child(3){background:#ffb43f}@media (max-width:850px){.cef-login{grid-template-rows:82px auto 14px}.cef-nav{padding:0 22px}.cef-logo strong{font-size:21px}.cef-seal{width:48px;height:48px;font-size:12px}.portal-label{display:none}.cef-hero{grid-template-columns:1fr;gap:45px;padding:55px 22px}.hero-message h1{font-size:58px}.hero-message>p:last-child{font-size:16px}.cef-login-card{justify-self:stretch;width:100%;padding:30px 24px}}.table-row{grid-template-columns:1.35fr 1.35fr .6fr .65fr .35fr}.password-cell code{overflow-wrap:anywhere;color:#29332e;-webkit-user-select:all;user-select:all;background:#eef0eb;border-radius:5px;max-width:100%;padding:6px 8px;font:600 11px DM Sans;display:inline-block}.inline-reset{gap:5px;display:flex}.inline-reset input{border:1px solid var(--line);border-radius:5px;width:112px;min-width:0;padding:7px;font-size:11px}.inline-reset button{background:var(--green);color:#fff;border:0;border-radius:5px;min-height:32px;padding:0 9px;font-size:10px;font-weight:700}.password-cell em{color:var(--muted);font-size:10px;line-height:1.35}.delete-button{color:#a23e2c;background:#fff5f2;border:1px solid #e8c7bf;border-radius:7px;min-height:36px;padding:0 11px;font-size:11px;font-weight:700}.delete-button:hover{background:#f8dfd9}.volunteer-welcome{background:var(--paper);border:1px solid var(--line);border-radius:18px;max-width:820px;margin:40px auto;padding:clamp(30px,6vw,70px)}.volunteer-welcome h1{letter-spacing:-2.5px;margin:0 0 16px;font:600 clamp(40px,6vw,66px) Manrope}.volunteer-welcome>p:nth-child(3){color:var(--muted);font-size:17px;line-height:1.6}.coming-soon{background:var(--green-dark);color:#fff;border-radius:12px;align-items:center;gap:18px;margin-top:45px;padding:22px;display:flex}.coming-soon>span{border:2px solid #fff;border-radius:50%;place-items:center;min-width:58px;height:58px;font-weight:800;display:grid}.coming-soon>div{gap:5px;display:grid}.coming-soon strong{font:600 18px Manrope}.coming-soon small{color:#bfd2c6;line-height:1.4}@media (max-width:700px){.page-shell{width:calc(100% - 24px);padding:28px 0 60px}.app-header{height:66px}.app-header .brand{font-size:12px}.app-header .brand-mark{min-width:36px;height:32px}.admin-hero{border-radius:12px;padding:25px 22px}.admin-hero h1{letter-spacing:-1.4px;font-size:31px}.admin-hero p:last-child{font-size:13px;line-height:1.5}.admin-stats{justify-content:flex-start;gap:34px}.admin-stats div{text-align:left}.admin-layout{gap:14px}.panel{border-radius:12px}.create-panel{padding:22px}.create-panel .button{min-height:50px}.panel-heading{padding:20px 18px}.panel-heading>div{max-width:72%}.user-table{background:#f2f2ed;padding:10px;overflow:visible}.table-head{display:none}.table-row{background:var(--paper);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto;gap:14px;min-width:0;margin-bottom:10px;padding:17px 15px;display:grid}.table-row:last-child{border-bottom:1px solid var(--line);margin-bottom:0}.user-cell{border-bottom:1px solid #e8e9e3;grid-column:1/-1;padding-bottom:12px}.password-cell{grid-column:1/-1;gap:6px;display:grid}.password-cell:before{content:attr(data-label);letter-spacing:1px;text-transform:uppercase;color:#8a928d;font-size:9px;font-weight:700}.password-cell code{padding:9px;font-size:12px}.table-row>span[data-label]{align-items:center;gap:8px;display:flex}.table-row>span[data-label]:before{content:attr(data-label);letter-spacing:1px;text-transform:uppercase;color:#8a928d;font-size:9px;font-weight:700}.row-action{justify-content:flex-end;align-items:center;display:flex}.row-action .delete-button{min-height:42px;padding:0 14px}.volunteer-welcome{margin:10px auto;padding:28px 22px}.volunteer-welcome h1{letter-spacing:-1.5px;font-size:38px}.coming-soon{align-items:flex-start;padding:18px 16px}.coming-soon>span{min-width:48px;height:48px;font-size:12px}.cef-hero{padding-top:38px}.hero-message h1{letter-spacing:2px;font-size:50px}.hero-message h1 span{padding:9px 14px 11px}.cef-login-card{padding:26px 20px}.cef-login-card h2{font-size:29px}}.library-intro{justify-content:space-between;align-items:center;gap:32px;margin-bottom:44px;display:flex}.library-intro h1{letter-spacing:-2px;margin:0 0 16px;font:600 clamp(34px,4.5vw,54px)/1.12 Manrope,sans-serif}.library-intro p:last-child{color:var(--muted);max-width:620px;margin:0;line-height:1.6}.library-total{color:var(--muted);border-left:1px solid var(--line);flex-shrink:0;gap:4px;padding-left:30px;font-size:12px;display:grid}.library-total strong{color:var(--green);font:600 40px Manrope}.library-layout{grid-template-columns:240px minmax(0,1fr);gap:36px;display:grid}.library-sidebar{border-right:1px solid var(--line);padding-right:24px}.library-sidebar>a{border-radius:8px;margin-bottom:5px;padding:13px 14px;font-size:13px;line-height:1.5;display:block}.library-sidebar>a:hover,.library-sidebar>a.selected{background:var(--mint);color:var(--green-dark)}.library-sidebar>a.selected{font-weight:700}.library-tip{background:#ede9dc;border-radius:10px;margin-top:32px;padding:20px;font-size:13px;line-height:1.6}.library-tip p{color:var(--muted)}.library-tip a{color:var(--green);font-weight:700}.resource-search{margin-bottom:26px}.resource-search label{margin-bottom:9px;font-size:12px;font-weight:700;display:block}.resource-search>div{gap:10px;display:flex}.resource-search input{border:1px solid var(--line);background:var(--paper);min-width:0;color:var(--ink);border-radius:9px;flex:1;padding:14px}.resource-breadcrumb{color:var(--muted);overflow-wrap:anywhere;margin-bottom:20px;font-size:12px;line-height:1.9}.resource-breadcrumb a:hover{color:var(--green);text-decoration:underline}.library-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.library-heading h2{letter-spacing:-.7px;overflow-wrap:anywhere;margin:0 0 8px;font:600 25px Manrope}.library-heading p{color:var(--muted);margin:0;font-size:13px}.library-heading>a{color:var(--green);white-space:nowrap;font-size:12px;font-weight:700}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.resource-entry{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:18px;padding:21px;transition:border-color .15s,background .15s;display:flex}.resource-entry:hover{border-color:var(--green);background:#f1f6ef}.resource-entry>div{flex:1;min-width:0}.resource-entry h3{overflow-wrap:anywhere;margin:3px 0;font:600 16px/1.5 Manrope}.resource-entry p{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.6}.resource-kind{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.resource-icon{color:#425466;background:#e9edf0;border-radius:9px;flex-shrink:0;place-items:center;width:46px;height:50px;font-size:10px;font-weight:700;display:grid}.folder-icon{color:#7e622b;background:#e9dec4;font-size:25px}.resource-arrow{color:var(--green);font-size:20px}.collection-grid .resource-entry{min-height:232px;padding:25px;display:block;position:relative}.collection-grid .resource-icon{margin-bottom:18px}.collection-grid .resource-arrow{position:absolute;top:33px;right:25px}.resource-list{gap:10px;display:grid}.library-footnote{color:var(--muted);margin:26px 0 0;font-size:12px;line-height:1.7}.resource-empty{text-align:center;border:1px dashed var(--line);border-radius:12px;padding:40px 24px}.resource-empty p{color:var(--muted)}.resource-empty a,.resource-back{color:var(--green);font-size:13px;font-weight:700}.resource-detail-heading{justify-content:space-between;align-items:center;gap:30px;margin:26px 0;display:flex}.resource-detail-heading h1{overflow-wrap:anywhere;margin:0;font:600 clamp(25px,3vw,38px)/1.3 Manrope}.resource-detail-heading>a{flex-shrink:0;font-size:12px}.resource-preview{border:1px solid var(--line);background:#eeeee9;border-radius:12px;width:100%;height:min(72vh,850px);min-height:420px;display:block}.resource-back{margin-top:24px;display:inline-block}:focus-visible{outline-offset:4px;outline:3px solid #bc842a}@media (max-width:850px){.app-header nav>a.library-nav-link{display:block}.app-header nav{gap:14px}.library-layout{grid-template-columns:1fr;gap:24px}.library-sidebar{border-right:0;flex-wrap:wrap;gap:6px;padding:0;display:flex}.library-sidebar>.eyebrow,.library-tip{display:none}.library-sidebar>a{background:#eaece5;margin:0;padding:9px 11px;font-size:12px}.library-intro{margin-bottom:26px}.library-total{padding-left:20px}.resource-detail-heading{flex-direction:column;align-items:flex-start;gap:18px}}@media (max-width:560px){.app-header{flex-wrap:wrap;gap:12px;height:auto;min-height:76px;padding:14px 16px}.app-header .brand{font-size:12px}.app-header nav{gap:18px}.library-intro h1{letter-spacing:-1.3px;font-size:34px}.library-total{display:none}.collection-grid{grid-template-columns:1fr}.collection-grid .resource-entry{min-height:0;padding:20px}.library-heading{flex-direction:column;align-items:flex-start;gap:12px}.library-heading h2{font-size:23px}.resource-entry{gap:12px;padding:16px}.resource-search input{font-size:14px}.resource-search button{padding:12px}.resource-preview{height:65vh;min-height:380px}}
