/* All rules are scoped to the widget. No theme/reset/framework dependency. */
.tntt{--tntt-blue:#176c92;--tntt-border:#dbe3e7;box-sizing:border-box;width:100%;max-width:100%;margin:1em 0;padding:14px;border:1px solid var(--tntt-border);border-radius:8px;background:#fff;color:#253842;font-size:14px;line-height:1.55;text-align:left}
.tntt *,.tntt *::before,.tntt *::after{box-sizing:border-box}
.tntt [hidden]{display:none!important}
.tntt .tntt-place{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin-bottom:10px}
.tntt .tntt-place strong{font-size:1.12em;min-width:0;overflow-wrap:anywhere}.tntt .tntt-place span{font-size:12px;color:#4b616d}
.tntt button,.tntt input[type=date]{appearance:auto;font:inherit;line-height:1.25;border:1px solid #b8cbd5;border-radius:5px;background:#fff;color:#253842;box-shadow:none;margin:0;min-height:40px;padding:7px 10px;text-align:center;letter-spacing:normal}
.tntt button{cursor:pointer;width:auto;transition:none}.tntt button::before,.tntt button::after{content:none}
.tntt button:hover:not(:disabled){background:#edf6fa}.tntt button:disabled{opacity:.45;cursor:default}
.tntt button:focus-visible,.tntt input:focus-visible,.tntt summary:focus-visible{outline:3px solid #237ca2;outline-offset:2px}
.tntt .tntt-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin:0 0 10px}
.tntt .tntt-controls label{min-width:0;flex:0 1 190px;margin:0}
.tntt .tntt-controls input{width:100%;min-width:0;max-width:190px;font-size:16px}.tntt .tntt-controls button{flex:0 0 auto}
.tntt .tntt-status{font-size:12px;color:#70511d}.tntt .tntt-status:empty{display:none}
.tntt .tntt-date-title{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap;font-size:13px}
.tntt .tntt-date-title span{font-size:12px}.tntt .tntt-date-title strong{display:inline-block;margin-left:3px;color:var(--tntt-blue);font-size:16px}
.tntt .tntt-graph{margin:4px 0 8px;padding:0}.tntt .tntt-graph svg{display:block;width:100%;height:auto;max-height:215px;overflow:visible}
.tntt .tntt-graph text{font-family:inherit;font-size:11px;fill:#4b616d}.tntt .tntt-graph .tntt-axis-title{font-size:10px}
.tntt .tntt-gridline{stroke:#e3e9ed;stroke-width:1}.tntt .tntt-line{fill:none;stroke:var(--tntt-blue);stroke-width:2;stroke-linejoin:round}.tntt .tntt-points{fill:var(--tntt-blue)}
.tntt .tntt-graph figcaption{margin:0;text-align:center;font-size:11px;color:#536872}
.tntt .tntt-extremes{margin:0 0 10px;padding:0;font-size:13px}.tntt .tntt-extremes>div{display:flex;gap:10px;padding:5px 0;border-top:1px solid #edf1f3}
.tntt .tntt-extremes dt{font-weight:700;flex:0 0 2.5em;margin:0;padding:0}.tntt .tntt-extremes dd{display:flex;flex-wrap:wrap;gap:3px 10px;margin:0;padding:0}.tntt .tntt-extremes dd span{white-space:nowrap}
.tntt .tntt-calendar{margin:0;border-top:1px solid var(--tntt-border);border-bottom:1px solid var(--tntt-border);padding:0}
.tntt .tntt-calendar summary{display:list-item;cursor:pointer;padding:10px 2px;font-size:13px;font-weight:600;color:var(--tntt-blue)}
.tntt .tntt-month-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 0 8px}.tntt .tntt-month-nav button{font-size:12px;min-height:36px}
.tntt table.tntt-month{display:table;table-layout:fixed;border-collapse:separate;border-spacing:2px;width:100%;margin:0;border:0;font-size:12px;line-height:1.3;background:transparent}
.tntt .tntt-month th,.tntt .tntt-month td{width:14.2857%;border:0;padding:0;text-align:center;background:transparent;color:inherit;height:auto;vertical-align:middle}
.tntt .tntt-month th{font-size:11px;font-weight:400;padding-bottom:4px}.tntt .tntt-month th:first-child{color:#a24141}.tntt .tntt-month th:last-child{color:#286d98}
.tntt .tntt-month button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:48px;padding:3px 0;border:1px solid transparent;border-radius:4px;background:#f2f6f8;font-size:12px}
.tntt .tntt-month button span{display:block;white-space:nowrap}.tntt .tntt-month button span+span{font-size:10px}.tntt .tntt-month button small{font-size:8px;margin-left:2px}
.tntt .tntt-month .is-today{border:2px solid var(--tntt-blue)}.tntt .tntt-month button.is-selected,.tntt .tntt-month button.is-selected:hover{background:var(--tntt-blue);color:#fff}.tntt .tntt-month button.is-selected.is-today{box-shadow:inset 0 0 0 2px #fff}
.tntt .tntt-legend{margin:5px 0 8px;font-size:10px;color:#536872}.tntt .tntt-notes{margin-top:9px;font-size:11px;line-height:1.55;color:#536872;overflow-wrap:anywhere}
.tntt .tntt-notes p{margin:0 0 4px;padding:0}.tntt a{color:#176487;text-decoration:underline}.tntt .tntt-noscript{font-size:12px}
.tntt .tntt-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;padding:0!important;border:0!important}
@media(max-width:400px){.tntt{padding:10px}.tntt .tntt-controls{gap:5px}.tntt .tntt-controls button{padding:7px 8px}.tntt .tntt-date-title{font-size:12px}.tntt .tntt-extremes{font-size:12px}}
.tntt .tntt-locations{margin:0;border-bottom:1px solid var(--tntt-border);padding:0}
.tntt .tntt-locations summary{display:list-item;cursor:pointer;padding:10px 2px;font-size:13px;font-weight:600;color:var(--tntt-blue)}
.tntt select,.tntt input[type=search]{font:inherit;font-size:16px;line-height:1.35;border:1px solid #b8cbd5;border-radius:5px;background:#fff;color:#253842;width:100%;max-width:100%;min-width:0;min-height:42px;padding:7px;margin:3px 0;box-shadow:none}
.tntt select:focus-visible{outline:3px solid #237ca2;outline-offset:2px}
.tntt .tntt-location-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:2px 0 12px;align-items:end}
.tntt .tntt-location-selects label,.tntt .tntt-search label,.tntt .tntt-search-results label{display:block;min-width:0;font-size:12px;margin:0}
.tntt .tntt-location-selects>button{margin-bottom:3px;min-height:42px;font-size:12px;padding:7px}
.tntt .tntt-search{display:flex;gap:8px;align-items:end;margin:0;padding:0;border:0}
.tntt .tntt-search label{flex:1}.tntt .tntt-search>button{flex:0 0 auto;margin-bottom:3px;min-height:42px}
.tntt .tntt-search-status{font-size:12px;margin:5px 0;color:#70511d}.tntt .tntt-search-status:empty{display:none}
.tntt .tntt-location-note{font-size:11px;line-height:1.5;margin:8px 0;color:#536872}
.tntt .tntt-candidates{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0}.tntt .tntt-candidates button{font-size:12px;min-height:42px}
.tntt.tntt--full{padding:18px;font-size:15px}.tntt.tntt--full .tntt-graph svg{max-height:260px}
@media(min-width:650px){.tntt.tntt--full .tntt-location-selects{grid-template-columns:1fr 1fr 1.4fr auto}}
@media(max-width:400px){.tntt.tntt--full{padding:10px}}
