.login-wrap{max-width:460px;margin:0 auto;padding:50px 22px 38px}
.login-card{padding:36px 34px;text-align:center;box-shadow:0 18px 60px #1b324408}
.login-symbol{display:grid;place-items:center;width:54px;height:54px;background:#e4ecf3;color:#3b607e;border-radius:18px;margin:0 auto 24px}
.login-symbol .icon{width:27px;height:27px}
.login-card h1{font-size:29px;letter-spacing:-1px;margin:12px 0}
.login-description{color:#6f7c86;font-size:14px;line-height:1.8;margin:0 0 28px}
.login-card form{text-align:left}
.login-card .form-field{font-size:13px;margin:18px 0}
.login-card input{font-size:16px;min-height:49px}
.login-card .button{margin-top:21px;min-height:49px}
.login-note{border-top:1px solid #dfe4e9;padding-top:22px;margin:25px 0 0;color:#6f7c86;font-size:11px;line-height:1.9;word-break:keep-all}
.login-footnote{text-align:center;font-size:11px;color:#6f7c86;margin-top:25px}
.owner-logout{margin-left:auto;border:1px solid #d4dce3;border-radius:8px;background:transparent;color:#556776;padding:9px 13px;font-size:12px;cursor:pointer;white-space:nowrap}
.visitor-wrap{padding-bottom:35px}
.account-tools{display:flex;gap:12px;align-items:center;margin-left:auto;min-width:0}.account-label{font-size:11px;color:var(--muted);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-page-label{font-size:13px;color:var(--muted);margin-left:15px}.owner-only{padding-bottom:40px}.owner-admin-context{display:flex;gap:12px;align-items:center;border:1px solid #d0dae2;background:#e5ecf1;border-radius:12px;padding:13px 17px;font-size:12px;margin:0 0 24px;flex-wrap:wrap}.owner-admin-context a{margin-left:auto;font-size:11px;text-decoration:underline;text-underline-offset:3px}.add-contact-button{margin-top:12px}.login-switch{display:inline-block;margin-top:20px;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.admin-topbar .topnav{gap:22px}.admin-topbar .brand{margin-right:5px}.admin-topbar .topnav a{white-space:nowrap}
@media(max-width:1100px){.admin-topbar{padding-left:24px;padding-right:24px;gap:14px}.admin-topbar .topnav{gap:16px;font-size:12px}.admin-topbar .account-label{display:none}}
@media(max-width:760px){.admin-topbar .topnav{display:none}.admin-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;height:calc(64px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);display:flex;align-items:stretch;background:#ffffffed;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.admin-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#6f7c86}.admin-bottom-nav a.active{color:var(--green);font-weight:700}.admin-topbar~.workspace{padding-bottom:100px}}
@media(max-width:650px){.owner-page-label{display:none}.account-tools{gap:8px}.account-label{max-width:75px;font-size:10px}.owner-only{padding-bottom:34px}.owner-only .site-footer{flex-wrap:wrap}.admin-bottom-nav a{font-size:9px}.owner-admin-context{font-size:11px;gap:8px}.owner-topbar~.workspace .owner-demo-strip{font-size:10px}}
@media(max-width:650px){.login-wrap{padding:29px 20px}.login-card{padding:29px 24px}.login-card h1{font-size:27px}.owner-logout{font-size:11px;padding:8px 11px}}
@media(max-width:360px){.login-wrap{padding:24px 15px}.login-card{padding:26px 20px}.login-note{font-size:10px}}

.otp-wrap{max-width:680px;padding-top:38px}.admin-otp{max-width:470px;margin:0 auto;overflow-wrap:anywhere}.admin-otp.otp-wide{max-width:none}.admin-otp .login-symbol{margin-bottom:17px}.admin-otp h1{font-size:26px;line-height:1.45}.admin-otp .login-description{font-size:13px;margin-bottom:23px}.admin-otp .eyebrow{font-size:9px;letter-spacing:1.6px}.otp-progress{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:22px 0 25px;padding:0}.otp-progress li{display:flex;align-items:center;gap:5px;justify-content:center;font-size:10px;line-height:1.6;color:#8191a2;min-width:0}.otp-progress li>.icon,.otp-progress li>b{height:20px;width:20px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#edf2f7;font-size:10px;padding:4px}.otp-progress li.done{color:#047857}.otp-progress li.done>.icon{background:#ecfdf5}.otp-progress li.current{color:#036994;font-weight:650}.otp-progress li.current>b{background:#e0f2fe;color:#075985}.otp-helper{font-size:11px;line-height:1.85;color:#61758b;margin:8px 0 0;word-break:keep-all}.otp-helper strong{font-weight:650}.admin-otp .form-error{font-size:12px;line-height:1.75;min-height:0;margin:13px 0 0}.admin-otp .form-error:empty{display:none}.admin-otp .button{font-size:12px}.admin-otp .otp-code-input{font-size:28px;letter-spacing:.38em;text-align:center;font-weight:650;font-variant-numeric:tabular-nums;min-height:62px;padding-left:calc(13px + .38em)}.otp-recovery-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px!important}.otp-text-button,.otp-cancel{border:0;background:none;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px;line-height:1.8}.otp-text-button{margin-top:20px;font-size:11px;color:#036994}.otp-cancel{display:block;margin:24px auto 0;font-size:11px;color:#607185}.otp-cancel:disabled{cursor:wait;color:#94a3b8}.otp-expiry{margin:19px 0 0;color:#61758b;font-size:10px}.otp-expiry strong{margin-left:7px;color:#3e5d77;font-variant-numeric:tabular-nums}.otp-setup-grid{display:grid;grid-template-columns:224px minmax(0,1fr);align-items:center;gap:20px;margin-bottom:22px}.otp-qr{padding:8px;background:white;border:1px solid #dce5ef;border-radius:12px}.otp-qr img{display:block;width:100%;height:auto;aspect-ratio:1}.otp-setup-instructions{text-align:left;font-size:12px;color:#546e85;line-height:1.8}.otp-setup-instructions ol{margin:0;padding-left:20px;display:grid;gap:12px}.otp-setup-instructions strong{font-weight:650;color:#29485f}.otp-manual{padding:15px 16px;background:#f5f9fd;border:1px solid #dce5ef;border-radius:10px;text-align:left;margin-bottom:24px}.otp-manual summary{font-size:12px;color:#235c7c;font-weight:650;cursor:pointer;line-height:1.7}.otp-manual>p{font-size:11px;line-height:1.9;color:#5c7389}.otp-manual>label{display:block;font-size:11px;font-weight:650;color:#435e76}.otp-manual>input{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #cbd8e5;border-radius:8px;background:#fff;color:#172538;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:44px}.otp-manual .button{margin-top:10px;min-height:40px}.otp-resume-note,.otp-recovery-note{padding:15px 16px;border:1px solid #cce9f5;background:#eef7fd;border-radius:10px;color:#426781;text-align:left;font-size:11px;line-height:1.9;margin:0 0 23px}.otp-resume-note strong{color:#1b536f}.otp-resume-note p{margin:6px 0 0}.otp-recovery-codes{display:grid;grid-template-columns:1fr;list-style:none;gap:8px;margin:20px 0;padding:0;text-align:center}.otp-recovery-codes>li{padding:10px 7px;border:1px solid #dce5ef;background:#f8fafc;border-radius:7px;line-height:1.7}.otp-recovery-codes code{font-size:12px;color:#243f55;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;user-select:all;overflow-wrap:anywhere}.otp-recovery-actions{display:flex;gap:10px}.otp-recovery-actions>.button{flex:1;margin-top:0;min-height:43px}.otp-saved-check{display:flex;align-items:flex-start;gap:9px;margin:23px 0 0;text-align:left;color:#38576f;font-size:12px;line-height:1.85;cursor:pointer}.admin-otp .otp-saved-check>input{width:17px;height:17px;min-height:0;flex-shrink:0;margin:3px 0 0;accent-color:#007fb5}.admin-otp[aria-busy="true"] button:not(.otp-cancel){cursor:wait}.admin-otp input[aria-invalid="true"]{border-color:#dc2626;background:#fffafa}
@media(max-width:650px){.otp-wrap{padding:26px 17px 32px}.admin-otp,.admin-otp.otp-wide{padding:26px 22px;max-width:none}.admin-otp h1{font-size:23px}.admin-otp .login-description{font-size:12px;line-height:1.9}.otp-progress{gap:6px;margin:22px 0}.otp-progress li{font-size:9px;gap:4px}.otp-progress li>.icon,.otp-progress li>b{width:18px;height:18px}.otp-setup-grid{grid-template-columns:1fr;gap:16px}.otp-qr{width:216px;max-width:100%;margin:0 auto}.otp-setup-instructions ol{gap:7px}.otp-setup-instructions{font-size:11px}.otp-manual{padding:14px}.otp-manual summary{font-size:11px}.otp-recovery-codes code{font-size:10px;letter-spacing:-.25px}.otp-recovery-codes>li{padding:10px 4px}.otp-recovery-actions{gap:8px}.otp-recovery-actions>.button{font-size:11px;padding:10px}.otp-saved-check{font-size:11px}.otp-helper{font-size:10px}}
