:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-muted:#f8fafc;--surface-warm:#fffdf5;--ink:#111827;--muted:#5b6475;--line:#d9e0ea;--accent:#00a6a6;--accent-dark:#007c89;--accent-soft:#00a6a6;--accent-strong:#007c89;--playful:#ff5a1f;--playful-soft:#ff5a1f;--cobalt:#2563eb;--sun:#f4b000;--warning:#b45309;--past:#6b7280;--shadow:0 18px 45px #17203317;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;height:100vh;padding:24px 18px;position:sticky;top:0}.brand,.nav-links a,.trip-meta span,.stat,.status-chip,.primary-button,.secondary-button,.search{align-items:center;display:flex}.brand{gap:12px;margin-bottom:34px}.brand-mark{background:var(--ink);color:#fff;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand strong,.brand span{display:block}.brand span{color:var(--muted);margin-top:2px;font-size:13px}.nav-links{gap:6px;display:grid}.nav-links a{min-height:42px;color:var(--muted);border-radius:8px;gap:10px;padding:0 12px;text-decoration:none}.nav-links a.active,.nav-links a:hover{background:var(--ink);color:#fff}.content{width:min(1480px,100%);padding:28px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.eyebrow{color:var(--playful);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:750}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,44px);line-height:1.02}.topbar-actions{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);background:var(--surface);width:min(360px,34vw);height:42px;color:var(--muted);border-radius:8px;gap:8px;padding:0 12px}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.primary-button,.secondary-button,.icon-button,.card-open-button,.back-button,.module-card{border:0;border-radius:8px}.primary-button,.secondary-button{gap:8px;min-height:42px;padding:0 14px;font-weight:700;text-decoration:none}.primary-button{background:var(--ink);color:#fff}.primary-button:hover{background:#24314b}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.secondary-button:hover,.card-open-button:hover,.back-button:hover,.module-card:hover{background:var(--surface-muted);border-color:#aab8ca}.secondary-button:disabled{cursor:not-allowed;opacity:.45}.snapshot{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:24px;display:grid;overflow:hidden;box-shadow:0 10px 30px #1720330d}.storage-banner{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px 14px;display:flex}.today-jump-bar{border:1px solid #b7d7d7;border-left:4px solid var(--accent);min-height:48px;color:var(--ink);background:#f7fefe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:0 14px;text-decoration:none;display:flex}.detail-view>.today-jump-bar{margin-bottom:0}.today-jump-bar span,.mobile-today-dock{align-items:center;display:inline-flex}.today-jump-bar span{color:var(--accent-dark);text-transform:uppercase;gap:7px;font-size:13px;font-weight:900}.today-jump-bar strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.mobile-today-dock{display:none}.storage-banner strong{display:block}.storage-banner p{color:var(--muted);margin-top:2px;font-size:14px}.modal-backdrop{z-index:20;background:#1118276b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.import-dialog{border:1px solid var(--line);border-top:4px solid var(--cobalt);background:var(--surface);border-radius:8px;gap:14px;width:min(760px,100%);max-height:min(760px,100vh - 36px);padding:18px;display:grid;overflow:auto;box-shadow:0 28px 70px #1118273d}.create-trip-dialog{width:min(620px,100%)}.create-trip-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field em{color:var(--muted);text-transform:none;font-style:normal;font-weight:700}.import-json-input{min-height:260px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.45}.import-schema-note{color:var(--muted);font-size:13px;font-weight:700}.import-preview-panel{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:12px;padding:14px;display:grid}.import-preview-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.import-preview-counts span{border:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--muted);text-align:center;border-radius:8px;align-content:center;gap:2px;padding:8px;font-size:12px;font-weight:850;display:grid}.import-preview-counts strong{color:var(--ink);font-size:20px}.import-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.import-preview-grid>div{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.import-preview-grid h3{font-size:15px}.import-preview-grid p{color:var(--muted);gap:2px;font-size:13px;line-height:1.35;display:grid}.import-preview-grid strong{color:var(--ink)}.panel-subtitle{color:var(--muted);margin-top:4px;font-size:13px;font-weight:700}.form-error{color:#b42318;background:#fff5f5;border:1px solid #f2b8b5;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:800}.snapshot div{background:var(--surface);padding:18px;position:relative}.snapshot div:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.snapshot div:first-child:before{background:var(--cobalt)}.snapshot div:nth-child(2){background:var(--surface)}.snapshot div:nth-child(2):before{background:var(--accent)}.snapshot div:nth-child(3){background:var(--surface)}.snapshot div:nth-child(3):before{background:var(--playful)}.snapshot div:nth-child(4){background:var(--surface)}.snapshot div:nth-child(4):before{background:var(--sun)}.snapshot span{font-size:28px;font-weight:800;display:block}.snapshot p,.trip-card-body>p,.trip-heading p,.today-card p,.compact-list{color:var(--muted)}.dashboard-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.today-view{gap:18px;display:grid}.today-command-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.today-view .today-panel{border-top:4px solid var(--accent);position:static;box-shadow:0 12px 34px #1720330f}.today-context-panel{align-content:start}.today-context-panel>p{color:var(--muted);line-height:1.5}.today-context-meta{gap:8px}.today-context-meta span{border-color:var(--line);background:var(--surface-muted);color:var(--ink)}.main-column{gap:28px;display:grid}.trip-section{gap:12px;display:grid}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading h2,.today-panel h2{font-size:20px}.section-heading span{background:var(--playful);color:#fff;border-radius:999px;place-items:center;min-width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.trip-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.trip-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden}.trip-card:hover{border-color:#cbd7e5;transform:translateY(-2px);box-shadow:0 22px 54px #17203321}.trip-card-featured{grid-column:1/-1}.trip-image-wrap{background:var(--surface-muted);height:180px;position:relative}.trip-card-featured .trip-image-wrap{height:230px}.trip-image{object-fit:cover;width:100%;height:100%}.status-chip{min-height:30px;color:var(--ink);background:#fffffff5;border-radius:999px;gap:6px;padding:0 10px;font-size:13px;font-weight:800;position:absolute;top:12px;left:12px}.status-current{color:var(--playful)}.status-upcoming{color:var(--accent-dark)}.status-past{color:var(--past)}.trip-card-body{gap:14px;padding:18px;display:grid}.trip-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.trip-heading h3{font-size:21px;line-height:1.16}.trip-heading p{margin-top:4px}.icon-button{background:var(--playful);color:#fff;flex:none;place-items:center;width:38px;height:38px;display:grid}.trip-summary{line-height:1.45}.trip-meta{gap:8px;display:grid}.trip-meta span{min-width:0;color:var(--ink);gap:8px;font-size:14px}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.card-open-button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.stat{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:48px;color:var(--muted);text-align:center;border-radius:8px;justify-content:center;gap:5px;padding:8px 6px}.stat span{color:var(--ink);font-weight:800}.stat small{font-size:12px}.today-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:18px;display:grid;position:sticky;top:24px}.detail-view>.today-panel{border-top:4px solid var(--accent);position:static}.panel-heading{gap:2px;display:grid}.panel-heading span{color:var(--muted);font-size:13px;font-weight:800}.today-card{border:1px solid var(--line);background:var(--surface);border-top:4px solid var(--accent);border-radius:8px;gap:10px;padding:14px;display:grid}.time{color:var(--accent-dark);font-size:28px;font-weight:850}.today-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.today-actions .secondary-button{justify-content:center}.today-detail{color:var(--ink);align-items:flex-start;gap:6px;font-weight:800;display:flex}.today-detail svg{color:var(--accent-dark);flex:none;margin-top:2px}.today-address{color:var(--muted);font-size:13px}.compact-list{border:1px solid var(--line);border-left:4px solid var(--sun);background:var(--surface);border-radius:8px;gap:10px;padding:14px;display:grid}.compact-list span{color:var(--ink);font-weight:800}.today-schedule-list p{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:8px;display:grid}.today-schedule-list time{color:var(--accent-dark);font-weight:900}.today-quick-access{gap:8px;display:grid}.today-quick-access span{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fbfdff;border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;font-weight:800;display:flex}.today-quick-access svg{color:var(--playful);flex:none}.detail-view{gap:18px;display:grid}.detail-action-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.back-button{border:1px solid var(--line);background:var(--surface);width:fit-content;min-height:38px;color:var(--ink);align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.detail-hero{border:1px solid var(--line);background:var(--ink);border-radius:8px;min-height:330px;display:grid;position:relative;overflow:hidden}.detail-hero-image{object-fit:cover;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.detail-hero-content{color:#fff;align-content:end;gap:12px;max-width:860px;padding:28px;display:grid;position:relative}.detail-hero-content .eyebrow,.detail-hero-content p{color:#fff}.detail-hero-content h1{max-width:720px}.detail-chip{width:fit-content;position:static}.detail-hero-meta{flex-wrap:wrap;gap:10px;display:flex}.detail-hero-meta span{color:#fff;background:#11182794;border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:14px;display:inline-flex}.detail-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.detail-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.detail-main,.module-section{gap:18px;display:grid}.support-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.support-strip .detail-panel{align-content:start}.support-strip .document-list,.support-strip .brief-list{max-height:230px;padding-right:3px;overflow:auto}.module-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;display:grid}.module-card{border:1px solid var(--line);background:var(--surface);min-height:118px;color:var(--ink);text-align:left;gap:8px;padding:14px;text-decoration:none;display:grid}.module-switcher .module-card{min-height:92px}.module-card:first-child{border-top:4px solid var(--cobalt)}.module-card:nth-child(2){border-top:4px solid var(--playful)}.module-card:nth-child(3){border-top:4px solid var(--sun)}.module-card:nth-child(4){border-top:4px solid var(--accent)}.module-card:nth-child(5){border-top:4px solid var(--ink)}.module-card:nth-child(6){border-top:4px solid var(--playful)}.module-card:nth-child(7){border-top:4px solid var(--accent-dark)}.module-card.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fff7d6}.module-card svg{color:var(--accent-dark)}.module-card p{color:var(--muted);font-size:13px;line-height:1.35}.detail-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 12px 34px #1720330f}.checklist-panel{border-top:4px solid var(--playful)}.checklist-summary,.empty-state{color:var(--muted)}.checklist-form{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:14px;padding:14px;display:grid}.checklist-list{gap:8px;display:grid}.checklist-item{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.checklist-item>input{width:19px;height:19px;accent-color:var(--accent-dark);margin:2px 0 0}.checklist-item-content{gap:7px;display:grid}.checklist-item.completed{background:var(--surface-muted)}.checklist-item.completed strong{color:var(--muted);text-decoration:line-through}.checklist-item-meta{flex-wrap:wrap;gap:6px;display:flex}.checklist-item-meta span,.checklist-reminder{width:fit-content;color:var(--muted);background:#eef3f8;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;font-size:12px;font-weight:750;display:inline-flex}.checklist-reminder{color:#8a5a00;background:#fff7d6}.checklist-reminder.overdue{color:#b42318;background:#fff0ef}.checklist-reminder.today{color:var(--accent-dark);background:#e6f7f5}.checklist-delete{width:36px;min-height:36px;padding:0}.checklist-completed{gap:10px;display:grid}.checklist-completed summary{color:var(--muted);cursor:pointer;font-weight:800}.module-view{gap:14px;display:grid}.panel-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-title-row h2{font-size:20px}.panel-title-row>strong{color:var(--accent-dark);font-size:22px}.timeline-list,.document-list,.brief-list{gap:10px;display:grid}.itinerary-planner{gap:12px;display:grid}.tab-import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.chatgpt-prompt-box,.tab-paste-box{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:10px;padding:14px;display:grid}.chatgpt-prompt-box textarea,.tab-paste-box textarea{resize:vertical;min-height:150px}.chatgpt-prompt-box textarea{background:#fffdf5}.chatgpt-prompt-box .secondary-button,.tab-paste-box .secondary-button{justify-content:center}.day-tabs{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.day-tab{border:1px solid var(--line);background:var(--surface);min-width:70px;min-height:44px;color:var(--muted);text-align:left;border-radius:8px;flex:none;gap:1px;padding:6px 10px;display:grid}.day-tab span{font-weight:800}.day-tab small{color:inherit;opacity:.7;font-size:.72rem;font-weight:700}.day-tab.active{border-color:var(--ink);background:var(--ink);color:#fff}.calendar-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.single-day-calendar,.event-parking{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.calendar-day-header{border-bottom:1px solid var(--line);background:#eef3f8;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.calendar-day-header div{gap:2px;display:grid}.calendar-day-header strong{font-size:18px}.calendar-day-header span,.calendar-day-header p{color:var(--muted);font-size:13px}.calendar-window-controls{align-items:center;gap:8px;display:flex}.calendar-window-controls .secondary-button{min-height:36px;padding-inline:10px}.hour-grid{min-height:1536px;position:relative}.calendar-scroll{scroll-behavior:smooth;overscroll-behavior:contain;max-height:650px;overflow-y:auto}.hour-row{grid-template-columns:76px minmax(0,1fr);min-height:64px;display:grid}.hour-row time{border-right:1px solid var(--line);color:#8b95a5;text-align:right;padding:8px 12px 0 0;font-weight:800}.hour-line{border-top:1px dashed #dfe7f0}.calendar-event{border:1px solid #d7e0ea;border-left:4px solid var(--accent);background:#f7fafc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid;position:absolute;left:92px;right:14px;box-shadow:0 12px 24px #17203314}.calendar-event-new{border-left-color:var(--playful)}.calendar-event-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.calendar-event h3,.parked-event h3{font-size:16px}.calendar-event-main>p,.parked-event p{color:var(--muted);margin-top:2px;font-size:13px}.empty-day-state{color:var(--muted);background:#fbfdff;border:1px dashed #c9d5e2;border-radius:8px;padding:16px;position:absolute;top:576px;left:104px;right:24px}.empty-day-state strong{color:var(--ink);font-size:15px;display:block}.empty-day-state p{margin-top:4px;font-size:13px;font-weight:700}.empty-parking{border:1px dashed var(--line);color:var(--muted);border-radius:8px;margin:0;padding:14px;font-size:.9rem;font-weight:700}.calendar-event-controls{align-items:start;gap:8px;display:flex}.calendar-event-controls label{gap:4px;width:92px;display:grid}.calendar-event-controls span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.calendar-event-controls input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:34px;color:var(--ink);border-radius:8px;padding:0 6px;font-weight:800}.event-side-panel{align-self:start;gap:10px;display:grid;position:sticky;top:18px}.event-parking{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.parking-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parking-heading strong{font-size:17px}.parking-heading p{color:var(--muted);margin-top:3px;font-size:13px}.parking-heading>span{background:var(--playful);color:#fff;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:12px;font-weight:850;display:grid}.parked-list{gap:8px;display:grid}.parked-event{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.selected-event{border-color:var(--ink);box-shadow:0 0 0 3px #14213d1f}.event-form{border:1px solid var(--line);border-left:4px solid var(--playful);background:var(--surface-muted);border-radius:8px;gap:14px;padding:14px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.form-field{gap:6px;min-width:0;display:grid}.form-field-wide{grid-column:span 2}.form-field span{color:var(--ink);text-transform:uppercase;font-size:12px;font-weight:850}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:40px;color:var(--ink);border-radius:8px}.form-field input,.form-field select{padding:0 10px}.form-field textarea{resize:vertical;min-height:82px;padding:10px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);outline:3px solid #00a6a629}.form-actions{justify-content:flex-end;gap:10px;display:flex}.event-editor{border:1px solid var(--line);border-top:4px solid var(--accent-strong);background:#fff;border-radius:8px;gap:14px;padding:14px;display:grid}.event-side-panel .event-editor{max-height:calc(100vh - 110px);overflow-y:auto}.event-side-panel .event-editor .form-grid{grid-template-columns:1fr}.event-side-panel .event-editor .form-field-wide{grid-column:auto}.event-side-panel .editor-actions{grid-template-columns:1fr;display:grid}.editor-heading,.editor-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-heading h3{margin-top:3px;font-size:18px}.compact-button{min-height:36px;padding:0 12px}.danger-button{color:#b42318;background:#fff5f5;border:1px solid #f2b8b5;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:850;display:inline-flex}.inline-note{background:var(--ink);color:#fff;border-radius:999px;width:fit-content;padding:7px 10px;font-size:13px;font-weight:800}.timeline-item,.document-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.timeline-item{grid-template-columns:92px minmax(0,1fr) auto}.timeline-item-new{border-left:4px solid var(--playful)}.calendar-event[draggable=true],.parked-event[draggable=true]{cursor:grab}.calendar-event[draggable=true]:active,.parked-event[draggable=true]:active{cursor:grabbing}.drag-handle{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.timeline-time{gap:2px;display:grid}.timeline-time span,.timeline-item p,.document-row p{color:var(--muted);font-size:13px}.timeline-time strong{font-size:20px}.timeline-item h3{font-size:17px}.event-details{gap:5px;margin-top:8px;display:grid}.event-details p{overflow-wrap:anywhere;align-items:flex-start;gap:6px;min-width:0;display:flex}.event-details svg{color:var(--accent-dark);flex:none;margin-top:1px}.warning-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.warning-list p{background:var(--warning);color:#fff;border-radius:999px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:850}.booking-status,.document-status{background:var(--surface-muted);min-width:max-content;color:var(--muted);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:850}.booking-status.confirmed,.document-status.ready,.document-status.archived{background:var(--accent);color:#fff}.booking-status.done{background:var(--cobalt);color:#fff}.booking-status.needs-booking,.document-status.missing,.document-status.needs-review{background:var(--playful);color:#fff}.map-pins-panel{border-top:4px solid var(--cobalt)}.map-pins-summary{flex-wrap:wrap;gap:8px;display:flex}.map-pins-summary span{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:850;display:inline-flex}.map-pins-summary svg{color:var(--cobalt)}.trip-map-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:12px;display:grid}.trip-map-canvas{background:linear-gradient(135deg,#2563eb14,#00a6a621),#f7fafc;border:1px solid #cdd8e5;border-radius:8px;min-height:360px;position:relative;overflow:hidden}.map-tile-layer{filter:saturate(1.05)contrast(.98);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:0}.map-tile{object-fit:cover;width:100%;height:100%}.map-grid-lines{pointer-events:none;opacity:.28;background-image:linear-gradient(#1118270f 1px,#0000 1px),linear-gradient(90deg,#1118270f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.map-area-label{z-index:2;background:#ffffffeb;border:1px solid #cdd8e5d1;border-radius:8px;gap:2px;padding:10px 12px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 12px 24px #17203314}.map-area-label span{color:var(--muted);font-size:12px;font-weight:850}.map-pin-marker{z-index:3;background:var(--ink);color:#fff;text-align:left;border:2px solid #fff;border-radius:999px;align-items:center;gap:6px;max-width:190px;min-height:34px;padding:0 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex;position:absolute;transform:translate(-16px,-50%);box-shadow:0 12px 22px #17203338}.map-pin-marker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-pin-marker.pin-restaurant,.map-pin-marker.pin-food{background:var(--playful)}.map-pin-marker.pin-transport{background:var(--cobalt)}.map-pin-marker.pin-hotel{background:var(--accent-dark)}.map-pin-marker.pin-museum,.map-pin-marker.pin-sight,.map-pin-marker.pin-area{background:var(--sun);color:var(--ink)}.map-pin-marker.active{z-index:4;outline:3px solid #f4b00073}.map-selected-card{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.map-selected-heading,.map-edit-actions,.map-pin-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.map-pin-edit-form textarea{min-height:84px}.pin-event-planner{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.pin-event-planner h3{font-size:16px}.pin-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pin-event-planner .secondary-button{justify-content:center}.coordinate-grid,.map-edit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.coordinate-helper{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.map-selected-card .secondary-button{justify-content:center}.map-pin-add-form{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:14px;padding:14px;display:grid}.map-pin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map-empty-state{color:var(--muted);background:#ffffffe0;border:1px dashed #aab8ca;border-radius:8px;padding:14px;font-weight:800;position:absolute;bottom:16px;left:16px;right:16px}.map-pins-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.map-pin-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid}.map-pin-header,.map-pin-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.map-pin-category{background:var(--ink);color:#fff;border-radius:999px;align-items:center;width:fit-content;min-height:26px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.map-pin-category.pin-restaurant,.map-pin-category.pin-food{background:var(--playful)}.map-pin-category.pin-transport{background:var(--cobalt)}.map-pin-category.pin-hotel{background:var(--accent-dark)}.map-pin-category.pin-museum,.map-pin-category.pin-sight,.map-pin-category.pin-area{background:var(--sun);color:var(--ink)}.map-pin-link{color:var(--accent-dark);background:0 0;border:0;align-items:center;gap:5px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.map-pin-card h3{overflow-wrap:anywhere;font-size:17px}.map-pin-card p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4}.map-pin-meta{justify-content:flex-start}.map-pin-meta span{color:var(--muted);background:#fbfdff;border:1px solid #e3eaf2;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:800}.map-pin-notes{border-top:1px solid var(--line);padding-top:8px}.food-planning-panel{border-top:4px solid var(--sun)}.food-summary,.food-filter-row,.restaurant-actions{flex-wrap:wrap;gap:8px;display:flex}.food-summary span,.filter-chip,.priority-pill{border-radius:999px;align-items:center;gap:6px;width:fit-content;min-height:30px;font-size:12px;font-weight:900;display:inline-flex}.food-summary span{border:1px solid var(--line);color:var(--muted);background:#fffdf5;padding:0 10px}.food-summary svg{color:var(--playful)}.food-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.food-notes p{min-width:0;color:var(--muted);background:#fffdf5;border:1px solid #f0dfad;border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;line-height:1.4;display:flex}.food-notes svg{color:var(--sun);flex:none}.food-input-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);align-items:start;gap:12px;display:grid}.restaurant-form,.restaurant-paste-box{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:12px;padding:14px;display:grid}.restaurant-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-paste-box textarea{min-height:176px}.restaurant-paste-box .secondary-button{justify-content:center}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:0 10px}.filter-chip.active,.filter-chip:hover{border-color:var(--ink);background:var(--ink);color:#fff}.restaurant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.restaurant-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid}.restaurant-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.restaurant-card-heading h3{overflow-wrap:anywhere;margin-top:6px;font-size:18px}.restaurant-card-heading select{border:1px solid var(--line);background:var(--surface);max-width:132px;min-height:34px;color:var(--ink);border-radius:8px;font-size:13px;font-weight:800}.restaurant-card p{color:var(--muted);font-size:13px;line-height:1.4}.restaurant-notes{border-top:1px solid var(--line);padding-top:8px}.priority-pill{color:#fff;padding:0 8px}.priority-high{background:var(--playful)}.priority-medium{background:var(--accent-dark)}.priority-low{background:var(--past)}.restaurant-actions .secondary-button{min-height:36px;padding:0 10px}.restaurant-actions .danger-button{width:36px;min-height:36px;padding:0}.document-panel{border-top:4px solid var(--playful)}.document-workspace{border-top:4px solid var(--cobalt)}.document-upload-form{gap:14px;display:grid}.upload-dropzone{min-height:118px;color:var(--muted);text-align:center;background:#f7fafc;border:1px dashed #aab8ca;border-radius:8px;place-items:center;gap:8px;padding:18px;font-weight:800;display:grid;position:relative}.upload-dropzone:hover{border-color:var(--accent-dark);color:var(--ink);background:#eefafa}.upload-dropzone svg{color:var(--accent-dark)}.upload-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.document-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.document-library{gap:10px;display:grid}.document-library-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;padding:12px;display:grid}.document-library-row>svg{color:var(--cobalt)}.document-library-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.document-library-title strong{overflow-wrap:anywhere}.document-library-row p,.document-library-row a{color:var(--muted);margin-top:5px;font-size:13px}.document-library-row a{color:var(--accent-dark);align-items:center;gap:5px;font-weight:850;text-decoration:none;display:inline-flex}.document-row-actions{align-items:center;gap:8px;display:flex}.document-row-actions select{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;font-weight:800}.document-row-actions .danger-button{width:36px;min-height:36px;padding:0}.document-row{grid-template-columns:auto minmax(0,1fr) auto}.document-row svg{color:var(--playful)}.brief-panel{border-top:4px solid var(--accent)}.brief-panel .panel-title-row svg{color:var(--sun)}.brief-list p{align-items:flex-start;gap:8px;line-height:1.45;display:flex}.brief-list svg{color:var(--accent-dark);flex:none;margin-top:2px}.travel-brief-panel{border-top:4px solid var(--accent)}.travel-brief-panel .panel-title-row svg{color:var(--sun)}.travel-brief-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.brief-field-tall{grid-row:span 2}.brief-field textarea{min-height:120px}.travel-brief-import{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:10px;padding:14px;display:grid}.travel-brief-import textarea{min-height:132px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.45}@media (width<=1080px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px 18px;position:static}.brand{margin-bottom:12px}.nav-links{padding-bottom:4px;display:flex;overflow-x:auto}.nav-links a{flex:none}.dashboard-layout,.today-command-layout,.detail-layout,.support-strip{grid-template-columns:1fr}.map-pins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-map-workspace{grid-template-columns:1fr}.map-pin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-input-grid,.tab-import-grid{grid-template-columns:1fr}.restaurant-grid,.travel-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-workspace{grid-template-columns:1fr}.event-side-panel{position:static}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.today-panel{order:-1;position:static}}@media (width<=760px){.content{padding:18px 14px 86px}.topbar{display:grid}.topbar-actions{grid-template-columns:1fr auto auto;width:100%;display:grid}.search{width:100%}.primary-button{justify-content:center;width:42px;padding:0;font-size:0}.import-submit-button,.document-save-button,.detail-chatgpt-button{width:auto;font-size:inherit;padding:0 12px}.snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-banner{display:grid}.today-jump-bar{z-index:8;margin-bottom:14px;position:sticky;top:0;box-shadow:0 10px 24px #17203314}.mobile-today-dock{z-index:20;background:var(--ink);color:#fff;border:1px solid #ffffff5c;border-radius:999px;gap:8px;min-height:46px;padding:0 14px;font-weight:900;text-decoration:none;display:inline-flex;position:fixed;bottom:14px;right:14px;box-shadow:0 16px 34px #1720333d}.trip-grid{grid-template-columns:1fr}.trip-card-featured{grid-column:auto}.trip-image-wrap,.trip-card-featured .trip-image-wrap{height:168px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-hero{min-height:390px}.detail-hero-content{padding:20px}.detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-pins-grid,.map-pin-form-grid,.coordinate-grid,.map-edit-actions,.pin-event-grid,.food-notes,.restaurant-grid{grid-template-columns:1fr}.trip-map-canvas{min-height:320px}.map-pin-marker{max-width:136px}.timeline-item,.document-row{grid-template-columns:1fr;align-items:start}.calendar-day-header{display:grid}.calendar-window-controls{justify-content:start}.calendar-scroll{max-height:560px}.hour-row{grid-template-columns:58px minmax(0,1fr);min-height:64px}.hour-row time{padding-right:8px;font-size:12px}.calendar-event{grid-template-columns:minmax(0,1fr);left:66px;right:8px}.empty-day-state{left:74px;right:12px}.calendar-event .drag-handle{position:absolute;top:8px;right:8px}.calendar-event-title{padding-right:36px}.calendar-event-controls{flex-wrap:wrap}.calendar-event-controls label{width:min(120px,100%)}.form-grid{grid-template-columns:1fr}.detail-action-row{grid-template-columns:1fr;display:grid}.detail-action-row .back-button,.detail-action-row .detail-chatgpt-button{justify-content:center;width:100%}.import-preview-counts,.import-preview-grid,.create-trip-form-grid,.document-form-grid,.restaurant-form-grid,.travel-brief-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.form-actions{grid-template-columns:1fr;display:grid}.booking-status,.document-status{width:fit-content}.document-library-row{grid-template-columns:minmax(0,1fr)}.document-row-actions{grid-template-columns:1fr auto;display:grid}.document-save-button,.restaurant-save-button,.travel-brief-save-button{width:100%;font-size:inherit}}@media (width<=460px){.sidebar{padding-inline:14px}.brand{align-items:center}h1{font-size:32px}.snapshot div,.trip-card-body{padding:14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-stats,.module-grid{grid-template-columns:1fr}.detail-hero{min-height:440px}}.sign-in-shell{background:radial-gradient(circle at top,#d9e9ff,#f7f6f2 54%);place-items:center;min-height:100vh;padding:24px;display:grid}.sign-in-card{border:1px solid var(--line);background:var(--panel);border-radius:24px;gap:18px;width:min(100%,440px);padding:32px;display:grid;box-shadow:0 24px 70px #23324524}.sign-in-card h1,.sign-in-card p{margin:0}
