.tr-dialog{--tr-ink:var(--text);--tr-muted:var(--muted);--tr-line:var(--line);--tr-accent:var(--green);--tr-soft:var(--soft);--tr-error:var(--red);color:var(--tr-ink);background:var(--surface);border:1px solid var(--tr-line);border-top:5px solid var(--turquoise);border-radius:8px;width:min(1120px,calc(100vw - 32px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);padding:0;font-family:inherit;font-size:16px;line-height:1.5;box-sizing:border-box;overflow-y:auto}
/* app.css fija dialog[open]{overflow:hidden} con más especificidad que .tr-dialog: sin esta regla el modal no se puede desplazar cuando la jornada no cabe en pantalla (Carlos, 2026-09-28). */
/* Hoja ancha (2026-10-18): el desplazamiento vive en el cuerpo; cabecera y pie quedan fijos. */
.tr-dialog[open]{overflow:hidden}
.tr-dialog::backdrop{background:rgb(12 29 23 / 65%)}
.tr-dialog *{box-sizing:border-box;min-width:0}.tr-dialog [hidden]{display:none!important}.tr-dialog button,.tr-dialog input,.tr-dialog select,.tr-dialog textarea{font:inherit;max-width:100%;min-height:44px;border:1px solid var(--line-control);border-radius:5px;padding:9px 12px;color:var(--tr-ink);background:var(--surface)}.tr-dialog button{cursor:pointer;font-weight:600;touch-action:manipulation}.tr-dialog button:hover:not(:disabled){background:var(--tr-soft)}.tr-dialog button:disabled{opacity:.55;cursor:not-allowed}.tr-dialog :focus-visible{outline:3px solid var(--tr-accent);outline-offset:3px}.tr-dialog label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.tr-dialog input,.tr-dialog select,.tr-dialog textarea{font-size:16px;width:100%}.tr-dialog textarea{resize:vertical}.tr-dialog h2,.tr-dialog h3,.tr-dialog h4,.tr-dialog p{margin:0 0 12px}.tr-dialog h2{font-size:26px}.tr-dialog h3{font-size:20px}.tr-dialog h4{font-size:16px}.tr-dialog small{display:block;font-size:13px;color:var(--tr-muted)}
.tr-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--thead);border-bottom:1px solid var(--tr-line)}.tr-header h2{margin:0}.tr-eyebrow{font-size:11px;font-weight:750;letter-spacing:.09em;color:var(--green)}.tr-body{padding:16px 24px 24px}.tr-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tr-intro,.tr-hint,.tr-summary{color:var(--tr-muted)}.tr-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 12px}.tr-toolbar>label{flex:1 1 200px}.tr-day-nav{display:flex;align-items:flex-end;gap:6px;flex:1 1 260px}.tr-day-nav label{flex:1}.tr-dialog .tr-step{flex:0 0 44px;padding:0;font-size:22px;line-height:1}.tr-message:empty{display:none}.tr-message{padding:12px;background:var(--green-soft);border-left:4px solid var(--tr-accent)}.tr-error{background:var(--red-soft);border-color:var(--tr-error);color:var(--tr-error)}.tr-period{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--tr-line)}.tr-period span{display:block;color:var(--tr-muted);font-size:14px}.tr-period-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}.tr-notice{background:var(--amber-soft);border-left:3px solid var(--amber);padding:12px;color:var(--amber);font-size:14px}.tr-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tr-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.tr-summary{font-size:14px}.tr-events,.tr-work{list-style:none;padding:0;margin:0}.tr-events li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--tr-line)}.tr-events small{grid-column:1/-1}.tr-work li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--tr-line)}.tr-work span{font-size:14px;display:block;font-variant-numeric:tabular-nums}.tr-history{border-top:1px solid var(--tr-line);margin:20px 0 0;padding-top:8px}.tr-history>summary{font-size:16px}.tr-history details{border:1px solid var(--tr-line);padding:12px 16px;margin:12px 0}.tr-dialog summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.tr-history details p,.tr-history li{overflow-wrap:anywhere}.tr-form{--tr-pad:20px;margin-top:4px;padding:16px var(--tr-pad) 0;border:2px solid var(--tr-accent);background:var(--foot)}.tr-form h3{margin-bottom:4px}.tr-form>label{margin:16px 0 8px}.tr-segment{border:1px solid var(--tr-line);padding:16px;margin:16px 0;display:grid;gap:12px}.tr-edit-row{border:0;border-bottom:1px solid var(--tr-line);padding:8px 0;margin:0;display:grid;gap:12px;grid-template-columns:minmax(7rem,1fr) minmax(7rem,1.2fr) 44px;align-items:start}.tr-dialog .tr-remove{margin-top:26px}.tr-edit-row legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tr-edit-row .tr-offset{grid-column:auto}.tr-dialog .tr-remove{padding:0;font-size:18px}.tr-time{display:flex;flex-direction:column;gap:6px}.tr-time-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-height:21px}.tr-dialog .tr-time-head .tr-link{min-height:0;padding:10px 0;margin:-10px 0}.tr-dialog .tr-link{min-height:32px;border:0;padding:4px 0;background:none;color:var(--tr-accent);font-size:14px;text-decoration:underline}.tr-dialog .tr-link:hover:not(:disabled){background:none}.tr-dialog .tr-add{min-height:44px;margin-top:4px}.tr-form legend{padding:0 8px;font-weight:700}.tr-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tr-target-search{display:flex;gap:12px;align-items:flex-end}.tr-target-search label{flex:1}.tr-target-status{font-size:14px}.tr-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.tr-form-actions{position:sticky;bottom:0;z-index:1;justify-content:flex-end;margin:12px calc(-1 * var(--tr-pad)) 0;padding:12px var(--tr-pad);background:var(--foot);border-top:1px solid var(--tr-line)}.tr-dialog .tr-primary{background:var(--tr-accent);color:white;border-color:var(--tr-accent)}.tr-dialog .tr-primary:hover:not(:disabled){background:var(--blue-dark)}.tr-hint{font-size:14px}.tr-dialog li,.tr-dialog strong{overflow-wrap:anywhere}
@media(max-width:760px){.tr-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.tr-header,.tr-body{padding:16px}.tr-columns{grid-template-columns:1fr}.tr-header h2{font-size:22px}.tr-period{align-items:flex-start;flex-direction:column}.tr-period-actions{margin:0}.tr-time-pair{grid-template-columns:1fr}.tr-target-search{flex-wrap:wrap}.tr-target-search label{flex-basis:100%}.tr-form{--tr-pad:14px}.tr-eyebrow{display:none}.tr-header{align-items:flex-start}.tr-form-actions{flex-wrap:nowrap}.tr-form-actions>*{flex:1}.tr-section-title{flex-wrap:wrap}.tr-work li{flex-direction:column}.tr-body{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.tr-dialog *{scroll-behavior:auto!important;transition:none!important}}
.tr-offset{margin-top:4px;color:var(--tr-muted);font-size:13px}.tr-offset summary{font-weight:500}.tr-offset p{margin-bottom:8px}

.tr-inbox ul{list-style:none;padding:0}.tr-inbox li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--tr-line)}.tr-inbox li span{display:block;font-variant-numeric:tabular-nums}.tr-inbox li small{margin-top:4px}@media(max-width:600px){.tr-inbox li{align-items:flex-start;flex-direction:column}.tr-inbox li button{width:100%}}
/* Revisar jornada compacto (Carlos, 2026-10-03): descargas en un menú, avisos plegados y la corrección ocupa el sitio de la jornada en lugar de añadirse al final. */
.tr-menu{position:relative}.tr-dialog .tr-menu>summary{list-style:none;display:flex;align-items:center;border:1px solid var(--line-control);border-radius:5px;padding:0 12px;background:var(--surface)}.tr-menu>summary::-webkit-details-marker{display:none}.tr-menu>summary::after{content:"▾";margin-left:8px}.tr-menu>div{position:absolute;right:0;top:calc(100% + 4px);z-index:2;display:grid;gap:2px;min-width:240px;padding:6px;background:var(--surface);border:1px solid var(--tr-line);border-radius:6px;box-shadow:var(--shadow)}.tr-dialog .tr-menu>div button{border:0;text-align:left;width:100%}
.tr-info{margin:0 0 8px;color:var(--tr-muted);font-size:14px}.tr-dialog .tr-info>summary{min-height:32px;font-weight:500}.tr-info p{margin:4px 0 8px}
.tr-body:has(#tr-form) #tr-content>:is(.tr-columns,.tr-history,.tr-info){display:none}
/* Revisar jornada como hoja ancha (Carlos, 2026-10-18: «muy pequeño y recargado»). Cabecera con día y persona, cuerpo que se
   desplaza, pie con Pendientes, Descargar y Cerrar; cifras grandes y línea de tiempo del día. Solo tokens de app.css. */
.tr-dialog.dialog--lg{width:min(1280px,calc(100vw - 32px));max-height:calc(100dvh - 24px)}
.tr-dialog>.tr-card{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 34px);padding:0;border-radius:0;box-shadow:none;overflow:hidden;background:var(--surface)}
.tr-card>.tr-body{flex:1 1 auto;min-height:0;overflow-y:auto}
.tr-card>.tr-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:12px 24px;flex:none}
.tr-header .tr-heading{align-self:center}
.tr-header .tr-toolbar{margin:0;justify-content:flex-end}
.tr-header .tr-toolbar>label{flex:0 1 280px}.tr-header .tr-day-nav{flex:0 1 300px}
.tr-dialog .tr-close{align-self:start;width:44px;padding:0;font-size:24px;line-height:1;border-color:transparent;background:none}
.tr-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 24px;border-top:1px solid var(--tr-line);background:var(--foot);flex:none}
.tr-footer>#tr-footer-actions{margin-left:auto}
.tr-footer>#tr-footer-actions:empty{display:none}
.tr-footer>#tr-footer-actions:empty+[data-tr=close]{margin-left:auto}
.tr-footer .tr-menu>div{top:auto;bottom:calc(100% + 4px)}
.tr-dialog .tr-period{gap:8px 14px;padding:0 0 12px;border-top:0;font-size:15px}
.tr-dialog .tr-period>span{display:inline;font-size:15px;color:var(--tr-muted)}
.tr-dialog .tr-period>.tr-state{padding:2px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:13px;font-weight:700}
.tr-dialog .tr-period>.tr-state.is-closed{background:var(--amber-soft);color:var(--amber)}
.tr-dialog .help-tip-button{min-height:22px;height:22px;padding:0;font-size:12px}
.tr-timeline{margin:4px 0 18px;padding:12px 14px;border:1px solid var(--tr-line);border-radius:8px;background:var(--bg)}
.tr-track-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin:4px 0}
.tr-track-row>span{font-size:12px;font-weight:700;color:var(--tr-muted)}
.tr-track{position:relative;height:16px;border-radius:4px;background:var(--surface);border:1px solid var(--tr-line);overflow:hidden}
.tr-seg{position:absolute;top:0;bottom:0;min-width:2px}
.tr-seg.is-work{background:var(--green)}.tr-seg.is-break{background:var(--amber-strong)}.tr-seg.is-job{background:var(--info)}
.tr-scale{position:relative;height:16px}
.tr-scale>span{position:absolute;transform:translateX(-50%);font-size:11px;color:var(--tr-muted);font-variant-numeric:tabular-nums}
.tr-scale>span:first-child{transform:none}.tr-scale>span:last-child{transform:translateX(-100%)}
.tr-legend{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:6px 0 0 86px;font-size:12px;color:var(--tr-muted)}
.tr-legend>span{display:inline-flex;align-items:center;gap:5px;margin-right:10px;white-space:nowrap}
.tr-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.tr-legend i.is-work{background:var(--green)}.tr-legend i.is-break{background:var(--amber-strong)}.tr-legend i.is-job{background:var(--info)}
.tr-block{padding:16px;border:1px solid var(--tr-line);border-radius:8px}
.tr-section-title{align-items:center}
.tr-section-title h3{display:flex;align-items:center;gap:8px;margin:0}
.tr-figures{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin:12px 0 10px}
.tr-figures strong{font-size:18px;font-variant-numeric:tabular-nums}
.tr-figures span{margin-left:4px;font-size:13px;color:var(--tr-muted)}
.tr-figures .tr-figure-main strong{font-size:28px;letter-spacing:-.02em}
.tr-history>summary{display:flex;align-items:center;gap:8px}
.tr-body:has(#tr-form) #tr-content>.tr-timeline{display:none}
@media(max-width:760px){
  .tr-dialog.dialog--lg{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .tr-dialog>.tr-card{max-height:calc(100dvh - 26px)}
  .tr-card>.tr-header{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
  .tr-header .tr-toolbar{grid-column:1/-1;grid-row:2;justify-content:stretch}
  .tr-header .tr-toolbar>label,.tr-header .tr-day-nav{flex:1 1 100%}
  .tr-footer{padding:10px 14px}
  .tr-footer>*{flex:1 1 auto}
  .tr-track-row{grid-template-columns:62px minmax(0,1fr)}
  .tr-legend{margin-left:0}
  .tr-figures .tr-figure-main strong{font-size:24px}
}
/* Ajustes tras la prueba en navegador (2026-10-18). */
.tr-dialog>.tr-card{scrollbar-gutter:auto}
.tr-dialog .tr-close{grid-column:3;grid-row:1}
.tr-card .tr-form-actions{bottom:-24px}
.tr-inbox>.tr-link{margin-top:12px}
@media(min-width:761px){.tr-dialog>.tr-card{height:min(880px,calc(100dvh - 34px))}}
@media(max-width:760px){
  .tr-dialog .tr-close{grid-column:2}
  .tr-footer .tr-menu>div{right:auto;left:0;min-width:min(240px,calc(100vw - 48px))}
  .tr-scale>span:nth-child(even):not(:last-child){display:none}
  .tr-dialog .tr-period{flex-direction:row;flex-wrap:wrap;align-items:center}
  .tr-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 44px}
}
