:root{--green:#84d34e;--ink:#1b2d20;--sub:#7c8d72;--border:#dce5d4}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans',system-ui,sans-serif;background:#f2f5ec;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{font-size:28px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.5px}p{color:var(--sub);line-height:1.8}button{border:0;background:none;color:inherit}input,select,textarea{width:100%;min-width:0;border:1px solid #d2ddc8;background:#fff;border-radius:6px;padding:12px;color:#294024}textarea{min-height:90px;resize:vertical}label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#6f8165}button:disabled{opacity:.5;cursor:wait}a,button,input,select,textarea{outline-offset:4px}.primary,.secondary{padding:12px 18px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:12px;font-weight:650}.primary{background:var(--green);color:#183410}.secondary{border:1px solid #d0dec5;background:#fff;color:#718366}.primary:hover{background:#96de60}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#7d9b64;font-weight:600;margin-bottom:13px}.authshell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(ellipse at top right,#314b2b,#10251c 70%)}.authbrand{display:flex;align-items:center;gap:18px;margin-bottom:30px;color:#e7f0de;font-size:11px;letter-spacing:2px;font-weight:650}.authbrand img{width:90px;height:48px;object-fit:contain}.authcard{background:#f7f9f2;border:1px solid #5a7a4544;border-radius:13px;width:100%;max-width:450px;padding:37px;box-shadow:0 20px 70px #06130a40}.authcard>p{font-size:12px;margin-top:15px}.authcard form{margin-top:25px}.authcard label{margin-top:18px}.authcard .primary{width:100%;justify-content:space-between;margin-top:24px}.authcard .authhint{font-size:10px;line-height:1.9;color:#94a186;margin-top:22px}.backsite{font-size:11px;color:#a8bc98;margin-top:26px}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#e7eedf;padding:5px;border-radius:7px;margin:25px 0}.roles a{font-size:10px;text-align:center;padding:10px 3px;border-radius:5px;color:#859573}.roles a.active{background:#fff;color:#527a35;box-shadow:0 2px 5px #283d1820}.error{border:1px solid #e9c4b4;background:#fff0e9;color:#a55b38;border-radius:6px;padding:13px;font-size:12px;margin:18px 0}.layout{display:flex;min-height:100vh}.sidebar{width:235px;position:fixed;inset:0 auto 0 0;background:#12261a;padding:25px 17px;display:flex;flex-direction:column;color:#afc49d;border-right:1px solid #2e4726}.portalbrand{text-align:center;padding:0 10px 27px;border-bottom:1px solid #31492a;margin-bottom:25px}.portalbrand img{width:135px;height:62px;object-fit:contain;margin:auto}.portalbrand strong{font-size:10px;letter-spacing:1.5px;display:block;color:#d7e8c7;margin-top:10px}.rolelabel{font-size:9px;letter-spacing:1.8px;margin:0 12px 15px;color:#72935e}.sidebar nav{display:grid;gap:5px}.sidebar nav button{padding:12px 15px;text-align:left;border-radius:6px;color:#92ab80;font-size:12px}.sidebar nav button.active{background:#284222;color:#bfe99c}.sidebottom{margin-top:auto;padding:35px 12px 0;font-size:10px;display:grid;gap:17px}.sidebottom button{text-align:left;color:#c5d9b5;font-size:11px}.body{margin-left:235px;flex:1;min-width:0}.portalheader{height:72px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:15px;padding:0 32px;font-size:11px;color:#92a085}.portalheader>span:last-child{margin-left:auto}.portalheader strong{color:#4d6640;font-weight:500}.hamb{display:none;font-size:24px}.content{max-width:1400px;padding:34px 32px;margin:auto}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.pagehead p{font-size:12px;margin-top:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat,.panel{background:#fff;border:1px solid var(--border);border-radius:9px}.stat{padding:23px}.stat span{font-size:11px;color:#8b997d}.stat strong{display:block;font-size:30px;font-family:Manrope;margin-top:10px;letter-spacing:-1px}.panelhead{padding:23px 24px;border-bottom:1px solid #e9eee4;display:flex;align-items:center;justify-content:space-between;gap:20px}.panelhead h2{font-size:17px}.panelhead p{font-size:11px;margin-top:6px}.panelhead input{max-width:320px;font-size:12px}.tablewrap{overflow:auto}table{width:100%;text-align:left;border-collapse:collapse;white-space:nowrap}th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#8b9a7c;background:#fbfcf8;padding:13px 23px}td{font-size:12px;color:#6d805f;padding:18px 23px;border-top:1px solid #edf1e8}td strong{font-size:12px;color:#415b34;font-weight:600}td small{display:block;font-size:10px;color:#96a489;margin-top:6px}.badge{display:inline-flex;padding:5px 8px;background:#eaf3df;color:#7b9a5a;font-size:9px;border-radius:5px}.badge.warn{background:#fbf3df;color:#ad9656}.actions{display:flex;gap:10px}.actions button{font-size:10px;color:#68854f;text-decoration:underline;padding:5px}.empty{text-align:center;padding:60px 25px}.empty h3{font-size:16px;color:#5d774a}.empty p{font-size:12px;margin-top:12px}.empty .primary{margin-top:20px}.notice{font-size:11px;background:#e5efda;border:1px solid #d4e2c7;border-radius:7px;padding:16px 20px;margin-bottom:23px;color:#7c9365;line-height:1.8}.profile{padding:28px}.profile h2{margin-bottom:20px}.profile p{font-size:13px;margin:13px 0}.profile form{max-width:400px;display:grid;gap:20px;margin-top:28px}.remun{font-size:25px;color:#4e7535}.footer{margin-top:25px;padding-top:20px;border-top:1px solid #dce5d2;font-size:9px;color:#a1ad94;display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid #d8e3cf;background:#fdfefa;color:var(--ink);padding:0;border-radius:12px;width:610px;max-width:calc(100% - 30px);max-height:90vh;box-shadow:0 20px 90px #0b1b1040}dialog::backdrop{background:#11281799;backdrop-filter:blur(5px)}.dialoghead{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.iconbutton{font-size:25px;color:#88a372;padding:0 5px}.dialoghead .eyebrow{margin-bottom:9px}.formfields{display:grid;grid-template-columns:1fr 1fr;padding:26px 28px;gap:20px}.formfields .wide{grid-column:1/-1}.dialogactions{padding:20px 28px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}#formerror{margin:0 28px 20px}#inviteresult>p,#inviteresult>label{margin:22px 28px;font-size:12px}#inviteresult>.primary{margin:0 28px 25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:200;background:#264422;color:#e1f0d3;padding:16px 23px;border-radius:7px;max-width:90%;font-size:12px;box-shadow:0 5px 25px #0002}[hidden]{display:none!important}.lessontime{font-size:12px;white-space:normal}.subnote{font-size:10px;line-height:1.8;color:#9baa8b}.schedulegrid{display:grid;gap:15px;padding:23px}.lesson{border:1px solid #dce5d2;border-left:3px solid #88b65e;border-radius:6px;padding:18px;display:flex;align-items:center;gap:22px}.lesson strong{font-size:13px}.lesson p{font-size:11px}.lesson .actions{margin-left:auto}@media(max-width:900px){.sidebar{width:205px}.body{margin-left:205px}.content{padding:27px 23px}.stats{gap:12px}.stat{padding:18px}.pagehead h1{font-size:25px}.portalheader{padding-inline:23px}.panelhead{flex-wrap:wrap}.panelhead input{max-width:none}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:235px;z-index:60}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vw #0004}.body{margin:0;width:100%}.hamb{display:block}.portalheader{height:63px}.portalheader>span:last-child{font-size:9px}.pagehead{align-items:flex-start;flex-direction:column;gap:17px}.pagehead h1{font-size:26px}.content{padding:26px 17px}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{margin:0;font-size:25px}.formfields{grid-template-columns:1fr;padding:24px}.formfields .wide{grid-column:auto}.authcard{padding:29px}.authcard h1{font-size:26px}.lesson{gap:15px;flex-wrap:wrap}.lesson .actions{margin-left:0}.footer{font-size:8px;flex-direction:column;gap:9px}}

.authlinks{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:21px;border-top:1px solid #d8e2ce}.authlinks a{font-size:11px;font-weight:600;color:#648845;text-decoration:underline;text-underline-offset:4px}.authnotice{font-size:12px!important;line-height:1.9!important;background:#e8eedf;border:1px solid #d2dfc3;padding:17px;border-radius:7px;color:#70855e!important;margin-top:23px!important}.authnotice.success{background:#e5f2d7;color:#567d36!important}.authcontact{display:inline-block;color:#67864d;font-size:11px;border-bottom:1px solid #c1d0b1;padding-bottom:5px;margin-top:22px}.authcard button:disabled{opacity:.65;cursor:not-allowed}.authcard .error{color:#a55b38}
