@media screen and (min-width: 1180px) {
    .tt-colunas { display: block; }
    .tt-colunas > .tt-colunas__painel { width: 100%; max-width: none; min-width: 0; margin: 0 0 18px; }
    .tt-colunas > .tt-colunas__resultado { width: 100%; min-width: 0; }
    .tt-colunas__painel .tt-painel { padding: 0; }
    .tt-colunas__painel .tt-atalhos { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; }
    .tt-colunas__painel .tt-atalhos__titulo { flex: 0 0 108px; margin: 0; }
    .tt-colunas__painel .tt-atalhos__lista { flex: 1 1 auto; min-width: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .tt-colunas__painel .tt-form { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 20px; padding: 16px 18px; }
    .tt-colunas__painel .tt-form > * { flex: 1 1 100%; min-width: 0; margin-top: 0; }
    .tt-colunas__painel .tt-paleta { flex: 1 1 100%; margin: 0; }
    .tt-colunas__painel .tt-paleta__lista { position: relative; grid-template-columns: repeat(5, minmax(0, 1fr)); padding-bottom: 68px; }
    .tt-colunas__painel .tt-tipo--activo > .tt-tipo__corpo { position: absolute; left: 0; right: 0; bottom: 0; height: 62px; padding: 6px 0 0; display: flex; align-items: center; gap: 12px; }
    .tt-colunas__painel .tt-tipo__nome-campo { margin: 0; flex: 1 1 210px; }
    .tt-colunas__painel .tt-tipo__par { flex: 2 1 300px; }
    .tt-colunas__painel .tt-fita { flex: 3 1 300px; margin: 0; padding-top: 0; border-top: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
    .tt-colunas__painel .tt-fita > legend { flex: 1 1 100%; float: none; }
    .tt-colunas__painel .tt-fita__lista { flex: 1 1 auto; margin: 0; }
    .tt-colunas__painel .tt-fita__botoes { flex: 0 0 auto; }
    .tt-colunas__painel .tt-ancora { margin: 0; padding-top: 0; border-top: 0; }
    .tt-colunas__painel .tt-onde { margin: 0; padding-top: 0; border-top: 0; }
    .tt-colunas__painel .tt-onde .tt-linha { grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 10px 0 0; }
    .tt-colunas__painel .tt-recuo { flex: 1 1 100%; }
    .tt-colunas__painel .tt-submeter { flex: 0 0 auto; width: auto; margin: 0; align-self: flex-end; }
    .tt-colunas__painel .tt-horas[open] > .tt-horas__grelha { grid-template-columns: 1fr; }
}
@media print {
    .tt-colunas { display: block; }
}
.tt-atalhos { margin: 0 0 18px; }
.tt-atalhos__titulo { margin: 0 0 10px; font-size: 1.05rem; }
.tt-atalhos__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tt-atalhos__lista li { margin: 0; }
.tt-atalho { display: flex; flex-direction: column; gap: 2px; min-height: 49px; padding: 9px 12px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; background: var(--content-bg); color: inherit; text-decoration: none; height: 100%; box-sizing: border-box; }
.tt-atalho:hover { border-color: var(--primary-color); }
.tt-atalho:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-atalho__forma { font-weight: 600; font-size: .88rem; }

.tt-atalho__letras { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; font-size: .76rem; opacity: .75; }
.tt-atalho__setor { font-size: .76rem; opacity: .75; }
.tt-atalhos__fonte { margin: 12px 0 0; font-size: .9rem; opacity: .85; }
.tt-atalhos__aviso { margin: 8px 0 0; font-size: .9rem; opacity: .85; }
.tt-form { margin: 0 0 8px; padding: 20px; border: 1px solid var(--border-color, #d9dee3); border-radius: 10px; background: var(--content-bg); }

.tt-linha { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 0 0 15px; align-items: start; }
.tt-campo { margin: 0; }
.tt-campo label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: 6px; }
.tt-ctl { width: 100%; box-sizing: border-box; height: 49px; min-height: 49px; padding: 12px 15px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; font-size: 1rem; line-height: 1.2; background: var(--content-bg); color: inherit; }
.tt-ctl:focus { border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(0, 0, 0, .08); outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-monoespacado { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .18em; text-transform: uppercase; }

.tt-blocos { margin: 0; padding: 0; border: 0; min-width: 0; }
.tt-blocos legend { padding: 0; font-weight: 600; font-size: .92rem; margin-bottom: 6px; }
.tt-bloco { display: grid; grid-template-columns: 5.5rem auto minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 8px; }
.tt-bloco__liga { font-size: .92rem; opacity: .85; white-space: nowrap; }
.tt-campo .tt-bloco__oculto { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.tt-blocos__botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.tt-blocos__botao { min-height: 44px; padding: 0 14px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; background: transparent; color: inherit; font-size: .88rem; cursor: pointer; }
.tt-blocos__botao:hover { border-color: var(--primary-color); }
.tt-blocos__botao:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-horas { margin: 0 0 4px; padding-top: 14px; border-top: 1px solid var(--border-color, #eceff2); }
.tt-horas__abre { cursor: pointer; font-size: .92rem; font-weight: 600; color: var(--primary-color); min-height: 44px; display: flex; align-items: center; }
.tt-horas__grelha { grid-template-columns: 1fr 1fr; gap: 12px 15px; margin-bottom: 4px; }
.tt-horas:not([open]) > .tt-horas__grelha { display: none; }
.tt-horas[open] > .tt-horas__grelha { display: grid; }
.tt-nota { display: block; margin-top: 6px; font-size: .9rem; opacity: .85; }
.tt-nota--bloco { margin: 0 0 14px; }
.tt-erro { margin: 8px 0 0; padding: 10px 12px; border: 1px solid #e0b4b4; border-radius: 8px; background: #fdf2f2; color: #8a2020; font-size: .95rem; }
.tt-campo .is-invalid { border-color: #b03030; }
.tt-submeter { margin-top: 16px; min-height: 49px; height: 49px; padding: 0 26px; font-size: 1rem; }
.tt-resultado { border: 1px solid var(--border-color, #d9dee3); border-radius: 12px; padding: 20px; margin-top: 8px; background: var(--content-bg); }
.tt-resultado h3 { margin-top: 0; }
.tt-resultado h4 { margin: 0 0 10px; font-size: .88rem; font-weight: 700; opacity: .8; padding-bottom: 8px; border-bottom: 1px solid var(--border-color, #d9dee3); }
.tt-linha-exemplo { display: inline-block; margin: 0 0 12px; padding: 4px 12px; border-radius: 999px; background: #eef2ff; color: #303f9f; font-weight: 700; font-size: .8rem; }
.tt-pares { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 20px 0 12px; }
.tt-par { display: flex; flex-direction: column; gap: 8px; }
.tt-num { margin: 0; border: 1px solid var(--border-color, #d9dee3); border-radius: 9px; padding: 13px 10px; text-align: center; font-size: .82rem; font-weight: 600; }
.tt-num--turno { background: #eef4fc; border-color: #d7e5f6; }
.tt-numero { display: block; font-size: 1.6rem; font-weight: 800; line-height: 1.15; letter-spacing: 0; text-transform: none; color: var(--primary-color); }
.tt-lacuna { border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 16px; }
.tt-legenda { list-style: none; margin: 12px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.tt-legenda li { display: flex; align-items: center; gap: 8px; padding: 2px 0; font-size: .88rem; }
.tt-legenda__letra { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; font-weight: 700; font-size: .8rem; border: 1px solid var(--border-color, #d9dee3); }
.tt-legenda__letra--m { background: #eaf6ec; }
.tt-legenda__letra--t { background: #eef4ff; }
.tt-legenda__letra--n { background: #eeecf8; }
.tt-legenda__letra--d { background: #fdf3e6; }
.tt-legenda__letra--f { background: #f4f6f8; }
.tt-legenda__letra--feriado { background: #ffe5e3; color: var(--feriado-texto-sobre-tom-claro, #c81e14); }
.tt-comojoga { margin: 14px 0; font-size: .92rem; opacity: .9; }
.tt-listas { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0 14px; }
.tt-lista { border: 1px solid var(--border-color, #d9dee3); border-radius: 9px; padding: 15px; }
.tt-lista ul { margin: 0; padding: 0; list-style: none; }
.tt-lista li { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; padding: 5px 0; }
.tt-lista__data { opacity: .7; text-align: right; }
.tt-lista__vazio { margin: 0; font-size: .88rem; opacity: .8; }
.tt-meses { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.tt-meses__ligacao { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; text-decoration: none; }
.tt-normas { padding-left: 20px; }
.tt-normas li { margin-bottom: 12px; }
.tt-partilha-linha label { display: block; font-weight: 600; margin-bottom: 6px; }
.tt-partilha { width: 100%; box-sizing: border-box; height: 49px; padding: 12px 15px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; font-size: .95rem; background: var(--content-bg); color: inherit; }
.tt-saidas { margin-top: 14px; }
.tt-guardado-aviso { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #bcd9c3; border-radius: 8px; background: #eaf6ec; color: #1d5b2c; font-weight: 600; }
.tt-guardar { margin-top: 16px; padding: 16px 18px; border: 1px solid var(--border-color, #d9dee3); border-radius: 12px; background: var(--content-bg); }
.tt-guardar__estado { margin: 0 0 12px; font-weight: 600; }
.tt-guardar__accoes { display: flex; flex-wrap: wrap; gap: 12px; }
.tt-guardar__form { margin: 0; }
.tt-guardar__botao { min-height: 44px; padding: 10px 18px; }
.tt-guardar__botao--apagar { background: transparent; color: inherit; border: 1px solid var(--border-color, #d9dee3); }
.tt-guardar__nota { margin: 0 0 14px; font-size: .9rem; opacity: .85; }
.tt-guardar__lista { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tt-guardar__item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 12px; border: 1px solid var(--border-color, #d9dee3); border-radius: 10px; }
.tt-guardar__item--activa { border-color: var(--primary-color, #1d5fa6); border-width: 2px; padding: 9px 11px; }
.tt-guardar__nome { font-weight: 600; }
.tt-guardar__ciclo { font-size: .9rem; opacity: .85; }
.tt-guardar__item .tt-guardar__accoes { margin-left: auto; }
.tt-guardar__form--novo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.tt-guardar__rotulo { flex: 1 0 100%; font-weight: 600; font-size: .95rem; }
.tt-guardar__campo { flex: 1 1 240px; width: auto; min-width: 0; }
.tt-print-head { display: none; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m { background: #eaf6ec; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t { background: #eef4ff; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n { background: #eeecf8; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d { background: #fdf3e6; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--turno { font-weight: 700; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--turno.holiday { box-shadow: inset 0 0 0 2px #ff3b30; }
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day::after {
    display: block;
    line-height: 1;
    margin-top: 2px;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .04em;
    opacity: .7;
}
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m::after { content: "M"; }
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t::after { content: "T"; }
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n::after { content: "N"; }
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d::after { content: "D"; }
body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--f::after { content: "F"; }
body.cal-year-wide #annual-calendar-container .month-title .tt-mes-badge { position: absolute; top: 15px; right: 15px; height: 21px; min-width: 21px; padding: 0 7px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: .66rem; font-weight: 800; background: #eef4fc; color: var(--primary-color); }
@media (max-width: 900px) {
    .tt-pares { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
    html body.cal-year-wide .tt-resultado > #annual-calendar-container { margin-left: -48px; margin-right: -48px; max-width: none; width: auto; }
}
@media (max-width: 640px) {
    .tt-atalhos__lista { grid-template-columns: 1fr; }
    .tt-linha { grid-template-columns: 1fr; }
    .tt-bloco { grid-template-columns: 4.5rem auto minmax(0, 1fr); }
    .tt-horas[open] > .tt-horas__grelha { grid-template-columns: 1fr; }
    .tt-listas { grid-template-columns: 1fr; }
    .tt-pares { grid-template-columns: 1fr; }
    .tt-lista li { flex-direction: column; gap: 2px; }
    .tt-lista__data { text-align: left; }
}
body.dark-mode .tt-linha-exemplo { background: #263061; color: #dfe4ff; }
body.dark-mode .tt-erro { background: #3a1f1f; color: #ffd9d9; border-color: #7a3a3a; }
body.dark-mode .tt-guardado-aviso { background: #1d2f24; color: #cfe9d6; border-color: #35513f; }
body.dark-mode .tt-guardar,
body.dark-mode .tt-form,
body.dark-mode .tt-atalho { background: #1c1f23; }
body.dark-mode .tt-num--turno { background: #1c2739; border-color: #2b3b52; }
body.dark-mode .tt-legenda__letra--m { background: #1d2f24; }
body.dark-mode .tt-legenda__letra--t { background: #1c2739; }
body.dark-mode .tt-legenda__letra--n { background: #262238; }
body.dark-mode .tt-legenda__letra--d { background: #33291c; }
body.dark-mode .tt-legenda__letra--f { background: #23262b; }
body.dark-mode .tt-legenda__letra--feriado { background: rgba(255, 69, 58, 0.18); color: #ff9a94; }
body.dark-mode.cal-year-wide #annual-calendar-container .month-title .tt-mes-badge { background: #1c2739; color: var(--tt-mes-badge-cor-escuro, #4f9cf6); }
body.dark-mode.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m { background: #1d2f24; }
body.dark-mode.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t { background: #1c2739; }
body.dark-mode.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n { background: #262238; }
body.dark-mode.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d { background: #33291c; }
@media print {
    .tt-print-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #999; padding-bottom: 10px; margin-bottom: 16px; }
    .tt-print-head__marca { font-weight: 700; font-size: 1.1rem; }
    .tt-print-head__qr svg { width: 90px; height: 90px; }
    .tt-resultado { border: 1px solid #999; }
    .tt-pares, .tt-listas { page-break-inside: avoid; }
    body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m { background: #eaf6ec !important; }
    body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t { background: #eef4ff !important; }
    body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n { background: #eeecf8 !important; }
    body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d { background: #fdf3e6 !important; }
}
.tt-painel { padding: 0 29px; }
.tt-painel__titulo { margin: 0 0 14px; font-size: 1.02rem; line-height: 1.3; font-weight: 700; }
.tt-oculto { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.tt-colunas__painel .tt-atalhos__titulo,
.tt-colunas__painel .tt-blocos legend,
.tt-colunas__painel .tt-horas-grupo legend,
.tt-colunas__painel .tt-onde__rotulo { font-size: .88rem; font-weight: 600; opacity: .8; }
.tt-colunas__painel .tt-atalhos__titulo { margin: 0 0 8px; }
.tt-colunas__painel .tt-blocos legend { margin-bottom: 8px; }
.tt-colunas__painel .tt-horas-grupo legend { margin-bottom: 8px; padding: 0; }
.tt-colunas__painel .tt-atalhos { margin: 0 0 16px; }
.tt-colunas__painel .tt-atalho { min-height: 44px; padding: 8px 12px; gap: 3px; }
.tt-atalho__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tt-atalho__marca { display: inline-block; padding: 0 6px; border-radius: 999px; border: 1px solid var(--border-color, #d9dee3); background: transparent; font-size: .72rem; line-height: 1.5; opacity: 1; }
.tt-horas-grupo { margin: 0 0 4px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--border-color, #eceff2); min-width: 0; }
.tt-hora { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 4px 8px; margin-bottom: 10px; }
.tt-hora__nome { grid-column: 1 / -1; font-size: .88rem; font-weight: 600; }
.tt-hora__liga { font-size: .9rem; opacity: .8; white-space: nowrap; }
.tt-hora .tt-ctl { padding: 12px 8px; }
.tt-onde { margin: 4px 0 0; padding-top: 14px; border-top: 1px solid var(--border-color, #eceff2); }
.tt-onde__abre { cursor: pointer; display: block; padding: 0; list-style: none; }
.tt-onde__abre::-webkit-details-marker { display: none; }
.tt-onde__caixa {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 49px;
    min-height: 49px;
    padding: 0 42px 0 15px;
    border: 1px solid var(--border-color, #d9dee3);
    border-radius: 10px;
    background-color: var(--content-bg);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--secondary-color) 50%),
        linear-gradient(135deg, var(--secondary-color) 50%, transparent 50%);
    background-position: calc(100% - 20px) calc(50% - 2px), calc(100% - 14px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}
.tt-onde[open] > .tt-onde__abre > .tt-onde__caixa {
    border-color: var(--primary-color);
    background-position: calc(100% - 20px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px);
    background-image:
        linear-gradient(135deg, transparent 50%, var(--secondary-color) 50%),
        linear-gradient(45deg, var(--secondary-color) 50%, transparent 50%);
}
.tt-onde__abre:hover > .tt-onde__caixa { border-color: var(--primary-color); }
.tt-onde__abre:focus-visible > .tt-onde__caixa { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-onde__valores { font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-onde > .tt-linha { margin-top: 12px; margin-bottom: 12px; }
@media screen and (min-width: 950px) {
    .tt-hora { grid-template-columns: 5.5rem auto minmax(0, 1fr) auto minmax(0, 1fr); }
    .tt-hora__nome { grid-column: auto; }
}
@media screen and (min-width: 1180px) {
    .tt-colunas__painel .tt-hora { grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); }
    .tt-colunas__painel .tt-hora__nome { grid-column: 1 / -1; }
}
.tt-paleta { margin: 0 0 16px; padding: 0; border: 0; min-width: 0; }
.tt-paleta__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
.tt-tipo { margin: 0; }
.tt-tipo__radio { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.tt-tipo__pastilha { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 7px 12px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; cursor: pointer; background: var(--content-bg); }
.tt-tipo__pastilha:hover { border-color: var(--primary-color); }
.tt-tipo__radio:focus-visible + .tt-tipo__pastilha { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-tipo--activo > .tt-tipo__pastilha { border-color: var(--primary-color); box-shadow: inset 0 0 0 1px var(--primary-color); }
.tt-tipo__letra { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 7px; font-weight: 700; font-size: .82rem; border: 1px solid var(--border-color, #d9dee3); }
.tt-tipo__pastilha--m .tt-tipo__letra { background: #eaf6ec; }
.tt-tipo__pastilha--t .tt-tipo__letra { background: #eef4ff; }
.tt-tipo__pastilha--n .tt-tipo__letra { background: #eeecf8; }
.tt-tipo__pastilha--d .tt-tipo__letra { background: #fdf3e6; }
.tt-tipo__pastilha--f .tt-tipo__letra { background: #f4f6f8; }
.tt-tipo__nome { font-weight: 600; font-size: .9rem; }
.tt-tipo__horas { margin-left: auto; font-size: .8rem; opacity: .75; white-space: nowrap; }
.tt-tipo__corpo { display: none; padding: 10px 12px 2px; }
.tt-tipo--activo > .tt-tipo__corpo { display: block; }
.tt-tipo__nome-campo { margin-bottom: 8px; }
.tt-tipo__par { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
.tt-tipo__par .tt-ctl { padding: 12px 8px; }
.tt-fita { margin: 0 0 16px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--border-color, #eceff2); min-width: 0; }
.tt-fita__lista { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; counter-reset: none; }
.tt-fita__item { margin: 0; }
.tt-cel { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 46px; min-height: 46px; padding: 2px; border: 1px solid var(--border-color, #d9dee3); border-radius: 8px; background: var(--content-bg); color: inherit; cursor: pointer; font: inherit; }
.tt-cel[disabled] { cursor: default; opacity: .85; }
.tt-cel__n { font-size: .75rem; opacity: .6; line-height: 1; }
.tt-cel__letra { font-size: 1rem; font-weight: 700; line-height: 1.2; }
.tt-cel--m { background: #eaf6ec; }
.tt-cel--t { background: #eef4ff; }
.tt-cel--n { background: #eeecf8; }
.tt-cel--d { background: #fdf3e6; }
.tt-cel--f { background: #f4f6f8; }
.tt-cel--vazia { border-style: dashed; border-color: #b03030; }
.tt-cel__hoje { margin-left: 6px; font-weight: 700; opacity: 1; }
.tt-cel:hover { border-color: var(--primary-color); }
.tt-cel:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.tt-fita__botoes { display: flex; flex-wrap: wrap; gap: 8px; }
.tt-ancora { margin: 0 0 4px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--border-color, #eceff2); min-width: 0; }
.tt-ancora__frase { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tt-ancora__liga { font-size: .92rem; opacity: .85; white-space: nowrap; }
.tt-ancora__frase .tt-ctl { width: auto; flex: 1 1 150px; min-width: 0; }
body.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--hoje { box-shadow: inset 0 0 0 2px var(--primary-color); font-weight: 800; }
.tt-fita-impressa { display: none; }
body.dark-mode .tt-tipo__pastilha { background: #1c1f23; }
body.dark-mode .tt-cel { background: #1c1f23; }
body.dark-mode .tt-cel--m { background: #1d2f24; }
body.dark-mode .tt-cel--t { background: #1c2739; }
body.dark-mode .tt-cel--n { background: #262238; }
body.dark-mode .tt-cel--d { background: #33291c; }
body.dark-mode .tt-cel--f { background: #23262b; }
body.dark-mode .tt-tipo__pastilha--m .tt-tipo__letra { background: #1d2f24; }
body.dark-mode .tt-tipo__pastilha--t .tt-tipo__letra { background: #1c2739; }
body.dark-mode .tt-tipo__pastilha--n .tt-tipo__letra { background: #262238; }
body.dark-mode .tt-tipo__pastilha--d .tt-tipo__letra { background: #33291c; }
body.dark-mode .tt-tipo__pastilha--f .tt-tipo__letra { background: #23262b; }
@media screen and (max-width: 1179px) {
    .tt-paleta__lista { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    .tt-tipo--activo > .tt-tipo__corpo { min-height: 106px; }
}
@media screen and (min-width: 1180px) {
    .tt-colunas__painel .tt-ancora__frase .tt-ctl { flex: 1 1 140px; }
}
@media print {
    .tt-fita-impressa { display: block; margin: 0 0 16px; }
    .tt-fita-impressa .tt-fita__lista { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 8px 0 0; padding: 0; }
    .tt-fita-impressa .tt-cel { border: 1px solid #999; }
    .tt-cel--m { background: #eaf6ec !important; }
    .tt-cel--t { background: #eef4ff !important; }
    .tt-cel--n { background: #eeecf8 !important; }
    .tt-cel--d { background: #fdf3e6 !important; }
    .tt-cel--f { background: #f4f6f8 !important; }
}
.tt-paleta input[type="radio"]:checked + .tt-tipo__pastilha { background-color: var(--content-bg); color: inherit; box-shadow: inset 0 0 0 2px var(--primary-color); }
body.dark-mode .tt-paleta input[type="radio"]:checked + .tt-tipo__pastilha { background-color: #1c1f23; color: inherit; box-shadow: inset 0 0 0 2px var(--primary-color); }
body.tool-trabalho-por-turnos {
    --tt-papel: #ffffff;
    --tt-tinta: var(--text-color);
    --tt-fio: var(--primary-color);
    --tt-fio-fraco: var(--border-color);
    --tt-rotulo: var(--text-color);
    --tt-barra-m: #1d5fa6;
    --tt-barra-t: #8bb6e0;
    --tt-barra-n: #0d1d33;
    --tt-barra-d: #c6d9ee;
    --tt-barra-f: #e6e3d9;
}
body.dark-mode.tool-trabalho-por-turnos {
    --tt-papel: #1c1f23;
    --tt-tinta: var(--text-color);
    --tt-fio: var(--primary-color);
    --tt-fio-fraco: var(--border-color);
    --tt-rotulo: var(--text-color);
}
body.tool-trabalho-por-turnos .tt-painel__titulo {
    font-size: 1.34rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 0 0 14px;
}
body.tool-trabalho-por-turnos .tt-rot,
body.tool-trabalho-por-turnos .tt-atalhos__titulo,
body.tool-trabalho-por-turnos .tt-paleta > legend,
body.tool-trabalho-por-turnos .tt-fita > legend,
body.tool-trabalho-por-turnos .tt-ancora > legend,
body.tool-trabalho-por-turnos .tt-blocos > legend,
body.tool-trabalho-por-turnos .tt-onde__rotulo {
    display: block;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    color: var(--text-color);
    opacity: 1;
    margin: 0 0 8px;
    padding: 0;
}
body.tool-trabalho-por-turnos .tt-atalhos {
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
    margin: 18px 0 0;
    display: block;
}
body.tool-trabalho-por-turnos .tt-atalhos__lista {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
}
body.tool-trabalho-por-turnos .tt-atalho {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-height: 49px;
    padding: 9px 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--content-bg);
    font-size: .88rem;
    height: 100%;
}
body.tool-trabalho-por-turnos .tt-atalho:hover {
    border-color: var(--primary-color);
}
body.tool-trabalho-por-turnos .tt-atalho__forma { font-weight: 600; font-size: .88rem; }
body.tool-trabalho-por-turnos .tt-atalho__marca {
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 0 8px;
    font-size: .72rem;
    line-height: 1.6;
    letter-spacing: normal;
    color: var(--text-color);
    opacity: .85;
}
body.tool-trabalho-por-turnos .tt-paleta,
body.tool-trabalho-por-turnos .tt-fita,
body.tool-trabalho-por-turnos .tt-ancora,
body.tool-trabalho-por-turnos .tt-recuo,
body.tool-trabalho-por-turnos .tt-onde {
    border: 0;
    border-top: 1px solid var(--border-color);
    padding: 15px 0 0;
    margin: 20px 0 0;
}
body.tool-trabalho-por-turnos .tt-tipo__pastilha {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--content-bg);
}
body.tool-trabalho-por-turnos .tt-tipo--activo > .tt-tipo__pastilha,
body.tool-trabalho-por-turnos .tt-paleta input[type="radio"]:checked + .tt-tipo__pastilha {
    background: var(--content-bg);
    box-shadow: inset 0 0 0 2px var(--primary-color);
    border-color: var(--primary-color);
}
body.dark-mode.tool-trabalho-por-turnos .tt-tipo__pastilha,
body.dark-mode.tool-trabalho-por-turnos .tt-tipo--activo > .tt-tipo__pastilha,
body.dark-mode.tool-trabalho-por-turnos .tt-paleta input[type="radio"]:checked + .tt-tipo__pastilha {
    background: #1c1f23;
}
body.tool-trabalho-por-turnos .tt-tipo__letra {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 1px solid var(--border-color);
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 700;
    color: inherit;
}
body.tool-trabalho-por-turnos .tt-tipo__nome {
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: normal;
}
body.tool-trabalho-por-turnos .tt-tipo__horas {
    font-size: .8rem;
    color: var(--text-color);
    opacity: .75;
    font-variant-numeric: tabular-nums;
}
body.tool-trabalho-por-turnos .tt-fita__lista {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    border-left: 0;
}
body.tool-trabalho-por-turnos .tt-fita__item {
    flex: 1 1 0;
    min-width: 116px;
    position: relative;
}
body.tool-trabalho-por-turnos .tt-cel {
    width: 100%;
    min-height: 78px;
    display: block;
    overflow: hidden;
    padding: 0 0 13px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-color);
    text-align: left;
}
body.tool-trabalho-por-turnos .tt-cel__tarja { display: block; height: 8px; background: var(--tt-barra-f); }
body.tool-trabalho-por-turnos .tt-cel--m .tt-cel__tarja { background: var(--tt-barra-m); }
body.tool-trabalho-por-turnos .tt-cel--t .tt-cel__tarja { background: var(--tt-barra-t); }
body.tool-trabalho-por-turnos .tt-cel--n .tt-cel__tarja { background: var(--tt-barra-n); }
body.tool-trabalho-por-turnos .tt-cel--d .tt-cel__tarja { background: var(--tt-barra-d); }
body.tool-trabalho-por-turnos .tt-cel--vazia { border-style: dashed; border-color: #b03030; }
body.tool-trabalho-por-turnos .tt-cel--vazia .tt-cel__tarja { background: repeating-linear-gradient(90deg, var(--border-color) 0 4px, transparent 4px 8px); }
body.tool-trabalho-por-turnos .tt-cel--hoje { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-cel__hoje { color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-cel__n {
    display: block;
    margin: 10px 11px 0;
    font-size: .72rem;
    letter-spacing: normal;
    color: var(--text-color);
    opacity: .7;
}
body.tool-trabalho-por-turnos .tt-cel__nome {
    display: block;
    margin: 3px 11px 0;
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: normal;
}
body.tool-trabalho-por-turnos .tt-cel__horas {
    display: block;
    margin: 4px 11px 0;
    font-size: .78rem;
    color: var(--text-color);
    opacity: .75;
    font-variant-numeric: tabular-nums;
    min-height: 1em;
}
body.tool-trabalho-por-turnos .tt-cel[aria-expanded="true"] { box-shadow: inset 0 0 0 2px var(--primary-color); }
body.tool-trabalho-por-turnos .tt-escolha {
    display: block;
    margin: 12px 0 0;
    padding: 13px 15px 15px;
    background: var(--content-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
}
body.tool-trabalho-por-turnos .tt-escolha__rot {
    display: block;
    margin: 0 0 9px;
    font-size: .9rem;
    font-weight: 600;
    color: var(--text-color);
}
body.tool-trabalho-por-turnos .tt-escolha__ops {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
body.dark-mode.tool-trabalho-por-turnos .tt-escolha { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-escolha__op {
    flex: 1 1 116px;
    min-width: 116px;
    min-height: 62px;
    padding: 9px 11px 11px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: transparent;
    color: var(--text-color);
    text-align: left;
    cursor: pointer;
    font: inherit;
}
body.tool-trabalho-por-turnos .tt-escolha__op:hover { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-escolha__op:hover { background: rgba(0, 91, 181, .07); }
body.dark-mode.tool-trabalho-por-turnos .tt-escolha__op:hover { background: rgba(255, 255, 255, .08); }
body.tool-trabalho-por-turnos .tt-escolha__op:focus-visible { outline: 2px solid var(--primary-color); outline-offset: -3px; }
body.tool-trabalho-por-turnos .tt-escolha__tarja { display: block; height: 6px; border-radius: 3px; margin-bottom: 7px; background: var(--tt-barra-f); }
body.tool-trabalho-por-turnos .tt-escolha__op--m .tt-escolha__tarja { background: var(--tt-barra-m); }
body.tool-trabalho-por-turnos .tt-escolha__op--t .tt-escolha__tarja { background: var(--tt-barra-t); }
body.tool-trabalho-por-turnos .tt-escolha__op--n .tt-escolha__tarja { background: var(--tt-barra-n); }
body.tool-trabalho-por-turnos .tt-escolha__op--d .tt-escolha__tarja { background: var(--tt-barra-d); }
body.tool-trabalho-por-turnos .tt-escolha__nome { display: block; font-size: .92rem; font-weight: 600; }
body.tool-trabalho-por-turnos .tt-escolha__horas { display: block; font-size: .76rem; color: var(--text-color); opacity: .75; font-variant-numeric: tabular-nums; min-height: 1em; }
body.tool-trabalho-por-turnos .tt-fita__botoes { margin-top: 12px; gap: 8px; }
body.tool-trabalho-por-turnos .tt-escrita {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 8px 16px;
    margin-top: 16px;
}
body.tool-trabalho-por-turnos .tt-escrita__campo {
    flex: 0 1 320px;
    width: auto;
    box-sizing: border-box;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--content-bg);
    padding: 12px 15px;
    height: 49px;
    min-height: 49px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1rem;
    letter-spacing: .3em;
    text-transform: uppercase;
}
body.tool-trabalho-por-turnos .tt-escrita__rot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; flex: 1 1 220px; }
body.tool-trabalho-por-turnos .tt-escrita__rot-txt { font-size: .9rem; font-weight: 600; letter-spacing: normal; text-transform: none; color: var(--text-color); }
body.tool-trabalho-por-turnos .tt-escrita__eq { font-size: .85rem; color: var(--text-color); opacity: .8; }
body.tool-trabalho-por-turnos .tt-escrita__eq--recusa { color: #b03030; opacity: 1; font-weight: 600; }
body.dark-mode.tool-trabalho-por-turnos .tt-escrita__eq--recusa { color: #ffd9d9; }
body.tool-trabalho-por-turnos .tt-hora-campo { font-variant-numeric: tabular-nums; }
body.tool-trabalho-por-turnos .tt-ancora__frase {
    align-items: flex-end;
    font-size: 1rem;
    line-height: 1.4;
    gap: 8px;
}
body.tool-trabalho-por-turnos .tt-ancora__liga { font-size: .92rem; opacity: .85; }
body.tool-trabalho-por-turnos .tt-submeter {
    border-radius: 10px;
}
body.tool-trabalho-por-turnos .tt-accoes {
    border-top: 1px solid var(--border-color);
    margin-top: 22px;
    padding-top: 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    font-size: .88rem;
}
body.tool-trabalho-por-turnos .tt-accoes__meta { margin-right: auto; color: var(--text-color); opacity: .8; font-size: .85rem; letter-spacing: normal; text-transform: none; }
body.tool-trabalho-por-turnos .tt-accao {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: transparent;
    color: var(--text-color);
    padding: 0 14px;
    min-height: 44px;
    font: inherit;
    font-size: .88rem;
    cursor: pointer;
}
body.tool-trabalho-por-turnos .tt-accao:hover { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-accao:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
body.tool-trabalho-por-turnos .tt-resposta {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--content-bg);
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
    padding: 4px 0;
    margin: 8px 0 0;
}
body.dark-mode.tool-trabalho-por-turnos .tt-resposta { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-resposta__cx {
    flex: 1 1 168px;
    padding: 17px 20px;
    border-right: 1px solid var(--border-color);
}
body.tool-trabalho-por-turnos .tt-resposta__cx:last-child { border-right: 0; }
body.tool-trabalho-por-turnos .tt-resposta__v {
    display: block;
    font-size: 1.56rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.1;
    color: var(--primary-color);
}
body.tool-trabalho-por-turnos .tt-resposta__r {
    display: block;
    margin-top: 7px;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    color: var(--text-color);
    opacity: .8;
}
body.tool-trabalho-por-turnos .tt-anolinha { margin: 26px 0 0; border-top: 1px solid var(--border-color); padding-top: 15px; }
body.tool-trabalho-por-turnos .tt-anolinha__fio { display: flex; gap: 1px; }
body.tool-trabalho-por-turnos .tt-anolinha__d { flex: 1 1 0; min-width: 0; height: 30px; background: var(--tt-barra-f); }
body.tool-trabalho-por-turnos .tt-anolinha__d--m { background: var(--tt-barra-m); }
body.tool-trabalho-por-turnos .tt-anolinha__d--t { background: var(--tt-barra-t); }
body.tool-trabalho-por-turnos .tt-anolinha__d--n { background: var(--tt-barra-n); }
body.tool-trabalho-por-turnos .tt-anolinha__d--d { background: var(--tt-barra-d); }
body.tool-trabalho-por-turnos .tt-anolinha__meses { display: flex; gap: 1px; margin-top: 5px; }
body.tool-trabalho-por-turnos .tt-anolinha__mes { flex: 1 1 0; min-width: 0; text-align: center; font-size: .62rem; letter-spacing: normal; color: var(--text-color); opacity: .75; }
body.tool-trabalho-por-turnos .tt-pares { margin-top: 22px; }
@media screen and (max-width: 820px) {
    body.tool-trabalho-por-turnos .tt-fita__item { flex: 1 1 30%; min-width: 30%; }
    body.tool-trabalho-por-turnos .tt-cel { min-height: 72px; }
    body.tool-trabalho-por-turnos .tt-resposta__cx { flex: 1 1 50%; border-bottom: 1px solid var(--border-color); }
    body.tool-trabalho-por-turnos .tt-escolha__op { flex: 1 1 44%; min-width: 44%; }
}
@media print {
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m { background: transparent !important; box-shadow: inset 0 4px 0 #1d5fa6; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t { background: transparent !important; box-shadow: inset 0 4px 0 #8bb6e0; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n { background: transparent !important; box-shadow: inset 0 4px 0 #0d1d33; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d { background: transparent !important; box-shadow: inset 0 4px 0 #c6d9ee; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--f { background: transparent !important; box-shadow: inset 0 4px 0 #e6e3d9; }
    body.tool-trabalho-por-turnos .tt-cel--m, body.tool-trabalho-por-turnos .tt-cel--t,
    body.tool-trabalho-por-turnos .tt-cel--n, body.tool-trabalho-por-turnos .tt-cel--d,
    body.tool-trabalho-por-turnos .tt-cel--f { background: transparent !important; }
    body.tool-trabalho-por-turnos .tt-escolha { display: none; }
}
body.tool-trabalho-por-turnos .tt-escolha[hidden] { display: none; }
.tt-abas {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 18px;
    border-bottom: 1px solid var(--border-color);
}
.tt-abas[hidden] { display: none; }
.tt-aba {
    min-height: 49px;
    padding: 11px 18px;
    margin-bottom: -1px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--text-color);
    opacity: .72;
    font: inherit;
    font-size: .94rem;
    font-weight: 600;
    cursor: pointer;
}
.tt-aba:hover { opacity: 1; }
.tt-aba:focus-visible { outline: 2px solid var(--primary-color); outline-offset: -2px; }
.tt-aba--on { color: var(--primary-color); border-bottom-color: var(--primary-color); opacity: 1; }
.tt-abas__painel[hidden] { display: none; }
.tt-abas__painel:focus { outline: none; }
body.tool-trabalho-por-turnos .tt-abas__painel > .tt-fita,
body.tool-trabalho-por-turnos .tt-abas__painel > .tt-escrita,
body.tool-trabalho-por-turnos .tt-abas__painel > .tt-atalhos {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}
body.tool-trabalho-por-turnos .tt-cel--mais {
    height: 100%;
    min-height: 88px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 0 8px;
    border-style: dashed;
    background: transparent;
    text-align: center;
}
body.tool-trabalho-por-turnos .tt-cel--mais:hover { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-cel__sinal {
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    color: var(--primary-color);
}
body.tool-trabalho-por-turnos .tt-cel--mais .tt-cel__nome {
    margin: 0;
    font-size: .78rem;
    font-weight: 600;
    opacity: .8;
}
body.tool-trabalho-por-turnos .tt-fita__item--mais { flex: 0 1 116px; }
body.tool-trabalho-por-turnos .tt-accoes[hidden] { display: none; }
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-paleta,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-fita,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-ancora,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-onde,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-onde[open] {
    flex: 1 1 100%;
    margin: 22px 0 0;
    padding: 15px 0 0;
    border-top: 1px solid var(--tt-fio-fraco);
}
body.tool-trabalho-por-turnos .tt-fita__lista { flex: 1 1 100%; width: 100%; }
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-fita__botoes { flex: 1 1 100%; }
body.tool-trabalho-por-turnos .tt-escrita { flex: 1 1 100%; }
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-atalhos__lista { grid-template-columns: none; }
@media print {
    body.tool-trabalho-por-turnos { visibility: visible !important; }
    body.tool-trabalho-por-turnos,
    body.dark-mode.tool-trabalho-por-turnos {
        --tt-papel: #fbfaf7;
        --tt-tinta: #1a1a18;
        --tt-fio: #1a1a18;
        --tt-fio-fraco: #d3cfc3;
        --tt-rotulo: #5f5d56;
    }
    body.tool-trabalho-por-turnos .tt-colunas__resultado > .article-wrapper,
    body.tool-trabalho-por-turnos .tt-notas-bloco > .article-wrapper {
        display: block !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    body.tool-trabalho-por-turnos .tt-feriados-bloco,
    body.tool-trabalho-por-turnos .site-micro-header,
    body.tool-trabalho-por-turnos .tt-painel { display: none !important; }
    body.tool-trabalho-por-turnos .tt-resultado {
        background: transparent !important;
        color: var(--tt-tinta) !important;
    }
    body.tool-trabalho-por-turnos .tt-colunas__resultado > .article-wrapper > h2 {
        font-size: 12pt;
        text-align: center;
        margin: 0 0 6px;
    }
    body.tool-trabalho-por-turnos .tt-notas-bloco > .article-wrapper > h2 { font-size: 12pt; }
    body.tool-trabalho-por-turnos .tt-notas-bloco { margin-top: 12px; }
    body.tool-trabalho-por-turnos .tt-notas-bloco p { font-size: 8pt; line-height: 1.35; margin: 0 0 4px; }
    body.tool-trabalho-por-turnos .tt-print-head,
    body.tool-trabalho-por-turnos .tt-resposta,
    body.tool-trabalho-por-turnos .tt-fita-impressa,
    body.tool-trabalho-por-turnos .tt-anolinha,
    body.tool-trabalho-por-turnos .tt-notas-bloco,
    body.tool-trabalho-por-turnos .tt-legenda { break-inside: avoid; page-break-inside: avoid; }
    body.tool-trabalho-por-turnos .tt-linha-exemplo,
    body.tool-trabalho-por-turnos .tt-comojoga,
    body.tool-trabalho-por-turnos .tt-partilha-linha { display: none !important; }
    body.tool-trabalho-por-turnos .tt-nota { font-size: 8pt; line-height: 1.35; margin: 0 0 6px; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--m { box-shadow: inset 0 4px 0 #1d5fa6 !important; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--t { box-shadow: inset 0 4px 0 #8bb6e0 !important; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--n { box-shadow: inset 0 4px 0 #0d1d33 !important; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--d { box-shadow: inset 0 4px 0 #c6d9ee !important; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.tt-dia--f { box-shadow: inset 0 4px 0 #e6e3d9 !important; }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .calendar-day.holiday {
        outline: 1px solid #c23b3b;
        outline-offset: -1px;
        color: #c23b3b !important;
        font-weight: 700;
    }
    body.tool-trabalho-por-turnos.cal-year-wide #annual-calendar-container .month-container {
        border: 1px solid #ccc !important;
        box-shadow: none !important;
    }
}
@media print {
    body.tool-trabalho-por-turnos,
    body.dark-mode.tool-trabalho-por-turnos {
        --content-bg: #ffffff;
        --card-bg: #ffffff;
        --bg-color: #ffffff;
        --border-color: #cccccc;
        --text-color: #1a1a18;
        background: #ffffff !important;
        color: #1a1a18 !important;
    }
    body.tool-trabalho-por-turnos.cal-year-wide main#main > .container .container.article-wrapper,
    body.dark-mode.tool-trabalho-por-turnos.cal-year-wide main#main > .container .container.article-wrapper {
        max-width: none !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 0 10px !important;
    }
    body.tool-trabalho-por-turnos.cal-year-wide main#main > .container .container.article-wrapper > * {
        padding-left: 0;
        padding-right: 0;
    }
    body.tool-trabalho-por-turnos .tt-guardar,
    body.tool-trabalho-por-turnos .tt-guardar__lista,
    body.tool-trabalho-por-turnos .tt-guardar__form--novo,
    body.tool-trabalho-por-turnos .tt-guardar__accoes,
    body.tool-trabalho-por-turnos #cookie-consent-banner,
    body.tool-trabalho-por-turnos .cookie-consent-banner,
    body.tool-trabalho-por-turnos #cookie-preferences-modal { display: none !important; }
}

body.tool-trabalho-por-turnos .tt-saidas-barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 14px 0 0;
}
body.tool-trabalho-por-turnos .tt-saidas-barra[hidden] { display: none; }
body.tool-trabalho-por-turnos .tt-saida-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    height: 49px;
    min-height: 49px;
    padding: 0 16px;
    border: 1px solid var(--border-color, #d9dee3);
    border-radius: 8px;
    background: var(--content-bg);
    color: var(--text-color);
    font: inherit;
    font-size: .92rem;
    line-height: 1.2;
    cursor: pointer;
}
body.tool-trabalho-por-turnos .tt-saida-btn:hover { border-color: var(--primary-color); color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-saida-btn:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
body.tool-trabalho-por-turnos .tt-saida-btn svg { flex: 0 0 auto; }
body.tool-trabalho-por-turnos .tt-saidas-barra__eco { font-size: .85rem; opacity: .8; }
@media print {
    body.tool-trabalho-por-turnos .tt-saidas-barra { display: none !important; }
}
body.tool-trabalho-por-turnos .tt-fita > legend.tt-fita__cab {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
    padding: 0;
}
body.tool-trabalho-por-turnos .tt-fita__titulo { font-size: .9rem; font-weight: 600; color: var(--text-color); }
body.tool-trabalho-por-turnos .tt-fita__passo {
    margin-left: auto;
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
    background: var(--content-bg);
}
body.tool-trabalho-por-turnos .tt-passo__botao {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font: inherit;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}
body.tool-trabalho-por-turnos .tt-passo__botao:hover { background: rgba(0, 91, 181, .07); }
body.tool-trabalho-por-turnos .tt-passo__botao:focus-visible { outline: 2px solid var(--primary-color); outline-offset: -2px; }
body.tool-trabalho-por-turnos .tt-passo__botao--preso { opacity: .3; cursor: default; }
body.tool-trabalho-por-turnos .tt-passo__conta {
    display: flex;
    align-items: center;
    height: 38px;
    padding: 0 12px;
    border-left: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    font-size: .87rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
body.tool-trabalho-por-turnos .tt-fita__lista {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
    margin: 0;
}
body.tool-trabalho-por-turnos .tt-fita__item { flex: 1 1 0; min-width: 116px; position: relative; }
body.tool-trabalho-por-turnos .tt-fita__item--editor { flex: 1 1 100%; min-width: 100%; margin-top: 2px; }
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item { opacity: .42; filter: saturate(.35); }
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva,
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--editor { opacity: 1; filter: none; }
body.tool-trabalho-por-turnos .tt-cel[aria-expanded="true"] {
    box-shadow: 0 2px 10px rgba(0, 60, 135, .16);
    border: 2px solid var(--primary-color);
    border-radius: 10px;
    position: relative;
    z-index: 2;
}
body.tool-trabalho-por-turnos .tt-escolha {
    position: relative;
    margin: 0;
    padding: 16px;
    border: 2px solid var(--primary-color);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 60, 135, .10);
}
body.tool-trabalho-por-turnos .tt-escolha__tapa {
    position: absolute;
    top: -10px;
    height: 10px;
    left: var(--tt-tapa-x, 0px);
    width: var(--tt-tapa-w, 0px);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
}
body.tool-trabalho-por-turnos .tt-escolha__tapa::before {
    content: "";
    display: block;
    width: 20px;
    height: 10px;
    background: var(--primary-color);
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
body.tool-trabalho-por-turnos .tt-escolha__ops {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
}
body.tool-trabalho-por-turnos .tt-op {
    position: relative;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--content-bg);
    min-width: 0;
}
body.dark-mode.tool-trabalho-por-turnos .tt-op { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-op:hover { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-op--edita { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(0, 91, 181, .15); }
body.tool-trabalho-por-turnos .tt-op .tt-escolha__op {
    display: block;
    width: 100%;
    min-width: 0;
    flex: none;
    border: 0;
    border-radius: 10px;
    padding: 9px 11px 32px;
    background: transparent;
}
body.tool-trabalho-por-turnos .tt-op .tt-escolha__op:hover { background: rgba(0, 91, 181, .07); }
body.dark-mode.tool-trabalho-por-turnos .tt-op .tt-escolha__op:hover { background: rgba(255, 255, 255, .08); }
body.tool-trabalho-por-turnos .tt-op__lapis {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 7px;
    background: var(--content-bg);
    color: var(--text-color);
    font: inherit;
    font-size: .82rem;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}
body.dark-mode.tool-trabalho-por-turnos .tt-op__lapis { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-op__lapis:hover { border-color: var(--primary-color); color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-op__lapis:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
body.tool-trabalho-por-turnos .tt-op--edita .tt-op__lapis { border-color: var(--primary-color); color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-op__horas { padding: 0 11px 4px; }
body.tool-trabalho-por-turnos .tt-op__horas[hidden] { display: none; }
body.tool-trabalho-por-turnos .tt-op__horas .tt-tipo__par {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 8px;
}
@media screen and (min-width: 1000px) {
    body.tool-trabalho-por-turnos .tt-op__lapis { display: none; }
    body.tool-trabalho-por-turnos .tt-op .tt-escolha__op { padding: 9px 11px 5px; }
    body.tool-trabalho-por-turnos .tt-escolha__ops { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.tool-trabalho-por-turnos .tt-op__horas { padding: 0 11px 8px; }
}
@media screen and (min-width: 1300px) {
    body.tool-trabalho-por-turnos .tt-escolha__ops { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
body.tool-trabalho-por-turnos .tt-op__nota {
    display: block;
    margin: 0 11px 9px;
    min-height: 1em;
    font-size: .74rem;
    color: var(--text-color);
    opacity: .75;
}
body.tool-trabalho-por-turnos .tt-escolha__fim {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}
body.tool-trabalho-por-turnos .tt-escolha__ok { height: 49px; min-height: 49px; padding: 0 26px; border-radius: 10px; margin: 0; }
body.tool-trabalho-por-turnos .tt-escolha__cancelar {
    height: 49px;
    min-height: 49px;
    padding: 0 20px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--content-bg);
    color: var(--text-color);
    font: inherit;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
}
body.dark-mode.tool-trabalho-por-turnos .tt-escolha__cancelar { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-escolha__cancelar:hover { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-escolha__cancelar:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
body.tool-trabalho-por-turnos details.tt-config {
    margin: 22px 0 0;
    padding: 0;
    background: var(--content-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    cursor: default;
}
body.dark-mode.tool-trabalho-por-turnos .tt-config { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-config > .tool-config-title {
    padding: 15px;
    font-size: .95rem;
    color: var(--text-color);
    background: #f8f9fa;
}
body.dark-mode.tool-trabalho-por-turnos .tt-config > .tool-config-title { background: #23262b; }
body.tool-trabalho-por-turnos .tt-config[open] > .tool-config-title { border-bottom: 1px solid var(--border-color); }
body.tool-trabalho-por-turnos .tt-config__corpo { padding: 15px; }
body.tool-trabalho-por-turnos .tt-config__corpo .tt-atalhos,
body.tool-trabalho-por-turnos .tt-config__corpo .tt-paleta {
    border-top: 0;
    margin: 0;
    padding: 0;
}
body.tool-trabalho-por-turnos .tt-config__corpo .tt-atalhos { margin-bottom: 16px; }
@media screen and (max-width: 640px) {
    body.tool-trabalho-por-turnos .tt-fita__item { flex: 1 1 calc(50% - 4px); min-width: calc(50% - 4px); }
    body.tool-trabalho-por-turnos .tt-fita__item--editor { flex: 1 1 100%; min-width: 100%; }
    body.tool-trabalho-por-turnos .tt-escolha__ops { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.tool-trabalho-por-turnos .tt-op__horas .tt-tipo__par { grid-template-columns: minmax(0, 1fr); gap: 3px; }
    body.tool-trabalho-por-turnos .tt-escolha__ok { flex: 1 1 100%; }
}
@media print {
    body.tool-trabalho-por-turnos .tt-fita__passo { display: none; }
}
body.tool-trabalho-por-turnos .tt-cel__sobrepoe {
    display: block;
    margin: 2px 11px 0;
    font-size: .74rem;
    color: var(--text-color);
    opacity: .75;
    letter-spacing: normal;
}
body.tool-trabalho-por-turnos .tt-tipo__renome {
    margin: 7px 11px 0;
    font-size: .74rem;
    color: var(--text-color);
    opacity: .75;
    line-height: 1.4;
}
body.tool-trabalho-por-turnos .tt-sobrepoe {
    margin: 8px 0 0;
    font-size: .82rem;
    color: var(--text-color);
    opacity: .85;
    line-height: 1.5;
}
body.tool-trabalho-por-turnos .tt-sobrepoe a {
    display: inline-block;
    margin-right: 10px;
    color: var(--primary-color);
}
body.tool-trabalho-por-turnos .tt-sobrepoe[hidden] { display: none; }
body.tool-trabalho-por-turnos { --tt-barra-apagada: #8b9199; }
body.dark-mode.tool-trabalho-por-turnos { --tt-barra-apagada: #6b7178; }
body.tool-trabalho-por-turnos .tt-fita__item--editor { margin-top: 0; }
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva { z-index: 3; }
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva .tt-cel[aria-expanded="true"] {
    margin-bottom: -8px;
    padding-bottom: 23px;
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    background-color: var(--content-bg);
}
body.dark-mode.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva .tt-cel[aria-expanded="true"] {
    background-color: #1c1f23;
}
body.tool-trabalho-por-turnos .tt-escolha__tapa {
    display: block;
    top: -2px;
    height: 2px;
    background-color: inherit;
}
body.tool-trabalho-por-turnos .tt-escolha__tapa::before { display: none; }
body.tool-trabalho-por-turnos .tt-escolha__grupo {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
body.tool-trabalho-por-turnos legend.tt-escolha__rot {
    float: none;
    width: auto;
    padding: 0;
    margin: 0 0 9px;
}
body.tool-trabalho-por-turnos .tt-op .tt-escolha__tarja { background: var(--tt-barra-apagada); }
body.tool-trabalho-por-turnos .tt-op--escolhido { border-color: var(--primary-color); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__op--m .tt-escolha__tarja { background: var(--tt-barra-m); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__op--t .tt-escolha__tarja { background: var(--tt-barra-t); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__op--n .tt-escolha__tarja { background: var(--tt-barra-n); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__op--d .tt-escolha__tarja { background: var(--tt-barra-d); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__op--f .tt-escolha__tarja { background: var(--tt-barra-f); }
body.tool-trabalho-por-turnos .tt-ancora,
body.tool-trabalho-por-turnos .tt-onde,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-ancora,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-onde,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-onde[open] {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--content-bg);
    margin: 12px 0 0;
    padding: 12px 14px;
}
body.dark-mode.tool-trabalho-por-turnos .tt-ancora,
body.dark-mode.tool-trabalho-por-turnos .tt-onde { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-ancora > legend { margin: 0 0 8px; padding: 0; }
body.tool-trabalho-por-turnos .tt-onde > .tt-linha { margin: 10px 0 2px; }
body.tool-trabalho-por-turnos details.tt-config { margin: 12px 0 0; }
@media screen and (min-width: 1000px) {
    body.tool-trabalho-por-turnos .tt-form {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px;
    }
    body.tool-trabalho-por-turnos .tt-form > * { flex: 1 1 100%; min-width: 0; }
    body.tool-trabalho-por-turnos .tt-form > .tt-submeter { flex: 0 0 auto; width: auto; }
}
body.tool-trabalho-por-turnos { --tt-texto-apagado: #6e747d; }
body.dark-mode.tool-trabalho-por-turnos { --tt-texto-apagado: #8a9099; }
body.tool-trabalho-por-turnos .tt-op .tt-escolha__nome,
body.tool-trabalho-por-turnos .tt-op .tt-escolha__horas {
    color: var(--tt-texto-apagado);
    opacity: 1;
}
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__nome { color: var(--text-color); }
body.tool-trabalho-por-turnos .tt-op--escolhido .tt-escolha__horas { color: var(--text-color); opacity: .75; }
body.tool-trabalho-por-turnos .tt-op--escolhido { box-shadow: 0 0 0 2px rgba(0, 91, 181, .16); }
body.tool-trabalho-por-turnos .tt-fita__lista { position: relative; }
body.tool-trabalho-por-turnos .tt-fita__item--editor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    flex: none;
    order: 0;
    z-index: 40;
    pointer-events: none;
}
body.tool-trabalho-por-turnos .tt-escolha {
    position: absolute;
    top: var(--tt-bolha-y, 0px);
    left: var(--tt-bolha-x, 0px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: var(--content-bg);
    box-shadow: 0 18px 40px rgba(15, 25, 45, .20), 0 3px 10px rgba(15, 25, 45, .10);
    pointer-events: auto;
}
body.dark-mode.tool-trabalho-por-turnos .tt-escolha {
    background: #1c1f23;
    box-shadow: 0 20px 44px rgba(0, 0, 0, .58), 0 3px 10px rgba(0, 0, 0, .42);
}
body.tool-trabalho-por-turnos .tt-escolha[hidden] { display: none; }
body.tool-trabalho-por-turnos .tt-cel[aria-expanded="true"],
body.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva .tt-cel[aria-expanded="true"] {
    margin-bottom: 0;
    padding: 0 0 13px;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    box-shadow: inset 0 0 0 2px var(--primary-color), 0 0 0 3px rgba(0, 91, 181, .16);
    background-color: var(--content-bg);
}
body.dark-mode.tool-trabalho-por-turnos .tt-fita__lista--edita .tt-fita__item--viva .tt-cel[aria-expanded="true"] {
    background-color: #1c1f23;
}
body.tool-trabalho-por-turnos .tt-cartoes > .tt-recuo { margin-top: 12px; }
body.tool-trabalho-por-turnos .tt-cartoes > .tt-ancora,
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-cartoes > .tt-ancora,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-cartoes > .tt-onde {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--content-bg);
    margin: 12px 0 0;
    padding: 12px 14px;
    overflow: visible;
}
body.dark-mode.tool-trabalho-por-turnos .tt-cartoes > details.tt-config { background: #1c1f23; }
body.tool-trabalho-por-turnos .tt-cartao__k {
    display: block;
    float: none;
    width: auto;
    margin: 0 0 5px;
    padding: 0;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-color);
    opacity: .68;
}
body.tool-trabalho-por-turnos .tt-cartao__v {
    display: block;
    font-size: .97rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.tool-trabalho-por-turnos .tt-cartao__d {
    display: block;
    margin-top: 1px;
    font-size: .82rem;
    color: var(--text-color);
    opacity: .68;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.tool-trabalho-por-turnos .tt-cartao__a {
    display: block;
    margin-top: auto;
    padding-top: 10px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--primary-color);
}
body.tool-trabalho-por-turnos .tt-cartao__abre,
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde > .tt-onde__abre,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-color);
    font: inherit;
    text-align: left;
    cursor: pointer;
    list-style: none;
}
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title::-webkit-details-marker,
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde > .tt-onde__abre::-webkit-details-marker { display: none; }
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title::after,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config[open] > .tool-config-title::after { content: none; display: none; }
body.tool-trabalho-por-turnos .tt-cartoes > fieldset.tt-ancora,
body.tool-trabalho-por-turnos .tt-colunas__painel .tt-cartoes > fieldset.tt-ancora { padding-top: 13px; }
body.tool-trabalho-por-turnos .tt-cartao__abre:hover .tt-cartao__a,
body.tool-trabalho-por-turnos .tt-onde__abre:hover .tt-cartao__a,
body.tool-trabalho-por-turnos .tool-config-title:hover .tt-cartao__a { text-decoration: underline; }
body.tool-trabalho-por-turnos .tt-cartao__abre:focus-visible,
body.tool-trabalho-por-turnos .tt-onde__abre:focus-visible,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
    border-radius: 6px;
}
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde[open] > .tt-onde__abre > .tt-cartao__d,
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde[open] > .tt-onde__abre > .tt-onde__valores,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config[open] > .tool-config-title > .tt-cartao__v,
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config[open] > .tool-config-title > .tt-cartao__d { display: none; }
body.tool-trabalho-por-turnos .tt-onde__valores {
    display: block;
    font-size: .97rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde > .tt-onde__abre > .tt-onde__rotulo,
body.tool-trabalho-por-turnos .tt-cartoes > .tt-ancora > legend.tt-cartao__k {
    display: block;
    float: none;
    width: auto;
    margin: 0 0 5px;
    padding: 0;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-color);
    opacity: .68;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title > .tt-cartao__k {
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config[open] > .tool-config-title { border-bottom: 0; }
body.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title { background: transparent; }
body.dark-mode.tool-trabalho-por-turnos .tt-cartoes > details.tt-config > .tool-config-title { background: transparent; }
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo { padding: 12px 0 0; }
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-atalhos { display: block; margin: 0 0 14px; }
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-atalhos__titulo {
    flex: none;
    margin: 0 0 7px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    opacity: .68;
}
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-atalhos__lista {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
}
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-paleta__lista {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-bottom: 0;
}
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-tipo--activo > .tt-tipo__corpo {
    position: static;
    display: block;
    height: auto;
    min-height: 0;
    padding: 8px 0 2px;
}
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-tipo__nome-campo { margin: 0 0 6px; flex: none; }
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-tipo__par {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    flex: none;
}
body.tool-trabalho-por-turnos .tt-cartoes .tt-config__corpo .tt-tipo__par .tt-ctl {
    height: 44px;
    min-height: 44px;
    padding: 10px 6px;
    text-align: center;
}
body.tool-trabalho-por-turnos .tt-cartoes > .tt-onde .tt-linha {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 12px 0 0;
}
body.tool-trabalho-por-turnos .tt-cartao__corpo[hidden] { display: none; }
@media screen and (min-width: 1000px) {
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
        gap: 12px;
    }
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > .tt-ancora,
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > .tt-onde,
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > details.tt-config {
        display: flex;
        flex-direction: column;
        margin: 0;
        min-width: 0;
    }
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes:has(> details[open]),
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes:has(> .tt-ancora > .tt-cartao__corpo:not([hidden])) {
        align-items: start;
    }
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > .tt-ancora > .tt-cartao__abre,
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > .tt-onde > .tt-onde__abre,
    body.tool-trabalho-por-turnos .tt-form.tt-com-js .tt-cartoes > details.tt-config > .tool-config-title { flex: 1 1 auto; }
}
@media screen and (min-width: 700px) {
    body.tool-trabalho-por-turnos .tt-escolha { width: min(600px, 100%); }
}
@media screen and (max-width: 639px) {
    body.tool-trabalho-por-turnos .tt-escolha {
        left: 0;
        width: 100%;
        padding: 14px;
    }
}
