body.auth-pending .app,body.auth-required .app{visibility:hidden}.auth-shell{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(360px,520px) 1fr;background:#f4f7f8}.auth-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,72px);background:#fff;box-shadow:18px 0 60px rgba(8,42,61,.12)}.auth-card>img{width:132px;height:132px;object-fit:contain;margin-bottom:22px}.auth-kicker{color:#078397;font-size:10px;letter-spacing:1.5px;font-weight:800}.auth-card h1{color:#123e55;font-size:30px;margin:8px 0}.auth-card>p{color:#6d808a;line-height:1.6;font-size:12px;margin:0 0 24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf3f4;border-radius:9px;padding:4px;margin-bottom:20px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:7px;color:#66808a;font-weight:700}.auth-tabs button[aria-pressed=true]{background:#fff;color:#0a6174;box-shadow:0 2px 8px rgba(12,64,89,.1)}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:6px;font-size:10px;color:#5f7680;font-weight:700}.auth-form input{border:1px solid #d3dfe3;border-radius:8px;padding:11px 12px;font:inherit}.auth-form button{border:0;border-radius:8px;padding:12px;background:#087f93;color:#fff;font-weight:800;cursor:pointer}.auth-form button:disabled{opacity:.55}.auth-error{min-height:18px;color:#b23b45;font-size:10px}.auth-visual{display:flex;align-items:flex-end;padding:54px 70px;background:linear-gradient(145deg,rgba(6,47,75,.78),rgba(8,127,147,.68)),url("assets/auth-world-routes.png") center/cover no-repeat;color:#fff}.auth-visual div{max-width:650px}.auth-visual span{font-size:10px;letter-spacing:1.5px;opacity:.7}.auth-visual h2{font-size:38px;line-height:1.1;margin:12px 0;text-shadow:0 2px 18px rgba(1,24,39,.35)}.auth-visual p{font-size:13px;line-height:1.8;opacity:.88}.db-save-state{font-size:9px;color:#66808a}.db-save-state.saved{color:#11806d}.logout-button{border:1px solid #d6e1e4;background:#fff;color:#345c6b;border-radius:7px;padding:6px 9px;font-size:9px;cursor:pointer}
.auth-contact{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid #e3ecee;font-size:10px;color:#7a8e96}.auth-contact a{color:#087f93;font-weight:800;text-decoration:none}.auth-story{width:min(760px,100%);max-width:none!important}.auth-mascot{display:block;width:96px;height:144px;object-fit:contain;object-position:left bottom;margin:0 0 14px}.auth-copy{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;max-width:none!important}.auth-copy article{padding:18px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d;backdrop-filter:blur(8px)}.auth-copy b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;border-radius:20px;background:#fff;color:#087f93;font-size:9px;letter-spacing:1px}.auth-copy p{margin:12px 0 0}.auth-visual-mail{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:#fff;font-size:12px;font-weight:800;text-decoration:none}.auth-visual-mail span{font-size:16px;opacity:1}
@media(max-width:1100px){.auth-visual{padding:40px 44px}.auth-mascot{width:80px;height:120px;margin-bottom:10px}.auth-copy{grid-template-columns:1fr}.auth-visual h2{font-size:32px}.auth-copy article{padding:14px}.auth-copy p{line-height:1.6}}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-card{padding:30px}.auth-visual{display:none}}
.auth-form textarea{border:1px solid #d3dfe3;border-radius:8px;padding:11px 12px;font:inherit;resize:vertical}.auth-form input:focus,.auth-form textarea:focus{outline:2px solid rgba(8,127,147,.15);border-color:#087f93}.auth-form label .optional{float:right;color:#96a5aa;font-size:9px;font-weight:500;letter-spacing:0}.auth-success{display:grid;gap:12px;padding:18px;border:1px solid #b8ddd5;border-radius:12px;background:#f0faf7;color:#285f55}.auth-success b{font-size:16px;color:#106f60}.auth-success p{margin:0;font-size:12px;line-height:1.6}.auth-success button{border:0;border-radius:8px;padding:12px;background:#087f93;color:#fff;font-weight:800;cursor:pointer}
.workspace-conflict-banner{position:fixed;z-index:10050;left:50%;bottom:24px;transform:translateX(-50%);width:min(680px,calc(100vw - 32px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #e3b46a;border-radius:14px;background:#fff8e8;color:#67420c;box-shadow:0 16px 48px rgba(36,29,11,.22)}.workspace-conflict-banner div{display:grid;gap:4px}.workspace-conflict-banner strong{font-size:13px}.workspace-conflict-banner span{font-size:11px;line-height:1.45}.workspace-conflict-banner button{flex:0 0 auto;border:0;border-radius:9px;padding:10px 13px;background:#9b6210;color:#fff;font-weight:800;cursor:pointer}@media(max-width:640px){.workspace-conflict-banner{align-items:stretch;flex-direction:column}.workspace-conflict-banner button{width:100%}}
.workspace-live-banner{position:fixed;right:24px;bottom:24px;z-index:10040;display:flex;align-items:center;gap:18px;max-width:min(520px,calc(100vw - 32px));padding:16px 18px;border:1px solid rgba(13,148,136,.28);border-radius:16px;background:#ecfeff;color:#164e63;box-shadow:0 18px 48px rgba(6,47,75,.2)}.workspace-live-banner div{display:grid;gap:4px}.workspace-live-banner strong{font-size:14px}.workspace-live-banner span{font-size:12px;line-height:1.45}.workspace-live-banner button{flex:none;border:0;border-radius:10px;background:#087f8c;color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}@media(max-width:700px){.workspace-live-banner{left:16px;right:16px;bottom:16px;align-items:flex-start;flex-direction:column}.workspace-live-banner button{width:100%}}
