/* ============================================================================
   Theme for the shared auth kit's own pages (/login, /change-password,
   /admin/users) and for the landing page — MASTER-SPEC §4.8: "styling inherits
   the host app's stylesheet so it looks native".

   This host has no single house style to inherit: it fronts four tools with
   four different palettes. It therefore declares one neutral BWS palette (the
   navy/blue used across the tool family) and maps it onto the custom-property
   names the kit reads (auth/routes.js BASE_STYLE).

   It is linked ONLY by the kit's pages and by views/landing.html. None of the
   four tools loads it, so nothing they already render changes by a single byte.
   ============================================================================ */
:root{
  /* --- the names the auth kit looks for --- */
  --bg:#eef2f7;
  --fg:#1b2430;
  --muted:#5b6875;
  --card:#ffffff;
  --border:#d8e0ea;
  --accent:#0e5aa7;
  --accent-fg:#ffffff;
  --danger:#cc2a2a;
  --ok:#136c3a;
  --radius:12px;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;

  /* --- landing page only --- */
  --ink:#11233f;
  --ink2:#1c3357;
}

/* The narrow cards (/login, /change-password): dark navy header band, white
   body, 12px radius, soft drop shadow — the treatment used by the rest of the
   BWS tool family's sign-in screens. The wide /admin/users card keeps the kit's
   own roomier layout, hence the :not(). */
.bws-auth-body{padding:16px}

.bws-auth-card:not(.bws-auth-card-wide){
  padding:0;
  overflow:hidden;
  border:none;
  border-radius:12px;
  box-shadow:0 6px 28px rgba(0,0,0,.14);
  max-width:380px;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-logo{margin:22px 24px 0}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-h1{
  background:linear-gradient(100deg,var(--ink),var(--ink2));color:#fff;
  font-size:16px;font-weight:700;line-height:1.3;
  padding:22px 24px;margin:0;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-sub{
  font-size:13px;color:var(--muted);margin:22px 24px 16px;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-msg{
  margin:0 24px 14px;font-size:13px;font-weight:600;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-form{margin:0 24px;gap:0}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-label{
  font-size:12px;font-weight:600;color:#445;margin:0 0 6px;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-label + .bws-auth-input{margin-bottom:14px}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-input{
  padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-input:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,90,167,.15);
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-btn{
  width:100%;margin-top:2px;padding:12px;border-radius:8px;
  background:var(--accent);color:#fff;font-size:14px;font-weight:700;
}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-btn:hover{background:#0b4c8e;filter:none}
.bws-auth-card:not(.bws-auth-card-wide) .bws-auth-foot{
  font-size:12px;color:var(--muted);margin:16px 24px 22px;
}

/* The Users screen: the family heading colour, nothing else changed. */
.bws-auth-card-wide .bws-auth-h1,
.bws-auth-card-wide .bws-auth-h2{color:var(--ink)}

/* ---------------------------------------------------------------------------
   Landing page (views/landing.html) — the one new surface besides login and
   the Users screen. Same palette, same card treatment, nothing clever.
   --------------------------------------------------------------------------- */
.lp-body{
  margin:0;min-height:100vh;box-sizing:border-box;
  background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;
}
.lp-header{
  background:linear-gradient(100deg,var(--ink),var(--ink2));color:#fff;
  padding:16px 26px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
}
.lp-title{display:flex;align-items:center;gap:13px}
.lp-logo{
  width:40px;height:40px;border-radius:9px;
  background:linear-gradient(135deg,#0e7c86,#1f9aa8);
  display:flex;align-items:center;justify-content:center;font-size:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.lp-title h1{font-size:17px;font-weight:700;line-height:1.2;margin:0}
.lp-title small{display:block;font-size:11.5px;font-weight:500;opacity:.78;margin-top:2px}
.lp-nav{display:flex;align-items:center;gap:14px;font-size:12px}
.lp-nav a{color:#cfe0f3;text-decoration:none}
.lp-nav a:hover{color:#fff;text-decoration:underline}
.lp-main{max-width:1040px;margin:0 auto;padding:26px 20px 40px}
.lp-lead{color:var(--muted);font-size:13px;margin:0 0 20px;max-width:70ch}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.lp-card{
  display:block;text-decoration:none;color:inherit;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.lp-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(14,90,167,.14)}
.lp-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lp-card-top{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.lp-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:8px;
  background:#eaf1f9;color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:17px;
}
.lp-card h2{font-size:14.5px;font-weight:700;margin:0;color:var(--ink)}
.lp-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}
.lp-path{
  display:inline-block;margin-top:10px;font-size:11.5px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);
}
.lp-foot{margin:26px 0 0;font-size:11.5px;color:var(--muted);line-height:1.7}
