.auth-root{color:#1a1f1c;min-height:100dvh;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.auth-page{box-sizing:border-box;flex-direction:row;min-height:100dvh;display:flex;overflow-x:hidden}.auth-brand{box-sizing:border-box;background-image:url(/librum-auth-background.svg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex:0 0 45%;justify-content:center;align-items:center;min-height:100dvh;padding:clamp(32px,5vw,64px);display:flex;position:relative}.auth-brand__overlay{pointer-events:none;background:linear-gradient(165deg,#0000006b 0%,#0a4d3147 45%,#00000061 100%);position:absolute;inset:0}.auth-brand__content{z-index:1;color:#fff;width:min(100%,420px);position:relative}.auth-brand-mark{color:inherit;align-items:center;gap:16px;margin-bottom:clamp(28px,4.5vh,48px);text-decoration:none;transition:opacity .2s;display:flex}.auth-brand-mark--panel{align-items:center;gap:22px}.auth-brand-mark--panel .auth-brand-mark__logo-wrap{display:none}.auth-brand-mark--panel .auth-brand-mark__wordmark{letter-spacing:-.025em;font-size:2.375rem}.auth-brand-mark--panel .auth-brand-mark__tagline{font-size:1.0625rem;line-height:1.45}.auth-brand-mark--panel .auth-brand-mark__logo--panel{object-fit:contain;flex-shrink:0;width:clamp(72px,7vw,96px);min-width:72px;height:clamp(72px,7vw,96px);min-height:72px}.auth-brand-mark:hover{opacity:.92}.auth-brand-mark__logo-wrap{background:#fff;border:1px solid #0a4d3114;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 2px 10px #0a4d3114}.auth-brand-mark__logo{object-fit:contain;width:32px;height:32px}.auth-brand-mark__text{flex-direction:column;gap:4px;min-width:0;display:flex}.auth-brand-mark__wordmark{letter-spacing:-.02em;font-size:1.1875rem;font-weight:600;line-height:1.15}.auth-brand-mark__tagline{letter-spacing:.01em;color:#ffffffc2;margin-top:2px;font-size:.8125rem;font-weight:400;line-height:1.4}.auth-brand__headline{letter-spacing:-.03em;color:#fff;text-shadow:0 2px 28px #00000038;margin:0 0 clamp(20px,3vh,32px);font-family:Georgia,Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:clamp(2.25rem,4.5vw,3.25rem);font-weight:500;line-height:1.08}.auth-page--signup .auth-brand-mark{margin-bottom:clamp(24px,3.5vh,40px)}.auth-page--signup .auth-brand__headline{margin-bottom:clamp(18px,2.5vh,28px)}.auth-page--login .auth-brand__headline{font-size:clamp(2rem,4vw,2.875rem);line-height:1.12}.auth-brand__support{color:#ffffffdb;max-width:38ch;margin:0 0 clamp(24px,3.5vh,40px);font-size:clamp(.9375rem,1.5vw,1.0625rem);line-height:1.65}.auth-page--login .auth-brand__support{color:#fffc}.auth-brand__features{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.auth-brand__features li{letter-spacing:.015em;color:#ffffffed;padding-left:22px;font-size:.9375rem;font-weight:500;line-height:1.5;position:relative}.auth-page--login .auth-brand__features li{color:#ffffffe0;font-weight:400}.auth-page--login .auth-brand__features li:before{box-shadow:none;background:#ffffff8c}.auth-page--login .auth-brand__overlay{background:linear-gradient(165deg,#0000005c 0%,#0a4d3152 50%,#00000057 100%)}.auth-page--signup .auth-brand__overlay{background:linear-gradient(165deg,#0006 0%,#0a4d3147 45%,#0000005c 100%)}.auth-brand__features li:before{content:"";width:6px;height:6px;box-shadow:none;background:#ffffffb8;border-radius:50%;position:absolute;top:.58em;left:0}.auth-main{box-sizing:border-box;background:#f6f7f5;flex-direction:column;flex:0 0 55%;justify-content:center;align-items:center;min-height:100dvh;padding:clamp(20px,3vw,40px) clamp(24px,4vw,56px);display:flex;overflow-x:hidden}.auth-card-wrap{justify-content:center;width:100%;min-width:0;max-width:480px;margin-inline:auto;display:flex}.auth-mobile-brand{margin-inline:auto;width:min(100%,480px);margin-bottom:20px;display:none}.auth-brand-mark--compact{margin-bottom:0}.auth-brand-mark--compact .auth-brand-mark__logo-wrap{background:#fff;border:1px solid #0a4d3114;border-radius:12px;width:48px;height:48px;box-shadow:0 2px 10px #0a4d3114}.auth-brand-mark--compact .auth-brand-mark__logo{width:36px;height:36px}.auth-brand-mark--compact .auth-brand-mark__wordmark{color:#0a4d31;font-size:1.1875rem}.auth-card{box-sizing:border-box;background:#fff;border:1px solid #0a4d3114;border-radius:20px;width:100%;position:relative;overflow:hidden}.auth-card--login{border-color:#0a4d310f;box-shadow:0 12px 40px #0000000f,0 4px 16px #0a4d310a}.auth-card--login:before{content:"";background:#0a4d311a;border-radius:20px 20px 0 0;height:2px;display:block}.auth-card--signup{border:1px solid #0a4d311a;box-shadow:inset 0 0 0 1px #0a4d310a,0 16px 48px #0a4d3114,0 6px 20px #0000000a}.auth-card--signup:before{content:"";background:linear-gradient(90deg,#0a4d31 0%,#0a4d3173 100%);border-radius:20px 20px 0 0;height:3px;display:block}.auth-card__body{padding:28px 32px 32px}.auth-card--signup .auth-card__body{padding:22px 28px 26px}.auth-card__header{margin-bottom:22px}.auth-card--signup .auth-card__header{margin-bottom:18px}.auth-card--signup .auth-card__hint{margin-top:8px;font-size:.8125rem;line-height:1.45}.auth-card--signup .auth-form{gap:10px}.auth-card__title{color:#0a4d31;letter-spacing:-.025em;margin:0 0 10px;font-family:Georgia,Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:clamp(1.5625rem,3.2vw,1.875rem);font-weight:500;line-height:1.18}.auth-card__subtitle{color:#1a1f1c94;max-width:36ch;margin:0;font-size:.9375rem;line-height:1.5}.auth-card__hint{color:#0a4d318c;max-width:38ch;margin:10px 0 0;font-size:.8125rem;font-weight:500;line-height:1.5}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{letter-spacing:.02em;text-transform:uppercase;color:#1a1f1c8c;font-size:.8125rem;font-weight:600}.auth-input{box-sizing:border-box;color:#1a1f1c;background:#fafbfa;border:1px solid #0a4d3124;border-radius:10px;outline:none;width:100%;min-height:46px;padding:12px 14px;font-size:.9375rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.auth-input:hover:not(:focus){background:#fff;border-color:#0a4d3138}.auth-input:focus{background:#fff;border-color:#0a4d31;box-shadow:0 0 0 3px #0a4d311a}.auth-input::placeholder{color:#1a1f1c57}.auth-field__password-wrap{position:relative}.auth-field__password-wrap .auth-input{padding-right:48px}.auth-field__password-toggle{color:#1a1f1c6b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background .2s,color .2s;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-field__password-toggle:hover{color:#0a4d31;background:#0a4d310f}.auth-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-2px;display:flex}.auth-checkbox{color:#1a1f1c9e;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:32px;font-size:.8125rem;font-weight:500;display:inline-flex}.auth-checkbox input{accent-color:#0a4d31;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:0}.auth-row .auth-link{white-space:nowrap;font-size:.8125rem}.auth-primary{color:#fff;letter-spacing:.025em;cursor:pointer;background:#0a4d31;border:none;border-radius:10px;width:100%;min-height:52px;margin-top:6px;padding:15px 22px;font-size:.9375rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .15s,opacity .2s;box-shadow:0 4px 14px #0a4d314d,0 1px 3px #0a4d3133}.auth-primary:hover:not(:disabled){background:#0f5c3a;transform:translateY(-1px);box-shadow:0 8px 24px #0a4d3157,0 2px 8px #0a4d3138}.auth-primary:active:not(:disabled){background:#083d27;transform:translateY(0);box-shadow:0 2px 8px #0a4d3138}.auth-primary:focus-visible{outline-offset:2px;outline:2px solid #0a4d3159}.auth-primary:disabled{color:#ffffffe0;opacity:.62;cursor:not-allowed;box-shadow:none;background:#0a4d31;transform:none}.auth-divider{color:#1a1f1c61;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:4px 0 0;font-size:.6875rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#0a4d311a;flex:1;height:1px}.auth-google-btn{color:#1a1f1cb8;cursor:not-allowed;opacity:.68;background:#fff;border:1px solid #0a4d311f;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 18px;font-size:.9375rem;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.auth-footer{text-align:center;color:#1a1f1c8c;margin-top:10px;font-size:.8125rem;line-height:1.5}.auth-footer--compact{margin-top:6px}.auth-card--signup .auth-footer{margin-top:8px}.auth-link{color:#0a4d31;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:#083d27;text-decoration:underline}.auth-message{border-radius:12px;margin:0;padding:12px 14px;font-size:.8125rem;line-height:1.45}.auth-message--error{color:#b91c1c;background:#dc26260f;border:1px solid #dc262624}.auth-message--success{color:#0a4d31;background:#9dc1832e;border:1px solid #0a4d311a}.auth-message--info{color:#1a1f1cad;background:#0a4d310a;border:1px solid #0a4d3114}@media (max-width:960px){.auth-page{flex-direction:column}.auth-brand{display:none}.auth-main{width:100%;min-height:100dvh;padding:max(20px,env(safe-area-inset-top))16px max(20px,env(safe-area-inset-bottom));background:#f6f7f5;flex:1}.auth-mobile-brand{display:block}.auth-card-wrap{max-width:460px}.auth-card{max-height:none;overflow:visible}}@media (max-width:480px){.auth-main{padding-inline:14px}.auth-card{border-radius:18px;width:100%}.auth-card__body{padding:22px 20px 24px}.auth-card__header{margin-bottom:18px}.auth-card__subtitle{font-size:.875rem}.auth-row{flex-wrap:wrap;gap:6px}.auth-primary,.auth-google-btn{min-height:46px}}@media (min-width:961px) and (max-height:760px){.auth-brand__headline{margin-bottom:14px;font-size:2rem}.auth-brand__support{margin-bottom:18px;font-size:.9375rem}.auth-brand-mark{margin-bottom:20px}.auth-brand__features{gap:8px}.auth-main{padding-block:16px}.auth-card--signup .auth-card__body{padding:18px 24px 22px}.auth-card--signup .auth-card__header{margin-bottom:14px}.auth-card--signup .auth-form{gap:8px}.auth-card{max-height:calc(100dvh - 32px);overflow-y:auto}}
