*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#fff}.login-shell{display:grid;min-height:100vh;grid-template-columns:1fr minmax(430px,44%)}.login-panel{order:2;display:flex;width:min(420px,calc(100% - 50px));margin:auto;min-height:100vh;flex-direction:column;padding:32px 0}.login-brand{display:flex;align-items:center;gap:10px;color:#172033;text-decoration:none}.login-brand img{width:38px;height:38px;object-fit:contain}.login-brand b,.login-brand small{display:block}.login-brand b{font-size:19px}.login-brand small{color:#64748b;font-size:10px}.login-heading{margin:58px 0 24px}.login-heading>span{color:#087f5b;font-size:10px;font-weight:900;letter-spacing:.12em}.login-heading h1{margin:8px 0 5px;font-size:31px}.login-heading p{margin:0;color:#64748b;font-size:13px}.login-panel form{display:grid;gap:18px}.login-panel form>label{display:grid;gap:7px;color:#34433d;font-size:11px;font-weight:800}.field{position:relative}.field>i{position:absolute;left:13px;top:14px;color:#94a3b8}.field input{width:100%;height:45px;padding:0 45px 0 39px;border:1px solid #d5e0da;border-radius:8px;outline:0;background:#fbfcfc}.field input:focus{border-color:#087f5b;box-shadow:0 0 0 3px #087f5b16}.field button{position:absolute;right:8px;top:7px;width:31px;height:31px;border:0;background:none;color:#087f5b}.login-options{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:10px}.login-options label{display:flex;align-items:center;gap:5px}.login-options input{accent-color:#087f5b}.login-options a{color:#087f5b;font-weight:800;text-decoration:none}.login-submit{height:44px;border:0;border-radius:8px;background:linear-gradient(115deg,#065f46,#0a9167);color:#fff;font-weight:800;box-shadow:0 8px 18px #087f5b2b;cursor:pointer}.login-submit:disabled{opacity:.55}.login-error{margin-bottom:14px;padding:11px 12px;border:1px solid #fecaca;border-radius:7px;background:#fef2f2;color:#b91c1c;font-size:11px}.login-panel footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:50px;color:#94a3b8;font-size:9px}.login-art{order:1;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:70px;background:radial-gradient(circle at 80% 15%,#60a5fa55,transparent 30%),linear-gradient(145deg,#172554,#1e40af 58%,#0ea5e9);color:#fff}.login-art:after{content:"";position:absolute;right:-100px;top:16%;width:420px;height:420px;border:65px solid #ffffff0d;border-radius:50%}.login-art>div{position:relative;z-index:1;max-width:580px}.login-art span{color:#bfdbfe;font-size:10px;font-weight:900;letter-spacing:.16em}.login-art h2{margin:14px 0;font-size:clamp(30px,4vw,54px);line-height:1.08}.login-art p{max-width:440px;color:#dbeafe;font-size:14px}@media(max-width:650px){.login-shell{display:block}.login-panel{width:min(100% - 34px,420px);padding:25px 0}.login-heading{margin-top:46px}.login-art{display:none}}
.auth-switch{text-align:center;margin-top:18px;color:#64748b;font-size:11px}.auth-switch a{color:#087f5b;font-weight:800;text-decoration:none}.register-shell{grid-template-columns:1fr minmax(600px,52%)}.register-panel{width:min(570px,calc(100% - 50px));padding:24px 0}.register-panel .login-heading{margin:28px 0 18px}.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.register-grid label{display:grid;gap:7px;color:#34433d;font-size:11px;font-weight:800}.register-grid .full{grid-column:1/-1}.password-hint{margin-top:-8px;color:#64748b;font-size:10px}.expired-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(145deg,#172554,#1e40af)}.expired-page section{width:min(520px,100%);padding:42px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 30px 80px #0f172a66}.expired-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:#fef3c7;color:#d97706;font-size:28px}.expired-page section>span{color:#d97706;font-size:10px;font-weight:900;letter-spacing:.14em}.expired-page h1{margin:10px 0;font-size:30px}.expired-page p{color:#64748b;line-height:1.7}.expired-page small{display:block;color:#94a3b8}.expired-action{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;text-decoration:none}@media(max-width:650px){.register-grid{grid-template-columns:1fr}.register-grid .full{grid-column:auto}.register-panel{width:min(100% - 34px,570px)}.expired-page section{padding:30px 22px}}
.auth-switch{margin-top:28px}.register-grid .terms-agreement{display:flex;align-items:center;gap:9px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;color:#475569}.terms-agreement input{width:17px;height:17px;margin:0;flex:0 0 auto;accent-color:#2563eb;pointer-events:none}.terms-agreement strong{color:#1d4ed8}.terms-agreement:focus-visible{outline:2px solid #2563eb;outline-offset:5px;border-radius:3px}.terms-dialog{width:min(560px,calc(100% - 30px));max-height:min(720px,calc(100vh - 30px));padding:0;border:0;border-radius:18px;background:#fff;color:#172033;box-shadow:0 24px 80px #0f172a66}.terms-dialog::backdrop{background:#07152bbd;backdrop-filter:blur(3px)}.terms-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #e2e8f0}.terms-dialog-head span{color:#2563eb;font-size:9px;font-weight:900;letter-spacing:.13em}.terms-dialog-head h2{margin:5px 0 0;color:#102a56;font-size:24px}.terms-dialog-head button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#eff6ff;color:#1d4ed8;cursor:pointer}.terms-dialog-body{max-height:52vh;padding:20px 26px;overflow-y:auto}.terms-dialog-body h3{margin:18px 0 5px;color:#102a56;font-size:14px}.terms-dialog-body h3:first-child{margin-top:0}.terms-dialog-body p{margin:0;color:#64748b;font-size:12px;line-height:1.65}.terms-dialog-body .terms-important{margin-top:9px;padding:9px 11px;border-left:3px solid #f59e0b;border-radius:4px;background:#fffbeb;color:#92400e;font-weight:800}.terms-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 22px;border-top:1px solid #e2e8f0}.terms-dialog-actions button{height:42px;padding:0 20px;border-radius:9px;font-weight:800;cursor:pointer}.terms-cancel{border:1px solid #cbd5e1;background:#fff;color:#475569}.terms-accept{border:0;background:linear-gradient(135deg,#2563eb,#0d47a1);color:#fff;box-shadow:0 8px 18px #2563eb33}
