:root{--bg: #f3f4f6;--panel: #fff;--border: #d8dce3;--text: #111827;--muted: #6b7280;--accent: #2563eb;--accent-soft: #eff6ff;--success: #15803d;--success-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fff5f5;--shadow: 0 1px 3px rgba(15, 23, 42, .08);--font: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg)}a{color:inherit}.shell__header{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.shell__brand{display:flex;align-items:baseline;gap:8px;min-width:160px}.shell__logo{font-weight:700;letter-spacing:.04em}.shell__kicker{color:var(--muted);font-size:13px}.shell__nav{display:flex;gap:8px;flex:1}.shell__link{text-decoration:none;padding:8px 12px;border-radius:8px;color:var(--muted);font-size:14px}.shell__link.is-active,.shell__link:hover{background:var(--accent-soft);color:var(--accent)}.shell__user{display:flex;align-items:center;gap:10px}.shell__email{font-size:13px;color:var(--muted)}.shell__main{max-width:1400px;margin:0 auto;padding:20px}.shell__main:has(.builder){max-width:none;padding:16px 24px}.profile-page{max-width:560px}.profile-panel .panel__head h1{margin:0 0 6px;font-size:22px}.profile-form{display:grid;gap:14px;padding:0 20px 20px}.profile-form .field{display:grid;gap:6px}.profile-form .field span{font-size:12px;color:var(--muted)}.profile-form input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.profile-form input:disabled{background:var(--bg, #fafafa);color:var(--muted)}.profile-form__actions{display:flex;gap:8px}.profile-form__status{margin:0;color:var(--gold, #967448);font-size:13px}.page__header,.builder__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page__header h1,.builder__toolbar h1{margin:0;font-size:24px}.page__actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:#aeb5c2}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--danger{color:var(--danger);border-color:#fecaca;background:var(--danger-soft)}.btn--ghost{border-color:transparent;background:transparent;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.panel__head h2{margin:0;font-size:14px}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border);background:#fafbfc}.filter-btn.is-active{background:var(--accent-soft);border-color:#93c5fd;color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafbfc}tr:hover td{background:#fcfcfd}.customer-name,.trip-title{font-weight:600}.customer-meta,.trip-meta{color:var(--muted);font-size:12px;margin-top:2px}.share-link{font-size:12px;color:var(--muted);word-break:break-all;margin-top:4px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.badge--preview{background:var(--accent-soft);color:var(--accent)}.badge--published{background:var(--success-soft);color:var(--success)}.badge--unpublished{background:var(--warning-soft);color:var(--warning)}.actions{display:flex;flex-wrap:wrap;gap:6px}.empty{padding:48px 20px;text-align:center;color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s ease}.toast.is-visible{opacity:1}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(100%,420px);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow);display:grid;gap:14px}.login-card h1{margin:0;font-size:24px}.field{display:grid;gap:6px;font-size:13px;min-width:0}.field span{color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;background:#fff}.field textarea{min-height:72px;resize:vertical}.error{color:var(--danger);font-size:13px}.builder__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.builder__timeline,.builder__days,.builder__activities,.builder__editor{padding:0}.builder__editor{padding:0;min-width:0}.day-list,.activity-list{display:grid;gap:8px;padding:12px}.list-row{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.list-row.is-active{border-color:#93c5fd;background:var(--accent-soft)}.day-list__item,.activity-list__item{display:grid;gap:4px;text-align:left;border:0;background:transparent;border-radius:0;padding:10px 12px;cursor:pointer}.activity-list__item{grid-template-columns:20px 1fr;align-items:center;gap:10px}.day-list__item span{color:var(--muted);font-size:12px}.list-row__delete{width:36px;border-left:1px solid var(--border);color:var(--muted);background:transparent}.list-row__delete:hover{color:var(--danger);background:var(--danger-soft)}.timeline-list{display:grid;gap:12px;padding:12px;max-height:calc(100vh - 180px);overflow:auto}.timeline-day{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.timeline-day.is-active{border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb14}.timeline-day__head{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;background:#fafbfc;border-bottom:1px solid var(--border)}.timeline-day__select,.timeline-activity__select{min-width:0;border:0;background:transparent;color:var(--text);text-align:left}.timeline-day__select{display:grid;gap:2px}.timeline-day__select strong{font-size:13px}.timeline-day__select span{color:var(--muted);font-size:12px}.timeline-day__actions{display:flex;gap:4px}.timeline-icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:#fff}.timeline-icon-btn:hover{color:var(--accent);border-color:#93c5fd;background:var(--accent-soft)}.timeline-icon-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.timeline-icon-btn--danger:hover{color:var(--danger);border-color:#fecaca;background:var(--danger-soft)}.timeline-day__activities{display:grid;gap:1px;background:var(--border)}.timeline-activity{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 10px;background:#fff}.timeline-activity.is-active{background:var(--accent-soft)}.timeline-activity--linked{background:#f8fafc}.timeline-activity__select{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 0}.timeline-activity__lock{font-size:11px;color:var(--muted);opacity:.7}.timeline-activity__select i{color:var(--muted);text-align:center}.timeline-activity__select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.editor-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);display:grid;gap:12px}.editor-section:first-child{margin-top:0;padding-top:0;border-top:0}.editor-section--compact{margin-top:12px;padding-top:12px;gap:10px}.editor-section h3,.editor-section h4{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.details-preview ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px}@media(max-width:1100px){.builder__grid,.activity-editor{grid-template-columns:1fr}.activity-editor__side{position:static}.field-grid--activity-head,.field-grid--activity-head-compact,.field-grid--dense{grid-template-columns:1fr 1fr}.editor-inline-row{grid-template-columns:1fr}}.editor-scroll{padding:16px;max-height:calc(100vh - 220px);overflow:auto}.activity-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,440px);gap:16px;padding:16px;align-items:start}.activity-editor__readonly-banner{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.activity-editor__readonly-banner p{margin:0;flex:1 1 240px;color:var(--muted);font-size:13px;line-height:1.4}.activity-editor--readonly .guest-chips.is-disabled{opacity:.75;pointer-events:none}.activity-editor__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.activity-editor__head-actions{display:flex;gap:6px;flex-shrink:0}.activity-editor__date-hint{margin:6px 0 10px}.field-grid--activity-head-compact{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) 150px 72px;gap:10px}.field-grid--activity-head-compact .field--title{grid-column:auto}.field--day input{text-align:center}.editor-main-tabs,.editor-side-tabs{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.editor-main-tabs__nav,.editor-side-tabs__nav{display:flex;border-bottom:1px solid var(--border);background:#fafbfc}.editor-main-tabs__btn,.editor-side-tabs__btn{flex:1;padding:9px 12px;font-size:13px;font-weight:600;color:var(--muted);border:0;border-bottom:2px solid transparent;background:transparent}.editor-main-tabs__btn.is-active,.editor-side-tabs__btn.is-active{color:var(--accent);border-bottom-color:var(--accent);background:#fff}.editor-main-tabs__panel,.editor-side-tabs__panel{padding:12px}.editor-main-tabs__content{display:grid;gap:10px}.editor-inline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.editor-inline-row__guests{min-width:0}.field-grid--dense{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}.field-grid--dense .field--full{grid-column:1 / -1}.field-grid--dense .field textarea{min-height:56px}.editor-empty{margin:0;font-size:13px}.details-preview--inline{margin:0;padding-top:8px;border-top:1px solid var(--border)}.details-preview--inline h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.icon-picker-wrap .field__label{margin-bottom:4px}.icon-strip{flex-wrap:nowrap;overflow-x:auto;max-width:280px}.icon-chip{width:34px;height:34px;flex-shrink:0}.activity-editor__side{position:sticky;top:16px;display:grid;gap:12px;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field--half{margin:0}.field--full{grid-column:1 / -1}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid--activity-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}.field-grid--activity-head .field--title{grid-column:1 / -1}.field__hint{font-size:12px;color:var(--muted);margin:0}.field--checkbox{display:flex;align-items:flex-start;gap:10px;margin-top:8px}.field--checkbox input[type=checkbox]{width:auto;margin-top:3px}.field--checkbox span{font-size:14px;color:var(--text)}.field__label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.guest-chips{display:flex;flex-wrap:wrap;gap:8px}.guest-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.guest-chip.is-selected{border-color:#93c5fd;background:var(--accent-soft);color:var(--accent)}.guest-chip__main{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.guest-row{display:flex;gap:8px;align-items:end}.guest-row .field{flex:1}.icon-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.icon-chip,.icon-picker__btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:#fff;display:grid;place-items:center}.icon-picker__btn{width:auto;min-width:72px;height:auto;padding:8px 10px;grid-template-columns:20px 1fr;gap:8px;font-size:12px}.icon-chip.is-selected,.icon-picker__btn.is-selected{border-color:#93c5fd;background:var(--accent-soft)}.icon-more{margin-top:10px}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:10px}.icon-picker__group{grid-column:1 / -1;font-size:11px;text-transform:uppercase;color:var(--muted);margin-top:8px}.editor-details{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.editor-details summary{padding:12px 14px;cursor:pointer;font-weight:600;background:#fafbfc}.editor-details__body{padding:14px;display:grid;gap:12px}.editor-side-card,.activity-editor__side .editor-details{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.editor-side-card{padding:12px;display:grid;gap:10px}.editor-side-card h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.activity-editor__main{min-width:0}.location-editor-card--plain{display:grid;gap:0}.location-editor-card--plain .location-block:first-child{padding-top:0;border-top:0}.location-block{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.location-block__head h4{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.location-coords{display:grid;grid-template-columns:1fr 1fr;gap:8px}.location-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.location-search__field{margin:0}.location-search__btn{height:37px;white-space:nowrap}.location-map{width:100%;height:150px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#f3f4f6}.location-map iframe{width:100%;height:100%;border:0}.location-map--empty{display:grid;place-items:center;padding:16px;color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.photo-panel{display:grid;gap:12px}.photo-panel__file{display:none}.image-preview--photo{min-height:180px}.image-preview{height:120px;border-radius:10px;background:#f3f4f6 center/cover no-repeat;border:1px solid var(--border)}.expedia-hotel-panel{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.expedia-hotel-panel__head h4{margin:0 0 4px;font-size:14px}.expedia-hotel-panel__head p{margin:0;font-size:12px}.field-grid--expedia{display:grid;gap:10px}.expedia-hotel-panel__actions{display:flex;gap:8px}.expedia-hotel-preview{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.expedia-hotel-preview__hero{min-height:160px;border-radius:10px;background:#ece7df center/cover no-repeat}.expedia-hotel-preview__body h5{margin:0 0 6px;font-size:15px}.expedia-hotel-preview__meta{margin:0 0 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.expedia-hotel-preview__thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.expedia-hotel-preview__thumb{flex:0 0 72px;width:72px;height:52px;border:2px solid transparent;border-radius:8px;background:#ece7df center/cover no-repeat;cursor:pointer}.expedia-hotel-preview__thumb.is-active{border-color:var(--gold, #967448)}.places-panel{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.places-panel__head h4{margin:0 0 4px;font-size:14px}.places-panel__head .muted{margin:0}.places-panel__endpoints{display:flex;gap:8px}.places-panel__endpoint{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#faf8f5;font-size:12px}.places-panel__endpoint.is-active{border-color:var(--gold, #967448);background:#f5efe6}.places-panel__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.places-panel__query{margin:0}.places-panel__hero{width:100%;min-height:180px;border-radius:12px;border:1px solid var(--border);background:#ece7df center/cover no-repeat}.places-panel__hero--empty{display:grid;place-items:center;color:var(--muted);font-size:13px;background:#f7f4ef}.places-panel__results{display:grid;gap:10px}.places-panel__own-photo{display:grid;gap:6px}.places-panel__own-photo .muted{margin:0}.places-panel__photo-toggle{display:flex;align-items:center;gap:8px;font-size:13px}.places-panel__apply-row{display:flex;gap:8px;flex-wrap:wrap}.photo-panel__hint{margin:0 0 8px}.activity-photo-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.photo-panel__head h4{margin:0 0 4px;font-size:14px}.photo-panel--compact .photo-panel__hint{margin-bottom:10px}.transfer-route-preview{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.transfer-route-preview__head h4{margin:0 0 4px;font-size:14px}.transfer-route-preview__head .muted,.transfer-route-preview__meta{margin:0}.transfer-route-preview__map{width:100%;min-height:180px;border-radius:12px;border:1px solid var(--border);background:#ece7df;object-fit:cover}.transfer-route-preview__canvas{width:100%;border-radius:12px;border:1px solid var(--border);overflow:hidden;background:#f3efe8}.transfer-route-preview__canvas svg{display:block;width:100%;height:auto}.transfer-route-preview--empty{margin-top:16px;padding:16px;border-radius:12px;border:1px dashed var(--border);color:var(--muted);font-size:13px;text-align:center}.place-search-results{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff)}.place-search-results__list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:180px;overflow:auto}.place-search-results__item{width:100%;display:grid;gap:2px;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#faf8f5}.place-search-results__item strong{font-size:13px}.place-search-results__item span{font-size:12px;color:var(--muted)}.place-search-results__item.is-active{border-color:var(--gold, #967448);background:#f5efe6}.place-search-results__thumbs{margin-top:2px}.place-search-results__attr,.place-route-status{margin:0;font-size:11px}.airline-logo-panel{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.airline-logo-panel__head h4{margin:0 0 4px;font-size:14px}.airline-logo-panel__head p{margin:0;font-size:12px}.airline-logo-panel__actions{display:flex;gap:8px}.airline-logo-preview{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.airline-logo-preview__hero{height:120px;border-radius:10px;background:#fff center/contain no-repeat;border:1px solid var(--border)}.airline-logo-preview__body h5{margin:4px 0;font-size:15px}.airline-logo-preview__meta{margin:0;font-size:12px;color:var(--muted)}.airline-logo-preview__thumbs{display:flex;flex-wrap:wrap;gap:8px}.airline-logo-preview__thumb{width:48px;height:48px;border-radius:8px;border:2px solid transparent;background:#fff center/contain no-repeat;cursor:pointer}.airline-logo-preview__thumb.is-active{border-color:var(--gold, #967448)}.activity-editor__side .editor-details{margin-top:0}.activity-editor__side .editor-details summary{padding:10px 12px}.activity-editor__side .editor-details__body{padding:12px;gap:10px}.activity-editor__side .field-row{grid-template-columns:1fr;gap:8px}.time-picker{display:flex;align-items:center;gap:6px}.time-picker select{border:1px solid var(--border);border-radius:8px;padding:8px;font:inherit}.editor-actions{display:flex;gap:8px;margin-top:20px}.crm-results{display:grid;gap:8px;margin-top:8px}.crm-result{text-align:left;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;display:grid;gap:2px}.crm-result span{color:var(--muted);font-size:12px}.accom-editor{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.accom-editor__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.accom-editor__head h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.accom-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.accom-table input,.accom-table textarea{width:100%;min-width:120px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;font:inherit}.accom-table textarea{min-height:56px;resize:vertical}.builder__editor{padding:0}.guest-notes-panel{margin:0 20px 24px;padding-top:20px;border-top:1px solid var(--border);display:grid;gap:12px}.guest-notes-panel__head h3{margin:0 0 4px;font-size:15px}.guest-notes-panel__head p{margin:0;font-size:13px}.guest-notes-panel__list{display:grid;gap:10px}.guest-notes-panel__item{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg, #fafafa)}.guest-notes-panel__meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;color:var(--muted)}.guest-notes-panel__item p{margin:0;white-space:pre-wrap}
