/* 일마침 on SEED Design tokens (vendor/seed, Apache-2.0; see vendor/seed/NOTICE.txt).
   Loaded last. Colors, radii and surfaces only: copy, layout and the 44px/14px
   contract stay in app.css. Brand = yellow check on navy, never Daangn assets.
   Status text uses the 800 shades so small labels keep 4.5:1 on white. */
:root[data-seed-color-mode]{
  --seed-color-bg-brand-solid:#F2C230;--seed-color-bg-brand-solid-pressed:#E2B11F;--seed-color-fg-on-brand-solid:#1A1C20;
  --seed-color-bg-brand-weak:#FFF6D6;--seed-color-bg-brand-weak-pressed:#FDEDB8;--seed-color-fg-brand:#8A6100;--seed-color-fg-brand-contrast:#6B4B00;
  --seed-color-fg-positive:var(--seed-color-palette-green-800);--seed-color-fg-critical:var(--seed-color-palette-red-800);
  --seed-color-fg-warning:var(--seed-color-palette-yellow-800);--seed-color-fg-informative:var(--seed-color-palette-blue-800);

  --bg:var(--seed-color-bg-layer-basement);--panel:var(--seed-color-bg-layer-default);
  --ink:var(--seed-color-fg-neutral);--dark:var(--seed-color-fg-neutral);
  --muted:var(--seed-color-fg-neutral-muted);--ink-secondary:var(--seed-color-palette-gray-900);
  --line:var(--seed-color-stroke-neutral-weak);--line-soft:var(--seed-color-palette-gray-300);
  --ground-raised:var(--seed-color-bg-neutral-weak);--hover:var(--seed-color-palette-gray-100);
  --yellow:var(--seed-color-bg-brand-solid);--yellow-hover:var(--seed-color-bg-brand-solid-pressed);
  --yellow-soft:var(--seed-color-bg-brand-weak);--yellow-ink:var(--seed-color-fg-brand);
  --teal:var(--seed-color-fg-positive);--teal-soft:var(--seed-color-bg-positive-weak);
  --red:var(--seed-color-fg-critical);--red-soft:var(--seed-color-bg-critical-weak);
  --radius-sm:var(--seed-radius-r1_5);--radius:var(--seed-radius-r2_5);--radius-lg:var(--seed-radius-r4);
  --shadow:none;--shadow-dialog:0 -8px 40px rgba(0,0,0,.12);
  --font-sans:var(--seed-font-family);
  --field-line:#858A93;
  /* Legacy inline palette (index.html <style>). */
  --blue:var(--seed-color-bg-informative-weak);--blue-text:var(--seed-color-fg-informative);
  --indigo:var(--seed-color-bg-neutral-weak);--indigo-text:var(--seed-color-palette-gray-900);
  --violet:var(--seed-color-bg-neutral-weak);--violet-text:var(--seed-color-palette-gray-900);
  --orange:var(--seed-color-bg-warning-weak);--orange-text:var(--seed-color-fg-warning);
  --amber:var(--seed-color-bg-warning-weak);--amber-text:var(--seed-color-fg-warning);
  --green:var(--seed-color-bg-positive-weak);--green-text:var(--seed-color-fg-positive);
}
body{font-family:var(--seed-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1{font-weight:700;letter-spacing:-.02em}h2,h3{letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* Wordmark: outlined Freesentation Black, so no font file or font-src change. */
.ilm-logo{display:inline-flex;align-items:center;gap:8px;color:inherit}
.ilm-wordmark{display:block;width:auto;fill:currentColor}
.mobile-top .ilm-logo .ilm-wordmark,.brand .ilm-wordmark{height:19px}
.lp-brand svg.ilm-wordmark,.auth-main .auth-brand svg.ilm-wordmark,.lp-footer-brand svg.ilm-wordmark{width:auto;height:19px}

/* Buttons: SEED action button radius and weight; brand = yellow, dark text. */
.btn,.auth-main .btn{border-radius:var(--seed-radius-r2_5);font-weight:700}
.btn.secondary,.auth-main .btn.secondary{background:var(--panel);border-color:var(--line);color:var(--ink)}
.btn.secondary:hover:not(:disabled),.auth-main .btn.secondary:hover:not(:disabled){background:var(--hover);border-color:var(--seed-color-palette-gray-500)}
.btn.ghost:hover:not(:disabled){background:var(--seed-color-bg-neutral-weak)}
.btn.danger{background:var(--seed-color-palette-red-800);border-color:var(--seed-color-palette-red-800)}
.btn.danger:hover:not(:disabled){background:var(--seed-color-palette-red-900);border-color:var(--seed-color-palette-red-900)}
.btn:disabled,.btn[disabled]{background:var(--seed-color-bg-disabled)!important;border-color:var(--seed-color-bg-disabled)!important}
.side-logout,.admin-command-trigger{border-radius:var(--seed-radius-r2_5)}

/* Text fields: one weak stroke, ink on focus (no yellow halo). */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea,.input,.field input,.field select,.field textarea{border-color:var(--field-line);border-radius:var(--seed-radius-r2_5)}
input::placeholder,textarea::placeholder{color:var(--seed-color-palette-gray-800)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}
.search{border-color:var(--field-line)!important}
.admin-command-head:focus-within{outline:2px solid var(--ink);outline-offset:-2px}

/* Surfaces: white sections on the basement gray, separated by space, not lines. */
.card,.customer-history-card,.a-list,.a-day,.a-side-block,.t-card,.a-table-block,.inquiry-steps,.project-row,.project-day,.today-timeline,.ops-alert-board.a-counts,.auth-main .auth-panel,.auth-main .card,.public.receipt,.public-total-card{border-color:transparent;box-shadow:none}
.modal .card,.card .card,.auth-panel .card{border-color:var(--line)}
.t-card.is-now,.auth-main .auth-grid>.auth-panel:first-child{border:2px solid var(--ink);box-shadow:none}
.public.receipt{border-top:0}
.public-completion-hero{border-top:0}
.a-list-head,.a-day h3{background:transparent;font-size:16px;font-weight:700}
.memo,.ops-insight,.action-panel,.action-panel.primary,.action-panel.warn,.public-charge-card,.public-confirmation-panel{border-color:transparent;background:var(--seed-color-bg-neutral-weak)}
.ops-insight.warn{background:var(--seed-color-bg-warning-weak);border-color:transparent}
.ops-insight.danger{background:var(--seed-color-bg-critical-weak);border-color:transparent}
.public-confirmation-receipt{border-color:transparent}
.a-empty,.ops-empty,.dispatch-empty{border-color:var(--seed-color-palette-gray-500);border-radius:var(--seed-radius-r3);background:var(--hover)}
.today-group{padding:16px 16px 4px;border-radius:var(--seed-radius-r4);background:var(--panel)}
/* Phones: SEED sections run edge to edge; .main has a 16px gutter at this width. */
@media(max-width:640px){
  .main:not(.auth-main) :is(.today-group,.ops-alert-board.a-counts,.card,.a-list,.a-day,.a-side-block,.t-card,.a-table-block,.customer-history-card,.project-row,.project-day):not(.public *):not(.card *):not(.t-card *){margin-left:-16px;margin-right:-16px;border-radius:0;border-left:0;border-right:0}
  .main:not(.auth-main) .t-card.is-now:not(.public *){border:0;padding:20px 16px}
  .today-group{margin-top:8px}
  .main:not(.auth-main) .detail-summary{margin:-24px -16px 0;padding:24px 16px 16px;background:var(--panel)}
}
.job-row:hover,.tech-compact-row:hover{background:var(--seed-color-bg-layer-default-pressed)}

/* Badges: SEED badge radius, weak backgrounds per status. */
.badge,.alert-badge,.a-warn{border-radius:var(--seed-radius-r1);border-color:transparent;font-weight:700;padding:2px 7px}
.b-requested,.b-scheduled,.b-assigned,.b-cancelled{background:var(--seed-color-bg-neutral-weak);border-color:transparent;color:var(--seed-color-fg-neutral-muted)}
.b-dispatched,.b-arrived,.b-progress,.badge.warn,.alert-badge.warn,.a-warn{background:var(--seed-color-bg-warning-weak);color:var(--seed-color-fg-warning)}
.b-progress{background:var(--seed-color-bg-informative-weak);color:var(--seed-color-fg-informative)}
.b-completed,.b-paid,.badge.ok,.alert-badge.ok,.state-confirmed{background:var(--seed-color-bg-positive-weak);color:var(--seed-color-fg-positive)}
.badge.danger,.alert-badge.danger{background:var(--seed-color-bg-critical-weak);color:var(--seed-color-fg-critical)}

/* Filters: SEED chips. Pill with a weak inset stroke; selected = navy. */
.today-filters button,.a-tab{border-radius:9999px;border-color:var(--line);background:var(--panel);color:var(--ink);font-weight:500}
.today-filters b{font-size:16px;font-weight:700}
.today-filters [aria-pressed=true],.a-tab.is-on{border-color:var(--ink);background:var(--ink);color:#fff}
.today-filters [aria-pressed=true] b,.a-tab.is-on span{color:#fff}
.a-tab:hover:not(.is-on){border-color:var(--seed-color-palette-gray-600)}
.exception-filters .btn{border-radius:9999px}
.exception-filters .btn:not(.secondary){background:var(--ink);border-color:var(--ink);color:#fff}

/* Tabs: underline with a 2px navy indicator. */
.detail-tabs{background:var(--panel);border-bottom-color:var(--seed-color-stroke-neutral-subtle)}
.detail-tabs button{border-bottom-width:2px;color:var(--seed-color-fg-neutral-muted)}
.detail-tabs [aria-selected=true]{color:var(--ink);font-weight:700}

/* Navigation */
.nav button{border-radius:var(--seed-radius-r2_5)}
.nav button.active{background:var(--seed-color-bg-neutral-weak)}
.owner-bottom-nav button{font-weight:500;color:var(--seed-color-fg-neutral-muted)}
.owner-bottom-nav button[aria-current]{background:none;color:var(--ink);font-weight:700}
.owner-bottom-nav:not([hidden]){border-top-color:var(--seed-color-stroke-neutral-subtle)}
.mobile-top{box-shadow:none;border-bottom:1px solid var(--seed-color-stroke-neutral-subtle)}

/* Progress, timeline, dialogs */
.job-stepper .current i{background:var(--yellow);border-color:var(--yellow);color:var(--seed-color-fg-on-brand-solid)}
.today-block{border-radius:var(--seed-radius-r2);border-color:transparent;background:var(--seed-color-bg-neutral-weak)}
.today-axis{background:transparent}
.modal-back,.owner-more-sheet::backdrop,.admin-command-back{background:var(--seed-color-bg-overlay)}
.modal,.admin-command-dialog{border-color:transparent;border-radius:var(--seed-radius-r5)}
.owner-more-sheet{border-color:transparent;border-radius:var(--seed-radius-r5) var(--seed-radius-r5) 0 0}
@media(max-width:700px){.modal{border-radius:var(--seed-radius-r5) var(--seed-radius-r5) 0 0}}
.d-check,.tech-btn{border-radius:var(--seed-radius-r2_5)}

/* Landing: same tokens. Paper texture, hard shadows and mono labels retire. */
:root .lp-page{
  --lp-ground:var(--seed-color-bg-layer-default);--lp-ground-2:var(--seed-color-bg-layer-basement);--lp-paper:var(--seed-color-bg-layer-default);
  --lp-ink:var(--seed-color-fg-neutral);--lp-ink-2:var(--seed-color-palette-gray-900);--lp-muted:var(--seed-color-fg-neutral-muted);
  --lp-line:var(--seed-color-palette-gray-300);--lp-line-2:var(--seed-color-palette-gray-300);--lp-line-dash:var(--seed-color-palette-gray-500);
  --lp-teal:var(--seed-color-fg-positive);--lp-teal-soft:var(--seed-color-bg-positive-weak);--lp-teal-ink:var(--seed-color-fg-positive);
  --lp-yellow:var(--seed-color-bg-brand-solid);--lp-yellow-ink:var(--seed-color-fg-on-brand-solid);
  --lp-dark-text:var(--seed-color-palette-gray-500);--lp-dark-line:var(--seed-color-palette-gray-900);
  --lp-sans:var(--seed-font-family);--lp-mono:var(--seed-font-family);
}
.main.landing-main{background:var(--seed-color-bg-layer-default)}
.lp-mono{font-variant-numeric:tabular-nums}
.lp-kicker{font-size:14px;letter-spacing:0;font-weight:700;color:var(--seed-color-fg-neutral-muted)}
.lp-views-head .lp-kicker{color:var(--lp-yellow)}
.lp-header{background:rgba(255,255,255,.96);border-bottom-color:var(--seed-color-stroke-neutral-subtle)}
.lp-btn{border-radius:var(--seed-radius-r2_5);border-width:1px;font-weight:700}
.lp-btn-ink{background:var(--seed-color-bg-brand-solid);border-color:var(--seed-color-bg-brand-solid);color:var(--seed-color-fg-on-brand-solid)!important}
.lp-btn-ink:hover{background:var(--seed-color-bg-brand-solid-pressed);border-color:var(--seed-color-bg-brand-solid-pressed)}
.lp-btn-line{background:var(--seed-color-bg-layer-default);border-color:var(--seed-color-stroke-neutral-weak)}
.lp-btn-line:hover{background:var(--seed-color-palette-gray-100)}
.lp-link-btn:hover,.lp-nav a:hover{color:var(--lp-ink)!important}
.lp-menu-panel{border:0;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.lp-job{border:0;border-radius:var(--seed-radius-r4);box-shadow:none;background:var(--seed-color-bg-layer-basement)}
.lp-job-head{border-bottom:0;background:transparent;color:var(--seed-color-fg-neutral-muted)}
.lp-job-log li{border-bottom-style:solid;border-bottom-color:var(--seed-color-stroke-neutral-subtle)}
.lp-job-photo.is-before{background:var(--seed-color-palette-gray-300)}
.lp-job-total{margin:8px 16px 16px;border-radius:var(--seed-radius-r2_5)}
.lp-band li,.lp-band-list li{border:0;background:var(--seed-color-bg-layer-default);border-radius:9999px}
.lp-compare{border:0;border-radius:var(--seed-radius-r4);background:var(--seed-color-bg-layer-basement)}
.lp-compare-head{border-radius:0}
.lp-view-shot{border-radius:var(--seed-radius-r4)}
.lp-view-shot.is-client{background:var(--seed-color-palette-gray-900)}
.lp-basis{border:0;border-radius:var(--seed-radius-r4);background:var(--seed-color-bg-layer-basement)}
.lp-faq-list{border-top:1px solid var(--seed-color-stroke-neutral-weak)}
.lp-final-card{border:0;border-radius:var(--seed-radius-r5);box-shadow:none}
.lp-film-video{border-radius:var(--seed-radius-r4)}
.lp-view-shot.is-crew{background:var(--seed-color-palette-gray-900)}
.lp-phone-thumbs i{background:var(--seed-color-palette-gray-400)}
.auth-main .field input:focus,.auth-main .field select:focus,.auth-main .field textarea:focus,.auth-main .input:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.lp-sticky{background:var(--seed-color-bg-layer-default);border-top:1px solid var(--seed-color-stroke-neutral-subtle)}
.lp-sticky span{color:var(--seed-color-fg-neutral-muted)}
.today-block{letter-spacing:-.02em}
.lp-final-card .lp-btn-ink{background:var(--seed-color-fg-neutral);border-color:var(--seed-color-fg-neutral);color:#fff!important}
.lp-final-card .lp-btn-ink:hover{background:var(--seed-color-palette-gray-900);border-color:var(--seed-color-palette-gray-900)}
.lp-final-card .lp-btn-line{border-color:transparent}
