:root{--navy:#051a2e;--navy2:#0b2e4c;--brand:#2f8ea7;--brand-light:#63cceb;--orange:#e66b25;--ink:#243845;--muted:#718696;--line:#cbdde3;--danger:#b43b45}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Calibri,Carlito,Arial,Helvetica,sans-serif;background:#edf3f5;color:var(--ink)}
button,input{font:inherit}
a{color:inherit}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:34px 20px}
.auth-shell{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);width:min(920px,100%);min-height:590px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(14,46,64,.1)}
.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:48px 38px;background:#011027;color:#fff}
.auth-brand:before,.auth-brand:after{content:"";position:absolute;border:1px solid rgba(95,200,226,.15);border-radius:50%}
.auth-brand:before{width:360px;height:360px;right:-190px;top:-150px}.auth-brand:after{width:290px;height:290px;left:-180px;bottom:-170px}
.auth-brand>a{position:relative;z-index:1}.auth-logo{width:min(300px,100%);height:auto;display:block}
.auth-brand-copy{position:relative;z-index:1;margin-top:38px;max-width:330px}.auth-brand-copy h2{margin:0 0 10px;color:#fff;font-size:25px;line-height:1.2}.auth-brand-copy p{margin:0;color:#bdd3de;font-size:13px;line-height:1.6}
.auth-brand-note{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-top:28px;color:#88d7e8;font-size:11px;font-weight:700}.auth-brand-note:before{content:"";width:28px;height:1px;background:var(--orange)}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:42px 34px;background:#fff}.auth-screen{width:min(390px,100%)}
.auth-screen-kicker{color:#167b91;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.auth-screen h1{margin:7px 0 8px;font-size:25px;color:#102d43}.auth-screen-intro{margin:0 0 23px;color:var(--muted);font-size:12px;line-height:1.5}
.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-field{margin-bottom:14px}.auth-field label{display:block;margin-bottom:6px;color:#2f4b5d;font-size:11px;font-weight:700}.auth-input-wrap{position:relative}
.auth-input{width:100%;min-height:43px;border:1px solid #c5dbe2;border-radius:11px;padding:11px 12px;background:#fbfdfe;color:#18384b;outline:0}.auth-input:focus{border-color:#60b7c8;box-shadow:0 0 0 3px rgba(45,184,209,.12)}.auth-input.invalid{border-color:#d8898f;background:#fffafb}.auth-input-wrap .auth-input{padding-right:58px}
.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#75909f;font-size:11px;font-weight:700;cursor:pointer}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 17px;font-size:11px}.auth-check{display:flex;align-items:flex-start;gap:8px;color:#5c7584}.auth-check input{margin-top:2px;accent-color:#208aa0}.auth-terms{margin:2px 0 17px;font-size:11px;line-height:1.45}
.auth-link{border:0;padding:0;background:transparent;color:#167c92;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.auth-link:hover{text-decoration:underline}
.auth-primary,.auth-secondary,.auth-google{display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;border-radius:11px;padding:11px 14px;font-weight:700;cursor:pointer;text-decoration:none}.auth-primary{border:1px solid var(--navy2);background:var(--navy2);color:#fff}.auth-secondary{border:1px solid #91bbc5;background:#edf8fa;color:#1f7184}.auth-primary:disabled,.auth-secondary:disabled{opacity:.7;cursor:wait}
.auth-google{gap:9px;border:1px solid #c8dce3;background:#fff;color:#29495c}.auth-google:hover{background:#f7fbfc}.auth-google-mark{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:10px;font-weight:700}
.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#91a2ad;font-size:10px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e0eaed}.auth-bottom{margin:18px 0 0;text-align:center;color:#6f8492;font-size:11px}
.auth-alert{margin:0 0 16px;padding:11px 12px;border:1px solid;border-radius:10px;font-size:11px;line-height:1.45}.auth-alert.success{border-color:#c8e5d2;background:#effaf3;color:#327252}.auth-alert.warning{border-color:#ead59e;background:#fff9e8;color:#806322}.auth-alert.error{border-color:#ecc6ca;background:#fff3f4;color:#903740}
.field-error{display:block;margin-top:5px;color:var(--danger);font-size:10px;line-height:1.35}.field-error.summary{margin:0 0 14px;padding:10px 12px;border:1px solid #ecc6ca;border-radius:10px;background:#fff3f4;font-size:11px}.terms-error{margin:-12px 0 14px}
.auth-mail-card{margin:18px 0;padding:14px;border:1px solid #c9dde4;border-radius:12px;background:#f7fbfc;color:#405f70;text-align:center;font-size:12px}.auth-mail-card strong{display:block;margin-top:5px;color:#173c51}.auth-security-note{display:flex;gap:10px;margin:15px 0;padding:12px;border-radius:11px;background:#e9f7fa;color:#426776;font-size:10px;line-height:1.45}.auth-security-note span:first-child{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;background:#2ba9c1;color:#fff;font-weight:700}.auth-action-link{margin-top:20px}
.auth-email-change{margin-top:16px;border-top:1px solid #e0eaed;padding-top:14px}.auth-email-change summary{color:#167c92;font-size:11px;font-weight:700;text-align:center;cursor:pointer}.auth-email-change form{margin-top:16px;padding:14px;border-radius:12px;background:#f7fbfc}
.invitation-summary{display:grid;gap:10px;margin:20px 0;padding:16px;border:1px solid #dbe6ea;border-radius:14px;background:#f8fbfc}.invitation-summary>div{display:flex;justify-content:space-between;gap:16px}.invitation-summary span{color:#728692;font-size:12px}.invitation-summary b{color:#173c51;text-align:right}.invitation-summary p{margin:3px 0 0;padding-top:11px;border-top:1px solid #e2ecef;color:#627986;font-size:12px;line-height:1.55}.invitation-verified{display:flex;align-items:flex-start;gap:11px;margin:0 0 18px;padding:13px;border:1px solid #a9d9c5;border-radius:12px;background:#effaf5;color:#28674e}.invitation-verified>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#49a87d;color:#fff;font-weight:800}.invitation-verified b,.invitation-verified p{display:block;margin:0}.invitation-verified p{margin-top:3px;font-size:12px;line-height:1.45}
.auth-input[readonly]{border-color:#b6d8c9;background:#f3faf7;color:#315f4b}.auth-verified-copy{display:block;margin-top:6px;color:#3c8665;font-size:10px;font-weight:700}
@media(max-width:820px){.auth-page{padding:0}.auth-shell{grid-template-columns:1fr;min-height:100vh;border:0;border-radius:0}.auth-brand{padding:28px 24px}.auth-logo{width:min(250px,80%)}.auth-brand-copy{display:none}.auth-brand-note{margin-top:18px}.auth-panel{padding:32px 22px}}
@media(max-width:480px){.auth-name-grid{grid-template-columns:1fr}.auth-row{align-items:flex-start}}

html[data-theme="dark"]{--ink:#dbe7ec;--muted:#91a6b1;--line:#2e424d;color-scheme:dark}html[data-theme="dark"],html[data-theme="dark"] body{background:#0a151d;color:var(--ink)}html[data-theme="dark"] .auth-shell{border-color:#2d424d;background:#111f28;box-shadow:0 18px 44px rgba(0,0,0,.35)}html[data-theme="dark"] .auth-panel{background:#111f28}html[data-theme="dark"] .auth-screen h1{color:#e3edf1}html[data-theme="dark"] .auth-screen-intro,html[data-theme="dark"] .auth-bottom,html[data-theme="dark"] .auth-check{color:#91a6b1}html[data-theme="dark"] .auth-field label{color:#c4d4db}html[data-theme="dark"] .auth-input{border-color:#36505d;background:#0d1b24;color:#dce8ed}html[data-theme="dark"] .auth-input:focus{border-color:#54b8cb;box-shadow:0 0 0 3px rgba(84,184,203,.14)}html[data-theme="dark"] .auth-google{border-color:#36505d;background:#172a35;color:#dce8ed}html[data-theme="dark"] .auth-google:hover{background:#1d3440}html[data-theme="dark"] .auth-divider:before,html[data-theme="dark"] .auth-divider:after,html[data-theme="dark"] .auth-email-change{border-color:#2e424d;background-color:#2e424d}html[data-theme="dark"] .auth-email-change form,html[data-theme="dark"] .auth-mail-card,html[data-theme="dark"] .invitation-summary{border-color:#344c58;background:#14232c;color:#b7cad2}html[data-theme="dark"] .invitation-summary b,html[data-theme="dark"] .auth-mail-card strong{color:#e0ebef}
