/* TripinMate production design system — mobile first */
:root {
  --brand-50:#eef3fc; --brand-100:#dce6f8; --brand-500:#3570d4; --brand-600:#2457bb; --brand-700:#193e70;
  --ink-950:#162e4b; --ink-700:#405773; --ink-500:#596d85; --line:#dbe1ea;
  --surface:#fff; --surface-muted:#f3f6fa; --canvas:#f7f8fa;
  --success:#177245; --warning:#9a6500; --error:#b42318; --info:#1769aa; --disabled:#9aa49f;
  --font-sans:Inter,"Pretendard","Noto Sans KR",system-ui,-apple-system,sans-serif;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4.5rem;
  --radius-sm:.5rem; --radius-md:.875rem; --radius-lg:1.25rem; --radius-pill:999px;
  --shadow-sm:0 1px 3px rgb(20 32 27 / .08); --shadow-md:0 12px 32px rgb(20 32 27 / .12);
  --focus:0 0 0 3px rgb(36 87 187 / .35); --content:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{font-family:var(--font-sans);color:var(--ink-950);background:var(--canvas)}
:focus-visible{outline:0;box-shadow:var(--focus)} a,button,input,select,textarea{font:inherit} button,a,select{touch-action:manipulation}
.btn,.chip,.mobile-nav a,.mobile-nav button{min-height:44px}.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}
.brand svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2}.brand{gap:.55rem;font-weight:800;letter-spacing:-.025em}
.hero{min-height:min(760px,92vh);border-radius:0;background:#132c4f}.hero__image{opacity:.72}.hero__scrim{background:linear-gradient(90deg,rgba(16,36,58,.8),rgba(16,36,58,.2))}
.nav-island{top:1rem;width:min(calc(100% - 2rem),var(--content));border:1px solid rgb(255 255 255/.25);box-shadow:var(--shadow-md);background:rgb(255 255 255/.96)}
.nav-links a{min-height:44px;display:inline-flex;align-items:center}.nav-links a:hover{color:var(--brand-600)}
.hero__content{width:min(calc(100% - 2rem),var(--content));margin-inline:auto;left:0;right:0;max-width:none;padding-right:min(48%,30rem)}
.hero__content h1{letter-spacing:-.045em;line-height:1.02}.hero__content p{max-width:42rem}.hero-search-wrap{width:min(calc(100% - 2rem),var(--content));border-radius:var(--radius-lg)}
.btn--primary{background:var(--brand-600);border-color:var(--brand-600);color:white}.btn--primary:hover{background:var(--brand-700)}
.section{padding-block:var(--space-8)}.section--paper{background:var(--surface-muted)}.section-heading{letter-spacing:-.035em}.place-card,.card,.essential-card,.auth-card,.admin-section{border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);background:var(--surface)}
.place-card{overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.place-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.place-card__media{aspect-ratio:4/3}.place-card__media img{width:100%;height:100%;object-fit:cover}.place-card__body h3{letter-spacing:-.02em}
.chip[aria-pressed=true]{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.map-layout{border-radius:var(--radius-lg);overflow:hidden}.map-controls{background:white}.dialog__inner{border-radius:var(--radius-lg)}
.trip-header{position:sticky;top:0;z-index:20;background:rgb(255 255 255/.95);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.trip-shell{width:min(calc(100% - 2rem),var(--content))}.trip-hero{padding-block:var(--space-7) var(--space-5)}.trip-form{gap:var(--space-4)}.trip-advanced{background:var(--surface-muted);border-radius:var(--radius-md)}.trip-item{border-left:3px solid var(--brand-500)}
.auth-page{background:linear-gradient(90deg,var(--brand-50) 0 42%,var(--canvas) 42%)}.auth-page__header{background:transparent}.auth-card{max-width:600px}.auth-card h1{letter-spacing:-.04em}.oauth-stack{display:grid;gap:.75rem;margin-block:1.25rem}.oauth-button{width:100%;justify-content:center;background:#fff}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--ink-500);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.password-hint{font-size:.82rem;color:var(--ink-500);margin:.35rem 0 0}.auth-help{display:flex;justify-content:flex-end;margin-top:.5rem}
.admin-body{background:#f3f5f4}.admin-sidebar{background:#162e4b;color:#eaf0ec}.admin-sidebar nav a{min-height:44px;border-radius:var(--radius-sm)}.admin-sidebar nav a:hover{background:#25372f}.admin-main{max-width:1500px}.admin-topbar{border-bottom:1px solid var(--line)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.health-card{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md)}.health-card strong{display:block;margin-top:.4rem}.health-card[data-level=healthy]{border-left:4px solid var(--success)}.health-card[data-level=warning]{border-left:4px solid var(--warning)}.health-card[data-level=critical]{border-left:4px solid var(--error)}
.site-footer-nav{display:flex;flex-wrap:wrap;gap:1rem}.mobile-nav{box-shadow:0 -4px 16px rgb(20 32 27/.1);background:rgb(255 255 255/.97)}
@media(max-width:800px){.nav-island{padding:.6rem .75rem}.nav-links{display:none}.nav-actions .account-button{display:none}.hero{min-height:720px}.hero__content{padding:6rem 0 0;top:26%}.hero__content h1{font-size:clamp(2.4rem,13vw,4rem)}.hero-search-wrap{bottom:5rem}.hero-search{grid-template-columns:1fr}.hero-search .field:not(:first-child){display:none}.hero__trust{display:none}.section{padding-block:var(--space-7)}.place-grid{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.map-controls{order:2}.trip-header{padding-inline:1rem}.trip-header__actions .btn{display:none}.trip-layout{grid-template-columns:1fr}.trip-map{position:static}.trip-form{grid-template-columns:1fr}.trip-form__wide{grid-column:auto}.trip-advanced{grid-column:auto;grid-template-columns:1fr}.auth-page{background:var(--canvas)}.auth-page__header{padding:1rem}.auth-page__main{padding:1rem 1rem 6rem}.admin-body{display:block}.admin-sidebar{position:static;width:100%;padding:1rem}.admin-sidebar nav{display:flex;overflow-x:auto;gap:.5rem;padding-bottom:.5rem}.admin-sidebar nav a{white-space:nowrap}.admin-main{margin:0;padding:1rem}.admin-topbar{align-items:flex-start}.admin-table-wrap{overflow-x:auto}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr)} }
@media(min-width:801px){.mobile-nav{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.flow-card{width:min(100%,38rem)}.flow-status{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.flow-status[data-state="success"]{padding:var(--space-4);border-left:4px solid var(--success);background:var(--brand-50)}.flow-status[data-state="error"]{padding:var(--space-4);border-left:4px solid var(--error);background:#fff4f2}.spinner{width:1.5rem;height:1.5rem;border:3px solid var(--line);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}
.trip-dashboard{display:grid;gap:var(--space-6);margin-top:var(--space-5)}.trip-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--space-4)}.trip-summary-card{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.generation-status{align-items:flex-start;grid-template-columns:auto 1fr;gap:var(--space-4);padding:var(--space-4);margin-top:var(--space-4);border-radius:var(--radius-md);background:var(--brand-50)}.generation-status:not([hidden]){display:grid}.empty-state{grid-column:1/-1;text-align:center;padding:var(--space-7);border:1px dashed var(--line);border-radius:var(--radius-lg)}
@media(max-width:430px){.mobile-nav a,.mobile-nav button{padding-inline:var(--space-1);font-size:.7rem;line-height:1.15;text-align:center}.hero-search-wrap{bottom:4.5rem}.auth-card{padding:var(--space-5)}}
