/* SCAMURAI authentication refresh. Workspace and demo styles remain unchanged. */
.auth-screen { background:#0a1013; }
.auth-right { justify-content:center; padding-block:40px; }
.auth-card { width:100%; max-width:448px; padding:30px; border:1px solid #31454b; border-radius:20px; background:#131e23; box-shadow:0 24px 70px #00000024; }
.auth-card::before { left:30px; width:36px; border-radius:0 0 4px 4px; }
.auth-card-kicker { margin-bottom:18px; font-size:9px; letter-spacing:1.2px; color:#93b3ae; }
.auth-card h2 { font-size:30px; line-height:1.17; letter-spacing:-1px; }
.auth-card > p { margin:10px 0 22px; font-size:13px; line-height:1.6; color:#9aafb6; }
.auth-mode { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin-bottom:24px; border:1px solid #293c43; border-radius:11px; background:#0b151a; }
.auth-mode button { min-height:40px; padding:8px 12px; border:1px solid transparent; border-radius:7px; background:none; color:#8fa7b0; font:600 12px var(--font); cursor:pointer; transition:background .16s,color .16s; }
.auth-mode button[aria-pressed="true"] { background:#22363a; border-color:#38514f; color:#c7f6e1; box-shadow:0 2px 5px #0002; }
.auth-mode button:hover:not([aria-pressed="true"]) { color:#deecec; background:#17252c; }
.auth-mode button:disabled { cursor:wait; }
.auth-card .form-field { margin-bottom:18px; }
.auth-card .form-field label { margin-bottom:8px; font-size:12px; font-weight:550; color:#c8d8dc; }
.auth-card .form-field label small { font:400 10px var(--font); color:#8a9fa8; margin-left:6px; }
.auth-card .form-field input { width:100%; min-height:49px; padding:13px 14px; border:1px solid #344a53; border-radius:9px; background:#0c161b; color:#edf5f6; font-size:15px; line-height:1.4; box-shadow:none; }
.auth-card .form-field input::placeholder { color:#6e8792; opacity:1; }
.auth-card .form-field input:focus { outline:0; border-color:#a1e8ca; box-shadow:0 0 0 3px #a1e8ca17; }
.auth-password-wrap { position:relative; }
.auth-card .auth-password-wrap input { padding-right:70px; }
.auth-password-toggle { position:absolute; right:5px; top:5px; bottom:5px; min-width:56px; border:0; border-radius:6px; background:transparent; color:#a9c8c0; font:600 11px var(--font); cursor:pointer; }
.auth-password-toggle:hover { background:#1c3034; color:#d8ffec; }
.auth-card #auth-submit { min-height:49px; margin-top:3px; border-radius:9px; background:#a3edcd; color:#10221d; font-size:14px; font-weight:700; box-shadow:0 3px 15px #91e9c313; }
.auth-card #auth-submit:hover:not(:disabled) { background:#baf6de; transform:translateY(-1px); }
.auth-card #auth-submit:disabled { opacity:.65; cursor:wait; }
.auth-card .form-error:empty { display:none; }
.auth-card .form-error:not(:empty) { margin:0 0 14px; padding:12px 13px; border:1px solid #8a525757; border-radius:9px; background:#9b414314; color:#edb5b9; font-size:12px; line-height:1.65; }
.auth-switch-row { margin-top:20px; font-size:12px; gap:7px; }
.auth-switch-row .text-button { min-height:30px; font-size:12px; }
.auth-data-note { margin-top:20px; padding-top:18px; font-size:10.5px; line-height:1.65; color:#91aaaF; gap:9px; }
.auth-data-note svg { width:15px; height:15px; }
.auth-demo-link { width:100%; max-width:448px; margin:14px 0 0; text-align:left; }
.auth-demo-link > a { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:15px 18px; border:1px solid #2c4347; border-radius:13px; background:#111e23; color:#c4e8dc; text-decoration:none; transition:border-color .16s,background .16s; }
.auth-demo-link > a:hover { background:#17292d; border-color:#5e9583; }
.auth-demo-link strong { display:block; font-size:12px; font-weight:600; line-height:1.5; }
.auth-demo-link small { display:block; margin-top:3px; font-size:10px; line-height:1.5; color:#8da6ae; }
.auth-demo-arrow { color:#a5e5c7; font-size:18px; }
.auth-service-status { width:100%; max-width:448px; margin:17px 0 0; padding:0 3px; gap:8px; font-size:10px; line-height:1.6; flex-wrap:wrap; }
.auth-service-status .tiny-dot { background:#9cb2bc; box-shadow:none; flex:none; }
.auth-service-status[data-state="online"] .tiny-dot { background:#a3edcd; box-shadow:0 0 0 3px #a3edcd12; }
.auth-service-status[data-state="offline"] .tiny-dot { background:#d0ad79; }
.auth-service-status #auth-status { flex:1; }
.auth-service-status button { min-height:28px; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.auth-connection-details { width:100%; max-width:448px; margin-top:10px; padding:11px 13px; border:1px solid #725c3c55; border-radius:9px; color:#b1aaa0; background:#322b201a; font-size:10px; line-height:1.7; }
.auth-connection-details[hidden] { display:none; }
.auth-connection-details summary { cursor:pointer; color:#c5b694; font-size:10px; }
.auth-connection-details p { margin:9px 0 0; }
.auth-connection-details code { display:block; margin:5px 0; overflow-wrap:anywhere; color:#b9d6cf; font-size:9px; }
.auth-preview-note { max-width:430px; font-size:9px; line-height:1.7; margin-top:15px; color:#77929c; }
.auth-preview-note button { color:#9ebdb5; font-size:10px; }
.auth-mode button:focus-visible,.auth-password-toggle:focus-visible,.auth-demo-link a:focus-visible,.auth-service-status button:focus-visible { outline:2px solid #a3edcd; outline-offset:3px; }
@media (max-width:760px) {
  .auth-screen { display:flex; flex-direction:column; min-height:100svh; background:radial-gradient(ellipse at 50% -15%,#244c401f,transparent 60%),#0a1217; }
  .auth-screen[hidden] { display:none; }
  .auth-left { padding:26px 24px 4px; border:0; background:none; }
  .auth-left::before { display:none; }
  .auth-brand { width:100%; max-width:448px; margin:0 auto; gap:11px; }
  .auth-brand .brand-symbol { width:38px; height:38px; border-radius:10px; }
  .auth-brand .brand-symbol svg { width:28px; height:28px; }
  .auth-brand .brand-name { font-size:24px; letter-spacing:-.7px; }
  .auth-brand small { font-size:6.5px; letter-spacing:1.6px; margin-top:6px; }
  .auth-brand .version { font-size:8px; margin-top:0; color:#7e9c9b; border-color:#314a4b; }
  .auth-hero,.auth-bottom { display:none; }
  .auth-right { width:100%; padding:22px 20px 28px; background:none; }
  .auth-card { max-width:448px; padding:25px 23px; border-radius:18px; background:#131e24; }
  .auth-card::before { left:23px; }
  .auth-card-kicker { font-size:8px; margin-bottom:16px; letter-spacing:1px; }
  .auth-card h2 { font-size:28px; letter-spacing:-.85px; }
  .auth-card > p { font-size:12px; margin:9px 0 20px; }
  .auth-mode { margin-bottom:22px; }
  .auth-mode button { min-height:39px; font-size:12px; }
  .auth-card .form-field { margin-bottom:17px; }
  .auth-card .form-field label { font-size:12px; }
  .auth-card .form-field input { font-size:16px; min-height:49px; }
  .auth-card #auth-submit { min-height:49px; font-size:14px; }
  .auth-switch-row { margin-top:17px; font-size:11px; }
  .auth-switch-row .text-button { font-size:11px; }
  .auth-data-note { font-size:10px; margin-top:17px; padding-top:16px; }
  .auth-demo-link,.auth-service-status,.auth-connection-details { max-width:448px; }
  .auth-preview-note { font-size:9px; padding:0 5px; }
}
@media (max-width:360px) {
  .auth-left { padding-inline:18px; }
  .auth-right { padding-inline:14px; }
  .auth-card { padding:23px 19px; }
  .auth-card h2 { font-size:25px; }
  .auth-card .form-field label small { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .auth-mode button,.auth-demo-link > a { transition:none; }
  .auth-card #auth-submit:hover:not(:disabled) { transform:none; }
}
