/* =============================================
   Riesgos · Libro de Reclamaciones (hojas con copia)
   ============================================= */
.rk-lr { --lr-wine:#2a0a16; --lr-wine2:#4a1226; --lr-red:#c8203c; --lr-red-d:#a3162e; --lr-pink:#ffd9df; --lr-canary:#fff1a8; --lr-paper:#fffdf9; --lr-ink:#1d1215; --lr-muted:#6c5a60; --lr-line:#ecd9dc; --lr-pen:#1f3fbf; --lr-bg:#fff7f5; background:var(--lr-bg); }
/* ---- comunes ---- */
.rk .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.lr-wrap { width:100%; max-width:1140px; margin:0 auto; padding:0 28px; }
.lr-sec { padding:clamp(52px,7vw,92px) 0; }
.lr-head { max-width:720px; margin:0 0 clamp(26px,4vw,44px); }
.lr-eyebrow { font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#a3162e; }
.lr-head h2 { margin:12px 0 12px; font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.04; letter-spacing:-.05em; color:#1d1215; }
.lr-head p { margin:0; color:#6c5a60; font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.66; }
.lr-faq details { border-bottom:1px solid #ecd9dc; }
.lr-faq details:first-child { border-top:1px solid #ecd9dc; }
.lr-faq summary { display:flex; justify-content:space-between; gap:18px; padding:20px 2px; color:#1d1215; font-size:1.06rem; font-weight:750; cursor:pointer; list-style:none; }
.lr-faq summary::-webkit-details-marker { display:none; }
.lr-faq summary::after { content:"+"; color:#c8203c; font-size:1.5rem; font-weight:400; transition:transform .2s ease; }
.lr-faq details[open] summary::after { transform:rotate(45deg); }
.lr-faq summary:focus-visible { outline:3px solid #c8203c; outline-offset:2px; }
.lr-faq p { max-width:66ch; margin:-4px 36px 22px 0; color:#6c5a60; font-size:.97rem; line-height:1.68; }
.lr-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; }
.lr-links a { color:#a3162e; font-weight:700; font-size:.92rem; }
.lr-cta { padding:clamp(56px,8vw,100px) 0; text-align:center; color:#fff; background:radial-gradient(640px 300px at 50% 0%,rgba(200,32,60,.45),transparent 65%),#2a0a16; }
.lr-cta .lr-wrap { max-width:760px; }
.lr-cta h2 { margin:0; color:#fff; font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.04; letter-spacing:-.055em; }
.lr-cta p { max-width:540px; margin:16px auto 26px; color:#efd3d9; font-size:1.05rem; line-height:1.62; }
.lr-cta .btn { background:#fff; color:#a3162e; }
.lr-cta .btn:hover { background:#ffe8ec; }
.lr-disc { padding:22px 0; background:#f6dfe0; color:#7a5a61; font-size:.76rem; line-height:1.55; text-align:center; }
.lr-disc p { max-width:880px; margin:0 auto; }
/* ---- fin comunes ---- */
.rk-lr main { color:var(--lr-ink); }
.lr-mono { font-family:'JetBrains Mono',monospace; }

/* ---------- Hero: pila de hojas con copia ---------- */
.lr-hero { position:relative; overflow:hidden; color:#fff; padding:clamp(52px,7vw,100px) 0 clamp(56px,7vw,96px);
  background:radial-gradient(700px 420px at 12% -10%, rgba(200,32,60,.42), transparent 62%), repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px), var(--lr-wine); }
.lr-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,72px); align-items:center; }
.lr-kicker { display:inline-block; font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:#ffb3c0; border:1px solid rgba(255,179,192,.4); border-radius:999px; padding:7px 13px; }
.lr-hero h1 { margin:18px 0 18px; color:#fff; font-size:clamp(2.5rem,5.6vw,4.7rem); line-height:.98; letter-spacing:-.06em; }
.lr-hero h1 span { color:#ff9aab; }
.lr-lead { max-width:560px; margin:0; color:#f1d4da; font-size:clamp(1.05rem,1.6vw,1.22rem); line-height:1.62; }
.lr-lead b { color:#fff; }
.lr-bignum { display:flex; align-items:flex-end; gap:16px; margin-top:30px; }
.lr-bignum b { font-size:clamp(3.4rem,7vw,5.6rem); line-height:.82; letter-spacing:-.07em; color:#fff; }
.lr-bignum span { max-width:250px; padding-bottom:6px; color:#e8c4cc; font-size:.9rem; line-height:1.45; }
.lr-stack { position:relative; height:clamp(340px,40vw,440px); }
.lr-sheet { position:absolute; left:50%; width:min(86%,380px); min-height:290px; border-radius:6px; padding:20px 20px 24px; box-shadow:0 22px 50px rgba(0,0,0,.4); color:var(--lr-ink); }
.lr-sheet--pink { background:var(--lr-pink); top:62px; transform:translateX(-40%) rotate(8deg); }
.lr-sheet--canary { background:var(--lr-canary); top:34px; transform:translateX(-58%) rotate(-5deg); }
.lr-sheet--white { background:var(--lr-paper); top:0; transform:translateX(-50%) rotate(.8deg); animation:lr-float 7s ease-in-out infinite; }
@keyframes lr-float { 0%,100% { transform:translateX(-50%) rotate(.8deg) translateY(0); } 50% { transform:translateX(-50%) rotate(.8deg) translateY(-6px); } }
.lr-sheet h3 { margin:0 0 4px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--lr-red-d); }
.lr-sheet .lr-no { position:absolute; top:16px; right:18px; font:700 .8rem 'JetBrains Mono',monospace; color:var(--lr-red); }
.lr-ln { display:block; height:9px; border-radius:2px; margin:11px 0; background:linear-gradient(90deg,#e6d3d6 0 var(--w,100%),transparent var(--w,100%)); }
.lr-ln--pen { background:linear-gradient(90deg,var(--lr-pen) 0 var(--w,60%),transparent var(--w,60%)); opacity:.75; height:7px; }
.lr-sheet small { display:block; margin-top:14px; font:600 .66rem 'JetBrains Mono',monospace; letter-spacing:.06em; color:#8a7077; text-transform:uppercase; }
.lr-stamp { position:absolute; right:-10px; bottom:18px; transform:rotate(-9deg); border:3px solid var(--lr-red); color:var(--lr-red); padding:6px 12px; font:800 .9rem 'JetBrains Mono',monospace; letter-spacing:.1em; border-radius:6px; background:rgba(255,253,249,.75); }

/* ---------- Hoja campo por campo ---------- */
.lr-sec { padding:clamp(52px,7vw,92px) 0; }
.lr-sec--rose { background:#ffeceb; }
.lr-form { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(20px,3vw,38px); align-items:start; }
.lr-doc { position:relative; background:var(--lr-paper); border:1px solid var(--lr-line); border-radius:10px; padding:clamp(18px,2.6vw,30px); box-shadow:0 18px 40px rgba(74,18,38,.1); }
.lr-doc::before { content:""; position:absolute; left:0; right:0; top:-1px; height:8px; border-radius:10px 10px 0 0; background:repeating-linear-gradient(90deg,var(--lr-red) 0 14px,var(--lr-pink) 14px 28px); }
.lr-doc__top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:8px 0 14px; padding-bottom:12px; border-bottom:2px solid var(--lr-ink); }
.lr-doc__top strong { font-size:clamp(1rem,1.7vw,1.25rem); letter-spacing:-.02em; text-transform:uppercase; }
.lr-fields { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.lr-field { position:relative; display:block; width:100%; text-align:left; border:1.5px dashed #d6bcc1; border-radius:8px; background:#fff; padding:13px 14px 12px 44px; font:inherit; color:var(--lr-ink); cursor:pointer; transition:border-color .15s, background .15s, transform .15s; }
.lr-field--wide { grid-column:1/-1; }
.lr-field:hover { border-color:var(--lr-red); background:#fff7f8; }
.lr-field[aria-pressed="true"] { border:1.5px solid var(--lr-red); background:#fff0f2; box-shadow:0 0 0 3px rgba(200,32,60,.14); }
.lr-field:focus-visible { outline:3px solid var(--lr-red); outline-offset:2px; }
.lr-field b { display:block; font-size:.8rem; letter-spacing:.02em; color:var(--lr-red-d); text-transform:uppercase; }
.lr-field em { display:block; margin-top:3px; font-style:normal; font-size:.88rem; color:var(--lr-muted); line-height:1.35; }
.lr-field i { position:absolute; left:12px; top:13px; width:24px; height:24px; border-radius:50%; background:var(--lr-red); color:#fff; font:700 .72rem/24px 'JetBrains Mono',monospace; text-align:center; font-style:normal; }
.lr-field[aria-pressed="true"] i { background:var(--lr-ink); }
.lr-panel { position:sticky; top:96px; background:var(--lr-wine); color:#fff; border-radius:12px; padding:clamp(20px,2.4vw,28px); min-height:300px; }
.lr-panel__n { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--lr-red); font:700 .9rem 'JetBrains Mono',monospace; }
.lr-panel h3 { margin:14px 0 8px; color:#fff; font-size:1.3rem; letter-spacing:-.03em; }
.lr-panel p { margin:0 0 14px; color:#efd3d9; font-size:.95rem; line-height:1.62; }
.lr-panel .lr-fail { margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); }
.lr-panel .lr-fail b { display:block; font:700 .7rem 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#ffb3c0; margin-bottom:6px; }
.lr-panel .lr-fail span { color:#fff; font-size:.92rem; line-height:1.58; }
.lr-note { margin:16px 0 0; color:var(--lr-muted); font-size:.85rem; line-height:1.55; }

/* ---------- Calendario del plazo ---------- */
.lr-clock { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(22px,4vw,56px); align-items:start; }
.lr-clock__ctl { background:var(--lr-paper); border:1px solid var(--lr-line); border-radius:12px; padding:24px; }
.lr-clock__ctl label { display:block; font-weight:750; margin-bottom:8px; }
.lr-clock__ctl input[type=date] { width:100%; padding:12px 14px; font:inherit; border:1.5px solid #d6bcc1; border-radius:8px; background:#fff; color:var(--lr-ink); }
.lr-clock__ctl input:focus-visible { outline:3px solid var(--lr-red); outline-offset:1px; }
.lr-deadline { margin-top:20px; padding:18px; border-radius:10px; background:var(--lr-wine); color:#fff; }
.lr-deadline small { display:block; font:700 .68rem 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#ffb3c0; }
.lr-deadline strong { display:block; margin-top:6px; font-size:clamp(1.3rem,2.2vw,1.75rem); line-height:1.15; letter-spacing:-.03em; }
.lr-clock__ctl p { margin:14px 0 0; color:var(--lr-muted); font-size:.86rem; line-height:1.55; }
.lr-cal { background:var(--lr-paper); border:1px solid var(--lr-line); border-radius:12px; padding:18px; }
.lr-cal__dow, .lr-cal__row { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.lr-cal__dow span { text-align:center; font:700 .66rem 'JetBrains Mono',monospace; color:var(--lr-muted); letter-spacing:.06em; padding-bottom:6px; }
.lr-cal__row { margin-bottom:5px; }
.lr-day { position:relative; aspect-ratio:1/1; min-height:38px; border-radius:7px; background:#faf1f1; display:grid; place-items:center; font-size:.85rem; color:#a38c92; }
.lr-day.is-off { background:transparent; border:1px dashed #ead6d9; }
.lr-day.is-count { background:var(--lr-pink); color:var(--lr-ink); font-weight:700; }
.lr-day.is-count sup { position:absolute; top:3px; right:5px; font:700 .56rem 'JetBrains Mono',monospace; color:var(--lr-red-d); }
.lr-day.is-start { background:var(--lr-ink); color:#fff; font-weight:700; }
.lr-day.is-end { background:var(--lr-red); color:#fff; font-weight:800; box-shadow:0 0 0 3px rgba(200,32,60,.25); }
.lr-day.is-end sup { color:#fff; }
.lr-legend { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px; font-size:.78rem; color:var(--lr-muted); }
.lr-legend i { display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:-1px; }

/* ---------- Tickets de fallas ---------- */
.lr-tickets { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.lr-ticket { position:relative; background:var(--lr-paper); border:1px solid var(--lr-line); border-radius:10px; padding:22px 20px 22px; }
.lr-ticket::before, .lr-ticket::after { content:""; position:absolute; top:62px; width:16px; height:16px; border-radius:50%; background:#ffeceb; border:1px solid var(--lr-line); }
.lr-ticket::before { left:-9px; clip-path:inset(0 0 0 50%); }
.lr-ticket::after { right:-9px; clip-path:inset(0 50% 0 0); }
.lr-ticket__n { font:700 .72rem 'JetBrains Mono',monospace; letter-spacing:.08em; color:var(--lr-red); }
.lr-ticket h3 { margin:8px 0 0; font-size:1.2rem; line-height:1.15; letter-spacing:-.03em; min-height:56px; }
.lr-ticket hr { border:0; border-top:2px dashed var(--lr-line); margin:14px 0; }
.lr-ticket p { margin:0; color:var(--lr-muted); font-size:.92rem; line-height:1.6; }
.lr-ticket b.lr-big { display:block; margin-bottom:6px; font-size:2.1rem; letter-spacing:-.06em; color:var(--lr-red-d); }

/* ---------- Lista de verificación ---------- */
.lr-check { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(22px,4vw,56px); align-items:start; }
.lr-items { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.lr-items li label { display:flex; gap:14px; align-items:flex-start; padding:15px 16px; border:1.5px solid var(--lr-line); border-radius:10px; background:var(--lr-paper); cursor:pointer; transition:border-color .15s, background .15s; }
.lr-items li label:hover { border-color:#e0a9b2; }
.lr-items input { position:absolute; opacity:0; pointer-events:none; }
.lr-items .lr-tick { flex:none; width:24px; height:24px; border-radius:6px; border:2px solid #cfa9b0; display:grid; place-items:center; color:transparent; transition:all .15s; }
.lr-items .lr-tick svg { width:14px; height:14px; }
.lr-items input:checked + .lr-tick { background:var(--lr-red); border-color:var(--lr-red); color:#fff; }
.lr-items input:checked ~ .lr-txt { color:var(--lr-muted); }
.lr-items input:focus-visible + .lr-tick { outline:3px solid var(--lr-red); outline-offset:2px; }
.lr-txt b { display:block; font-size:1rem; }
.lr-txt span { display:block; margin-top:2px; font-size:.88rem; color:var(--lr-muted); line-height:1.5; }
.lr-meter { position:sticky; top:96px; background:var(--lr-wine); color:#fff; border-radius:12px; padding:26px; }
.lr-meter strong { display:block; font-size:clamp(2.4rem,5vw,3.6rem); line-height:1; letter-spacing:-.06em; }
.lr-meter .lr-bar { height:10px; border-radius:99px; background:rgba(255,255,255,.16); margin:16px 0 14px; overflow:hidden; }
.lr-meter .lr-bar i { display:block; height:100%; width:0; border-radius:99px; background:linear-gradient(90deg,#ff9aab,#fff); transition:width .35s ease; }
.lr-meter p { margin:0; color:#efd3d9; font-size:.94rem; line-height:1.6; }

@media (max-width: 960px) {
  .lr-hero__grid, .lr-form, .lr-clock, .lr-check { grid-template-columns:1fr; }
  .lr-tickets { grid-template-columns:repeat(2,1fr); }
  .lr-panel, .lr-meter { position:static; }
  .lr-stack { height:340px; }
}
@media (max-width: 560px) {
  .lr-wrap { padding:0 16px; }
  .lr-fields { grid-template-columns:1fr; }
  .lr-tickets { grid-template-columns:1fr; }
  .lr-ticket h3 { min-height:0; }
  .lr-stack { height:300px; }
  .lr-day { min-height:34px; font-size:.78rem; }
  .lr-cal { padding:12px; }
  .lr-cal__dow, .lr-cal__row { gap:3px; }
}
@media (prefers-reduced-motion: reduce) { .lr-sheet--white { animation:none; } }
