@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--anim-duration) var(--anim-easing) both}.animate-slide-up{animation:slideUp var(--anim-duration) var(--anim-easing) both}.animate-scale-in{animation:scaleIn var(--anim-duration) var(--anim-easing) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}.stagger>:nth-child(9){animation-delay:.4s}.stagger>:nth-child(10){animation-delay:.45s}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-slide-up,.animate-scale-in{animation:none}.stagger>*{animation-delay:0s!important}}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font-family);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}input,select,textarea,button{color:inherit}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3,h4{margin-top:0}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}.page{padding:var(--space-6);max-width:var(--page-max-width);margin:0 auto}@media (width<=960px){.page{padding:var(--space-4)}}@media (width<=640px){.page{padding:var(--space-3)}}@media (width<=400px){.page{padding:var(--space-2)}}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;font-family:inherit;line-height:var(--leading-normal);border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-neutral-900);border-color:var(--color-neutral-300)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-100);border-color:var(--color-neutral-400)}.btn-danger{background:var(--color-error);color:var(--color-on-primary);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);border-color:var(--color-error-dark)}.btn-danger-outline{background:var(--color-surface);color:var(--color-error);border-color:var(--color-error)}.btn-danger-outline:hover:not(:disabled){background:var(--color-error-light)}.btn-sm{font-size:var(--text-base);padding:.3rem .6rem}.delete-confirm{text-align:center}.delete-confirm p{margin-bottom:var(--space-6);font-size:var(--text-xl)}.delete-confirm .form-actions{justify-content:center;gap:var(--space-3)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:3px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-elevated:#f1f5f9;--color-text:#0f172a;--color-text-muted:#334155;--color-text-subtle:#64748b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-light:#f1f5f9;--color-border-hover:#cbd5e1;--color-overlay:#0f172a80;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#eff6ff;--color-primary-ring:#2563eb59;--color-on-primary:#fff;--color-accent:#f59e0b;--color-accent-dark:#d97706;--color-success:#16a34a;--color-success-light:#dcfce7;--color-error:#dc2626;--color-error-dark:#b91c1c;--color-error-light:#fee2e2;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-warning-fg:#92400e;--color-info:#0284c7;--color-info-bg:#e0f2fe;--color-status-planned-bg:#f1f5f9;--color-status-planned-fg:#475569;--color-status-contacted-bg:#fef3c7;--color-status-contacted-fg:#92400e;--color-status-booked-bg:#dcfce7;--color-status-booked-fg:#166534;--color-status-cancelled-bg:#fee2e2;--color-status-cancelled-fg:#991b1b;--color-cost-paid:#166534;--color-cost-unpaid:#dc2626;--color-link:#1d4ed8;--color-link-hover:#1e40af;--color-selection-bg:#2563eb1f;--color-selection-text:#0f172a;--color-table-header-bg:#f1f5f9;--color-table-row-bg:#fff;--color-table-row-alt-bg:#f8fafc;--color-table-row-hover-bg:#0f172a0a;--color-table-row-selected-bg:#2563eb1a;--color-chip-bg:#eef2ff;--color-chip-text:#1e40af;--color-navbar-bg:#1e3a5f;--color-navbar-text:#fff;--color-navbar-text-muted:#ffffffb3;--color-navbar-accent:#f59e0b;--color-navbar-btn-bg:#ffffff1f;--color-navbar-btn-hover-bg:#ffffff38;--color-pill-active-count-bg:#ffffff40;--color-pill-count-bg:var(--color-neutral-200);--color-pill-count-fg:var(--color-neutral-700);--color-cancel-summary-bg:#fff7ed;--color-cancel-summary-border:#fed7aa;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.375rem;--text-4xl:1.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 3px #0f172a14;--shadow-md:0 2px 8px #0f172a14;--shadow-lg:0 4px 12px #0f172a1f;--shadow-xl:0 8px 32px #0f172a29;--transition-fast:.1s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--z-fab:50;--z-navbar:100;--z-modal:200;--z-toast:300;--page-max-width:960px;--content-max-width:700px;--focus-ring:0 0 0 3px var(--color-primary-ring);--color-surface-raised:var(--color-surface-elevated);--color-urgency-overdue:#dc2626;--color-urgency-overdue-bg:#fee2e2;--color-urgency-today:#ea580c;--color-urgency-today-bg:#fff7ed;--color-urgency-soon:#d97706;--color-urgency-soon-bg:#fef3c7;--color-fx-up:var(--color-error);--color-fx-down:var(--color-success);--z-sticky:40;--anim-duration:.25s;--anim-duration-fast:.15s;--anim-duration-slow:.4s;--anim-easing:cubic-bezier(.4, 0, .2, 1);--sidebar-width:240px;--sidebar-width-collapsed:60px;--bottom-nav-height:56px;--color-sidebar-bg:var(--color-surface);--color-sidebar-border:var(--color-border);--color-sidebar-active:var(--color-primary);--color-nav-active-bg:color-mix(in srgb, var(--color-primary) 10%, transparent)}html[data-theme=dark],html[data-theme=system][data-resolved-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1220;--color-surface:#0f172a;--color-surface-elevated:#111c2f;--color-text:#e5e7eb;--color-text-muted:#cbd5e1;--color-text-subtle:#94a3b8;--color-border:#94a3b833;--color-border-strong:#94a3b859;--color-border-light:#94a3b81a;--color-border-hover:#94a3b859;--color-overlay:#000000b3;--color-neutral-50:#0f172a;--color-neutral-100:#111c2f;--color-neutral-200:#94a3b833;--color-neutral-300:#94a3b84d;--color-neutral-400:#475569;--color-neutral-500:#64748b;--color-neutral-600:#94a3b8;--color-neutral-700:#cbd5e1;--color-neutral-800:#e2e8f0;--color-neutral-900:#e5e7eb;--color-primary:#60a5fa;--color-primary-dark:#3b82f6;--color-primary-light:#60a5fa1f;--color-primary-ring:#60a5fa66;--color-on-primary:#0b1220;--color-accent:#fbbf24;--color-accent-dark:#f59e0b;--color-success:#22c55e;--color-success-light:#22c55e26;--color-error:#f87171;--color-error-dark:#ef4444;--color-error-light:#f8717126;--color-warning:#f59e0b;--color-warning-bg:#f59e0b26;--color-warning-fg:#fbbf24;--color-info:#38bdf8;--color-info-bg:#38bdf81f;--color-status-planned-bg:#94a3b826;--color-status-planned-fg:#94a3b8;--color-status-contacted-bg:#f59e0b2e;--color-status-contacted-fg:#fbbf24;--color-status-booked-bg:#22c55e2e;--color-status-booked-fg:#4ade80;--color-status-cancelled-bg:#f871712e;--color-status-cancelled-fg:#fca5a5;--color-cost-paid:#4ade80;--color-cost-unpaid:#f87171;--color-link:#93c5fd;--color-link-hover:#bfdbfe;--color-selection-bg:#60a5fa2e;--color-selection-text:#e5e7eb;--color-table-header-bg:#111c2f;--color-table-row-bg:#0f172a;--color-table-row-alt-bg:#0b1220;--color-table-row-hover-bg:#e2e8f00f;--color-table-row-selected-bg:#60a5fa2e;--color-chip-bg:#60a5fa24;--color-chip-text:#bfdbfe;--color-navbar-bg:#0f172a;--color-navbar-text:#e5e7eb;--color-navbar-text-muted:#e5e7eb8c;--color-navbar-accent:#fbbf24;--color-navbar-btn-bg:#e5e7eb1a;--color-navbar-btn-hover-bg:#e5e7eb2e;--color-pill-active-count-bg:#00000040;--color-pill-count-bg:#94a3b833;--color-pill-count-fg:#94a3b8;--color-cancel-summary-bg:#f59e0b1a;--color-cancel-summary-border:#f59e0b40;--color-surface-raised:var(--color-surface-elevated);--color-urgency-overdue:#f87171;--color-urgency-overdue-bg:#f8717126;--color-urgency-today:#fb923c;--color-urgency-today-bg:#fb923c26;--color-urgency-soon:#fbbf24;--color-urgency-soon-bg:#fbbf2426;--color-fx-up:var(--color-error);--color-fx-down:var(--color-success);--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 4px 12px #0006;--shadow-xl:0 8px 32px #00000080}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.pub-page{max-width:780px;margin:0 auto;padding:2rem 1.25rem 5rem}.pub-brand{color:var(--color-text-muted);margin:0 0 1rem;font-size:1.25rem}.pub-brand-chip{background:var(--color-primary-light);color:var(--color-primary-dark);letter-spacing:.02em;border-radius:999px;margin-bottom:1rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;display:inline-block}.pub-header{border-bottom:1px solid var(--color-border);margin-bottom:2.5rem;padding-bottom:1.5rem}.pub-title{color:var(--color-text);margin:0 0 .4rem;font-size:2rem}.pub-dates{color:var(--color-text-muted);margin:0 0 .75rem;font-size:1.05rem;font-weight:500}.pub-travelers,.pub-description,.pub-summary{color:var(--color-text-muted);margin:.4rem 0;font-size:.95rem}.pub-summary{color:var(--color-text-subtle);font-size:.88rem}.pub-section{margin-bottom:2.5rem}.pub-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);margin:0 0 1rem;font-size:.95rem;font-weight:600}.pub-route-link{background:var(--color-primary);color:var(--color-on-primary);border-radius:8px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block}.pub-route-link:hover{background:var(--color-primary-dark)}.pub-route-stops{margin:0;padding-left:1.25rem;list-style:decimal}.pub-route-stops li{flex-wrap:wrap;gap:.5rem;padding:.35rem 0;display:flex}.pub-route-name{color:var(--color-text);font-weight:600}.pub-route-date{color:var(--color-text-muted);font-size:.88rem}.pub-route-detail{color:var(--color-text-subtle);font-size:.88rem}.pub-day{margin-bottom:1.75rem}.pub-day-date{color:var(--color-text);border-bottom:2px solid var(--color-primary-light);margin:0 0 .75rem;padding-bottom:.35rem;font-size:1rem;font-weight:600}.pub-day-items{flex-direction:column;gap:.75rem;display:flex}.pub-res{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.1rem;box-shadow:0 1px 2px #0f172a0a}.pub-res-head{align-items:flex-start;gap:.75rem;display:flex}.pub-res-icon{flex-shrink:0;margin-top:.1rem;font-size:1.35rem;line-height:1}.pub-res-head-text{flex:1;min-width:0}.pub-res-title{color:var(--color-text);margin:0 0 .25rem;font-size:1rem;font-weight:600}.pub-res-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.5rem;font-size:.88rem;display:flex}.pub-res-status{text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.pub-res-status--booked{color:#065f46;background:#d1fae5}.pub-res-status--planned{background:var(--color-neutral-100);color:var(--color-neutral-700)}.pub-res-status--contacted{color:#92400e;background:#fef3c7}.pub-res-status--cancelled{color:#991b1b;background:#fee2e2}.pub-res-address{color:var(--color-text-subtle);margin-top:.4rem;font-size:.88rem}.pub-res-code{align-items:center;gap:.4rem;margin-top:.5rem;font-size:.85rem;display:flex}.pub-res-code-label{color:var(--color-text-subtle)}.pub-res-code-value{background:var(--color-neutral-100);border-radius:4px;padding:.15rem .5rem;font-family:SF Mono,Menlo,monospace}.pub-res-cost{color:var(--color-text);margin-top:.5rem;font-weight:600}.pub-res-notes{border-top:1px solid var(--color-border-light);color:var(--color-text-muted);white-space:pre-wrap;margin-top:.75rem;padding-top:.75rem;font-size:.9rem}.pub-res-link{margin-top:.5rem;font-size:.88rem}.pub-res-link a{color:var(--color-primary)}.pub-message{text-align:center;padding-top:5rem}.pub-message h2{color:var(--color-text);margin:.5rem 0;font-size:1.4rem}.pub-message p{color:var(--color-text-muted)}.pub-expired-msg{margin-top:1.5rem;font-weight:500}.pub-footer{border-top:1px solid var(--color-border);color:var(--color-text-subtle);text-align:center;margin-top:3rem;padding-top:1.5rem;font-size:.82rem}.pub-empty{color:var(--color-text-subtle);font-style:italic}html[data-theme=dark],html[data-theme=system][data-resolved-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
