/* Onlinedars entry studio. Authentication fields and behaviour stay in app.js. */
.auth-page{--entry-navy:#102139;--entry-teal:#0f766e;--entry-muted:#64758a;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);background:radial-gradient(ellipse at 100% 0,#e9f4f1 0,transparent 52%),#f5f7fb;color:#162b43}
.auth-page .auth-brand{min-width:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;isolation:isolate;overflow:hidden;padding:clamp(40px,6vw,88px);background:radial-gradient(ellipse at 0 100%,#1c5c61 0,transparent 62%),radial-gradient(ellipse at 100% 0,#253c59 0,transparent 66%),#102139;color:#fff}
.auth-page .auth-brand:before{content:"";position:absolute;z-index:-1;width:540px;height:540px;right:-330px;top:50%;border:1px solid #b7d8d52b;border-radius:50%;box-shadow:0 0 0 70px #b7d8d508,0 0 0 140px #b7d8d506,0 0 0 210px #b7d8d504;pointer-events:none}
.auth-page .auth-brand:after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(#cadfdc30 .7px,transparent .7px);background-size:22px 22px;opacity:.32;mask-image:linear-gradient(160deg,transparent 15%,#000 100%);pointer-events:none}
.auth-page .auth-mark{display:grid;place-items:center;flex-shrink:0;width:68px;height:68px;border-radius:20px;border:1px solid #c9ede58c;box-shadow:inset 0 0 0 7px #ffffff07,0 16px 32px #00000016;background:#d5f1e70c;color:#d8f4e9;font-size:2.9rem;font-weight:800;letter-spacing:-.07em;line-height:1}
.auth-page .auth-brand-name{font-size:1.15rem;letter-spacing:.025em;font-weight:700;margin:17px 0 54px;color:#f5faf8}
.auth-page .auth-brand h2{font-size:clamp(2.5rem,4.1vw,3.75rem);font-weight:750;letter-spacing:-.055em;line-height:1.09;margin:0 0 25px;max-width:10ch;color:#fff;text-wrap:balance}
.auth-page .auth-brand>p:not(.auth-brand-name){max-width:34ch;font-size:1rem;line-height:1.8;letter-spacing:.005em;color:#c5d4df;margin:0}
.auth-page .auth-brand-note{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;line-height:1.5;letter-spacing:.02em;color:#bcd0da;margin-top:64px;padding-top:22px;border-top:1px solid #ffffff21;max-width:100%}
.auth-page .auth-brand-note:before{content:"";width:7px;height:7px;flex-shrink:0;background:#e4b86e;border-radius:50%;box-shadow:0 0 0 4px #e4b86e10}
.auth-page .auth-card{position:relative;min-width:0;align-self:center;justify-self:center;width:calc(100% - 72px);max-width:580px;margin:36px auto;padding:clamp(30px,3.3vw,48px);background:#fff;border:1px solid #e1e8ef;border-radius:24px;box-shadow:0 28px 70px #2039580b,0 2px 5px #20395804}
.auth-page .auth-card-brand{display:flex;align-items:center;gap:10px;color:#0f766e;font-size:.88rem;font-weight:750;letter-spacing:.015em;margin-bottom:34px}
.auth-page .auth-card-brand:before{content:"";width:23px;height:23px;border-radius:7px;border:1px solid #86bcb1;background:linear-gradient(140deg,#d7eee6,#f2faf6);box-shadow:inset 0 0 0 5px #fff}
.auth-page .auth-form{min-width:0}.auth-page .auth-form h1{font-size:clamp(1.85rem,2.5vw,2.4rem);font-weight:750;line-height:1.15;letter-spacing:-.045em;color:#172b43;margin:0 0 12px}
.auth-page .auth-description{font-size:.91rem;line-height:1.65;color:#65768a;margin:0 0 30px;max-width:43ch}
.auth-page .auth-form label{display:block;min-width:0;margin:20px 0 0;color:#2c4057;font-weight:650;font-size:.84rem;line-height:1.5}
.auth-page .auth-form input,.auth-page .auth-form select{display:block;width:100%;max-width:100%;min-width:0;min-height:54px;margin-top:8px;padding:13px 15px;border:1px solid #cdd8e2;border-radius:10px;background:#fbfcfe;color:#172c43;font-size:1rem;font-weight:400;box-shadow:0 1px 2px #1d365202;transition:border-color .15s,box-shadow .15s,background-color .15s}
.auth-page .auth-form input:hover,.auth-page .auth-form select:hover{border-color:#a9bac9}.auth-page .auth-form input:focus,.auth-page .auth-form select:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 4px #0f766e0d;outline:2px solid #0f766e;outline-offset:3px}
.auth-page .auth-form input:user-invalid,.auth-page .auth-form select:user-invalid{border-color:#b34454;background:#fffafb}
.auth-page .auth-form input::placeholder{color:#65758a;opacity:1}
.auth-page .auth-password{display:flex;align-items:center;position:relative;min-width:0}.auth-page .auth-password input{padding-right:107px}
.auth-page .auth-password-toggle{position:absolute;inset:auto 8px auto auto;top:16px;min-height:36px;max-width:92px;padding:7px 10px;border-radius:7px;border:0;background:#edf4f2;color:#0d675f;font-size:.74rem;font-weight:700;line-height:1.4;box-shadow:none}
.auth-page .auth-password-toggle:hover{background:#e2eeea;filter:none}
.auth-page .auth-form .auth-submit{width:100%;min-height:54px;margin-top:30px;padding:14px 18px;border:1px solid #0f766e;border-radius:10px;background:#0f766e;color:#fff;font-weight:700;font-size:.95rem;letter-spacing:.005em;box-shadow:0 7px 14px #0f766e14;transition:background-color .15s,box-shadow .15s,transform .15s}
.auth-page .auth-form .auth-submit:hover{background:#0b655f;border-color:#0b655f;box-shadow:0 10px 18px #0f766e1c;filter:none}.auth-page .auth-form .auth-submit:active{transform:translateY(1px)}
.auth-page .auth-form button:disabled{opacity:.58;transform:none;cursor:wait;box-shadow:none}
.auth-page .auth-card .auth-link{min-height:32px;background:transparent;border:0;border-radius:4px;padding:4px;color:#0d7068;font-size:.83rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;line-height:1.5;box-shadow:none}
.auth-page .auth-card .auth-link:hover{color:#084e48;filter:none}.auth-page .auth-card .auth-help{display:block;margin:15px auto 0;padding:5px}
.auth-page .auth-switch{border-top:1px solid #e5ebf0;padding-top:22px;margin-top:25px;text-align:center;color:#64758a;font-size:.82rem;line-height:1.75;overflow-wrap:anywhere}
.auth-page .auth-footer{color:#64758a;font-size:.71rem;font-weight:450;text-align:center;line-height:1.6;margin:28px 0 0}
.auth-page .auth-form>small{display:block;color:#64758a;font-size:.77rem;line-height:1.65;margin-top:14px;overflow-wrap:anywhere}
.auth-page .auth-form[data-form="register"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.auth-page .auth-form[data-form="register"]>h1,.auth-page .auth-form[data-form="register"]>.auth-description,.auth-page .auth-form[data-form="register"]>label:first-of-type,.auth-page .auth-form[data-form="register"]>small,.auth-page .auth-form[data-form="register"]>.auth-submit{grid-column:1/-1}
.auth-page .auth-form[data-form="register"] label{margin-top:15px}.auth-page .auth-form[data-form="register"] .auth-description{margin-bottom:10px}.auth-page .auth-form[data-form="register"] .auth-submit{margin-top:22px}
.auth-page .auth-card .warning,.auth-page .auth-card .error{font-size:.85rem;line-height:1.65;overflow-wrap:anywhere}.auth-page .auth-card .error{background:#fff2f4;border:1px solid #e4b9c2;color:#8a2337}
.auth-page .auth-card button:focus-visible,.auth-page .auth-card a:focus-visible{outline:3px solid #0f766e;outline-offset:3px}
@media(max-width:1100px)and(min-width:761px){.auth-page{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr)}.auth-page .auth-brand{padding:42px 34px}.auth-page .auth-brand h2{font-size:2.85rem}.auth-page .auth-card{width:calc(100% - 44px);padding:32px}.auth-page .auth-form[data-form="register"]{grid-template-columns:minmax(0,1fr)}.auth-page .auth-brand-name{margin-bottom:40px}}
@media(max-width:760px){.auth-page{min-height:100svh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;background:radial-gradient(ellipse at 50% 0,#e6f0ed 0,transparent 55%),#f5f7fb}.auth-page .auth-brand{min-height:96px;padding:21px 24px;flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;border-radius:0 0 22px 22px}.auth-page .auth-brand:before{width:250px;height:250px;right:-100px;top:-150px;box-shadow:0 0 0 40px #b7d8d508}.auth-page .auth-brand:after{opacity:.25}.auth-page .auth-mark{width:44px;height:44px;border-radius:13px;font-size:1.9rem;box-shadow:inset 0 0 0 4px #ffffff07}.auth-page .auth-brand-name{font-size:1.2rem;margin:0;letter-spacing:-.01em}.auth-page .auth-brand h2,.auth-page .auth-brand>p:not(.auth-brand-name),.auth-page .auth-brand-note{display:none}.auth-page .auth-card{align-self:start;max-width:520px;width:calc(100% - 32px);margin:24px auto 32px;padding:28px 24px;border-radius:20px;box-shadow:0 15px 40px #20395808}.auth-page .auth-card-brand{display:none}.auth-page .auth-form h1{font-size:1.9rem}.auth-page .auth-description{font-size:.88rem;margin-bottom:24px}.auth-page .auth-form label{margin-top:18px}.auth-page .auth-form input,.auth-page .auth-form select{font-size:16px;min-height:52px;padding:12px 13px}.auth-page .auth-form .auth-submit{margin-top:26px;min-height:52px}.auth-page .auth-form[data-form="register"]{grid-template-columns:minmax(0,1fr);gap:0}.auth-page .auth-form[data-form="register"] label{margin-top:17px}.auth-page .auth-password input{padding-right:104px}.auth-page .auth-password-toggle{top:15px}.auth-page .auth-switch{margin-top:23px;padding-top:19px}.auth-page .auth-footer{margin-top:22px;font-size:.68rem}}
@media(max-width:360px){.auth-page .auth-brand{padding:18px 20px;min-height:88px}.auth-page .auth-card{width:calc(100% - 20px);padding:25px 20px;margin-top:19px}.auth-page .auth-form h1{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.auth-page .auth-form input,.auth-page .auth-form select,.auth-page .auth-form .auth-submit{transition:none}.auth-page .auth-form .auth-submit:active{transform:none}}
@media print{.auth-page{display:block;min-height:0;background:#fff}.auth-page .auth-brand{display:none}.auth-page .auth-card{border:0;box-shadow:none;max-width:none;margin:0;padding:0}}
