body.login-page{background:#faf7f2;min-height:100vh;min-height:100svh;color:#344738;background-image:radial-gradient(ellipse at 12% 40%,#f1dce650,transparent 48%),radial-gradient(ellipse at 88% 80%,#e5ebd260,transparent 50%)}.login-layout{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 24px 28px}.flower-rail{position:absolute;top:0;bottom:0;width:clamp(210px,27vw,400px);background:url('flowers.svg?v=rosa-chiclete') center/contain repeat-y;pointer-events:none;opacity:.9}.flower-rail.left{left:-48px;transform:rotate(-3deg)}.flower-rail.right{right:-48px;transform:scaleX(-1) rotate(-3deg)}.login-wordmark{position:relative;font-family:var(--sans);letter-spacing:3px;font-size:12px;font-weight:600;text-align:center;margin-bottom:31px}.login-wordmark>span{display:block;color:#8c997a;font-size:7px;letter-spacing:2px;margin-top:9px}.login-card{width:min(100%,448px);padding:38px 43px 34px;border-radius:100px 100px 16px 16px;background:#fffefbeF;border:1px solid #e6e3d7;box-shadow:0 16px 65px #614a5810,0 0 0 7px #ffffff60;position:relative;z-index:1;text-align:center}.login-emblem{width:54px;height:54px;margin:0 auto 19px;border-radius:50%;background:#f4e3e8;color:#ab778a;border:1px solid #ebcfd9;display:grid;place-items:center;font-family:var(--serif);font-size:30px;font-style:italic;letter-spacing:-2px;padding-right:3px}.login-card>.eyebrow{font-size:8px;letter-spacing:1.8px;color:#86956c}.login-card h1{font-family:var(--serif);font-size:52px;line-height:1.02;letter-spacing:-1.2px;font-weight:400;margin:14px 0 15px;max-width:none}.login-card h1 em{color:#91a36d}.login-caption{color:#818573;font-size:11px;line-height:1.8;margin:0 auto 24px;max-width:290px}.login-modes{display:flex;gap:5px;background:#f0f2e7;padding:4px;border-radius:6px;margin-bottom:25px}.login-modes button{width:50%;border:0;background:transparent;color:#8a9279;font-size:10px;padding:10px 6px;border-radius:4px;transition:background .2s,color .2s}.login-modes .selected{background:white;color:#50673e;box-shadow:0 2px 6px #3447380b}.login-form{text-align:left}.login-form label{display:block;font-size:11px;font-weight:600;margin-bottom:8px;color:#526346}.login-field{position:relative;margin-bottom:19px}.login-form input{width:100%;height:47px;background:#fcfcf7;border:1px solid #dfe4d3;border-radius:5px;padding:0 13px;font-size:12px;color:#344738;outline:none}.login-form input:focus{border-color:#87a96b;box-shadow:0 0 0 3px #87a96b18}.login-form input::placeholder{color:#a4aa99}.login-form input[type=password],.login-form input[data-password]{padding-right:47px}.show-password{position:absolute;right:4px;bottom:4px;height:39px;width:39px;display:grid;place-items:center;background:none;border:0;color:#91a17a;border-radius:4px}.show-password .icon{width:18px;height:18px}.show-password:hover{background:#eef2e4}.forgot-link{font-size:10px;color:#7d8d63;display:block;text-align:right;margin:-5px 0 23px;text-decoration:underline;text-underline-offset:3px}.login-submit{width:100%;height:47px;background:var(--lime);color:#344738;border:1px solid #a8b83f;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:28px;font-weight:650;font-size:11px}.login-submit:hover:not(:disabled){background:#a5b63a}.login-submit:disabled{opacity:.65;cursor:default}.login-submit>span{font-size:17px;font-weight:400}.login-status{font-size:11px;line-height:1.8;border:1px solid #e3c2c7;background:#fbf0f1;color:#9a4a59;padding:11px 13px;margin:0 0 19px;border-radius:5px;text-align:left}.login-status[data-type=info]{color:#6f7d56;border-color:#dce3ca;background:#f3f5ea}.login-status[data-type=success]{color:#4b703a;border-color:#c3d6b1;background:#eff6e9}.login-card-foot{margin:23px 0 0;padding-top:20px;border-top:1px solid #edece3;color:#939880;font-size:8px;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:10px}.login-card-foot .icon{width:12px;height:12px}.login-bottom{position:relative;z-index:1;text-align:center;margin:26px 0 0;color:#98a087;font-size:8px;line-height:2}.login-bottom .support-address{display:block;font-size:10px;color:#7e8d65;user-select:text;margin-bottom:6px}.petal-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:15px;color:#cf9eb0;font-size:17px}.petal-divider:before,.petal-divider:after{content:'';height:1px;width:37px;background:#e7d6db}.login-loading{text-align:center;padding:60px 24px;font-family:var(--sans);font-size:13px;color:#788c60}.login-back{display:block;text-align:center;font-size:11px;color:#788b5e;margin-top:22px;text-decoration:underline;text-underline-offset:3px}.password-help{font-size:10px;color:#8b937d;line-height:1.8;margin:-7px 0 20px}.session-tools{display:flex;gap:15px;align-items:center}.session-tools a,.session-tools button{font-size:10px;color:#687c52;background:transparent;border:0;padding:7px 0}.session-tools button{font-weight:650}.admin-body{background:#fbfaf6}.admin-shell{max-width:1000px;padding:45px 24px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px}.admin-header .login-wordmark{font-size:10px;text-align:left;margin:0}.admin-shell h1{font-size:50px;letter-spacing:-1px;margin:40px 0 14px}.admin-shell>.section-description{max-width:700px}.admin-table-wrap{overflow:auto;background:#fffefa;border:1px solid var(--line);border-radius:8px;margin-top:25px}.admin-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.admin-table th{text-align:left;color:#72815f;font-weight:600;font-size:10px;background:#f1f4e9}.admin-table td,.admin-table th{padding:17px 20px;border-bottom:1px solid var(--line)}.admin-table tr:last-child td{border-bottom:0}.admin-access{border:1px solid #d6dfc4;background:#f1f5e9;border-radius:4px;padding:8px 12px;color:#657f48;font-size:10px}.admin-badge{padding:4px 8px;background:#eaf0de;border-radius:12px;color:#6f864f;font-size:9px}.admin-info{font-size:11px;line-height:1.9;color:#7f8a73;margin-top:24px}.admin-status{margin-top:25px;max-width:650px}.admin-empty{padding:30px;color:#7c8b68;font-size:12px}
@media(min-width:1600px){.flower-rail.left{left:4%}.flower-rail.right{right:4%}}
@media(max-width:900px){.flower-rail{width:230px;opacity:.55}.flower-rail.left{left:-110px}.flower-rail.right{right:-110px}}
@media(max-width:600px){.login-layout{padding:29px 24px 23px}.login-wordmark{margin-bottom:25px;font-size:10px;letter-spacing:2.5px}.login-wordmark>span{font-size:6px}.flower-rail{width:165px;opacity:.48}.flower-rail.left{left:-105px}.flower-rail.right{right:-105px}.login-card{padding:29px 26px 26px;border-radius:82px 82px 13px 13px;box-shadow:0 12px 35px #614a580d,0 0 0 5px #ffffff60}.login-emblem{width:47px;height:47px;font-size:27px;margin-bottom:16px}.login-card h1{font-size:45px;margin-top:12px}.login-caption{font-size:10px;margin-bottom:21px}.login-card>.eyebrow{font-size:7px;letter-spacing:1.4px}.login-modes{margin-bottom:23px}.login-modes button{font-size:10px}.login-form input{font-size:16px;height:47px}.login-form label{font-size:11px}.login-submit{font-size:11px}.login-bottom{margin-top:23px}.login-card-foot{font-size:7px}.admin-header{align-items:flex-start}.admin-header .session-tools{flex-direction:column;gap:3px;align-items:flex-end}.admin-shell h1{font-size:43px}.admin-table td,.admin-table th{padding:15px}.session-tools{gap:10px}}

.login-bottom .support-address{text-align:center;margin-left:0}

.login-wordmark>.second-author{font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;margin-top:7px}.admin-header .login-wordmark{line-height:1.5}

.student-create{margin:28px 0;padding:24px;border:1px solid #dce2cc;border-radius:20px;background:#fffdf8}.student-create h2{font-size:24px;margin:0 0 12px;color:#304537}.student-create p{font-size:14px;line-height:1.7;color:#62715e}.student-create form{max-width:540px}.student-create input{width:100%;padding:13px;border:1px solid #c8d3b9;border-radius:10px;margin:10px 0;font:inherit;box-sizing:border-box}.member-actions{display:flex;gap:10px;flex-wrap:wrap}.member-actions button{margin:4px 0}#activation-url{font-size:12px}[hidden]{display:none!important}
