/* Panel de gestión — «Noche y champán». Tema claro por defecto.
   Sin tipografías externas: pilas del sistema (nada se pide a terceros). */
:root {
  --bg:#F3EFE6; --surface:#FBF9F4; --surface-2:#EEE8DC; --ink:#24211C; --ink-2:#5C564C; --muted:#857D6F; --line:#E2DACB;
  --accent:#8E6A3A; --accent-soft:#F0E6D3; --accent-ink:#6E5129;
  --good:#3F7D4E; --warn:#9A6B12; --crit:#A9423A; --crit-soft:#F5E0DC;
  --shadow:0 1px 2px rgb(60 45 20 / .06), 0 8px 24px -12px rgb(60 45 20 / .12);
  --font-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --font-body:system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px; color-scheme:light;
}
:root[data-theme="oscuro"] {
  --bg:#1B1915; --surface:#23201B; --surface-2:#2C2822; --ink:#EEE8DC; --ink-2:#BFB6A6; --muted:#8F8778; --line:#3A352D;
  --accent:#C9A46A; --accent-soft:#3A3024; --accent-ink:#E2C48F;
  --good:#7DB48A; --warn:#D9A54B; --crit:#E07A70; --crit-soft:#3D2522;
  --shadow:0 1px 2px rgb(0 0 0 / .3), 0 10px 28px -14px rgb(0 0 0 / .5); color-scheme:dark;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.5 var(--font-body); min-height:100vh; }
h1,h2 { font-family:var(--font-display); font-weight:600; letter-spacing:.01em; margin:0 0 .5em; }
h1 { font-size:2rem; } h2 { font-size:1.4rem; }
a { color:var(--accent-ink); }
.contenedor { max-width:960px; margin:0 auto; padding:24px 16px 48px; }
.cabecera { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; justify-content:space-between;
  padding:12px 16px; background:var(--surface); border-bottom:1px solid var(--line); }
.marca { font-family:var(--font-display); font-size:1.5rem; font-weight:600; color:var(--ink); text-decoration:none; }
.menu { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center; }
.menu a { color:var(--ink-2); text-decoration:none; padding:6px 2px; border-bottom:2px solid transparent; }
.menu a[aria-current="page"] { color:var(--accent-ink); border-bottom-color:var(--accent); }
.usuario { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:.9rem; }
.tarjeta { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:20px; }
.login { max-width:380px; margin:12vh auto 0; }
label { display:block; font-size:.9rem; color:var(--ink-2); margin:14px 0 4px; }
input[type="email"], input[type="password"] { width:100%; padding:10px 12px; font:inherit; color:var(--ink);
  background:var(--bg); border:1px solid var(--line); border-radius:8px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
button, .boton { font:inherit; cursor:pointer; padding:10px 18px; border-radius:8px; border:1px solid var(--accent);
  background:var(--accent); color:#fff; }
:root[data-theme="oscuro"] button, :root[data-theme="oscuro"] .boton { color:#1B1915; }
button.secundario { background:transparent; color:var(--accent-ink); border-color:var(--line); padding:6px 12px; }
.acciones { margin-top:20px; }
.aviso { background:var(--crit-soft); color:var(--crit); border:1px solid var(--crit); border-radius:8px; padding:10px 12px; margin:0 0 12px; }
.suave { color:var(--muted); }
fieldset { border:1px solid var(--line); border-radius:8px; padding:12px 16px; }
fieldset label { display:inline-block; margin:0 20px 0 0; color:var(--ink); }
