:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}button,input,select,textarea{font:inherit}html,body{overflow-x:hidden}body{margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--red:#b31942;--blue:#0a3161;--white:#fff}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}.app{width:100%;max-width:900px;color:var(--blue);background:var(--white);margin:0 auto;padding:24px 16px 64px;font-family:system-ui,-apple-system,sans-serif}header{border-bottom:4px solid var(--red);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}header .logo{border-radius:50%;flex-shrink:0}header h1{color:var(--blue);flex:1;margin:0;font-size:1.5rem}@media (prefers-color-scheme:dark){header h1{color:var(--white)}}.main-nav{gap:8px;display:flex}.main-nav button{min-height:44px;color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 16px;font-weight:600}.main-nav button.active{background:var(--blue);color:var(--white);border-color:var(--blue)}h2{color:var(--blue)}@media (prefers-color-scheme:dark){h2{color:var(--white)}}.roster-import{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;margin-bottom:24px;padding:16px}.roster-import h3{margin-top:0}.roster-import .hint{color:#667;margin:4px 0 12px;font-size:.8rem}.roster-import-controls{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.roster-import-controls label{flex-direction:column;gap:4px;font-size:.8rem;display:flex}.roster-import-controls select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:6px 8px}.roster-import button{background:var(--red);min-height:40px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-weight:600}.roster-import button:disabled{opacity:.6;cursor:default}.sportograf-import{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;margin-bottom:24px;padding:16px}.sportograf-import h3{margin-top:0}.sportograf-import .hint{color:#667;margin:4px 0 12px;font-size:.8rem}.sportograf-meta{margin-bottom:12px}.sportograf-row-decision{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.sportograf-row-decision label{align-items:center;gap:6px;min-height:44px;display:flex}.sportograf-row-decision select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:4px 8px}.sportograf-changes{color:#445;overflow-wrap:break-word;margin:4px 0 0;padding-left:18px;font-size:.8rem}.sportograf-import>button{background:var(--red);min-height:44px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-weight:600}.sportograf-import>button:disabled{opacity:.6;cursor:default}.status-import-new{color:#146c2e;background:#d6f5df}.status-import-unchanged{color:#445;background:#e5e8f0}.status-import-update{color:#8a6100;background:#fff2cc}.status-import-ambiguous,.status-import-invalid{color:var(--red);background:#fbe4ea}.status-import-duplicate,.status-import-cancelled{color:#667;background:#e5e8f0}.travel-coverage-panel{margin-top:8px}.coverage-summary-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:16px;display:grid}.coverage-summary-grid>div{border:1px solid #e0e4ee;border-radius:8px;padding:8px 4px}.coverage-summary-grid strong{font-size:1.3rem;display:block}.coverage-summary-grid span{color:#667;font-size:.7rem}.coverage-finding{border:1px solid #e0e4ee;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.coverage-finding-icon{flex:none;font-size:1.1rem;line-height:1.4}.coverage-finding-text{overflow-wrap:break-word;min-width:0}.coverage-finding-text p{margin:4px 0 0}.coverage-finding button{flex:none;min-height:44px}.coverage-missing,.coverage-conflict{border-left:4px solid var(--red)}.coverage-needs_review{border-left:4px solid #8a6100}.ride-proposal-card{overflow-wrap:break-word;border:1px solid #dfe4f0;border-radius:8px;margin-bottom:12px;padding:12px}.ride-proposal-actions{gap:8px;margin-top:8px;display:flex}.ride-proposal-actions button{min-height:44px}.ai-ride-planner{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;padding:16px}.share-team-view-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.share-team-view-actions button{min-height:44px}.share-token-reveal{overflow-wrap:break-word}.share-token-reveal code{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:4px;padding:2px 6px}.team-view-preview{border:1px solid #dfe4f0;border-radius:12px;max-height:70vh;margin-top:16px;padding:16px;overflow-y:auto}.team-view-preview-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.team-view-preview-header button{min-height:44px}.team-view-preview-body{overflow-wrap:break-word}.offline-package{overflow-wrap:break-word;border:1px solid #dfe4f0;border-radius:12px;margin-bottom:20px;padding:12px 16px}.offline-package h3{margin-top:0}.offline-package progress{width:100%;height:12px;margin:8px 0}.offline-package-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.offline-package-actions button{min-height:44px;padding:0 16px}.offline-package p{text-align:center}@media (width<=640px){.offline-package-actions{flex-direction:column}.offline-package-actions button{width:100%}}.offline-items{margin:8px 0;padding-left:20px}.offline-status{color:#334;background:#e5e8f0;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:600;display:inline-block}.offline-status-offline_ready{color:#1f6b3a;background:#dff5e5}.offline-status-downloading,.offline-status-update_available,.offline-status-incomplete{color:#8a6100;background:#fff2cc}.offline-status-failed{color:var(--red);background:#fbe4ea}.offline-banner{border-left:4px solid #8a6100;padding-left:10px}.team-contacts{padding-left:20px}.login-page{justify-content:center;padding:32px 0;display:flex}.login-form{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px;display:flex}.login-form h2{color:var(--blue);margin:0 0 8px}.login-form label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.login-form input{border:1px solid #c7cfe2;border-radius:8px;min-height:44px;padding:8px 10px;font-size:1rem}.login-form button[type=submit]{background:var(--red);min-height:44px;color:var(--white);cursor:pointer;border:none;border-radius:8px;font-size:1rem;font-weight:600}.login-form button[type=submit]:disabled{opacity:.6;cursor:default}.login-form .link-button{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.85rem;text-decoration:underline}.notice{color:#146c2e;background:#d6f5df;border-radius:8px;padding:10px;font-size:.9rem}.session-bar{color:#667;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;font-size:.85rem;display:flex}.session-bar button{cursor:pointer;min-height:36px;color:var(--blue);background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 14px}.role-badge{text-transform:capitalize;background:#e5e8f0;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.75rem;display:inline-block}.role-badge.role-admin{color:var(--red);background:#fbe4ea}.role-badge.role-team_leader{color:#8a6100;background:#fff2cc}.role-badge.role-photographer{color:#146c2e;background:#d6f5df}.resource-panel{margin-bottom:32px}.account-page{max-width:700px}.ask-event{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;margin:16px 0;padding:16px}.ask-event summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.ask-event[open] summary{margin-bottom:12px}.ask-event-quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ask-event-quick-actions button{min-height:44px;font-size:.85rem}.ask-event-form{gap:8px;display:flex}.ask-event-form input{border:1px solid #c7cfe2;border-radius:8px;flex:1;min-height:40px;padding:0 12px}.ask-event-history{max-height:320px;margin-bottom:12px;overflow-y:auto}.ask-event-question,.ask-event-answer{white-space:pre-wrap;margin:0 0 10px}.ask-event-question strong{color:var(--blue)}.ask-event-answer strong{color:var(--red)}.event-controls-form{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;min-width:0;max-width:none;display:flex}.ec-field{box-sizing:border-box;flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.ec-field>label{font-size:.9rem;font-weight:600}.ec-field>label.checkbox-label{font-size:1rem;font-weight:400}.event-controls-form .checkbox-label{box-sizing:border-box;align-items:center;gap:8px;width:100%;min-width:0;min-height:44px;display:flex}.ec-field select,.ec-field input[type=text],.ec-field input:not([type]){min-height:44px;font:inherit;box-sizing:border-box;border:1px solid #c7cfe2;border-radius:8px;width:100%;min-width:0;padding:0 12px}.ec-field select:focus,.ec-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.ec-help{overflow-wrap:break-word;margin:2px 0 0}.ec-shared-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:10px 20px;width:100%;min-width:0;display:grid}.ec-shared-grid .checkbox-label{overflow-wrap:break-word;white-space:normal;min-width:0;margin:0}@media (width<=480px){.ec-shared-grid{grid-template-columns:1fr}}.ec-callout{box-sizing:border-box;overflow-wrap:break-word;border:1px solid #dfe4f0;border-left-width:4px;border-radius:8px;width:100%;min-width:0;margin:0;padding:10px 12px;font-size:.85rem}.ec-callout-warning{color:#5c4400;background:#fff8e6;border-color:#8a6100}.ec-saved{color:#146c2e;margin:0;font-size:.85rem;font-weight:600}.event-controls-actions{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.event-controls-actions button{min-height:44px;padding:0 16px}.event-controls-actions button[type=submit].primary-button{background:var(--blue);color:var(--white);border:none;font-weight:600}.change-request-form{border:1px solid #dfe4f0;border-radius:12px;margin-top:20px;padding:16px}.change-request-form form{flex-direction:column;gap:12px;display:flex}.change-request-form label{flex-direction:column;gap:4px;font-size:.95rem;display:flex}.change-request-form input,.change-request-form select,.change-request-form textarea{border:1px solid #c7cfe2;border-radius:8px;min-height:44px;padding:8px 10px}.change-request-form textarea{min-height:80px}.change-request-form button{align-self:flex-start;min-height:44px}.change-request-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.change-request-row{border:1px solid #dfe4f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 14px;display:flex}.change-request-row.change-request-new{border-left:4px solid #8a6100}.change-request-main{flex:260px}.change-request-main p{margin:4px 0}.change-request-main .status{font-size:.85rem;font-weight:600;display:inline-block}.status-new{color:#8a6100}.status-in_review{color:#0a3161}.status-applied,.status-closed_no_action{color:#146c2e}.status-declined{color:#7a0d2b}.status-legacy_acknowledged{color:#8a6100;font-style:italic}.change-request-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.change-request-actions input{border:1px solid #c7cfe2;border-radius:8px;flex:180px;min-height:44px;padding:4px 8px}.review-in-editor-button{background:var(--blue);color:var(--white);border-color:var(--blue)}.view-context-button{color:var(--blue);border-color:var(--blue);background:0 0}.decline-form{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.decline-form input{border:1px solid #c7cfe2;border-radius:8px;flex:180px;min-height:44px;padding:4px 8px}.change-request-review-note{font-style:italic}.request-review-panel{border:1px solid #c7cfe2;border-left:4px solid var(--blue);background:#f4f6fb;border-radius:8px;margin:12px 0 20px;padding:14px 16px}.request-review-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.request-review-header p{margin:4px 0 0}.request-review-context{border-top:1px solid #c7cfe2;margin-top:12px;padding-top:12px}.request-review-context h4{margin:0 0 6px}.request-context-records p{margin:4px 0}.request-review-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.assignment-row-highlight{outline:2px solid var(--blue);outline-offset:-2px;background:#eef2fb}.linked-lodging-card{border:1px solid #c7cfe2;border-left:4px solid var(--blue);background:#f4f6fb;border-radius:8px;margin:0 0 16px;padding:14px 16px}.linked-lodging-card p{margin:6px 0}.linked-lodging-summary{margin:6px 0 10px;padding-left:20px}.open-linked-lodging-button{background:var(--blue);min-height:44px;color:var(--white);border-color:var(--blue)}.linked-lodging-conflict{border-left-color:#8a6100}.linked-lodging-conflict li{margin:6px 0}.linked-lodging-note{margin:0 0 12px}.change-request-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.change-request-filters button{background:var(--white);cursor:pointer;border:1px solid #c7cfe2;border-radius:999px;min-height:40px;padding:0 12px}.change-request-filters button.filter-tab-active{background:var(--blue);color:var(--white);border-color:var(--blue)}.change-request-actions button{min-height:44px}.change-request-actions input{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:0 10px}.gemini-status{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.gemini-status-on{color:#146c2e;background:#d6f5df}.gemini-status-off{color:#445;background:#e5e8f0}.gemini-setup-help{margin-bottom:16px;font-size:.9rem}.gemini-setup-help summary{cursor:pointer;color:var(--blue);font-weight:600}.gemini-setup-help ol{margin:8px 0;padding-left:20px}.gemini-setup-help li{margin-bottom:4px}button.danger-button{border-color:var(--red);color:var(--red)}.getting-started-panel{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;padding:16px 20px}.getting-started-details summary{cursor:pointer;color:var(--blue);font-size:1.1rem;font-weight:600}.getting-started-steps{margin:12px 0 0;padding-left:22px}.getting-started-steps li{margin-bottom:14px}.getting-started-steps li:last-child{margin-bottom:0}.getting-started-steps strong{margin-bottom:2px;display:block}.getting-started-steps p{color:#445;margin:0;font-size:.9rem}.resource-form{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px;padding:16px;display:flex}.resource-form label{flex-direction:column;flex:220px;gap:4px;min-width:220px;font-size:.8rem;display:flex}.resource-form label.checkbox-label{flex:none;min-width:0}.resource-form input,.resource-form select{border:1px solid #c7cfe2;border-radius:8px;width:100%;min-height:40px;padding:6px 8px;font-size:.9rem}.resource-form button{background:var(--red);min-height:40px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-weight:600}.resource-form button[type=button]{color:var(--blue);background:0 0;border:1px solid #c7cfe2}.resource-table-wrap{width:100%;margin-bottom:24px;display:block;overflow-x:auto}.resource-table{border-collapse:collapse;width:100%}.resource-table th,.resource-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e8f0;padding:8px;font-size:.9rem}.resource-table.wrap-cells th,.resource-table.wrap-cells td{white-space:normal;padding-top:6px;padding-bottom:6px}.row-actions-cell{align-items:center;gap:6px;display:flex;white-space:nowrap!important}.seats-inline-select{border:1px solid #c7cfe2;border-radius:6px;min-width:64px;min-height:32px;padding:4px 6px;font-size:.9rem}.resource-table tbody tr.editing-row{background:#b3194214}.resource-table button{cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:6px;min-height:32px;margin-right:6px;padding:0 10px}.icon-remove-button{border:1px solid var(--red);min-width:32px;min-height:32px;color:var(--red);cursor:pointer;background:0 0;border-radius:6px;padding:0;font-size:.9rem;line-height:1}.icon-remove-button:hover{background:var(--red);color:#fff}.event-form{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-bottom:32px;padding:20px;display:grid}.event-form h2{grid-column:1/-1;margin:0 0 4px;font-size:1.1rem}.event-form-header{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.event-form-header h2{margin:0}.event-form-header .event-form-cancel{grid-column:unset;width:auto;min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 16px;font-weight:600}.event-form-open-button{background:var(--red);min-height:44px;color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-bottom:32px;padding:0 20px;font-size:1rem;font-weight:600}.event-form-open-button:hover{background:#96153a}.event-form label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.event-form input,.event-form select{border:1px solid #c7cfe2;border-radius:8px;min-height:44px;padding:8px 10px;font-size:1rem}.event-form input:focus,.event-form select:focus{outline:2px solid var(--red);outline-offset:1px}.event-form button{background:var(--red);min-height:44px;color:var(--white);cursor:pointer;border:none;border-radius:8px;grid-column:1/-1;font-size:1rem;font-weight:600}.event-form button:hover:not(:disabled){background:#96153a}.event-form button:disabled{opacity:.6;cursor:default}.event-form-day-rows{flex-direction:column;grid-column:1/-1;gap:12px;display:flex}.event-form-day-row{grid-template-columns:1fr 2fr 1fr 44px;align-items:end;gap:12px;display:grid}.event-form .event-form-day-row .event-form-row-remove{width:44px;min-height:44px;color:var(--red);cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:8px;grid-column:auto;font-size:1.2rem;line-height:1}.event-form .event-form-row-add{min-height:40px;color:var(--blue);cursor:pointer;background:0 0;border:1px dashed #c7cfe2;border-radius:8px;align-self:flex-start;padding:0 16px;font-weight:600}.event-form-full-width{grid-column:1/-1}.event-table{border-collapse:collapse;width:100%}.event-table .col-nowrap{white-space:nowrap}.event-table th{text-align:left;border-bottom:2px solid var(--blue);text-transform:uppercase;letter-spacing:.03em;color:var(--blue);padding:10px 8px;font-size:.85rem}.event-table td{text-align:left;border-bottom:1px solid #e5e8f0;padding:10px 8px;font-size:.95rem}.event-link{color:var(--red);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.status{text-transform:capitalize;background:#e5e8f0;border-radius:999px;padding:2px 8px;font-size:.8rem}.status-published,.status-ready,.status-assigned,.status-confirmed{color:#146c2e;background:#d6f5df}.status-field_active,.status-changed{color:#8a6100;background:#fff2cc}.status-cancelled{color:var(--red);background:#fbe4ea}.event-detail{margin-bottom:32px}.back-button{color:var(--blue);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:.9rem;text-decoration:underline}.resource-form label.checkbox-label{flex-direction:row;align-items:center;gap:8px;margin-top:24px}.resource-form label.checkbox-label input{width:20px;height:20px}.event-actions-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.edit-event-toggle{gap:8px;margin-bottom:20px;display:flex}.edit-event-toggle button{min-height:40px;color:var(--blue);cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 16px;font-weight:600}.edit-event-toggle button.danger-button{border-color:var(--red);color:var(--red)}.edit-event-form{margin-bottom:20px}.gps-status{margin-top:2px;font-size:.75rem}.gps-status.gps-ok{color:#146c2e}.gps-status.gps-bad{color:var(--red)}.gps-clear-button{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-size:.75rem;text-decoration:underline}.resource-form label.obs-number-label .gps-status{white-space:nowrap}.event-tabs{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.event-tabs button{min-height:44px;color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c7cfe2;border-radius:8px;flex:none;padding:0 12px;font-weight:600}.event-tabs button.active{background:var(--red);color:var(--white);border-color:var(--red)}@media (width<=480px){.event-tabs{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.event-tabs button{width:100%}}.tab-section-group{flex-direction:column;gap:28px;display:flex}.tab-section{scroll-margin-top:16px}.tab-section-focused{outline:2px solid var(--red);outline-offset:6px;border-radius:8px}.team-notes{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:10px;margin:12px 0 20px;padding:12px 14px}.team-notes h3{margin:0 0 6px}.team-notes-text{white-space:pre-wrap;word-break:break-word;margin:0}.event-notes-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.event-notes-header h3{margin:0 0 4px}.event-notes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.event-note-card{background:var(--white);border:1px solid #dfe4f0;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.event-note-card.event-note-team{border-left:4px solid #146c2e}.event-note-card-header{align-items:center;gap:8px;display:flex}.event-note-title{background:0 0;border:none;border-bottom:1px solid #0000;flex:1;padding:4px 0;font-weight:600}.event-note-title:focus{border-bottom-color:#c7cfe2;outline:none}.event-note-status{white-space:nowrap;color:#667;font-size:.75rem}.event-note-status-saving{color:#8a6100}.event-note-status-error{color:var(--red);font-weight:600}.event-note-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.event-note-meta label{flex-direction:column;gap:2px;font-size:.8rem;display:flex}.event-note-timestamp{margin-left:auto}.event-note-body{resize:vertical;border:1px solid #c7cfe2;border-radius:8px;width:100%;min-height:100px;padding:8px 10px}.event-note-error button{margin-left:8px}.event-note-actions{justify-content:flex-end;gap:8px;display:flex}.event-notes-add-button{background:var(--blue);color:var(--white);cursor:pointer;border:none;border-radius:8px;min-height:44px;padding:0 16px;font-weight:600}.event-note-read-title{font-size:1.05rem}.event-note-badge{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:600}.event-note-badge-team{color:#146c2e;background:#d6f5df}.event-note-badge-internal{color:#445;background:#e5e8f0}.event-note-read-meta{margin:0}.event-note-read-body{white-space:pre-wrap;margin:0}@media (prefers-color-scheme:dark){.event-note-badge-team{color:#6fd08c;background:#16301f}.event-note-badge-internal{color:#a9b8d8;background:#1c2c4d}}.travel-request-fields{border:1px solid #dfe4f0;border-radius:10px;margin:4px 0;padding:12px 14px}.travel-request-fields legend{color:#667;padding:0 4px;font-size:.85rem}.change-request-travel-summary{font-style:italic}.share-token-reveal button{background:var(--white);cursor:pointer;border:1px solid #c7cfe2;border-radius:6px;min-height:32px;margin-left:10px;padding:0 12px}.operations-dashboard{text-align:left;margin-top:8px}.dashboard-identity{margin-bottom:16px}.dashboard-continue{background:#f4f6fb;border:1px solid #c7cfe2;border-radius:8px;margin-bottom:20px;padding:12px 16px}.dashboard-continue-done{background:#d6f5df}.dashboard-continue-button{background:var(--red);min-height:44px;color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:0 16px;font-weight:600}.dashboard-group{margin-bottom:24px}.dashboard-group h4{margin-bottom:8px}.dashboard-band{border:1px solid #e0e4ee;border-radius:10px;margin-bottom:20px;overflow:hidden}.dashboard-band-header{background:#0a31610f;border-bottom:1px solid #e0e4ee;padding:10px 16px}.dashboard-band-header h4{margin:0}.dashboard-band-header .hint{margin:4px 0 0}.dashboard-band-body{padding:16px}.dashboard-band-body>:last-child{margin-bottom:0}.attention-badge{color:#8a6100;background:#fff2cc;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.assignment-group-live h3{align-items:center;gap:8px;display:flex}.status-live{color:var(--white);background:#146c2e;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.assignment-group-upcoming{border:1px solid #e0e4ee;border-radius:8px;margin-bottom:12px;padding:8px 12px}.assignment-group-upcoming summary{cursor:pointer;padding:4px 0;font-weight:600}.readiness-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.readiness-row{border:1px solid #e0e4ee;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.readiness-row-main{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.readiness-icon{flex:none;font-size:1.1rem;line-height:1.4}.readiness-row-text{min-width:0}.readiness-row-text p{margin:4px 0 0}.readiness-exceptions{color:#445;margin:6px 0 0;padding-left:18px;font-size:.85rem}.readiness-row button{white-space:nowrap;flex:none;min-height:44px}.readiness-badge{border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.readiness-badge-complete{color:#146c2e;background:#d6f5df}.readiness-badge-needs_review{color:#8a6100;background:#fff2cc}.readiness-badge-missing{color:#7a0d2b;background:#fbe4ea}.readiness-badge-not_required{color:#445;background:#e5e8f0}.readiness-badge-not_tracked{color:#445;background:#e5e8f0;font-style:italic}.readiness-missing{border-left:4px solid #7a0d2b}.readiness-needs_review{border-left:4px solid #8a6100}@media (width<=480px){.readiness-row{flex-direction:column}.readiness-row button{align-self:flex-start}}.logistics-section{margin-top:12px}.logistics-section h3{margin-bottom:12px}.lodging-local-row td{color:#667;font-style:italic}.lodging-assignments-table td:first-child,.lodging-assignments-table th:first-child{background:var(--white);z-index:1;position:sticky;left:0}.lodging-inline-input{border:1px solid #c7cfe2;border-radius:6px;width:110px;min-height:32px;padding:4px 8px;font-size:.9rem}.roster-inline-input{border:1px solid #c7cfe2;border-radius:6px;width:100px;min-height:32px;padding:4px 8px;font-size:.9rem}.lodging-row-actions{align-items:center;gap:6px;display:flex}.lodging-bulk-assign{align-items:center;gap:8px;margin-bottom:12px;display:flex}.lodging-bulk-assign select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:0 10px}.lodging-bulk-assign button{background:var(--red);min-height:40px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-weight:600}.lodging-bulk-assign button:disabled{opacity:.6;cursor:default}.linked-events{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;margin-bottom:20px;padding:16px}.linked-events h3{margin-top:0}.linked-events-list{margin:0 0 12px;padding:0;list-style:none}.linked-events-list li{border-bottom:1px solid #e5e8f0;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.linked-events-list li:last-child{border-bottom:none}.link-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-form select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:6px 8px}.link-form button{background:var(--red);min-height:40px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-weight:600}.link-form button:disabled{opacity:.6;cursor:default}.copy-linked-event{margin-top:16px}.copy-linked-event>button{min-height:40px;color:var(--blue);cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 16px;font-weight:600}.copy-linked-event-form{border:1px solid #c7cfe2;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.copy-linked-event-form label{flex-direction:column;gap:4px;font-size:.8rem;display:flex}.copy-linked-event-form select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:6px 8px}.copy-linked-event-checkboxes{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.copy-linked-event-checkboxes .checkbox-label{flex-direction:row;align-items:center;gap:8px;margin-top:0}.copy-linked-event-actions{gap:8px;display:flex}.copy-linked-event-actions button{cursor:pointer;min-height:40px;color:var(--blue);background:0 0;border:1px solid #c7cfe2;border-radius:8px;padding:0 16px;font-weight:600}.copy-linked-event-actions button:first-child{background:var(--red);color:var(--white);border:none}.copy-linked-event-actions button:disabled{opacity:.6;cursor:default}.coverage-tally{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:12px;margin-top:8px;padding:16px}.coverage-tally h3{margin-top:0}.coverage-tally ul{margin:0;padding:0;list-style:none}.coverage-tally li{border-bottom:1px solid #e5e8f0;justify-content:space-between;padding:6px 0;font-size:.9rem;display:flex}.coverage-tally li:last-child{border-bottom:none}.coverage-tally .hint{margin:12px 0 0}.coverage-tally .unassigned-list{margin:4px 0 0;font-size:.9rem}.needs-ride-list{margin:4px 0 0;padding:0;font-size:.95rem;list-style:none}.needs-ride-list li{padding:3px 0}.obstacle-catalog .hint{margin-bottom:12px}.obstacle-category-group{margin-bottom:24px}.obstacle-category-heading{color:var(--blue);margin:0 0 10px}.obstacle-category-heading .hint{margin:0;font-weight:400;display:inline}.obstacle-edit-button{cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:6px;min-height:32px;margin-top:10px;padding:0 10px}.obstacle-filters{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.obstacle-filters .obstacle-search{flex:1;min-width:200px;margin-bottom:0}.obstacle-filters label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.obstacle-filters label.checkbox-label{flex-direction:row;align-items:center}.obstacle-filters select{border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:0 8px}.obstacle-search{border:1px solid #c7cfe2;border-radius:8px;width:100%;min-height:44px;margin-bottom:16px;padding:8px 12px;font-size:1rem}.obstacle-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.obstacle-card{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:10px;padding:14px}.obstacle-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.obstacle-card p{margin:6px 0 0;font-size:.85rem}.obstacle-shooting-notes{color:#556}.obstacle-meta{color:#667;font-size:.8rem}.ls-badge{background:var(--blue);color:var(--white);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem;display:inline-block}.ease-badge{color:var(--white);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-block}.obstacle-form-checkbox-row{flex:100%;justify-content:center;align-items:center;gap:48px;display:flex}.obstacle-form-checkbox-row .checkbox-label{margin-top:0}.obstacle-form-footer{flex:100%;justify-content:flex-end;align-items:center;gap:16px;margin-left:auto;display:flex}.edit-event-form-footer{flex:100%;justify-content:flex-end;align-items:center;gap:16px;display:flex}.public-visibility-fieldset{box-sizing:border-box;border:1px solid #dfe4f0;border-radius:10px;flex-wrap:wrap;flex:100%;align-items:center;gap:16px;width:100%;min-width:0;padding:12px 16px 16px;display:flex}.public-visibility-fieldset legend{color:#667;padding:0 4px;font-size:.85rem}.public-visibility-fieldset.ec-shared-grid{flex-wrap:initial;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}@media (width<=480px){.public-visibility-fieldset.ec-shared-grid{grid-template-columns:1fr}}.public-visibility-fieldset .checkbox-label{margin-top:0}.file-cards{flex-direction:column;gap:12px;display:flex}.file-card{background:#f6f7fb;border:1px solid #dfe4f0;border-radius:10px;gap:12px;padding:14px;display:flex}.file-thumbnail{object-fit:cover;border-radius:6px;flex-shrink:0;width:72px;height:72px}.file-card-body{flex:1;min-width:0}.file-card-header{margin-bottom:4px}.file-card-actions{gap:8px;margin-top:8px;display:flex}.file-card-actions button{cursor:pointer;background:0 0;border:1px solid #c7cfe2;border-radius:6px;min-height:36px;padding:0 12px}.extracted-text{margin-top:8px}.extracted-text button{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.extracted-text pre{white-space:pre-wrap;background:var(--white);border:1px solid #dfe4f0;border-radius:6px;max-height:240px;margin-top:6px;padding:8px;font-size:.8rem;overflow-y:auto}.placemarks{margin-top:8px;font-size:.85rem}.placemarks ul{margin:4px 0 0;padding-left:18px}.placemarks-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.placemarks-header .checkbox-label{flex-direction:row;align-items:center;gap:6px;margin-top:0}.no-photo-badge{color:var(--red);background:#fbe4ea;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.empty{color:#667}.error{color:#7a0d2b;border:1px solid var(--red);background:#fbe4ea;border-radius:8px;padding:10px}.version{text-align:center;color:#99a1b3;margin-top:32px;font-size:.75rem}@media (width<=600px){.event-form,.event-form-day-row{grid-template-columns:1fr}.event-form .event-form-day-row .event-form-row-remove{width:100%}}@media (prefers-color-scheme:dark){.app{color:#f2f2f5;background:#0b1220}header h1,h2{color:var(--white)}.event-form{background:#101a30;border:1px solid #1c2c4d}.event-form input,.event-form select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.event-form .event-form-day-row .event-form-row-remove{border-color:#2a3c66}.event-form .event-form-row-add{color:#f2f2f5;border-color:#2a3c66}.event-form-header .event-form-cancel{color:#8fb3ff;border-color:#2a3c66}.event-table th,.event-table td{border-bottom-color:#1c2c4d}.event-table th{color:#a9b8d8}.status{color:#f2f2f5;background:#1c2c4d}.empty{color:#8b96b3}.ec-field select,.ec-field input{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.ec-callout-warning{color:#f2c94c;background:#3a2e0f;border-color:#f2c94c}.ec-saved{color:#6fd68f}.event-controls-actions button[type=submit].primary-button{background:var(--blue);color:var(--white)}.main-nav button{color:#f2f2f5;border-color:#2a3c66}.resource-form{background:#101a30;border-color:#1c2c4d}.resource-form input,.resource-form select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.resource-table th,.resource-table td{border-bottom-color:#1c2c4d}.resource-table input,.resource-table select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.resource-table button{color:#f2f2f5;border-color:#2a3c66}.roster-import{background:#101a30;border-color:#1c2c4d}.roster-import .hint{color:#8b96b3}.roster-import-controls select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.login-form{background:#101a30;border-color:#1c2c4d}.login-form h2{color:var(--white)}.login-form input{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.login-form .link-button{color:#a9b8d8}.notice{color:#6fd08c;background:#16301f}.session-bar{color:#8b96b3}.session-bar button{color:#f2f2f5;border-color:#2a3c66}.back-button{color:#a9b8d8}.obstacle-search,.obstacle-filters select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.obstacle-card{background:#101a30;border-color:#1c2c4d}.obstacle-shooting-notes{color:#a9b8d8}.obstacle-meta{color:#8b96b3}.obstacle-category-heading{color:var(--white)}.obstacle-edit-button{color:#f2f2f5;border-color:#2a3c66}.coverage-tally{background:#101a30;border-color:#1c2c4d}.coverage-tally li{border-bottom-color:#1c2c4d}.linked-events{background:#101a30;border-color:#1c2c4d}.linked-events-list li{border-bottom-color:#1c2c4d}.link-form select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.edit-event-toggle button{color:#f2f2f5;border-color:#2a3c66}.edit-event-toggle button.danger-button,.icon-remove-button{color:#ff6b8f;border-color:#ff6b8f}.icon-remove-button:hover{color:#101a30;background:#ff6b8f}.file-card{background:#101a30;border-color:#1c2c4d}.file-card-actions button{color:#f2f2f5;border-color:#2a3c66}.extracted-text button{color:#a9b8d8}.extracted-text pre{color:#f2f2f5;background:#0b1220;border-color:#1c2c4d}.event-tabs button{color:#f2f2f5;border-color:#2a3c66}.team-notes{background:#101a30;border-color:#1c2c4d}.request-review-panel,.linked-lodging-card{background:#101a30;border-color:#2a3c66}.request-review-context{border-top-color:#2a3c66}.decline-form input{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.status-legacy_acknowledged{color:#d9a94b}.assignment-row-highlight{background:#1c2c4d}.event-note-card{background:#101a30;border-color:#1c2c4d}.event-note-title{color:#f2f2f5}.event-note-body,.event-note-meta select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.travel-request-fields{border-color:#1c2c4d}.share-token-reveal button{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.lodging-local-row td{color:#8b96b3}.lodging-bulk-assign select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.lodging-assignments-table td:first-child,.lodging-assignments-table th:first-child{background:#0b1220}.lodging-inline-input,.roster-inline-input,.seats-inline-select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.event-tab-group-label{color:#8b96b3}.readiness-row{border-color:#1c2c4d}.readiness-exceptions{color:#a9b8d8}.dashboard-continue{background:#101a30;border-color:#1c2c4d}.dashboard-continue-done{background:#16301f}.readiness-badge-not_required,.readiness-badge-not_tracked{color:#a9b8d8;background:#1c2c4d}.readiness-badge-complete{color:#6fd08c;background:#16301f}.readiness-badge-needs_review{color:#f2c94c;background:#3a2e0f}.readiness-badge-missing{color:#ff6b8f;background:#3a1420}.sportograf-import{background:#101a30;border-color:#1c2c4d}.sportograf-import .hint{color:#8b96b3}.sportograf-changes{color:#a9b8d8}.sportograf-row-decision select{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.status-import-new{color:#6fd08c;background:#16301f}.status-import-unchanged{color:#a9b8d8;background:#1c2c4d}.status-import-update{color:#f2c94c;background:#3a2e0f}.status-import-ambiguous,.status-import-invalid{color:#ff6b8f;background:#3a1420}.status-import-duplicate,.status-import-cancelled{color:#8b96b3;background:#1c2c4d}.coverage-summary-grid>div{border-color:#1c2c4d}.coverage-summary-grid span{color:#8b96b3}.coverage-finding{border-color:#1c2c4d}.ride-proposal-card,.ai-ride-planner,.share-token-reveal code{background:#101a30;border-color:#1c2c4d}.team-view-preview,.offline-package{border-color:#1c2c4d}.offline-status{color:#a9b8d8;background:#1c2c4d}.offline-status-offline_ready{color:#6fd08c;background:#16301f}.offline-status-downloading,.offline-status-update_available,.offline-status-incomplete{color:#f2c94c;background:#3a2e0f}.offline-status-failed{color:#ff6b8f;background:#3a1420}.change-request-form{border-color:#1c2c4d}.change-request-form input,.change-request-form select,.change-request-form textarea{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.change-request-row{border-color:#1c2c4d}.change-request-actions input,.change-request-filters button{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.dashboard-band{border-color:#1c2c4d}.dashboard-band-header{background:#f2f2f50f;border-color:#1c2c4d}.attention-badge{color:#f2c94c;background:#3a2e0f}.assignment-group-upcoming{border-color:#1c2c4d}}.app-dialog-overlay{z-index:1000;background:#0a0f1e8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.app-dialog{background:var(--white);border-top:4px solid var(--red);border-radius:10px;width:100%;max-width:420px;padding:20px;box-shadow:0 20px 50px #0a0f1e59}.app-dialog-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.app-dialog-logo{border-radius:50%;flex-shrink:0}.app-dialog-header h3{color:var(--blue);margin:0;font-size:1.1rem}.app-dialog-message{color:var(--blue);white-space:pre-line;margin:0 0 20px;line-height:1.5}.app-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.app-dialog-actions button{cursor:pointer;border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:0 18px;font-weight:600}.app-dialog-cancel{color:var(--blue);background:0 0}.app-dialog-confirm{background:var(--blue);color:var(--white);border-color:var(--blue)}.app-dialog-confirm.app-dialog-danger{background:var(--red);border-color:var(--red)}@media (prefers-color-scheme:dark){.app-dialog{border-top-color:var(--red);background:#101a30;box-shadow:0 20px 50px #0000008c}.app-dialog-header h3{color:#f2f2f5}.app-dialog-message{color:#d7deee}.app-dialog-cancel{color:#f2f2f5;border-color:#2a3c66}}.public-event-lookup{gap:8px;margin-bottom:24px;display:flex}.public-event-lookup input{border:1px solid #c7cfe2;border-radius:8px;flex:1;min-height:40px;padding:0 12px}.public-event-lookup button{background:var(--red);min-height:40px;color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:0 18px;font-weight:600}.public-event-summary{margin-bottom:20px}.public-event-summary h2{margin-bottom:4px}@media (prefers-color-scheme:dark){.public-event-lookup input{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.gemini-status-off{color:#a9b8d8;background:#1c2c4d}.gemini-status-on{color:#6fd68f;background:#123320}button.danger-button{color:#ff6b8f;border-color:#ff6b8f}.ask-event{background:#101a30;border-color:#1c2c4d}.ask-event-form input{color:#f2f2f5;background:#16213d;border-color:#2a3c66}}.tfv-section{background:var(--white);border:1px solid #dfe4f0;border-radius:10px;margin:0 0 14px;overflow:hidden}.tfv-section-header{margin:0;font-size:1rem;font-weight:600}.tfv-section-toggle{cursor:pointer;text-align:left;width:100%;min-height:44px;font:inherit;color:inherit;background:#f4f6fb;border:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.tfv-section-caret{flex:none;width:1em}.tfv-section-title{flex:auto}.tfv-section-badge{color:#334;background:#e5e8f0;border-radius:999px;flex:none;padding:1px 9px;font-size:.8rem;font-weight:600}.tfv-section-action{color:var(--blue);flex:none;font-size:.8rem;font-weight:500;text-decoration:underline}.tfv-section-body{padding:12px 14px 14px}.tfv-section-summary{margin:0;padding:10px 14px}.tfv-section-collapsed .tfv-section-toggle{background:#eef0f6}.tfv-section-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.app-update-banner{z-index:20;color:var(--white);background:#0a3161;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:flex;position:sticky;top:0}.app-update-banner button{background:var(--white);color:#0a3161;cursor:pointer;border:none;border-radius:8px;min-height:36px;padding:0 14px;font-weight:600}.tfv-global-controls{gap:8px;margin:0 0 14px;display:flex}.tfv-global-controls button{background:var(--white);cursor:pointer;border:1px solid #c7cfe2;border-radius:8px;min-height:40px;padding:0 14px}.roster-table-wrap{overflow-x:auto}.roster-table{border-collapse:collapse;width:100%}.roster-table th,.roster-table td{text-align:left;border-bottom:1px solid #e5e8f0;padding:8px;font-size:.9rem}.roster-name-cell{font-weight:600}@media (width<=640px){.roster-table thead{display:none}.roster-table,.roster-table tbody,.roster-table tr,.roster-table td{width:100%;display:block}.roster-table tr{border:1px solid #e5e8f0;border-radius:8px;margin-bottom:10px;padding:8px 10px}.roster-table td{border-bottom:none;padding:3px 0}.roster-table td[data-label]:before{content:attr(data-label) ": ";color:#556;font-weight:600}.roster-table td.roster-name-cell{padding-bottom:4px;font-size:1.05rem}.roster-table td.roster-name-cell:before{content:none}}.tfv-contacts-block{margin:0 0 14px}.tfv-plain-heading{margin:0 0 6px;font-size:1rem;font-weight:600}.tfv-update-banner{color:#5c4400;background:#fff2cc;border:1px solid #8a6100;border-left-width:4px;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;font-weight:600;display:flex}.tfv-update-banner button{background:var(--white);cursor:pointer;border:1px solid #8a6100;border-radius:8px;min-height:40px;padding:0 14px;font-weight:600}.tfv-viewing-source{margin:4px 0 0}.offline-status-preparing{color:#8a6100;background:#fff2cc}.tfv-header-title{margin:0 0 4px}.tfv-header-date{color:#445;margin:0 0 4px}.tfv-header-venue{margin:0}.tfv-header-venue a{color:var(--blue);text-decoration:none}.tfv-header-venue a:hover{text-decoration:underline}.tfv-header-whatsapp{margin:14px 0 0}.tfv-secondary-action{min-height:44px;color:inherit;border:1px solid #c7cfe2;border-radius:8px;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.tfv-secondary-action:hover{background:#f4f6fb}.tfv-offline-indicator{background:var(--white);cursor:pointer;border:1px solid #c7cfe2;border-radius:999px;align-items:center;gap:8px;min-height:44px;margin:0 0 14px;padding:0 14px;font-size:.9rem;font-weight:600;display:inline-flex}.tfv-offline-indicator:hover{text-decoration:underline}.tfv-offline-indicator-dot{background:#8a94ad;border-radius:50%;flex:none;width:9px;height:9px}.tfv-offline-indicator.offline-status-offline_ready .tfv-offline-indicator-dot{background:#1f6b3a}.tfv-offline-indicator.offline-status-downloading .tfv-offline-indicator-dot,.tfv-offline-indicator.offline-status-preparing .tfv-offline-indicator-dot,.tfv-offline-indicator.offline-status-update_available .tfv-offline-indicator-dot{background:#8a6100}.tfv-offline-indicator.offline-status-failed .tfv-offline-indicator-dot,.tfv-offline-indicator.offline-status-incomplete .tfv-offline-indicator-dot{background:var(--red)}.tfv-lodging-property{margin:0 0 18px}.tfv-lodging-property:last-child{margin-bottom:0}.tfv-lodging-property-header{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 8px;display:flex}.tfv-lodging-property-name{font-size:1.02rem}.tfv-lodging-property-address{color:var(--blue);text-decoration:none}.tfv-lodging-property-address:hover{text-decoration:underline}.tfv-lodging-property-dates{flex:100%}.tfv-lodging-local{border-top:1px solid #e5e8f0;margin-top:10px;padding-top:10px}.tfv-lodging-local-list{margin:6px 0 0;padding-left:18px}.tfv-sort-controls{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.tfv-sort-button{background:var(--white);cursor:pointer;border:1px solid #c7cfe2;border-radius:999px;min-height:36px;padding:0 12px;font-size:.85rem}.tfv-sort-button-active{background:var(--blue);color:var(--white);border-color:var(--blue);font-weight:600}.tfv-subsection-title{margin:16px 0 8px;font-size:.95rem;font-weight:600}.tfv-rental-cars,.tfv-carpool{border-top:1px solid #e5e8f0;margin-top:14px;padding-top:14px}.tfv-travel-block>.tfv-rental-cars:first-child,.tfv-travel-block>.tfv-carpool:first-child{border-top:none;padding-top:0}.tfv-rental-car-cards{box-sizing:border-box;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;min-width:0;display:grid}.tfv-rental-car-card{box-sizing:border-box;border:1px solid #e5e8f0;border-radius:8px;min-width:0;padding:10px 12px}.tfv-rental-car-row{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;padding:3px 0;font-size:.88rem;display:flex}.tfv-rental-car-row>span:last-child{overflow-wrap:break-word;min-width:0}.tfv-rental-car-label{color:#667;flex:none}@media (width<=640px){.tfv-rental-car-cards{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.tfv-section{background:#101a30;border-color:#1c2c4d}.tfv-section-toggle{color:#f2f2f5;background:#16213d}.tfv-section-collapsed .tfv-section-toggle{background:#131f38}.tfv-section-badge{color:#a9b8d8;background:#1c2c4d}.tfv-global-controls button{color:#f2f2f5;background:#16213d;border-color:#2a3c66}.roster-table th,.roster-table td{border-bottom-color:#1c2c4d}.roster-table tr{border-color:#1c2c4d}.roster-table td[data-label]:before{color:#a9b8d8}.tfv-update-banner{color:#f2c94c;background:#3a2e0f;border-color:#f2c94c}.tfv-update-banner button{color:#f2c94c;background:#16213d;border-color:#f2c94c}.offline-status-preparing{color:#f2c94c;background:#3a2e0f}.tfv-header-date{color:#a9b8d8}.tfv-header-venue a,.tfv-lodging-property-address{color:#7fb0ff}.tfv-secondary-action{color:#f2f2f5;border-color:#2a3c66}.tfv-secondary-action:hover{background:#16213d}.tfv-offline-indicator{color:#f2f2f5;background:#101a30;border-color:#2a3c66}.tfv-lodging-local{border-top-color:#1c2c4d}.tfv-sort-button{color:#f2f2f5;background:#101a30;border-color:#2a3c66}.tfv-sort-button-active{background:var(--blue);color:var(--white);border-color:var(--blue)}.tfv-rental-car-card{background:#101a30;border-color:#1c2c4d}.tfv-rental-cars,.tfv-carpool{border-top-color:#1c2c4d}.tfv-rental-car-label{color:#a9b8d8}}
