:root{--auth-red:#9d4b35;--auth-warm:#f1ece4;--auth-charcoal:#15231e}
body.auth-pending{overflow:hidden}
body.auth-pending>.rail,body.auth-pending>.app,body.auth-pending>#task-sidebar,body.auth-pending>#task-backdrop{visibility:hidden}
body.auth-locked{overflow:hidden;background:#fff}
body.auth-locked>.rail,body.auth-locked>.app,body.auth-locked>#task-sidebar,body.auth-locked>#task-backdrop{display:none!important}
body.auth-authenticated #auth-shell{display:none}
.auth-shell{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:minmax(360px,1fr) minmax(640px,2fr);min-height:640px;background:#fff;color:var(--ink);overflow:auto}
.auth-visual{position:relative;min-height:100vh;overflow:hidden;background:#e9ece8;border-right:1px solid #d9dfdc}
.auth-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(.98)}
.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,25,20,.04) 40%,rgba(12,25,20,.78) 100%);pointer-events:none}
.auth-visual-brand{position:absolute;z-index:1;top:26px;left:32px;display:flex;align-items:center;gap:5px;color:#fff}
.auth-visual-brand>img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 2px 9px rgba(0,0,0,.2))}
.auth-visual-brand>div,.auth-mobile-brand>div{display:flex;flex-direction:column;gap:1px}
.auth-visual-brand strong,.auth-mobile-brand strong{font-size:18px;font-weight:600}
.auth-visual-brand small,.auth-mobile-brand small{font:10px/1.2 "Segoe UI",sans-serif;color:currentColor;opacity:.76}
.auth-visual-copy{position:absolute;z-index:1;left:42px;right:42px;bottom:42px;color:#fff;max-width:520px}
.auth-visual-copy>span{font:11px/1.5 "Segoe UI",sans-serif;letter-spacing:.08em;color:#d7e2dc}
.auth-visual-copy h1{font-size:34px;line-height:1.35;margin:9px 0 8px;font-weight:600;color:#fff}
.auth-visual-copy p{font-size:14px;color:#e1e7e3}
.auth-entry{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:46px 64px;background:#fff}
.auth-panel{width:min(100%,430px)}
.auth-heading{position:relative;margin-bottom:26px}
.auth-mobile-brand{display:none;color:var(--green);align-items:center;gap:4px;margin-bottom:30px}
.auth-mobile-brand>img{width:68px;height:68px;object-fit:contain}
.auth-service-state{position:absolute;right:0;top:3px;padding:3px 7px;border:1px solid #dce2de;border-radius:4px;background:#f7f9f8;color:#728078;font-size:10px}
.auth-heading h2{font-size:28px;line-height:1.35;font-weight:620;color:#17231e;margin:0 0 8px}
.auth-heading p{font-size:13px;color:#78847e}
.auth-tabs{display:flex;border-bottom:1px solid #dfe4e1;margin-bottom:23px}
.auth-tabs>button{position:relative;min-width:70px;padding:0 4px 12px;text-align:left;font-size:14px;color:#8a948f}
.auth-tabs>button+button{margin-left:23px}
.auth-tabs>button.active{color:var(--green);font-weight:600}
.auth-tabs>button.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--green)}
.auth-methods{display:flex;align-items:center;gap:5px;margin-bottom:18px;padding:3px;background:#f1f4f2;border:1px solid #e1e6e3;border-radius:6px}
.auth-methods>button{flex:1;min-height:34px;padding:7px 8px;border-radius:4px;color:#748078;font-size:12px}
.auth-methods>button.active{background:#fff;color:#263b31;box-shadow:0 1px 4px rgba(24,49,39,.08)}
.auth-methods small{font-size:9px;margin-left:3px;color:#9a7c4b}
.auth-form{display:flex;flex-direction:column;gap:16px}
.auth-registration-guide{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:2px 0 4px}
.auth-registration-guide>div{display:grid;justify-items:start;gap:8px}
.auth-registration-guide strong{font-size:12px;color:#45564d}
.auth-registration-guide p{margin:0;color:#7e8983;font-size:10px;line-height:1.65}
.auth-step-number{width:24px;height:24px;display:inline-grid;place-items:center;flex:none;border-radius:50%;background:#e5f3eb;color:#176b57;font-size:11px;font-weight:600}
.auth-field>span:first-child{display:flex!important;align-items:center;gap:9px}
.auth-field>span:first-child .auth-step-number{margin-bottom:0}
.auth-qr-placeholder{width:64px;height:64px;display:grid;place-items:center;border:1px solid #d3dbd6;background:#f7faf8;color:#58776a}
.auth-qr-placeholder svg{width:30px;height:30px}
.auth-field{display:block}
.auth-field>span:first-child{display:block;margin-bottom:7px;color:#45564d;font-size:12px;font-weight:500}
.auth-input{min-height:46px;border:1px solid #d3dbd6;border-radius:6px;display:flex;align-items:center;background:#fff;transition:border-color .15s,box-shadow .15s}
.auth-input:focus-within{border-color:#6d9b88;box-shadow:0 0 0 3px rgba(18,102,79,.08)}
.auth-input>svg{width:17px;height:17px;color:#829087;margin-left:13px}
.auth-input>input{height:44px;min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 11px;font-size:13px;color:#24342c}
.auth-input>input::placeholder{color:#a0aaa4}
.auth-icon-button{width:42px;height:44px;display:grid;place-items:center;color:#85918a}
.auth-icon-button:hover{color:var(--green)}
.auth-icon-button svg{width:17px;height:17px}
.auth-code-input>button{height:30px;min-width:88px;padding:0 10px;margin-right:7px;border-left:1px solid #e0e5e2;color:var(--green);font-size:11px}
.auth-code-input>button:disabled{color:#9aa49e}
.auth-field-error,.auth-agreement-error{display:block;min-height:17px;padding-top:4px;color:#b15b47;font-size:10px}
.auth-field.invalid .auth-input{border-color:#bd6b58;background:#fff9f7;animation:auth-attention .48s ease}
.auth-form-row{display:flex;align-items:center;justify-content:space-between;margin-top:-2px}
.auth-check{display:flex;align-items:center;gap:8px;color:#67756e;font-size:11px;cursor:pointer}
.auth-check input{width:15px;height:15px;accent-color:var(--green)}
.auth-text-button{color:#5f7e6f;font-size:11px}
.auth-text-button:hover{text-decoration:underline}
.auth-submit{position:relative;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;border-radius:6px;background:var(--green);color:#fff;font-size:13px;font-weight:500}
.auth-submit:hover{background:var(--green-dark)}
.auth-submit svg{width:16px;height:16px}
.auth-submit.is-loading>span,.auth-submit.is-loading>svg{visibility:hidden}
.auth-submit.is-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.auth-agreement{align-items:flex-start;margin-top:-2px;line-height:1.7}
.auth-message{margin:16px 0 0;padding:10px 12px;border-left:3px solid #b15b47;background:#fff5f2;color:#964b39;font-size:11px;line-height:1.7}
.auth-message[data-type="success"]{border-color:#548c76;background:#f2f7f4;color:#3e715d}
.auth-footer{margin-top:27px;padding-top:18px;border-top:1px solid #e3e7e4;color:#98a19c;font-size:10px;text-align:center}
.account-menu{position:fixed;left:69px;bottom:18px;z-index:90;width:242px;padding:14px;background:#fff;border:1px solid #d9dfdc;border-radius:7px;box-shadow:0 16px 45px rgba(17,38,30,.2)}
.account-profile{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid #e5e8e6}
.account-profile>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e7efeb;color:var(--green);font-size:13px}
.account-profile>div{display:flex;flex-direction:column;min-width:0}
.account-profile strong{font-size:12px;color:#26362e}
.account-profile small{font-size:10px;color:#849089}
.account-service{display:flex;align-items:center;gap:7px;padding:11px 2px;color:#7c8982}
.account-service>span{width:6px;height:6px;border-radius:50%;background:#6ea28c}
.account-service small{font-size:10px}
.account-menu>button{width:100%;min-height:36px;padding:8px 9px;display:flex;align-items:center;gap:8px;border-radius:5px;color:#81584c;font-size:11px;text-align:left}
.account-menu>button:hover{background:#f8f1ef;color:#9a4735}
.account-menu>button svg{width:15px;height:15px}
.auth-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:260;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 40px);padding:12px 16px;border-radius:6px;background:#1b2e27;color:#f7faf8;box-shadow:0 14px 40px rgba(12,31,24,.22);font-size:12px}
.auth-toast svg{width:16px;height:16px;color:#a8d3c2}
@keyframes auth-attention{0%,100%{transform:scale(1)}45%{transform:scale(1.018)}}
@media(max-width:1100px){.auth-shell{grid-template-columns:minmax(300px,1fr) minmax(500px,2fr)}.auth-entry{padding:40px}.auth-visual-copy h1{font-size:29px}}
@media(max-width:760px){.auth-shell{display:block;min-height:100vh}.auth-visual{display:none}.auth-entry{min-height:100vh;padding:34px 24px}.auth-mobile-brand{display:flex}.auth-panel{max-width:460px}.auth-service-state{top:1px}.auth-heading h2{font-size:25px}}
@media(max-width:420px){.auth-entry{padding:26px 18px}.auth-heading{margin-bottom:22px}.auth-methods>button{font-size:11px}.auth-footer{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.auth-field.invalid .auth-input{animation:none}}
