/* Container glass only: rows deliberately have no backdrop blur. */
.tt-home-heading h1{font-size:var(--font-title);margin-bottom:var(--space-2)}
.tt-home-heading p{color:var(--text-secondary)}
.tt-home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:var(--space-5) 0}
.tt-home-summary>div{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-control);padding:var(--space-3);font-size:var(--font-caption)}
.tt-home-summary strong{font-size:clamp(1rem,2vw,1.5rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tt-home-summary .receivable{background:var(--success-soft);color:var(--receivable)}
.tt-home-summary .payable{background:var(--danger-soft);color:var(--payable)}
.tt-home-summary .tt-loading{font-size:var(--font-caption);padding:0}
.tt-new-trip{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--accent-highlight);color:var(--accent-on);border:1px solid var(--border-glass);box-shadow:var(--shadow-soft)}
.tt-trip-grid{display:grid;gap:var(--space-5);margin-bottom:var(--space-6)}
button.tt-trip-card{display:block;padding:0;text-align:start;width:100%;overflow:hidden;background:var(--surface-glass);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}
.tt-trip-cover,.tt-trip-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--app-bg);min-height:210px}
.tt-trip-art{position:absolute;inset:0;z-index:-1;color:var(--accent-secondary);opacity:.22;display:flex;align-items:flex-end;justify-content:flex-end}
.tt-trip-art>.tt-icon{width:80%;height:100%;stroke-width:.65}
.tt-trip-art>span{position:absolute;right:8%;top:15%;transform:rotate(18deg)}
.tt-trip-art>span .tt-icon{width:60px;height:60px}
.tt-destination{position:absolute;top:var(--space-4);left:var(--space-4);font-size:var(--font-secondary);font-weight:var(--weight-strong);max-width:70%;overflow-wrap:anywhere}
.tt-trip-currency{position:absolute;right:var(--space-3);top:var(--space-3);display:flex;gap:var(--space-1);align-items:center;padding:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-glass-strong);font-size:var(--font-caption)}
.tt-trip-caption{padding:100px var(--space-4) var(--space-4);background:linear-gradient(transparent,var(--surface-glass-strong));overflow-wrap:anywhere}
.tt-trip-caption h3{font-size:var(--font-section);margin:0 0 var(--space-2)}
.tt-trip-caption small{display:flex;gap:var(--space-1);align-items:center;margin-top:var(--space-2)}
.tt-card-finance,.tt-trip-summary{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);font-size:var(--font-caption)}
.tt-card-finance strong,.tt-trip-summary strong{display:block;font-size:var(--font-card);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tt-position{text-align:end}.tt-position.receivable{color:var(--receivable)}.tt-position.payable{color:var(--payable)}
.tt-trip-hero{border:1px solid var(--border-glass);border-radius:var(--radius-card);padding:110px var(--space-5) var(--space-4);margin-top:var(--space-4)}
.tt-hero-caption{background:var(--surface-glass);padding:var(--space-3);border-radius:var(--radius-control)}
.tt-hero-caption h1{margin:0;font-size:var(--font-title)}.tt-hero-caption p{margin:var(--space-2) 0}.tt-hero-caption small{display:flex;align-items:center;gap:var(--space-2)}
.tt-trip-hero .tt-avatar-group{margin-top:var(--space-3)}
.tt-trip-summary{border:1px solid var(--border-glass);background:var(--surface-glass);border-radius:var(--radius-card);margin:var(--space-3) 0}
.tt-trip-page .wallet-columns{display:flex;flex-direction:column}.tt-trip-page #expenses{order:-1;width:100%}
.tt-trip-page .trip-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.tt-trip-page .trip-actions #show-expense{order:2;flex-basis:100%}
.tt-trip-page .trip-actions a{display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:44px;flex:1;padding:var(--space-2);font-size:var(--font-caption);border-radius:var(--radius-control);background:var(--surface-glass);text-decoration:none}
.tt-trip-page .trip-actions a[aria-current]{background:var(--accent-highlight);color:var(--accent-on)}
.tt-expense-tools{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}
.tt-expense-search{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;margin:0;border:1px solid var(--border-control);border-radius:var(--radius-pill);padding:0 var(--space-3);background:var(--surface-glass)}
.tt-expense-search input{background:transparent;border:0;width:100%;min-width:0;margin:0}
.tt-filter{display:flex;align-items:center;gap:var(--space-1);margin:0}.tt-filter-status{flex-basis:100%;margin:0;font-size:var(--font-caption)}
.tt-trip-page .expense-day{background:var(--surface-glass);border-radius:var(--radius-card);padding:var(--space-3);margin-bottom:var(--space-3)}
.tt-trip-page .expense-row{background:transparent;border:0;border-bottom:1px solid var(--border-glass);border-radius:0;box-shadow:none}
.tt-trip-page .expense-row summary{min-height:64px}.tt-trip-page .expense-row summary strong{font-size:var(--font-secondary)}
.tt-expense-category{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-primary);vertical-align:middle;margin-inline-end:var(--space-2)}
.tt-trip-page .expense-row.reversed{border-inline-start:3px dashed var(--text-muted)}
.tt-filter-options fieldset{border:0;padding:0;margin-bottom:var(--space-5);display:flex;gap:var(--space-2);flex-wrap:wrap}
.tt-filter-options legend{margin-bottom:var(--space-2);font-weight:var(--weight-strong)}
.tt-filter-choice{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);min-height:44px;margin:0}
.tt-filter-choice:has(:checked){background:var(--surface-selected);color:var(--accent-primary)}
.tt-filter-choice input{width:auto;margin:0}.tt-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
[hidden]{display:none!important}
@media(min-width:640px){.tt-trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-home-summary{gap:var(--space-4)}.tt-home-summary>div{padding:var(--space-5)}.tt-trip-hero{min-height:280px;padding-top:140px}.tt-trip-page .trip-actions #show-expense{flex-basis:auto}.tt-home-heading h1{max-width:85%}}
@media(min-width:1024px){.tt-new-trip{max-width:320px}.tt-trip-cover{min-height:240px}.tt-trip-hero{padding-top:180px}.tt-trip-summary strong{font-size:var(--font-money)}.tt-home-summary>div{font-size:var(--font-secondary)}}
.tt-trip-card{font-weight:var(--weight-normal)}
.tt-trip-caption>div{font-size:var(--font-secondary);font-weight:var(--weight-normal)}
.tt-trip-caption small{font-size:var(--font-caption);font-weight:var(--weight-normal)}
@media(max-width:639px){.tt-trip-cover{min-height:180px}.tt-trip-caption{padding-top:80px}.tt-card-finance{padding:var(--space-3)}.tt-card-finance strong{font-size:var(--font-body)}.tt-home-heading h1{font-size:1.5rem}.tt-home-summary{margin:var(--space-4) 0}.tt-home #shared-home{margin-top:var(--space-5)}}
.tt-trip-summary{background:var(--surface-glass-strong)}
.tt-trip-page .day-heading>span[data-i18n]{display:inline}
.tt-trip-page .expense-row>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}
.tt-row-description{display:flex;align-items:center;gap:var(--space-2);min-width:0}
.tt-row-description>.tt-expense-category{flex-shrink:0;margin:0}
.tt-row-description>span:last-child{min-width:0;overflow-wrap:anywhere}
.tt-trip-page .expense-row>summary>b{font-size:var(--font-caption);white-space:normal;text-align:end;max-width:100px}
.tt-trip-page .expense-row small{font-size:var(--font-caption);margin-top:var(--space-1)}
.tt-trip-page .tt-expense-category:has(.tt-icon){width:36px;height:40px}
.tt-trip-page .expense-day{padding:var(--space-3)}
@media(max-width:639px){.tt-trip-page .trip-actions a{min-width:0;flex:1 1 0}.tt-trip-page .trip-actions a .tt-icon{display:none}.tt-trip-hero{padding-top:64px}.tt-trip-page .trip-actions{gap:var(--space-1)}}
