/* AUTO Order authentication. Keep these rules scoped: the app owns its own theme. */
:root { color-scheme: dark; }
.auth-page { --ink:#eef1f6; --muted:#a8b0be; --line:#2b3341; --accent:#e84757; margin:0; background:#0b0e13; color:var(--ink); font:15px/1.65 "Malgun Gothic","Segoe UI",sans-serif; min-height:100vh; }
.auth-page *, .portal-return * { box-sizing:border-box; }
.auth-page a { color:inherit; text-decoration:none; }
.auth-page .site-header { height:88px; max-width:1240px; margin:auto; display:flex; align-items:center; justify-content:space-between; padding:0 40px; }
.auth-page .brand { display:flex; align-items:center; gap:12px; font-weight:750; font-size:19px; letter-spacing:-.5px; }
.auth-page .brand-mark { display:grid; place-items:center; background:var(--accent); color:#fff; width:35px; height:35px; border-radius:11px; font-size:22px; }
.auth-page .environment { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }
.auth-page .dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#3ecf6e; flex-shrink:0; }
.auth-page .auth-layout { max-width:1120px; min-height:calc(100vh - 175px); margin:auto; padding:65px 40px 90px; display:grid; grid-template-columns:1.12fr 1fr; gap:95px; align-items:center; }
.auth-page .eyebrow { font-size:11px; font-weight:800; letter-spacing:2.1px; color:#f07a86; margin:0 0 20px; }
.auth-page h1 { font-size:40px; line-height:1.45; letter-spacing:-1.7px; margin:0 0 20px; }
.auth-page .auth-intro>p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.9; }
.auth-page .intro-note { display:flex; gap:9px; align-items:center; margin-top:55px; font-size:12px; color:var(--muted); }
.auth-page .auth-card { background:#151a22; border:1px solid var(--line); padding:36px; border-radius:20px; box-shadow:0 16px 55px #0004; }
.auth-page .card-icon { height:42px; width:42px; border-radius:12px; display:grid; place-items:center; background:#e847571a; color:#f07a86; font-size:18px; font-weight:bold; margin-bottom:20px; }
.auth-page h2 { font-size:22px; letter-spacing:-.8px; margin:0 0 9px; }
.auth-page .muted { color:var(--muted); }
.auth-page .auth-card>.muted { font-size:13px; margin:0 0 25px; }
.auth-page label { display:block; font-size:13px; font-weight:700; margin:18px 0 7px; }
.auth-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]) { width:100%; height:47px; border:1px solid #354052; border-radius:8px; padding:0 13px; font-size:16px; background:#0f141c; color:#eef1f6; }
.auth-page input:focus { outline:3px solid #e8475733; border-color:#e84757; }
.auth-page input::placeholder { color:#8290a3; }
.auth-page input:-webkit-autofill { -webkit-text-fill-color:#eef1f6; -webkit-box-shadow:0 0 0 1000px #0f141c inset; caret-color:#eef1f6; }
.auth-page .button { display:inline-flex; justify-content:center; align-items:center; gap:16px; border:1px solid transparent; border-radius:9px; min-height:44px; padding:11px 18px; font-size:13px; font-weight:700; cursor:pointer; line-height:1.5; font-family:inherit; }
.auth-page .primary { color:#fff; background:var(--accent); }
.auth-page .primary:hover { background:#f05a69; }
.auth-page .full { width:100%; justify-content:space-between; }
.auth-page .auth-card .primary { margin-top:26px; }
.auth-page .auth-footnote { font-size:11px; color:var(--muted); margin:20px 0 0; }
.auth-page .input-help { font-size:12px; color:var(--muted); margin:8px 0; }
.auth-page .message { font-size:13px; padding:11px 13px; border-radius:8px; }
.auth-page .error { background:#ff70701a; color:#ff9e9e; }
.auth-page .success { background:#3ecf6e1a; color:#8ce6a6; }
.auth-page .site-footer { padding:20px 40px; text-align:center; color:#8290a3; font-size:11px; }
.auth-page .standalone-card { max-width:600px; margin:90px auto 120px; border:1px solid var(--line); background:#151a22; border-radius:18px; padding:40px; }
.auth-page .standalone-card h1 { font-size:26px; }
.auth-page .standalone-card .button { margin-top:18px; }
.auth-page .remember-option { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:400; margin-top:18px; }
.auth-page .remember-option input[type=checkbox] { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.portal-return { display:flex; align-items:center; gap:25px; background:#11151c; border-bottom:1px solid #2b3341; padding:10px 24px; color:#a8b0be; font:13px/1.6 "Malgun Gothic",sans-serif; }
.portal-return a { color:#eef1f6; text-decoration:none; font-weight:bold; }
.portal-return .button { border:1px solid #354052; border-radius:8px; background:#1a2030; color:#eef1f6; padding:7px 14px; min-height:36px; cursor:pointer; font:13px/1.5 "Malgun Gothic",sans-serif; }
.portal-return .button:hover { background:#252e3e; }
.portal-return { flex-wrap:wrap; }
#workspaceSyncState { font-size:12px; max-width:100%; overflow-wrap:anywhere; }
@media(max-width:800px) { .auth-page .auth-layout { gap:30px; padding-top:30px; grid-template-columns:1fr; max-width:550px; } .auth-page .auth-intro h1 { font-size:31px; } .auth-page .intro-note { margin-top:20px; } .auth-page .site-header { padding:0 22px; } .auth-page .auth-card { padding:27px; } .auth-page .standalone-card { margin:50px 22px; padding:28px; } .auth-page .environment { font-size:10px; } .portal-return { gap:12px; padding:9px 14px; } .portal-return span { font-size:11px; } }
