/* ADpilot v4 - account entry (sign in, sign up, reset, verify, invitations,
   interstitials, error pages). Layout: resources/views/components/layouts/entry.blade.php.
   Self-contained so these pages never load the marketing bundle: sections 1-2
   mirror v4.css (fonts, tokens, viewfinder) - change them there and here together.
   Docs: docs/MARKETING-V4.md, section 11. */

/* 1. Fonts (same files as v4.css) */
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage-latin.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage-ext.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist";src:url(fonts/geist-latin.woff2) format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist";src:url(fonts/geist-ext.woff2) format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";src:url(fonts/geistmono-latin.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";src:url(fonts/geistmono-ext.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:96.5%;ascent-override:96.4%;descent-override:28%;line-gap-override:0%}
@font-face{font-family:"Geist fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:103.7%;ascent-override:96.9%;descent-override:28.4%;line-gap-override:0%}

/* 2. Tokens (v4.css section 2) + the few this shell adds (--bad-tx, --field) */
:root{
  color-scheme:light;
  --paper:#F1EFE9;--paper-2:#E8E5DD;--card:#FFFFFF;--cream:#FAF7F0;
  --ink:#141417;--ink-2:#1C1C21;--ink-3:#2A2A31;--ink-0:#0B0B0E;
  --tx:#141417;--tx-2:#45444A;--mut:#5E5D63;
  --line:rgba(20,20,23,.10);--line-2:rgba(20,20,23,.18);
  --on:#F4F2EE;--on-2:rgba(255,255,255,.70);--on-3:rgba(255,255,255,.56);--on-line:rgba(255,255,255,.09);
  --vio:#766CF6;--vio-tx:#5146D9;--vio-2:#A49DFF;--mag:#EA4D99;
  --ok:#3DD68C;--ok-tx:#0B7A45;--warn:#F2B84B;--bad:#E5484D;--bad-tx:#B4232A;
  --grad:linear-gradient(95deg,#766CF6 0%,#B158D3 55%,#EA4D99 100%);
  --f-dsp:"Bricolage Grotesque","Bricolage fallback",system-ui,sans-serif;
  --f-sans:"Geist","Geist fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r-tile:22px;--r-card:14px;--r-ctl:12px;
  --ease:cubic-bezier(.2,.7,.2,1);--d-press:120ms;--d-hover:200ms;
  --field:#FBFAF7;
  --vf-a:var(--ink);--vf-g1:#766CF6;--vf-g2:#EA4D99;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  color-scheme:dark;
  --paper:#0E0E11;--paper-2:#131317;--card:#17171B;--cream:#1A1916;
  --ink:#1E1E24;--ink-2:#1E1E24;--ink-3:#2C2C33;--ink-0:#08080A;
  --tx:#F1EFEA;--tx-2:#C9C7C2;--mut:#A3A1A9;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --vio-tx:#A49DFF;--ok-tx:#3DD68C;--bad-tx:#FF8A8E;--field:#111114;
  --vf-a:#F1EFEA;
}}
:root[data-theme=dark]{
  color-scheme:dark;
  --paper:#0E0E11;--paper-2:#131317;--card:#17171B;--cream:#1A1916;
  --ink:#1E1E24;--ink-2:#1E1E24;--ink-3:#2C2C33;--ink-0:#08080A;
  --tx:#F1EFEA;--tx-2:#C9C7C2;--mut:#A3A1A9;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --vio-tx:#A49DFF;--ok-tx:#3DD68C;--bad-tx:#FF8A8E;--field:#111114;
  --vf-a:#F1EFEA;
}

/* 3. Base */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--paper);color:var(--tx);font:400 16px/1.55 var(--f-sans);min-height:100vh;overflow-x:clip}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
ul,ol{list-style:none}
h1,h2{font-weight:600;text-wrap:balance}
p,li{text-wrap:pretty}
strong,b{font-weight:600}
:focus-visible{outline:2px solid var(--vio);outline-offset:3px;border-radius:6px}
::selection{background:rgba(118,108,246,.24)}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--ink-0);color:#fff;font-weight:500;transition:top var(--d-hover) var(--ease)}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 4. The viewfinder (v4.css section 6): corner brackets on hover and keyboard focus */
.vf{position:relative}
.vf::before,.vf::after{content:"";position:absolute;inset:-6px;pointer-events:none;opacity:0;transform:scale(1.03);transition:opacity var(--d-hover) var(--ease),transform var(--d-hover) var(--ease);z-index:3;--L:var(--vf-l,12px);--T:var(--vf-t,2px)}
.vf::before{background:
  linear-gradient(90deg,var(--vf-g1),var(--vf-g1)) 0 0/var(--L) var(--T) no-repeat,
  linear-gradient(180deg,var(--vf-g1),var(--vf-g1)) 0 0/var(--T) var(--L) no-repeat,
  linear-gradient(90deg,var(--vf-g2),var(--vf-g2)) 100% 100%/var(--L) var(--T) no-repeat,
  linear-gradient(180deg,var(--vf-g2),var(--vf-g2)) 100% 100%/var(--T) var(--L) no-repeat}
.vf::after{background:
  linear-gradient(var(--vf-a),var(--vf-a)) 100% 0/var(--L) var(--T) no-repeat,
  linear-gradient(var(--vf-a),var(--vf-a)) 100% 0/var(--T) var(--L) no-repeat,
  linear-gradient(var(--vf-a),var(--vf-a)) 0 100%/var(--L) var(--T) no-repeat,
  linear-gradient(var(--vf-a),var(--vf-a)) 0 100%/var(--T) var(--L) no-repeat}
@media (hover:hover){.vf:hover::before,.vf:hover::after{opacity:1;transform:none}}
.vf:focus-visible::before,.vf:focus-visible::after,.vf:has(:focus-visible)::before,.vf:has(:focus-visible)::after,.vf.is-on::before,.vf.is-on::after{opacity:1;transform:none}
.vf:focus-visible,.vf :focus-visible{outline:none}
.vf-sm{--vf-l:9px;--vf-t:2px;--vf-r:10px}
.vf-sm::before,.vf-sm::after{inset:-5px}
.on-ink .vf{--vf-a:rgba(255,255,255,.9)}

/* 5. Shell: form column left, brand panel right (>= 1024) */
.au{display:grid;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr)}
.au-main{display:flex;flex-direction:column;min-width:0;padding:20px 16px 18px}
.au-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.au-logo{display:inline-flex;align-items:center;border-radius:10px;padding:4px;margin:-4px;color:var(--tx)}
.au-logo svg{height:30px;width:auto}
.au-top-link{font-size:14px;color:var(--tx-2)}
.au-top-link a{color:var(--tx);font-weight:500;border-radius:6px;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.au-top-link a:hover{text-decoration-color:currentColor}
.au-body{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:440px;margin:28px auto}
.au-card{background:var(--card);border-radius:var(--r-tile);box-shadow:0 0 0 1px var(--line),0 24px 50px -34px rgba(20,20,23,.35);padding:28px 22px}
.au-kicker{font:500 12px/1.3 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.au-card h1{font:600 clamp(28px,1.4vw + 22px,36px)/1.05 var(--f-dsp);letter-spacing:-.035em;font-optical-sizing:auto}
.au-lede{margin-top:10px;color:var(--tx-2);font-size:15.5px;line-height:1.5}
.au-lede b{color:var(--tx)}
.au-content{margin-top:24px}
.au-after{margin-top:18px;text-align:center;font-size:14px;color:var(--tx-2)}
.au-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;justify-content:center;font:400 12px/1.4 var(--f-mono);color:var(--mut)}
.au-legal a{border-radius:4px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;padding:4px 0}
.au-legal a:hover{color:var(--tx);text-decoration-color:currentColor}
@media (min-width:600px){.au-main{padding:28px 32px 22px}.au-card{padding:36px 36px 32px}}

/* 6. Controls */
.stack>*+*{margin-top:16px}
.af label,.af-label{display:block;font:500 14px/1.3 var(--f-sans);color:var(--tx);margin-bottom:7px}
.af-ctl{display:flex;align-items:center;border-radius:var(--r-ctl);background:var(--field);box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow var(--d-hover) var(--ease)}
.af-ctl:hover{box-shadow:inset 0 0 0 1px var(--mut)}
.af-ctl:focus-within{box-shadow:inset 0 0 0 1.5px var(--tx)}
.af-ctl input{flex:1;min-width:0;height:48px;padding:0 14px;border:0;background:none;border-radius:var(--r-ctl);font-size:16px;outline:none}
.af-ctl input::placeholder{color:var(--mut);opacity:.8}
.af-ctl input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--field) inset;-webkit-text-fill-color:var(--tx)}
.af-ctl input[readonly],.af-ctl input:disabled{color:var(--tx-2);cursor:default}
.af-ctl:has(input[readonly]),.af-ctl:has(input:disabled){background:var(--paper-2);box-shadow:none}
.af.is-bad .af-ctl{box-shadow:inset 0 0 0 1.5px var(--bad)}
.af-eye{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-right:2px;border-radius:10px;color:var(--mut);transition:color var(--d-hover)}
.af-eye:hover{color:var(--tx)}
.af-eye svg{width:20px;height:20px}
.af-eye .i-hide,.af-eye[aria-pressed=true] .i-show{display:none}
.af-eye[aria-pressed=true] .i-hide{display:block}
.af-hint{margin-top:7px;font-size:13px;line-height:1.45;color:var(--mut)}
.af-err{display:flex;gap:6px;align-items:flex-start;margin-top:7px;font-size:13.5px;line-height:1.4;font-weight:500;color:var(--bad-tx)}
.af-err::before{content:"";flex:none;width:14px;height:14px;margin-top:2px;background:currentColor;-webkit-mask:var(--i-alert) center/contain no-repeat;mask:var(--i-alert) center/contain no-repeat}
:root{--i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2.2'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}

.af-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.af-check{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--tx-2);cursor:pointer;min-height:24px;border-radius:8px}
.af-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;border-radius:6px;background:var(--field);box-shadow:inset 0 0 0 1.5px var(--line-2);display:grid;place-items:center;cursor:pointer;transition:background-color var(--d-hover),box-shadow var(--d-hover)}
.af-check input::after{content:"";width:12px;height:12px;background:#fff;-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat;opacity:0}
.af-check input:checked{background:var(--ink-0);box-shadow:none}
.af-check input:checked::after{opacity:1}
.af-check input:focus-visible{outline:2px solid var(--vio);outline-offset:2px}
:root{--i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tlink{color:var(--vio-tx);font-weight:500;border-radius:4px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(118,108,246,.4);transition:text-decoration-color var(--d-hover)}
.tlink:hover{text-decoration-color:currentColor}

/* Buttons: full width, 48px. One primary per view. */
.btn{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:var(--r-ctl);font:500 15.5px/1.2 var(--f-sans);text-align:center;transition:transform var(--d-press) var(--ease),box-shadow var(--d-hover) var(--ease),background-color var(--d-hover)}
.btn:active{transform:scale(.98)}
.btn[disabled]{cursor:progress;opacity:.75}
.btn-p{background:var(--ink-0);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 22px -12px rgba(20,20,23,.7)}
.btn-p:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 32px -12px rgba(118,108,246,.85),0 6px 16px -10px rgba(234,77,153,.7)}
.btn-g{background:var(--card);color:var(--tx);box-shadow:0 0 0 1px var(--line-2)}
.btn-g:hover{box-shadow:0 0 0 1px var(--tx)}
.btn-t{min-height:44px;color:var(--tx-2);font-size:14.5px}
.btn-t:hover{color:var(--tx)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-p{background:#fff;color:#141417}}
:root[data-theme=dark] .btn-p{background:#fff;color:#141417}
.btn .spin{display:none;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
.btn[aria-busy=true] .spin{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.btns>*+*{margin-top:10px}

/* Google sign-in: Google's own button spec (white fill, #747775 stroke,
   #1F1F1F text, standard G; dark: #131314 fill, #8E918F stroke, #E3E3E3 text). */
.gbtn{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 16px;border-radius:999px;background:#fff;color:#1F1F1F;box-shadow:inset 0 0 0 1px #747775;font:500 15px/1.2 Roboto,var(--f-sans);letter-spacing:.01em;transition:background-color var(--d-hover)}
.gbtn:hover{background:#F7F8F8}
.gbtn svg{width:20px;height:20px;flex:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gbtn{background:#131314;color:#E3E3E3;box-shadow:inset 0 0 0 1px #8E918F}:root:not([data-theme=light]) .gbtn:hover{background:#1c1c1e}}
:root[data-theme=dark] .gbtn{background:#131314;color:#E3E3E3;box-shadow:inset 0 0 0 1px #8E918F}
.gbtn.vf{--vf-r:24px}
.au-or{display:flex;align-items:center;gap:12px;margin:20px 0;font:400 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* Notices: status (ok), problems (bad), facts (note). */
.au-live:empty{display:none}
.au-live{margin-top:20px}
.note{position:relative;display:block;padding:12px 14px 12px 32px;border-radius:var(--r-card);font-size:14px;line-height:1.5;color:var(--tx-2);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
.note+.note{margin-top:10px}
.note::before{content:"";position:absolute;left:14px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--vio)}
.note b{color:var(--tx)}
.note.ok::before{background:var(--ok)}
.note.bad{color:var(--tx);box-shadow:inset 0 0 0 1px rgba(229,72,77,.45);background:rgba(229,72,77,.06)}
.note.bad::before{background:var(--bad)}
.note ul{margin:0}
.note li+li{margin-top:2px}
.chip-mono{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:999px;font:500 11.5px/1 var(--f-mono);letter-spacing:.02em;background:rgba(20,20,23,.05);color:var(--tx-2)}
.chip-mono::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}
.fine{font-size:13px;line-height:1.5;color:var(--mut);text-align:center}
.fine a{color:var(--tx-2);text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.fine a:hover{color:var(--tx)}

/* 7. Brand panel: calm ink, one real screen, one line of plan. */
.au-panel{display:none}
@media (min-width:1024px){
  .au.has-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .au-panel{display:flex;flex-direction:column;justify-content:space-between;gap:32px;margin:12px 12px 12px 0;padding:44px 0 0 48px;border-radius:var(--r-tile);background:var(--ink-0);color:var(--on);overflow:hidden;position:relative;isolation:isolate}
  .au-panel::before{content:"";position:absolute;inset:-30% -20% auto auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(118,108,246,.30),transparent);z-index:-1}
  .au-panel-t{padding-right:48px;max-width:560px}
  .au-panel .au-kicker{color:var(--on-3)}
  .au-panel h2{font:600 clamp(28px,1.5vw + 14px,40px)/1.06 var(--f-dsp);letter-spacing:-.03em}
  .au-panel p{margin-top:12px;color:var(--on-2);font-size:16px;line-height:1.5;max-width:30em}
  .au-steps{margin-top:22px;display:grid;gap:10px;counter-reset:s}
  .au-steps li{display:flex;gap:12px;align-items:baseline;color:var(--on-2);font-size:15px;counter-increment:s}
  .au-steps li::before{content:counter(s,decimal-leading-zero);font:500 12px/1 var(--f-mono);color:var(--on-3);min-width:20px}
  .au-panel .chip-mono{margin-top:22px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.82)}
  .au-shot{position:relative;margin-left:6px}
  .au-shot picture{border-radius:14px 0 0 0;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 30px 60px -20px rgba(0,0,0,.6)}
  .au-shot img{width:100%}
  .au-shot figcaption{position:absolute;left:14px;bottom:14px;padding:5px 10px;border-radius:999px;background:rgba(11,11,14,.78);font:400 11px/1.2 var(--f-mono);color:var(--on-2);letter-spacing:.02em;backdrop-filter:blur(6px)}
  .au-main{padding:28px 48px 22px}
}
@media (min-width:1024px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) .au-panel{background:#16161B;box-shadow:inset 0 0 0 1px var(--line)}}
@media (min-width:1440px){.au-panel{padding:56px 0 0 64px}.au-panel-t{padding-right:64px}}

/* 8. Error pages and interstitials: a single calm column with the frame art. */
.au-art{width:132px;height:88px;margin-bottom:18px;color:var(--tx)}
.au-art .trail{stroke-dasharray:3 5}
.au-code{font:500 12px/1 var(--f-mono);letter-spacing:.09em;color:var(--mut)}
.au-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:18px;font-size:14px}
.au-links a{color:var(--tx-2);border-radius:4px;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;padding:2px 0}
.au-links a:hover{color:var(--tx);text-decoration-color:currentColor}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.mt{margin-top:20px}
