/* Group Holiday Cost Splitter. Scoped only to its shortcode; respectful of Blocksy. */
.ttt-tgs,.ttt-tgs *{box-sizing:border-box}
.ttt-tgs{--tgs-ink:#173f47;--tgs-teal:#126c72;--tgs-muted:#536f74;--tgs-stroke:#d1e1df;--tgs-pale:#f1f8f6;font:inherit;font-size:14px;line-height:1.5;color:var(--tgs-ink);background:#fff;border:1px solid #d6e2df;border-radius:16px;overflow:hidden;margin:24px auto 35px;max-width:1150px}
.ttt-tgs [hidden]{display:none!important}
.ttt-tgs__hero{background:linear-gradient(114deg,#12383f 0%,#165b63 58%,#20787b 100%);padding:clamp(24px,4vw,39px);color:#fff}
.ttt-tgs__eyebrow{display:block;font-size:10px;color:#d2e6e4;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 10px}
.ttt-tgs__hero h2{font-family:inherit;font-size:clamp(26px,3.5vw,38px);line-height:1.14;letter-spacing:-.025em;font-weight:800;color:#fff;margin:0 0 12px}
.ttt-tgs__hero>p{max-width:730px;font-size:15px;line-height:1.65;color:#e0f0ec;margin:0 0 17px}
.ttt-tgs__privacy{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#d9eddf;border:1px solid #72a09b;border-radius:30px;padding:6px 11px}
.ttt-tgs__body{padding:clamp(17px,3.4vw,34px)}
.ttt-tgs__form{margin:0}
.ttt-tgs__step{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;margin:5px 0 17px;color:#193f47}
.ttt-tgs__step>span{display:inline-grid;place-items:center;background:#e0f2ef;color:#0e686b;width:28px;height:28px;border-radius:50%;font-size:11px}
.ttt-tgs__topline{display:flex;gap:12px;align-items:end;justify-content:space-between;margin:0 0 14px}
.ttt-tgs__topline p{margin:0 0 8px;color:var(--tgs-muted);font-size:12px;max-width:550px}
.ttt-tgs label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#244e56}
.ttt-tgs__topline label{min-width:180px}
.ttt-tgs input:not([type=checkbox]),.ttt-tgs select{max-width:100%;width:100%;min-height:38px;appearance:auto;border:1px solid #bdcfcd;background:#fff;color:#183f47;border-radius:7px;padding:7px 10px;margin:0;box-shadow:none;font:inherit;font-size:13px;font-weight:400}
.ttt-tgs input:focus-visible,.ttt-tgs select:focus-visible,.ttt-tgs a:focus-visible,.ttt-tgs button:focus-visible{outline:3px solid #dfb968;outline-offset:2px}
.ttt-tgs input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#0c7175;flex:0 0 auto}
.ttt-tgs__people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 11px}
.ttt-tgs__person{display:flex;align-items:end;gap:9px;background:#f6faf9;border:1px solid var(--tgs-stroke);border-radius:9px;padding:12px}
.ttt-tgs__person label{flex:1;min-width:0}
.ttt-tgs button.ttt-tgs__remove{appearance:none;border:0;background:transparent;cursor:pointer;color:#a04a43;font-family:inherit;font-weight:650;font-size:11px;text-decoration:underline;min-height:34px;padding:5px 2px}
.ttt-tgs button:disabled{opacity:.47;cursor:not-allowed}
.ttt-tgs__add-line{display:flex;align-items:center;gap:12px;margin:0 0 31px}
.ttt-tgs__add-line small{color:#75878a;font-size:11px}
.ttt-tgs button.ttt-tgs__button{appearance:none;cursor:pointer;display:inline-block;border-radius:7px;font-family:inherit;font-size:12px;font-weight:750;line-height:1.3;min-height:35px;padding:8px 12px;box-shadow:none;text-decoration:none}
.ttt-tgs .ttt-tgs__button--subtle{background:#fff;border:1px solid #aacac6;color:#165e65}
.ttt-tgs .ttt-tgs__button--outline{background:#fff;border:1px solid #b3d0cc;color:#165e65}
.ttt-tgs .ttt-tgs__button--secondary{background:#e4f4f0;border:1px solid #b5d9d3;color:#195960}
.ttt-tgs .ttt-tgs__button--primary{background:#146c73;border:1px solid #146c73;color:#fff}
.ttt-tgs .ttt-tgs__button--subtle:hover,.ttt-tgs .ttt-tgs__button--outline:hover{background:#ebf6f3}
.ttt-tgs .ttt-tgs__button--secondary:hover{background:#d9ece7}
.ttt-tgs .ttt-tgs__button--primary:hover{background:#11535a}
.ttt-tgs__toolbar{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 0 15px}
.ttt-tgs__toolbar p{font-size:12px;color:var(--tgs-muted);margin:0;max-width:530px}
.ttt-tgs__toolbar-buttons{display:flex;gap:6px;flex-wrap:wrap}
.ttt-tgs__example{background:#fff4df;color:#865c33;border:1px solid #ead2a6;padding:11px 13px;border-radius:7px;font-size:12px;margin:0 0 14px}
.ttt-tgs__expenses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start;margin:0 0 16px}
.ttt-tgs__expense{min-width:0;border:1px solid #d0e0dd;border-radius:10px;background:#fcfefd;padding:14px 14px 16px;margin:0}
.ttt-tgs__expense:nth-child(even){background:#f7fbfa}
.ttt-tgs__expense legend{font-size:14px;font-weight:800;color:#204b53;padding:0 4px}
.ttt-tgs__expense-top{display:flex;align-items:end;gap:9px;margin:4px 0 13px}
.ttt-tgs__expense-top label{flex:1;min-width:0}
.ttt-tgs__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:12px}
.ttt-tgs__share-box{border-top:1px solid #d8e5e2;padding-top:12px}
.ttt-tgs__share-heading{display:block;font-size:11px;font-weight:750;color:#26565e;margin:0 0 9px}
.ttt-tgs__participants{display:flex;gap:7px;flex-wrap:wrap}
.ttt-tgs label.ttt-tgs__person-chip{display:inline-flex;flex-direction:row;align-items:center;gap:5px;border:1px solid #c8dad6;border-radius:30px;background:#fff;padding:6px 9px;cursor:pointer;font-size:11px;font-weight:600}
.ttt-tgs label.ttt-tgs__person-chip:has(input:checked){border-color:#92bdb7;background:#e9f6ef}
.ttt-tgs__custom{margin-top:13px;padding:11px;border-radius:8px;border:1px solid #d5e5e0;background:#f1f8f6}
.ttt-tgs__custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ttt-tgs__custom label{font-size:11px}
.ttt-tgs__custom p{font-size:11px;color:#526e73;margin:9px 0 0}
.ttt-tgs__hint{font-size:11px;line-height:1.6;background:#f4f8f7;border-left:3px solid #8cb6af;border-radius:5px;padding:12px 14px;margin:12px 0 26px;color:#567276}
.ttt-tgs__results{border-top:1px solid #d0dfdc;padding:24px 0 0}
.ttt-tgs__results-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}
.ttt-tgs__eyebrow-text{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#24737a}
.ttt-tgs__results-head h3{font-family:inherit;font-size:clamp(20px,2.6vw,27px);font-weight:800;margin:5px 0 0;color:#19454f}
.ttt-tgs__pill{font-size:10px;color:#386f70;border:1px solid #c3dbd8;border-radius:40px;padding:5px 10px;white-space:nowrap}
.ttt-tgs__empty{background:#f3f8f7;border:1px dashed #b7d0cd;border-radius:10px;text-align:center;padding:32px 22px;color:#3f666c}
.ttt-tgs__empty strong{display:block;font-size:18px;color:#1b4e57}
.ttt-tgs__empty p{font-size:12px;max-width:530px;margin:9px auto 0}
.ttt-tgs__message{padding:13px 15px;border-radius:8px;font-size:12px;margin:5px 0 12px}
.ttt-tgs__message--error{background:#fff4eb;border:1px solid #efd5bd;color:#8a5638}
.ttt-tgs__message--okay{background:#e8f6f0;color:#206a58}
.ttt-tgs__summary{display:flex;gap:10px;margin:0 0 17px}
.ttt-tgs__summary>div{background:#eaf5f2;border-radius:10px;padding:16px 18px;flex:1;min-width:0}
.ttt-tgs__summary span{display:block;color:#52747a;font-size:11px}
.ttt-tgs__summary strong{display:block;font-size:clamp(19px,3.1vw,29px);line-height:1.2;margin:5px 0 0;color:#164a52}
.ttt-tgs__table-region{max-width:100%;overflow:auto;border:1px solid #d3e1de;border-radius:10px;-webkit-overflow-scrolling:touch}
.ttt-tgs__table{border-collapse:collapse;border-spacing:0;min-width:520px;width:100%;font-size:12px;margin:0}
.ttt-tgs__table th,.ttt-tgs__table td{padding:12px 13px;border-bottom:1px solid #dfebe9;text-align:right;white-space:nowrap}
.ttt-tgs__table th:first-child{text-align:left;font-weight:700}
.ttt-tgs__table thead{background:#e7f3f0;color:#25555d}
.ttt-tgs__table tbody tr:last-child>*{border-bottom:0}
.ttt-tgs__table tbody tr:nth-child(even){background:#f9fbfb}
.ttt-tgs__plus{color:#216d54;font-weight:750}
.ttt-tgs__minus{color:#995e3e;font-weight:750}
.ttt-tgs__settle{margin:24px 0 0;border:1px solid #bdddd5;border-radius:10px;padding:18px;background:#f5faf8}
.ttt-tgs__settle h4{font-family:inherit;font-size:18px;color:#1b505a;margin:0 0 11px}
.ttt-tgs__transfers{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ttt-tgs__transfers li{background:#fff;border-radius:8px;border:1px solid #d4e5e0;padding:11px;display:flex;gap:5px;flex-wrap:wrap;align-items:center;font-size:12px}
.ttt-tgs__transfers li b{display:block;color:#17636a;font-size:16px;margin-left:auto}
.ttt-tgs__settle-note{font-size:11px;color:#5f777b;line-height:1.6;margin:12px 0 0}
.ttt-tgs__result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0 0}
.ttt-tgs__status{color:#236b61;font-size:11px}
.ttt-tgs__related{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid #deebe8;margin:25px 0 0;padding-top:18px;font-size:12px}
.ttt-tgs__related a{color:#12656d;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.ttt-tgs__fineprint{margin:24px 0 0;padding:13px 15px;font-size:11px;line-height:1.65;background:#f7f9f8;border-radius:7px;color:#5f757a}
@media(max-width:820px){.ttt-tgs__expenses{grid-template-columns:1fr}.ttt-tgs__people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.ttt-tgs__hero{padding:24px 17px}.ttt-tgs__body{padding:18px 13px}.ttt-tgs__topline{flex-direction:column;align-items:stretch}.ttt-tgs__topline label{min-width:0}.ttt-tgs__people{grid-template-columns:1fr}.ttt-tgs__expense{padding:12px}.ttt-tgs__toolbar-buttons{width:100%}.ttt-tgs__toolbar-buttons button{flex:1}.ttt-tgs__transfers{grid-template-columns:1fr}.ttt-tgs__results-head{flex-wrap:wrap}.ttt-tgs__fields{gap:8px}.ttt-tgs__summary>div{padding:14px}.ttt-tgs__summary strong{font-size:20px}}
@media print{.ttt-tgs{border:none;margin:0;max-width:none}.ttt-tgs__hero{background:#fff!important;color:#111;padding:10px 0}.ttt-tgs__hero *{color:#111!important}.ttt-tgs__form,.ttt-tgs__related,.ttt-tgs__result-actions,.ttt-tgs__privacy{display:none!important}.ttt-tgs__body{padding:0}.ttt-tgs__results{border:0}.ttt-tgs__table-region{overflow:visible}.ttt-tgs__table{min-width:0}.ttt-tgs__settle{break-inside:avoid}.ttt-tgs__fineprint{padding:8px 0}}
/* Small-screen ledger cards: keep balance figures fully visible without sideways scrolling. */
@media(max-width:570px){
  .ttt-tgs__table-region{overflow:visible;border:0}
  .ttt-tgs__table{min-width:0;width:100%;display:block;border:0}
  .ttt-tgs__table thead{display:none}
  .ttt-tgs__table tbody{display:grid;gap:8px}
  .ttt-tgs__table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d5e5e0;border-radius:9px;padding:11px;background:#fff!important}
  .ttt-tgs__table tr th,.ttt-tgs__table tr td{padding:5px 3px;white-space:normal;overflow-wrap:anywhere;border:0;text-align:left}
  .ttt-tgs__table tbody tr th{grid-column:1/-1;font-size:13px;color:#1b5056;border-bottom:1px solid #dce9e5;margin-bottom:3px}
  .ttt-tgs__table tbody tr td{font-size:12px;font-weight:700}
  .ttt-tgs__table tbody tr td::before{display:block;font-size:10px;font-weight:500;color:#657e82;margin-bottom:3px}
  .ttt-tgs__table tbody tr td:nth-child(2)::before{content:'Paid'}
  .ttt-tgs__table tbody tr td:nth-child(3)::before{content:'Fair share'}
  .ttt-tgs__table tbody tr td:nth-child(4){grid-column:1/-1;border-top:1px solid #e2efeb;margin-top:3px}
  .ttt-tgs__table tbody tr td:nth-child(4)::before{content:'Balance'}
}
