/* Login-only presentation. Shared password recovery styles are independent. */
.login-page{--ink:#24252b;--muted:#656570;--blue:#4054df;--line:#e4e3dd;margin:0;min-height:100vh;background:#fffefb;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14px;display:flex;flex-direction:column}
.login-page *{box-sizing:border-box}
.login-page a{color:inherit;text-decoration:none}
.login-page button,.login-page input,.login-page select{font:inherit}
.login-page :focus-visible{outline:3px solid #4054df80;outline-offset:4px}
.login-skip{position:fixed;top:-80px;left:16px;padding:12px 20px;background:white;z-index:1100}
.login-skip:focus{top:12px}
.login-header{display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 96px);max-width:1400px;margin:0 auto;min-height:100px}
.login-brand{width:150px;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.login-brand img{max-width:none;width:207px;height:104px;object-fit:contain}
.home-link{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)!important;padding:12px 0}
.home-link:hover,.login-help a:hover,.forgot-link:hover{color:var(--blue)!important}
.login-shell{width:calc(100% - 96px);max-width:1400px;display:grid;grid-template-columns:1.08fr 1fr;margin:6px auto 24px;flex:1}
.login-story{background:#f2f0e5;border:1px solid #e9e6d8;border-radius:18px;padding:clamp(30px,4vw,68px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.story-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.8px;font-weight:600;color:#706c5f;margin-bottom:30px}
.story-eyebrow>span{font-size:30px;line-height:1;color:#b48568}
.login-story h2{font-size:clamp(38px,4.3vw,65px);letter-spacing:-2.8px;line-height:1.1;font-weight:600;margin:0 0 24px}
.login-story h2 em{font-family:Georgia,serif;font-weight:400;color:#55578f}
.story-copy{font-size:14px;line-height:1.8;color:#706c65;max-width:400px;margin:0 0 36px}
.story-workspace{background:#fffefa;border:1px solid #e2ded3;border-radius:12px;padding:22px;box-shadow:0 12px 32px #59504409;transform:rotate(-2deg);max-width:470px;width:100%;align-self:center}
.workspace-top{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.workspace-symbol{display:grid;place-items:center;border-radius:6px;background:#f5e5b9;color:#a87e32;font-size:26px;width:33px;height:33px}.workspace-dots{margin-left:auto;letter-spacing:2px;color:#a29c8e}
.workspace-caption{font-size:10px;color:#8a8375;margin:10px 0 22px}.workspace-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace-columns>div{min-width:0}
.column-label{display:flex;gap:5px;align-items:center;font-size:9px;color:#676472;margin:0 0 11px}.column-label>span{margin-left:auto;color:#aaa4ae}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.lilac{background:#b4a1d7}.peach{background:#f4dfc7!important}.dot.peach{background:#dcb67b!important}
.task-card{background:white;border:1px solid #edeaf0;border-radius:6px;padding:12px;margin-bottom:9px}.task-tag{display:inline-block;color:#827395;background:#eee8f5;font-size:8px;border-radius:3px;padding:3px 5px;margin-bottom:10px}.task-tag.peach{color:#927b58}.task-card strong{display:block;font-size:11px;line-height:1.6;font-weight:500}.task-bottom{display:flex;gap:5px;align-items:center;font-size:8px;color:#8b8794;margin-top:20px}.task-bottom i{margin-left:auto}.task-avatar{display:grid;place-items:center;background:#ece4f5;border-radius:50%;width:22px;height:22px;font-size:7px;color:#706576}.task-avatar.mint{background:#e0eadc}.task-ratio{margin-left:auto}.task-progress{height:4px;background:#efedf1;margin-top:16px;border-radius:5px}.task-progress span{display:block;width:60%;height:100%;background:#ad9acc;border-radius:5px}.small-task{display:flex;gap:8px;font-size:9px;align-items:center;color:#77727c}.small-task i{color:#b9b1c6}.workspace-note{border-top:1px solid #eeebe3;padding-top:12px;margin-top:8px;font-size:9px;color:#8a8578;display:flex;align-items:center;gap:7px}.workspace-note i{color:#84a08e}
.story-products{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px;font-size:10px;color:#817c70}.story-products span+span:before{content:'·';margin-right:18px;color:#aaa492}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 40px;min-width:0}.form-container{width:100%;max-width:380px}.form-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:42px}.form-eyebrow{font-size:9px;letter-spacing:1.6px;color:#8c8881;font-weight:500}.language-control{display:flex;align-items:center;gap:6px;color:#77746e}.language-control label{font-size:12px}.language-select{color:#65625d;border:0;border-radius:5px;background:transparent;font-size:11px!important;padding:7px 4px;cursor:pointer;max-width:100%}
.form-header{margin-bottom:32px}.form-header h1{font-size:32px;line-height:1.25;font-weight:600;letter-spacing:-1.1px;margin:0 0 12px}.form-header p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.form-group{margin-bottom:22px}.form-label{display:block;font-size:12px;font-weight:500;color:#4d4b51;margin-bottom:9px}.label-icon{display:none}.input-wrapper{position:relative}.modern-input{background:white;border:1px solid #dcdad3;border-radius:8px;color:var(--ink);font-size:14px;min-height:50px;padding:12px 14px;box-shadow:0 2px 3px #34313a02;transition:border-color .15s,box-shadow .15s}.modern-input::placeholder{color:#99969e;font-size:12px}.modern-input:focus{border-color:#6b76cc;box-shadow:0 0 0 3px #4054df10;background:#fff}.password-wrapper .modern-input{padding-right:50px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:40px;width:40px;border:0;border-radius:5px;background:transparent;color:#928d98}.password-toggle:hover{color:var(--blue);background:#f5f4fb}.input-focus-border{display:none}
.form-options{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 28px;font-size:12px}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.modern-checkbox{width:16px;height:16px;margin:0;accent-color:var(--blue);cursor:pointer;flex-shrink:0}.checkbox-label{cursor:pointer;color:#68656e}.checkbox-custom{display:none}.forgot-link{color:#505891!important;font-weight:500}
.login-btn{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:18px;min-height:50px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;font-weight:500;box-shadow:0 3px 0 #3344b322;transition:background .15s}.login-btn:hover{background:#3547c8}.login-btn:disabled{cursor:wait;opacity:.7}.btn-icon{font-size:12px}.btn-loader{display:none}.login-btn.loading .btn-loader{display:block}.login-btn.loading .btn-icon{display:none}.spinner{width:18px;height:18px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}
.validation-summary:empty,.validation-summary-valid,.field-validation-valid{display:none}.validation-summary-errors{background:#fff1ef;border:1px solid #f1c9c2;padding:13px;border-radius:8px;margin-bottom:20px;color:#a43e31;font-size:12px;line-height:1.6}.validation-summary ul{padding-left:18px;margin:0}.validation-message,.field-validation-error{font-size:12px;line-height:1.6;color:#b5473a;display:block;margin-top:6px}.modern-input.input-validation-error{border-color:#ce7e72}
.login-help{font-size:11px;line-height:1.9;text-align:center;color:#87828d;margin:30px 0 0;padding-top:25px;border-top:1px solid var(--line)}.login-help a{color:#535786;font-weight:500;white-space:nowrap}.login-help i{font-size:8px;margin-left:4px}.divider{text-align:center;margin:24px 0 16px;color:#928b96;font-size:11px}.external-buttons{display:flex;gap:10px;flex-wrap:wrap}.external-btn{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;color:#514d57}.external-btn:hover{background:#f3f1f8}
.captcha-image-wrapper{display:flex;align-items:center;gap:10px;margin-bottom:12px}.captcha-image{width:calc(100% - 50px);max-width:250px;min-width:0;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:6px}.captcha-refresh{flex:0 0 40px;height:40px;background:#f2efe6;border:1px solid var(--line);border-radius:6px;color:#7f755f}
.login-footer{display:flex;justify-content:space-between;gap:20px;width:calc(100% - 96px);max-width:1400px;margin:0 auto;padding:0 0 22px;font-size:10px;color:#918b93}.login-beta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 20px;background:#f7eeca;color:#7d6534;font-size:12px;line-height:1.7}.login-beta button{border:0;background:transparent;color:inherit;text-decoration:underline;padding:3px 6px}.login-beta i{margin-right:5px}.login-page .modal-content{border:1px solid var(--line);border-radius:14px}.login-page .modal-header,.login-page .modal-footer{border-color:var(--line)}
@media(min-width:1600px){.login-shell{max-height:850px;margin-top:auto;margin-bottom:auto}.login-header{min-height:120px}.login-footer{padding-top:25px}}
@media(max-width:1100px){.login-header,.login-shell,.login-footer{width:calc(100% - 48px)}.login-story{padding:32px}.login-form-panel{padding:40px 28px}.login-story h2{font-size:46px}.story-workspace{padding:17px}.form-header h1{font-size:29px}}
@media(max-width:820px){.login-header{min-height:84px}.login-shell{display:block;margin:12px auto 36px;flex:1}.login-story{display:none}.login-form-panel{padding:20px 0 24px}.form-container{max-width:410px}.form-tools{margin-bottom:36px}.login-footer{font-size:9px}.modern-input{font-size:16px}.language-select{font-size:12px!important}.login-help{font-size:12px}.home-link{font-size:11px}}
@media(max-width:380px){.login-header,.login-shell,.login-footer{width:calc(100% - 36px)}.login-brand{width:125px;height:44px}.login-brand img{width:180px;height:90px}.home-link{font-size:10px;gap:6px}.form-header h1{font-size:28px}.form-options{font-size:11px}.form-tools{gap:8px}.form-eyebrow{font-size:8px}.login-footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.login-page *{animation:none!important;transition:none!important}}
