/* Fichas por período: mismas superficies, radios y acentos del sitio. */
.dated-page { --dated-accent:var(--green); --dated-soft:var(--mint,var(--green-soft)); margin:0 auto; padding-top:18px; padding-bottom:28px; color:var(--ink); }
.dated-page *, .dated-page *::before, .dated-page *::after { box-sizing:border-box; }
.dated-page a { color:var(--dated-accent); text-decoration:underline; text-underline-offset:3px; }
.dated-page p { line-height:1.55; }
.dated-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:5px 8px; font-size:.85rem; margin:0 0 16px; color:var(--ink-soft); }
.dated-primary { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:24px; align-items:start; }
.dated-heading { min-width:0; padding:16px 18px; background:var(--dated-soft); border:1px solid var(--line); border-left:4px solid var(--dated-accent); border-radius:6px; }
.dated-heading h1 { font-size:var(--t-pagina); line-height:1.12; margin:12px 0 18px; }
.dated-heading p { color:var(--ink-soft); font-size:.9rem; margin:14px 0; }
.dated-badge { display:inline-block; padding:5px 9px; background:var(--dated-accent); color:var(--paper); border-radius:4px; font-weight:700; font-size:.85rem; }
.dated-badge.is-future { background:#fae9bd; color:#634713; }
:root[data-theme="dark"] .dated-badge.is-future { background:#473820; color:#f2d491; }
.dated-quote { display:grid; gap:5px; }
.dated-quote>span { font-weight:700; }
.dated-quote strong { font-size:clamp(1.8rem,3.4vw,3rem); line-height:1.15; color:var(--dated-accent); overflow-wrap:anywhere; }
.dated-quote small { color:var(--ink-soft); font-size:.9rem; }
.dated-home-link { display:inline-flex; align-items:center; min-height:44px; font-weight:700; font-size:.9rem; }
.dated-panel { min-width:0; border:1px solid var(--line); border-radius:6px; padding:20px; background:var(--paper); }
.dated-panel h2 { margin:0 0 10px; font-size:var(--t-panel); font-weight:700; line-height:1.25; }
.dated-panel h3 { margin:0 0 8px; font-size:var(--t-tarjeta); font-weight:700; }
.dated-converter p.dated-fixed-period { margin:0 0 16px; color:var(--ink-soft); font-size:.9rem; }
.dated-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:end; }
.dated-controls { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:0; }
.dated-controls>label { flex:1 1 150px; }
.dated-page label { display:grid; gap:7px; font-size:.95rem; font-weight:600; min-width:0; }
.dated-page input,.dated-page select { min-width:0; width:100%; height:48px; border:1px solid var(--line); border-radius:4px; padding:8px 12px; background:var(--paper); color:var(--ink); font:inherit; }
.dated-page input:focus-visible,.dated-page select:focus-visible,.dated-page button:focus-visible,.dated-page a:focus-visible,.dated-page summary:focus-visible { outline:3px solid var(--dated-accent); outline-offset:3px; }
.dated-amount-label input { height:64px; font-size:1.8rem; font-weight:700; }
.dated-page small { font-size:.8rem; line-height:1.5; }
.dated-converter>small { display:block; margin:8px 0; color:var(--ink-soft); }
.dated-result { display:grid; gap:6px; min-width:0; background:var(--dated-soft); border-left:4px solid var(--dated-accent); border-radius:6px; padding:16px; margin:12px 0; }
.dated-result strong { font-size:clamp(1.5rem,2.8vw,2.5rem); overflow-wrap:anywhere; line-height:1.2; }
.dated-result small { overflow-wrap:anywhere; color:var(--ink-soft); }
.dated-presets { display:flex; flex-wrap:wrap; gap:8px; }
.dated-page button { min-height:48px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--dated-accent); font:inherit; font-size:.95rem; font-weight:700; cursor:pointer; padding:8px 12px; }
.dated-presets button { flex:1; min-width:44px; }
.dated-page button:hover { border-color:var(--dated-accent); background:var(--dated-soft); }
.dated-page button:disabled { opacity:.6; cursor:default; }
.dated-rounding { margin:12px 0 20px; font-size:.8rem; color:var(--ink-soft); }
.dated-compare summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:700; color:var(--dated-accent); }
.dated-compare { margin-top:16px; padding-top:8px; border-top:1px solid var(--line); }
.dated-compare p { margin:12px 0 6px; overflow-wrap:anywhere; }
.dated-compare small { color:var(--ink-soft); }
.dated-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:20px; }
.dated-actions button:first-child { background:var(--action,var(--teal-dark)); border-color:var(--action,var(--teal-dark)); color:#fff; }
.dated-feedback { margin:10px 0 0; font-size:.85rem; color:var(--dated-accent); }
.dated-feedback:empty { display:none; }
.dated-error { color:var(--red); font-weight:600; margin:10px 0; }
.dated-changes,.dated-evolution,.dated-guidance { margin-top:24px; }
.dated-changes-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.dated-changes-grid article { min-width:0; padding-top:12px; }
.dated-changes-grid p { color:var(--ink-soft); font-size:.85rem; margin:0 0 8px; }
.dated-changes-grid strong { display:block; color:var(--dated-accent); font-size:1.25rem; overflow-wrap:anywhere; }
.dated-changes-grid span { display:block; font-size:.85rem; margin-top:6px; color:var(--ink-soft); }
.dated-evolution>p { margin:0 0 12px; color:var(--ink-soft); font-size:.9rem; }
.dated-evolution figure { margin:0; }
.dated-evolution svg { display:block; width:100%; height:auto; }
.dated-evolution figcaption { font-size:.8rem; color:var(--ink-soft); line-height:1.5; margin:8px 0 16px; }
.dated-chart-area { fill:var(--dated-accent); opacity:.12; }
.dated-chart-line { fill:none; stroke:var(--dated-accent); stroke-width:3; }
.dated-chart-dot { fill:var(--dated-accent); }
.dated-chart-axis { stroke:var(--line); }
.dated-chart-bar { fill:var(--dated-accent); opacity:.45; }
.dated-chart-bar.is-selected { opacity:1; }
.dated-axis-labels { display:flex; justify-content:space-between; gap:16px; margin-top:6px; font-size:.85rem; color:var(--ink-soft); }
.dated-axis-labels span { max-width:48%; }
.dated-axis-labels span:last-child { text-align:right; }
.dated-stats { display:flex; flex-wrap:wrap; gap:16px 32px; }
.dated-stats>div { flex:1 1 140px; display:grid; gap:5px; }
.dated-stats span { font-size:.85rem; color:var(--ink-soft); }
.dated-stats strong { overflow-wrap:anywhere; }
.dated-series { margin-top:18px; }
.dated-series summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--dated-accent); font-weight:700; }
.dated-table-wrap { max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:6px; }
.dated-table-wrap table { width:100%; min-width:320px; border-collapse:collapse; font-size:.9rem; }
.dated-table-wrap th,.dated-table-wrap td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; }
.dated-table-wrap td { white-space:nowrap; text-align:right; }
.dated-table-wrap caption { text-align:left; padding:12px; color:var(--ink-soft); }
.dated-guidance p { color:var(--ink-soft); margin:0 0 12px; }
.dated-guidance nav,.dated-adjacent { display:flex; flex-wrap:wrap; gap:8px 24px; }
.dated-guidance a,.dated-adjacent a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.dated-adjacent { margin:20px 0; justify-content:space-between; }
.dated-print { display:none; }
@media(max-width:760px) {
  .dated-entry { grid-template-columns:minmax(0,1fr); gap:14px; }
  .dated-primary { grid-template-columns:minmax(0,1fr); gap:16px; }
  .dated-heading { padding:14px 16px; }
  .dated-heading h1 { font-size:1.8rem; margin:10px 0 14px; }
  .dated-heading p:not(.dated-source) { display:none; }
  .dated-changes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dated-panel { padding:16px; }
}
@media(max-width:400px) {
  .dated-page { padding-top:14px; }
  .dated-breadcrumb { margin-bottom:12px; font-size:.8rem; }
  .dated-actions { grid-template-columns:minmax(0,1fr); }
  .dated-changes-grid { gap:14px; }
  .dated-changes-grid strong { font-size:1.1rem; }
}
@media print {
  @page { size:A4 portrait; margin:14mm; }
  html:has([data-dated-page]) { background:#fff!important; color-scheme:light!important; }
  body:has([data-dated-page]) { background:#fff!important; color:#111!important; color-scheme:light; --ink:#111; --ink-soft:#333; --paper:#fff; --line:#ccc; font:10pt/1.4 Arial,sans-serif!important; }
  body:has([data-dated-page]) .site-header,body:has([data-dated-page]) .site-footer,body:has([data-dated-page]) .skip-link,body:has([data-dated-page]) .mobile-nav,body:has([data-dated-page]) dialog,body:has([data-dated-page]) .volver-arriba { display:none!important; }
  [data-dated-page] { margin:0!important; padding:0!important; width:100%!important; max-width:none!important; }
  body:has([data-dated-page]) #main-content,[data-dated-page],[data-dated-print] { background:#fff!important; min-height:0!important; }
  [data-dated-page]>*:not([data-dated-print]) { display:none!important; }
  [data-dated-print][hidden] { display:block!important; color:#111!important; background:#fff!important; }
  .dated-print h1 { font-size:18pt!important; margin:0 0 16px; }
  .dated-print pre { white-space:pre-wrap; overflow-wrap:anywhere; font:11pt/1.6 Arial,sans-serif; margin:0 0 16px; }
  .dated-print .dated-evolution { break-inside:avoid; padding:12px; margin-top:16px; }
  .dated-print svg { max-height:52mm; }
  .dated-print .dated-chart-line { stroke:#14527d; }
  .dated-print .dated-chart-bar,.dated-print .dated-chart-dot,.dated-print .dated-chart-area { fill:#14527d; }
}
