@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-300.woff2) format("woff2");font-weight:300;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-300.woff2) format("woff2");font-weight:300;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-600.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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-800.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";src:url(/shared/fonts/fira-sans-latin-ext-800.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Sistema de diseño compartido: tokens neutros de la marca DDS + color de acento por farmacia (tema). */
@font-face{font-family:Sora;src:url(/shared/fonts/sora-latin.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sora;src:url(/shared/fonts/sora-latin-ext.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;src:url(/shared/fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;src:url(/shared/fonts/manrope-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --brand:#0054a6; --brand-dark:#003c77; --brand-soft:color-mix(in srgb,var(--brand) 10%,#fff);
  --ink:#0b1f3f; --ink-2:#4a5b78; --ink-3:#8593ab; --line:#e1e7f0; --bg:#f4f7fb; --card:#fff;
  --ok:#15803d; --ok-soft:#dcf5e4; --warn:#b45309; --warn-soft:#fdefd0; --bad:#c62828; --bad-soft:#fde3e3; --info:#1d4ed8; --info-soft:#e0eaff;
  --r:18px; --shadow:0 1px 2px rgba(11,31,63,.06),0 8px 24px rgba(11,31,63,.08);
  --f-display:Sora,system-ui,sans-serif; --f-body:Manrope,system-ui,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{font-family:var(--f-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);margin:0;letter-spacing:-.01em}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font:inherit;color:inherit}
.hidden{display:none!important}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:14px;font-weight:700;background:var(--brand);color:#fff;transition:transform .08s,filter .15s}
.btn:active{transform:scale(.97)} .btn:hover{filter:brightness(1.07)}
.btn.sec{background:var(--brand-soft);color:var(--brand-dark)} .btn.ghost{background:transparent;color:var(--brand-dark);border:2px solid var(--line)}
.btn.bad{background:var(--bad)} .btn.ok{background:var(--ok)} .btn[disabled]{opacity:.45;pointer-events:none}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--info-soft);color:var(--info);white-space:nowrap}
.chip.ok{background:var(--ok-soft);color:var(--ok)} .chip.warn{background:var(--warn-soft);color:var(--warn)} .chip.bad{background:var(--bad-soft);color:var(--bad)} .chip.mute{background:#eceff4;color:var(--ink-2)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow)}
.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.field input,.field select{min-height:46px;border:2px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font-weight:500;color:var(--ink)}
.field input:focus,.field select:focus{outline:0;border-color:var(--brand)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-weight:600;box-shadow:var(--shadow);z-index:99;max-width:90vw}
.toast.bad{background:var(--bad)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Marca Droguería del Sud (manual: azul #0054A6/#003C77, verde #5BA829, fondo #F4F7FA, tinta #1C2733, Segoe UI) ---- */
:root{--sud-azul:#0054a6;--sud-azul-oscuro:#003c77;--sud-verde:#5ba829;--sud-turquesa:#6cece7;
  --ink:#1c2733;--bg:#f4f7fa;--f-display:"Fira Sans","Segoe UI",system-ui,sans-serif;--f-body:"Fira Sans","Segoe UI",system-ui,sans-serif;
  --sud-cian:#11b5ea;--sud-titulo:#4170b1;--sud-navy:#002748}
/* logo oficial (PNG blanco) pintado con el color que se necesite */
.sud-logo{display:inline-block;aspect-ratio:1350/562;background:var(--sud-c,#fff);-webkit-mask:url(/shared/brand/del-sud-logo.png) center/contain no-repeat;mask:url(/shared/brand/del-sud-logo.png) center/contain no-repeat}
.sud-logo.azul{--sud-c:var(--sud-azul)}
.sud-by{display:inline-flex;align-items:center;gap:.6em;color:var(--ink-2);font-weight:600}
