/* Listing Light brand tokens for the admin prototypes (2026-11-09). The numbers are Website Builder/directives/Brand.MD and
   Automations/execution/upload_portal.html; the wash is a copy of training_chrome.WASH_CSS. A layout adds its own file and
   never changes a token. No red anywhere except inside the wash (his rule): warnings are amber, a held change purple. */
:root{
  --blue:#0071e3;--blue-ink:#0058b3;--blue-2:#2563eb;--orange:#f97316;--purple:#7a6bd8;--purple-ink:#4c3fb0;--green:#0a7d4f;
  --grad:linear-gradient(90deg,#2563eb,#f97316);
  --ink:#1d1d1f;--n800:#262626;--n700:#404040;--n600:#555;--n500:#737373;--n400:#a3a3a3;--n300:#d4d4d4;--n200:#e5e5e5;--n100:#f5f5f5;--n50:#fafafa;
  --sky:#eff6ff;--sky2:#dbeafe;--lav:#f5f3ff;--lav2:#e4defe;--amber-bg:#fff7ed;--amber-line:#fed7aa;--amber-ink:#b45309;
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:"Playfair Display",Georgia,serif;
  --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --demo-h:0px;
}
html.ll-has-bar{--demo-h:40px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:#fff;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
::selection{background:#0071e3;color:#fff}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
ul{list-style:none;margin:0;padding:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* The Motion switch. Nothing on these pages may depend on a transition to appear. */
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important;transition-delay:0s!important}

/* The white dot grid and the wash, the wallpaper of every page but the homepage. */
.ll-dots{background-color:#fff;background-image:radial-gradient(#e5e7eb 1px,transparent 1px);background-size:32px 32px}
.ll-wash{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;pointer-events:none;
  background:radial-gradient(75% 95% at 0% 0%,rgba(31,105,151,.62) 0%,rgba(60,101,141,.30) 42%,rgba(60,101,141,0) 74%),
    radial-gradient(70% 90% at 100% 0%,rgba(161,59,46,.58) 0%,rgba(180,80,71,.28) 42%,rgba(180,80,71,0) 74%),
    linear-gradient(to bottom,rgba(38,56,90,.30) 0%,rgba(38,56,90,.08) 38%,rgba(38,56,90,0) 62%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.45) 62%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.45) 62%,transparent 100%)}

/* The house's type. */
.ll-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ll-eyebrow{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.ll-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--n500)}
.ll-street{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;color:var(--ink);line-height:1.25}
.ll-city{font-size:12px;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.ll-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* The real logo. */
.ll-logo{display:block;width:36px;height:36px}

/* The house's glass pill (small surfaces only: a blur behind something big costs a repaint of everything under it). */
.ll-glass{background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.05)}

/* The house's buttons. */
.ll-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .18s,transform .18s var(--ease)}
.ll-btn:hover{background:var(--orange)}
.ll-btn:active{transform:scale(.97)}
.ll-btn:disabled{background:var(--n200);color:var(--n400);cursor:default}
.ll-btn.quiet{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 1px rgba(0,113,227,.45)}
.ll-btn.quiet:hover{background:var(--sky);color:var(--blue-ink)}
.ll-btn.amber{background:#d97706}
.ll-btn.sm{min-height:36px;padding:0 14px;font-size:13px}

/* A property's picture: the box is always sized by the layout, so nothing jumps as photos load. */
.ll-ph{position:relative;display:block;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}
.ll-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ll-art svg{position:absolute;inset:0;width:100%;height:100%;display:block}

/* The flying photo of LL.motion.morph. */
.ll-ghost{position:fixed;z-index:9000;pointer-events:none;background-size:cover;background-position:center;will-change:transform;contain:strict}

/* Toasts. */
.ll-toasts{position:fixed;z-index:9500;left:50%;bottom:calc(20px + var(--sab));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(92vw,560px)}
.ll-toast{pointer-events:auto;display:flex;align-items:center;gap:14px;max-width:100%;padding:10px 14px 10px 18px;border-radius:999px;background:rgba(23,23,23,.92);color:#fff;font-size:14px;font-weight:500;box-shadow:0 12px 34px -12px rgba(0,0,0,.45)}
.ll-toast.warn{background:#92400e}
.ll-toast-a{appearance:none;border:0;background:rgba(255,255,255,.16);color:#fff;font-weight:600;font-size:13px;padding:5px 12px;border-radius:99px;cursor:pointer}
.ll-toast-a:hover{background:var(--orange)}

/* The demo bar: not part of any design. */
.ll-bar{position:fixed;z-index:9800;top:0;left:0;right:0;height:40px;display:flex;align-items:center;gap:14px;padding:0 14px;background:#fff;border-bottom:1px solid var(--n200);font-size:12px;color:var(--n600)}
.ll-bar-all{color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap}
.ll-bar-all:hover{color:var(--orange)}
.ll-bar-nav{display:flex;gap:2px}
.ll-bar-nav a{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:var(--n600);font-weight:600;text-decoration:none}
.ll-bar-nav a:hover{background:var(--n100)}
.ll-bar-nav a.on{background:var(--blue);color:#fff}
.ll-bar-note{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--n500)}
.ll-bar-r{display:flex;gap:6px;margin-left:auto}
.ll-bar-b{appearance:none;display:inline-flex;gap:5px;height:26px;align-items:center;padding:0 10px;border:1px solid var(--n200);border-radius:99px;background:#fff;color:var(--n500);cursor:pointer;white-space:nowrap;font-size:12px}
.ll-bar-b b{color:var(--ink);font-weight:600}
.ll-bar-b:hover{border-color:var(--blue)}
@media (max-width:760px){
  .ll-bar{gap:8px;padding:0 10px}
  .ll-bar-note{display:none}
  .ll-bar-all{display:none}
  .ll-bar-b span{display:none}
  .ll-bar-b{padding:0 8px}
}
