/* Team workspace shares the existing white shell. Mobile: one scrollable pane;
   tablet/desktop: the same 720px readable column inside the shared rail layout. */
#teamPanel[hidden] { display:none!important; }
#teamPanel { position:relative; display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; color:#181818; overflow:hidden; }
.ts-header { display:flex; flex:none; align-items:center; gap:12px; padding:12px 20px; background:#fff; }
.ts-header > div { min-width:0; flex:1; }
.ts-header p { font-size:12px; color:#686868; margin:0 0 3px; }
.ts-header h1 { margin:0; font-size:18px; line-height:26px; overflow-wrap:anywhere; }
.ts-body { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:12px 20px 32px; width:100%; max-width:760px; margin-inline:auto; }
#teamPanel button, #teamPanel input, #teamPanel a { font:inherit; }
#teamPanel button { cursor:pointer; }
#teamPanel button:disabled { cursor:default; opacity:.48; }
#teamPanel :focus-visible { outline:2px solid #46652c; outline-offset:3px; }
.ts-text-button { min-height:44px; padding:8px 10px; border:0; border-radius:999px; background:transparent; color:#181818; font-size:14px!important; }
.ts-soft { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 16px; border:0; border-radius:999px; background:#f4f4f4; color:#181818; font-size:14px!important; text-decoration:none; }
.ts-trip { display:flex; align-items:center; gap:16px; justify-content:space-between; padding:20px; background:#f5f6f2; border-radius:20px; }
.ts-trip > div { min-width:0; }
.ts-trip > button { flex:none; background:#fff; }
.ts-status { display:block; font-size:12px; color:#506141; margin-bottom:8px; }
.ts-trip h2 { margin:0 0 9px; font-size:20px; line-height:1.4; }
.ts-trip p { margin:0; font-size:13px; color:#686868; line-height:1.7; }
.ts-chat-entry { display:flex; width:100%; min-height:64px; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:12px 18px; border:0; border-radius:16px; background:#d5fa44; color:#20251f; text-align:left; }
.ts-chat-entry > span:first-child { display:grid; gap:3px; min-width:0; }
.ts-chat-entry strong { font-size:15px; line-height:22px; }
.ts-chat-entry small { font-size:12px; line-height:18px; color:#4c5a36; }
.ts-chat-entry > span:last-child { flex:none; font-size:20px; }
.ts-members { display:flex; align-items:center; gap:12px; padding:20px 0; font-size:13px; color:#686868; }
.ts-avatars { display:flex; padding-left:4px; }
.ts-avatars span { width:32px; height:32px; display:grid; place-items:center; margin-left:-4px; border:3px solid #fff; border-radius:50%; background:#efefef; color:#181818; font-weight:600; }
.ts-avatars span.is-confirmed { background:#d5fa44; }
.ts-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; background:#f5f5f5; padding:4px; border-radius:999px; margin-bottom:28px; }
.ts-tabs button { min-height:44px; border:0; border-radius:999px; background:transparent; color:#686868; padding:8px 6px; font-size:14px!important; }
.ts-tabs button[aria-selected=true] { background:#181818; color:#fff; font-weight:600; }
.ts-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.ts-section-heading h2 { font-size:17px; line-height:26px; margin:0; }
.ts-section-heading > span { font-size:12px; color:#686868; }
.ts-plan { margin:0; }
.ts-plan > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; padding:11px 0; font-size:14px; line-height:24px; }
.ts-plan dt { color:#686868; }
.ts-plan dd { margin:0; overflow-wrap:anywhere; }
.ts-plan-editor { margin:8px 0 16px; }
.ts-plan-editor summary { min-height:44px; padding:10px 0; color:#506141; font-size:14px; cursor:pointer; }
.ts-plan-editor form { display:grid; gap:8px; padding:16px; border-radius:16px; background:#f6f6f6; }
.ts-plan-editor label { font-size:13px; color:#686868; }
.ts-plan-editor input { width:100%; min-width:0; height:48px; padding:10px 12px; margin-bottom:8px; border:0; border-radius:12px; background:#fff; color:#181818; font-size:16px; }
.ts-confirm { width:100%; min-height:48px; border:0; border-radius:999px; background:#181818; color:#fff; font-weight:600!important; font-size:14px!important; margin:12px 0 28px; padding:12px 16px; }
.ts-confirm.is-confirmed { background:#d5fa44; color:#181818; }
.ts-notices { list-style:none; padding:0; margin:12px 0 0; }
.ts-notices li { display:flex; gap:12px; margin-bottom:20px; }
.ts-notice-mark { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:50%; background:#181818; color:#d5fa44; font-size:15px; font-weight:700; }
.ts-notices p { margin:0; font-size:14px; line-height:1.8; white-space:pre-wrap; }
.ts-notices time { display:block; margin-top:4px; color:#686868; font-size:12px; }
.ts-description { font-size:14px; line-height:1.8; color:#686868; margin:0 0 16px; }
.ts-note { font-size:12px; color:#686868; line-height:1.8; margin:0 0 20px; }
.ts-photo-tools { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.ts-service-note { padding:12px 14px; background:#f5f6f2; border-radius:12px; color:#58634d; font-size:12px; line-height:1.8; margin:0 0 20px; }
.ts-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ts-photo-grid article { min-width:0; }
.ts-photo-grid p { color:#686868; margin:6px 0 12px; font-size:12px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
.ts-photo { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; border:0; border-radius:16px; overflow:hidden; background:#f4f4f4; }
.ts-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ts-photo-check { position:absolute; top:8px; right:8px; width:24px; height:24px; display:grid; place-items:center; background:#fff; border:1px solid #aaa; border-radius:50%; color:#181818; }
.ts-photo.selected .ts-photo-check { background:#d5fa44; border-color:transparent; }
.ts-selection { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:13px; margin-bottom:12px; }
.ts-selection > span { margin-right:auto; }
.ts-photo-empty { padding:36px 16px; text-align:center; background:#f7f7f7; border-radius:20px; }
.ts-photo-empty h3 { font-size:17px; margin:0 0 10px; }
.ts-photo-empty p { font-size:13px; color:#686868; line-height:1.8; margin:0; }
.ts-footer { flex:none; width:100%; max-width:760px; margin-inline:auto; padding:18px 20px 12px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 18px); }
.ts-primary { display:block; width:100%; min-height:48px; border:0; border-radius:999px; background:#181818; color:#fff; font-size:14px!important; font-weight:600!important; padding:12px; }
.ts-error { padding:16px; background:#fff3ed; border-radius:16px; color:#7c3521; font-size:14px; line-height:1.6; }
.ts-empty { font-size:14px; color:#686868; line-height:1.8; padding:12px 0; }
.ts-photo-dialog { border:0; padding:20px; background:#fff; color:#181818; border-radius:20px; max-width:720px; width:calc(100% - 40px); max-height:calc(100dvh - 80px); }
.ts-photo-dialog::backdrop { background:rgba(0,0,0,.5); }
.ts-dialog-close { display:block; min-height:44px; margin-left:auto; margin-bottom:12px; border:0; border-radius:999px; background:#f4f4f4; padding:8px 16px; }
.ts-photo-dialog img { display:block; max-height:65dvh; width:100%; object-fit:contain; }
.ts-photo-dialog p { margin:16px 0; font-size:14px; color:#686868; }
@media(max-width:479px) { .ts-trip { padding:16px; gap:10px; } .ts-trip h2 { font-size:18px; } .ts-trip > button { padding:8px 12px; font-size:12px!important; } .ts-photo-grid { gap:8px; } }
@media(max-height:460px) { .ts-header { padding-block:6px; } .ts-footer { padding-block:6px; } }
@media(prefers-reduced-motion:no-preference) { #teamPanel button { transition:background .18s ease; } }
.ts-demo-notice { margin: 12px 16px; padding: 12px 14px; border: 1px solid #e2d7a9; border-radius: 12px; background: #fff9df; color: #63521c; font-size: 13px; line-height: 1.5; }
.ts-companions { margin-top: 32px; padding-top: 24px; border-top: 1px solid #e7e9e3; }
.ts-companion-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 76px; padding: 14px 0; }
.ts-companion-row + .ts-companion-row { border-top: 1px solid #ebebeb; }
.ts-companion-avatar { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border: 3px solid #fff; border-radius: 50%; background: #e8eedf; box-shadow: 0 0 0 1px #ededed; color: #33402f; font-weight: 650; }
.ts-companion-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ts-companion-row > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.ts-companion-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.ts-companion-actions button { min-height: 32px; padding: 7px 9px; border: 0; border-radius: 10px; background: #222; color: #fff; font-size: 11px!important; font-weight: 600; white-space: nowrap; }
.ts-companion-actions .ts-companion-decline { background: #f3f3f3; color: #777; }
.ts-companion-muted { padding: 8px 10px; border-radius: 10px; background: #f2f2f2; color: #777; font-size: 11px; white-space: nowrap; }
@media (max-width: 360px) { .ts-companion-row { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 5px; }.ts-companion-avatar { width: 38px; height: 38px; }.ts-companion-actions button { padding-inline: 6px; font-size: 10px!important; } }
