:root{--color-teal:#2a9d8f;--color-teal-dark:#227d72;--color-teal-light:#6dbfb4;--color-coral:#e76f51;--color-coral-dark:#c9532f;--color-coral-light:#f0a08c;--color-saffron:#e9c46a;--color-saffron-dark:#c9a23f;--color-ivory:#faf8f3;--color-sage:#eef6f3;--color-charcoal:#263238;--color-neutral-100:#fff;--color-neutral-200:#f3f1eb;--color-neutral-300:#e4e0d6;--color-neutral-400:#c7c2b4;--color-neutral-500:#8a9a96;--color-neutral-600:#5c6b67;--color-neutral-700:#3a4644;--color-bg:var(--color-ivory);--color-surface:var(--color-neutral-100);--color-surface-sage:var(--color-sage);--color-text-primary:var(--color-charcoal);--color-text-secondary:var(--color-neutral-600);--color-text-muted:var(--color-neutral-500);--color-border:var(--color-neutral-300);--color-border-strong:var(--color-neutral-400);--color-action:var(--color-teal);--color-action-hover:var(--color-teal-dark);--color-attention:var(--color-coral);--color-attention-hover:var(--color-coral-dark);--color-discovery:var(--color-saffron);--color-discovery-dark:var(--color-saffron-dark);--color-success:#4c8c6b;--color-danger:#c9532f;--color-priority-must-know:var(--color-coral);--color-priority-useful:var(--color-teal);--color-priority-optional:var(--color-saffron-dark);--color-priority-reference:var(--color-neutral-500);--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-tabular:"Inter", -apple-system, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.7;--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;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #2632380f;--shadow-md:0 2px 8px #26323814;--shadow-lg:0 8px 24px #2632381f;--max-content-width:1120px;--nav-height-mobile:60px;--header-height-desktop:64px;--sidebar-width:240px;--transition-fast:.12s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{margin:0 0 var(--space-3) 0}a{color:var(--color-action);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px;border-radius:var(--radius-sm)}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-full)}.form-error{color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-3)}.app-shell{background:var(--color-bg);min-height:100dvh}.app-shell__sidebar{display:none}.app-shell__main{flex-direction:column;min-height:100dvh;display:flex}.app-shell__content{padding:var(--space-4) var(--space-4) calc(var(--nav-height-mobile) + var(--space-6));max-width:var(--max-content-width);flex:1;width:100%;margin:0 auto}.app-shell__bottom-nav{height:var(--nav-height-mobile);padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:40;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #2632380f}.app-shell__bottom-link{color:var(--color-text-muted);transition:color var(--transition-fast);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.app-shell__bottom-link:hover{text-decoration:none}.app-shell__bottom-link--active{color:var(--color-teal-dark)}.app-shell__bottom-icon{font-size:20px;line-height:1}.app-shell__bottom-label{font-size:10px;font-weight:600}@media (width>=900px){.app-shell{display:flex}.app-shell__sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-6) var(--space-4);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.app-shell__brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3);margin-bottom:var(--space-8);display:flex}.app-shell__brand-mark{border-radius:var(--radius-md);background:var(--color-teal);color:#fff;width:34px;height:34px;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.app-shell__brand-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}.app-shell__sidebar-nav{gap:var(--space-1);flex-direction:column;display:flex}.app-shell__sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast);font-weight:500;display:flex}.app-shell__sidebar-link:hover{background:var(--color-sage);color:var(--color-text-primary);text-decoration:none}.app-shell__sidebar-link--active{background:var(--color-sage);color:var(--color-teal-dark);font-weight:600}.app-shell__main{flex:1;min-width:0}.app-shell__content{padding:var(--space-8)}.app-shell__bottom-nav{display:none}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.card--padding-sm{padding:var(--space-3) var(--space-4)}.card--padding-md{padding:var(--space-5)}.card--padding-lg{padding:var(--space-6) var(--space-8)}.card--padding-none{padding:0}.card--interactive{cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast)}.card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card--interactive:active{transform:scale(.995)}.card__accent-bar{background:var(--card-accent,var(--color-teal));width:3px;position:absolute;top:0;bottom:0;left:0}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;border:none;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn--md{padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.btn--lg{padding:var(--space-4) var(--space-6);font-size:var(--text-md)}.btn--full{width:100%}.btn--primary{background:var(--color-action);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-action-hover)}.btn--secondary{background:var(--color-surface-sage);color:var(--color-teal-dark);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-sage);border-color:var(--color-border-strong)}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-neutral-200);color:var(--color-text-primary)}.btn--danger{color:var(--color-danger);background:0 0}.btn--danger:hover:not(:disabled){background:#fbeee9}.btn__icon{line-height:1;display:inline-flex}.modal-overlay{z-index:100;background:#26323873;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;max-height:90vh;padding:var(--space-6);animation:.2s slide-up;overflow-y:auto}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width>=900px){.modal-overlay{align-items:center}.modal{border-radius:var(--radius-lg)}}.modal__header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.modal__title{margin:0}.modal__close{color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;font-size:1.5rem;line-height:1}.modal__close:hover{color:var(--color-text-primary)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-full);background:var(--color-sage);width:48px;height:48px;color:var(--color-teal-dark);font-size:var(--text-lg);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.empty-state--error .empty-state__icon{color:var(--color-coral-dark);background:#fbebe6}.empty-state__title{margin:0}.empty-state__description{color:var(--color-text-secondary);max-width:360px;margin:0 0 var(--space-2) 0}.loading-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.loading-state__spinner{border:2px solid var(--color-border);border-top-color:var(--color-teal);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.research-home__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.research-home__subtitle{color:var(--color-text-secondary);margin:var(--space-1) 0 0}.research-home__grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.research-home__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.research-home__grid{grid-template-columns:repeat(3,1fr)}}.destination-card__title{margin:0 0 var(--space-2)}.destination-card__overview{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.destination-card__delete{color:var(--color-danger);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1) 0;background:0 0;border:none;font-weight:600}.destination-card__delete:hover{text-decoration:underline}.dest-detail__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);display:flex}.dest-detail__header{margin-bottom:var(--space-4)}.dest-detail__overview{color:var(--color-text-secondary);margin-top:var(--space-2)}.dest-detail__actions{margin-bottom:var(--space-5)}.dest-detail__section-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width>=640px){.dest-detail__section-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1100px){.dest-detail__section-grid{grid-template-columns:repeat(4,1fr)}}.section-tile{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.section-tile__icon{font-size:var(--text-xl)}.section-tile__label{font-weight:600;font-size:var(--text-sm);line-height:var(--leading-tight)}.section-tile__count{font-size:var(--text-xs);color:var(--color-text-muted)}.section-page__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-page__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.section-page__list{gap:var(--space-3);flex-direction:column;display:flex}.entry-card{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.entry-card__main{flex:1;min-width:0}.entry-card__title-line{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.entry-card__title{font-weight:600}.entry-card__meta{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-1) 0 0}.entry-card__delete{color:var(--color-danger);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none;flex-shrink:0;font-weight:600}.entry-card__delete:hover{text-decoration:underline}.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;font-weight:600;line-height:1.4;display:inline-flex}.badge--priority-must_know{color:var(--color-coral-dark);background:#fbebe6}.badge--priority-useful{color:var(--color-teal-dark);background:#e4f2ef}.badge--priority-optional{color:var(--color-saffron-dark);background:#fbf3de}.badge--priority-reference{background:var(--color-neutral-200);color:var(--color-text-secondary)}.badge--section{background:var(--color-neutral-200);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.badge--imported{background:var(--color-sage);color:var(--color-teal-dark)}.place-field{margin-bottom:var(--space-4)}.place-field__label{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:600;display:block}.place-field__row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.place-field .field{margin-bottom:var(--space-2)}.place-summary{flex-direction:column;gap:2px;display:flex}.place-summary__name{font-weight:600}.place-summary__locality{font-size:var(--text-sm);color:var(--color-text-secondary)}.place-maps-link{font-size:var(--text-sm);color:var(--color-teal-dark);align-items:center;gap:4px;margin-top:2px;font-weight:600;display:inline-flex}.money-field{margin-bottom:var(--space-4)}.money-field__label{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:600;display:block}.money-field__row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.money-field .field{margin-bottom:var(--space-2)}.money-display{font-weight:600}.import-page__hint{color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-5)}.review-page__header{margin-bottom:var(--space-4)}.review-page__source{color:var(--color-text-secondary);font-size:var(--text-sm)}.review-page__hint{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-2)}.review-page__raw{margin-bottom:var(--space-5);background:var(--color-surface-sage);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.review-page__raw-text{white-space:pre-wrap;font-family:inherit;font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-3)}.review-page__group{margin-bottom:var(--space-6)}.review-page__group h2{margin-bottom:var(--space-3)}.review-page__group-count{color:var(--color-text-muted);font-weight:400;font-size:var(--text-sm)}.candidate-card{margin-bottom:var(--space-4)}.candidate-card__excerpt{color:var(--color-text-secondary);margin-bottom:var(--space-3);padding-left:var(--space-3);border-left:3px solid var(--color-border);font-style:italic}.candidate-card__uncertainty{font-size:var(--text-xs);color:var(--color-saffron-dark);margin-bottom:var(--space-3)}.candidate-card__actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.candidate-card__toggle{align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-3);cursor:pointer;display:flex}.review-page__decided-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.review-page__status{font-size:var(--text-xs);text-transform:uppercase;padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:700}.review-page__status--accepted{background:var(--color-surface-sage);color:var(--color-teal-dark)}.review-page__status--rejected{color:var(--color-danger);background:#fbeee9}.review-page__decided-excerpt{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);font-size:var(--text-sm);flex:1;overflow:hidden}.review-page__decided-link{font-size:var(--text-sm);flex-shrink:0}
