/* Lucanta — guest identity screens (auth/lucanta-guest.blade.php): password setup and
   recovery, accountant invitation, device check, consent. Static theme CSS, not compiled
   by Mix. Builds ONLY on top of login.css (same tokens, fields and primary button) and adds
   what those screens need beyond the login: banners, field help, the live password rules,
   read-only fields, a secondary action and the consent documents. */

/* Fields without a leading icon. */
.lc-guest .inp.plain input{padding-left:12px;}
/* Leave room for the 44px show/hide button. */
.lc-guest .inp.has-toggle input{padding-right:48px;}
.lc-guest .inp input[readonly]{background:var(--surface-2);color:var(--ink-2);cursor:default;}
.lc-guest .inp input[readonly]:hover{border-color:var(--border-2);}
.lc-guest .field-help{font-size:13px;line-height:1.5;color:var(--ink-3);margin-top:6px;}
.lc-guest .inp.err ~ .field-help{display:none;}
.lc-guest .field .opt{font-weight:400;color:var(--ink-3);}

/* Banners: one for the result of the last action (role=alert/status), one quiet note. */
.g-alert{font-size:13.5px;line-height:1.5;border-radius:var(--r);padding:12px 14px;margin:20px 0 0;
  display:flex;gap:10px;align-items:flex-start;}
.g-alert[hidden]{display:none;}
.g-alert svg{width:18px;height:18px;flex:none;margin-top:1px;}
.g-alert.err{background:var(--red-soft);color:var(--red);}
.g-alert.ok{background:var(--teal-soft);color:var(--teal-text);}
.g-alert.info{background:var(--brand-soft);color:var(--ink);}
.g-alert + form{margin-top:16px;}
.g-note{font-size:13px;line-height:1.6;color:var(--ink-2);background:var(--surface-2);
  border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;margin:20px 0 0;}
.g-note b{color:var(--ink);font-weight:600;}

/* Live password rules under the confirmation field. */
.pw-rules{list-style:none;margin:-4px 0 20px;padding:0;display:grid;gap:6px;}
.pw-rules li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);}
.pw-rules li::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;
  border:1.5px solid var(--border-2);background:var(--surface);}
.pw-rules li.ok{color:var(--teal-text);}
.pw-rules li.ok::before{border-color:var(--teal-text);background:var(--teal-text);
  box-shadow:inset 0 0 0 3px var(--surface);}

/* Secondary text action (resend a code, go back to sign in): 44px target. */
.g-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;}
.g-link{background:none;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;
  font:inherit;font-size:13px;font-weight:600;color:var(--brand-link);cursor:pointer;text-decoration:none;}
.g-link:hover{text-decoration:underline;}
.g-link[disabled]{color:var(--ink-3);cursor:default;text-decoration:none;}
.g-link.muted{color:var(--ink-2);}
.g-cta{margin-top:24px;text-decoration:none;}

/* One-time code: six digits read as six digits. */
.g-code input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;
  font-weight:600;letter-spacing:.38em;text-align:center;padding-left:12px;}
.g-code input::placeholder{letter-spacing:.38em;}

/* Consent documents. */
.g-doc{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin:0 0 4px;}
.g-doc summary{cursor:pointer;list-style:none;padding:12px 14px;min-height:44px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;font-size:14px;font-weight:600;color:var(--ink);}
.g-doc summary::-webkit-details-marker{display:none;}
.g-doc summary::after{content:"";width:8px;height:8px;flex:none;border-right:2px solid var(--ink-3);
  border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .15s;}
.g-doc[open] summary::after{transform:rotate(-135deg);}
.g-doc summary:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r);}
.g-doc .ver{font-weight:400;color:var(--ink-3);font-size:13px;}
.g-doc .body{padding:0 14px 12px;max-height:280px;overflow:auto;}
.g-doc .body p{font-size:13px;line-height:1.6;color:var(--ink-2);margin:8px 0 0;}
.lc-guest .remember.g-accept{align-items:flex-start;margin:4px 0 12px;line-height:1.5;}
.lc-guest .remember.g-accept .box{flex:none;margin-top:2px;}
