/*
 * 견적 페이지 C안 스타일.
 * 1) #quote-entry.tpq-landing : 견적 선택 화면(template-parts/quote-entry-c.php)
 * 2) body.tp-quote-c          : 일반 번역 견적 양식(quote_request.php) — 기존 인라인 스타일 위에 덮어쓴다.
 * 양식의 입력 항목·순서·동작은 그대로이고, 배치와 겉모습만 바꾼다.
 */

#quote-entry.tpq-landing,
body.tp-quote-c {
    --tpq-ink: #172033;
    --tpq-muted: #586579;
    --tpq-soft: #8E9BB0;
    --tpq-line: #DCE3EC;
    --tpq-line-strong: #C9D3E0;
    --tpq-ground: #F7F9FC;
    --tpq-red: #D92032;
    --tpq-red-hover: #BD1728;
    --tpq-rose: #F6A5AE;
    --tpq-dark: #141A26;
    --tpq-green: #1F7A4D;
}

/* ───────────────────────── 1) 견적 선택 화면 ───────────────────────── */
#quote-entry.tpq-landing {
    display: block;
    background: var(--tpq-ground);
    color: var(--tpq-ink);
    font-family: 'Pretendard Variable', Pretendard, 'Apple SD Gothic Neo', sans-serif;
    letter-spacing: -0.01em;
    line-height: 1.5;
    padding: 0 0 72px;
}

#quote-entry.tpq-landing * { box-sizing: border-box; }
#quote-entry.tpq-landing a { text-decoration: none; }
#quote-entry .tpq-shell { max-width: 1280px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }

#quote-entry .tpq-cap { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; color: var(--tpq-muted); }
#quote-entry .tpq-cap--rose { color: var(--tpq-rose); }
#quote-entry .tpq-cap--muted { color: var(--tpq-soft); letter-spacing: 0.12em; }
#quote-entry .tpq-cap--red { color: var(--tpq-red); letter-spacing: 0.1em; font-size: 12px; }

#quote-entry .tpq-eyebrow {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: var(--tpq-red);
}

#quote-entry .tpq-eyebrow > span { width: 8px; height: 8px; background: var(--tpq-red); display: inline-block; }

#quote-entry .tpq-hero {
    background: radial-gradient(circle at 82% 20%, rgba(23, 125, 220, 0.08), transparent 34%), linear-gradient(112deg, #FFFFFF 0%, #F7F9FC 60%, #EEF5FC 100%);
    border-bottom: 1px solid var(--tpq-line);
    padding: 144px 0 44px;
}

#quote-entry .tpq-hero__inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 48px; }
#quote-entry .tpq-hero__copy { flex: 1 1 560px; min-width: 0; }

#quote-entry h1 {
    margin: 16px 0 0;
    font-size: 44px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: var(--tpq-ink);
    -webkit-text-fill-color: currentColor;
    background: none;
}

#quote-entry .tpq-hero__lead { margin: 14px 0 0; font-size: 17px; line-height: 1.65; color: var(--tpq-muted); }

#quote-entry .tpq-assure { margin: 24px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; font-weight: 600; color: var(--tpq-ink); }
#quote-entry .tpq-assure li { display: flex; align-items: center; gap: 8px; margin: 0; }
#quote-entry .tpq-assure svg { color: var(--tpq-green); flex: none; }

#quote-entry .tpq-account {
    flex: 0 1 400px;
    min-width: 0;
    background: #FFFFFF;
    border: 1px solid var(--tpq-line);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
}

#quote-entry .tpq-account__icon { width: 44px; height: 44px; border-radius: 10px; background: var(--tpq-ground); color: var(--tpq-ink); display: flex; align-items: center; justify-content: center; flex: none; }
#quote-entry .tpq-account__text { flex: 1; min-width: 0; font-size: 14px; line-height: 1.5; color: var(--tpq-muted); }
#quote-entry .tpq-account__text strong { display: block; color: var(--tpq-ink); font-size: 15px; }
#quote-entry .tpq-account__btn { flex: none; border: 1px solid var(--tpq-line-strong); color: var(--tpq-ink); padding: 10px 14px; border-radius: 8px; font-size: 14px; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
#quote-entry .tpq-account__btn:hover { border-color: var(--tpq-ink); color: var(--tpq-ink); }

#quote-entry .tpq-services { padding-top: 48px; }

#quote-entry .tpq-featured { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(520px, 100%), 1fr)); gap: 16px; }

#quote-entry .tpq-feature {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: #FFFFFF;
    border: 1px solid var(--tpq-line);
    border-radius: 16px;
    padding: 30px 32px;
    color: var(--tpq-ink);
    min-height: 220px;
    transition: border-color 200ms ease, box-shadow 250ms ease, transform 200ms ease;
}

#quote-entry .tpq-feature:hover { border-color: var(--tpq-line-strong); box-shadow: 0 22px 40px -30px rgba(23, 32, 51, 0.45); transform: translateY(-2px); color: var(--tpq-ink); }
#quote-entry .tpq-feature__top { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
#quote-entry .tpq-feature__corner { color: var(--tpq-red); display: flex; }
#quote-entry .tpq-feature__title { position: relative; display: flex; align-items: center; gap: 16px; }
#quote-entry .tpq-feature__title strong { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
#quote-entry .tpq-feature__icon { width: 52px; height: 52px; border-radius: 12px; background: var(--tpq-ground); color: var(--tpq-red); display: flex; align-items: center; justify-content: center; flex: none; }
#quote-entry .tpq-feature__desc { position: relative; font-size: 16px; line-height: 1.6; color: var(--tpq-muted); }
#quote-entry .tpq-feature__chips { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; font-weight: 600; }
#quote-entry .tpq-feature__chips span { background: var(--tpq-ground); border: 1px solid var(--tpq-line); border-radius: 999px; padding: 6px 12px; }

#quote-entry .tpq-feature--dark { background: var(--tpq-dark); border-color: var(--tpq-dark); color: #FFFFFF; box-shadow: inset 0 0 0 1.5px rgba(217, 32, 50, 0.55); }
#quote-entry .tpq-feature--dark:hover { color: #FFFFFF; border-color: var(--tpq-dark); box-shadow: inset 0 0 0 1.5px rgba(217, 32, 50, 0.9), 0 22px 40px -28px rgba(217, 32, 50, 0.55); }
#quote-entry .tpq-feature--dark .tpq-feature__corner { color: var(--tpq-rose); }
#quote-entry .tpq-feature--dark .tpq-feature__icon { background: rgba(255, 255, 255, 0.08); color: var(--tpq-rose); }
#quote-entry .tpq-feature--dark .tpq-feature__desc { color: #B9C2D0; }
#quote-entry .tpq-feature__ring { position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.12); pointer-events: none; }
#quote-entry .tpq-feature__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
#quote-entry .tpq-feature__badge { font-size: 12px; font-weight: 700; color: #FFFFFF; background: rgba(217, 32, 50, 0.22); border: 1px solid rgba(246, 165, 174, 0.45); border-radius: 999px; padding: 4px 10px; }
#quote-entry .tpq-feature__steps { position: relative; margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; font-weight: 600; color: #E3E7EE; }
#quote-entry .tpq-feature__steps b { color: var(--tpq-rose); font-weight: 700; margin-right: 4px; }
#quote-entry .tpq-feature__steps i { width: 18px; height: 1px; background: rgba(255, 255, 255, 0.3); display: inline-block; }

#quote-entry .tpq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; margin-top: 16px; }

#quote-entry .tpq-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #FFFFFF;
    border: 1px solid var(--tpq-line);
    border-radius: 14px;
    padding: 22px;
    color: var(--tpq-ink);
    transition: border-color 200ms ease, box-shadow 250ms ease;
}

#quote-entry .tpq-card:hover { border-color: var(--tpq-line-strong); box-shadow: 0 18px 32px -28px rgba(23, 32, 51, 0.4); color: var(--tpq-ink); }
#quote-entry .tpq-card__icon { width: 44px; height: 44px; border-radius: 10px; background: var(--tpq-ground); color: var(--tpq-red); display: flex; align-items: center; justify-content: center; flex: none; }
#quote-entry .tpq-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
#quote-entry .tpq-card__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
#quote-entry .tpq-card__head strong { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; }
#quote-entry .tpq-card__desc { font-size: 14px; line-height: 1.55; color: var(--tpq-muted); }

#quote-entry .tpq-purpose { margin-top: 24px; background: #FFFFFF; border: 1px solid var(--tpq-line); border-radius: 16px; padding: 28px 32px; }
#quote-entry .tpq-purpose__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; }
#quote-entry .tpq-purpose__head h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--tpq-ink); -webkit-text-fill-color: currentColor; }
#quote-entry .tpq-purpose__head span { font-size: 14px; color: var(--tpq-muted); }
#quote-entry .tpq-purpose__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 12px; margin-top: 20px; }
#quote-entry .tpq-purpose__item { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--tpq-line); border-radius: 12px; padding: 16px 18px; color: var(--tpq-ink); background: var(--tpq-ground); transition: border-color 200ms ease; }
#quote-entry .tpq-purpose__item:hover { border-color: var(--tpq-line-strong); color: var(--tpq-ink); }
#quote-entry .tpq-purpose__item > span { font-size: 15px; font-weight: 700; }
#quote-entry .tpq-purpose__item strong { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--tpq-red); }

#quote-entry .tpq-steps { margin: 32px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 24px; }
#quote-entry .tpq-steps li { margin: 0; border-top: 2px solid var(--tpq-ink); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
#quote-entry .tpq-steps strong { font-size: 18px; font-weight: 800; }
#quote-entry .tpq-steps li > span:last-child { font-size: 14px; line-height: 1.6; color: var(--tpq-muted); }

#quote-entry .tpq-foot { margin-top: 28px; display: flex; flex-direction: column; gap: 12px; }
#quote-entry .tpq-call { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; color: var(--tpq-muted); }
#quote-entry .tpq-call strong { color: var(--tpq-ink); }
#quote-entry .tpq-call a { font-weight: 700; color: var(--tpq-red); }
#quote-entry .tpq-membership { border-top: 1px solid var(--tpq-line); padding-top: 8px; font-size: 14px; color: var(--tpq-muted); }
#quote-entry .tpq-membership summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; color: var(--tpq-ink); width: fit-content; }
#quote-entry .tpq-membership ul { margin: 4px 0 10px; padding-left: 20px; line-height: 1.9; }
#quote-entry .tpq-membership p { margin: 0 0 8px; }
#quote-entry .tpq-membership__links { display: flex; gap: 20px; flex-wrap: wrap; }
#quote-entry .tpq-membership__links a { color: var(--tpq-red); font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
#quote-entry a:focus-visible, #quote-entry summary:focus-visible { outline: 3px solid rgba(217, 32, 50, 0.45); outline-offset: 3px; }

@media (max-width: 767px) {
    #quote-entry .tpq-shell { padding-left: 16px; padding-right: 16px; }
    #quote-entry .tpq-hero { padding: 106px 0 24px; }
    #quote-entry h1 { font-size: 30px; line-height: 1.25; }
    #quote-entry .tpq-hero__lead { font-size: 15px; }
    #quote-entry .tpq-assure { flex-direction: column; gap: 8px; margin-top: 18px; }
    #quote-entry .tpq-account { flex-basis: 100%; padding: 12px 14px; gap: 12px; }
    #quote-entry .tpq-account__icon { display: none; }
    #quote-entry .tpq-services { padding-top: 20px; }
    #quote-entry .tpq-featured { gap: 10px; }
    #quote-entry .tpq-feature { padding: 20px; gap: 12px; min-height: 0; border-radius: 14px; }
    #quote-entry .tpq-feature__title strong { font-size: 21px; }
    #quote-entry .tpq-feature__icon { width: 44px; height: 44px; }
    #quote-entry .tpq-feature__desc { font-size: 14px; }
    #quote-entry .tpq-feature__steps { font-size: 12px; }
    #quote-entry .tpq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
    #quote-entry .tpq-card { flex-direction: column; gap: 10px; padding: 14px; border-radius: 12px; }
    #quote-entry .tpq-card__icon { width: 36px; height: 36px; }
    #quote-entry .tpq-card__head strong { font-size: 15px; line-height: 1.3; }
    #quote-entry .tpq-card__desc { font-size: 12px; }
    #quote-entry .tpq-purpose { padding: 18px 16px; border-radius: 14px; }
    #quote-entry .tpq-purpose__head h2 { font-size: 18px; }
    #quote-entry .tpq-purpose__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 14px; }
    #quote-entry .tpq-purpose__item { flex-direction: row; align-items: center; justify-content: space-between; padding: 12px 14px; min-height: 44px; }
    #quote-entry .tpq-purpose__item > span { font-size: 14px; font-weight: 600; }
    #quote-entry .tpq-purpose__item strong { font-size: 13px; flex: none; }
    #quote-entry .tpq-steps { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    #quote-entry .tpq-steps strong { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    #quote-entry .tpq-feature, #quote-entry .tpq-card { transition: none; }
    #quote-entry .tpq-feature:hover { transform: none; }
}

/* ───────────────────────── 2) 일반 번역 견적 양식 ───────────────────────── */
html body.tp-quote-c { background: var(--tpq-ground); }

html body.tp-quote-c #quote-request-header {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    padding-bottom: 20px !important;
    text-align: left;
}

html body.tp-quote-c #quote-request-header .section-header { text-align: left !important; }

html body.tp-quote-c #quote-request-header .section-tag {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--tpq-red) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase;
}

html body.tp-quote-c #quote-request-header .section-tag::before { content: ""; width: 8px; height: 8px; background: var(--tpq-red); display: inline-block; }

html body.tp-quote-c #quote-request-header h1 {
    margin: 14px 0 0 !important;
    font-size: 36px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    color: var(--tpq-ink) !important;
    -webkit-text-fill-color: var(--tpq-ink) !important;
    background: none !important;
    text-align: left !important;
}

html body.tp-quote-c .wrap {
    max-width: 1280px !important;
    margin: 0 auto 80px !important;
    padding: 0 40px !important;
}

html body.tp-quote-c .quote-simple-notice {
    max-width: none !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--tpq-muted) !important;
}

html body.tp-quote-c .quote-simple-notice__icon { display: none !important; }
html body.tp-quote-c .quote-simple-notice__copy strong { color: var(--tpq-ink) !important; font-size: 16px !important; }
html body.tp-quote-c .quote-simple-notice__muted { color: var(--tpq-muted) !important; font-size: 15px !important; }
/* "● 필수 입력" 범례: 머리글 오른쪽 버튼 앞에 작게. 점은 입력칸 옆 점과 같은 빨강(10-17 SJ: 빨간 점만 채워도 된다는 안내). */
html body.tp-quote-c .quote-required-legend { display: inline-flex !important; gap: 6px; font-size: 13px; font-weight: 600; color: var(--tpq-muted); }
html body.tp-quote-c .quote-required-legend::before { width: 7px; height: 7px; background: var(--tpq-red); box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); }
/* 안내 문구 안의 빨간 점(머리글·시작 카드): 입력칸 옆 점과 같은 모양, 글자 가운데 높이 */
html body.tp-quote-c .quote-simple-notice .req-dot,
html body.tp-quote-c .quote-start-card .req-dot { display: inline-flex; width: 7px; height: 7px; border-radius: 999px; background: var(--tpq-red); color: transparent; font-size: 0; margin: 0 2px 0 3px; vertical-align: middle; position: relative; top: -1px; box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); }

html body.tp-quote-c .quote-notice-action {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 12px !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

html body.tp-quote-c .quote-notice-action i { color: var(--tpq-red) !important; }

html body.tp-quote-c .glass-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* 2단 배치: 왼쪽 양식, 오른쪽 고정 요약 패널(.tpq-aside, quote-c.js가 같은 form 안에 만든다) */
html body.tp-quote-c #uploadForm {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    column-gap: 24px;
    row-gap: 0;
    align-items: start;
    color: var(--tpq-ink);
    font-family: 'Pretendard Variable', Pretendard, 'Apple SD Gothic Neo', sans-serif;
}

html body.tp-quote-c #uploadForm > * { grid-column: 1; min-width: 0; }

html body.tp-quote-c #uploadForm > .tpq-aside {
    grid-column: 2;
    grid-row: 1 / span 40;
    align-self: start;
    position: sticky;
    top: 110px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

html body.tp-quote-c #uploadForm > .quote-draft-notice:not([hidden]) {
    margin-bottom: 16px;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
}

/* 섹션 카드 */
html body.tp-quote-c #uploadForm > .section {
    position: relative;
    margin: 0 0 16px !important;
    padding: 26px 30px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm > .section::before { display: none !important; }

html body.tp-quote-c #uploadForm > .section.tpq-merge-top { margin-bottom: 0 !important; border-bottom: 0 !important; border-radius: 16px 16px 0 0 !important; padding-bottom: 10px !important; }
html body.tp-quote-c #uploadForm > .section.tpq-merge-mid { margin-bottom: 0 !important; border-top: 0 !important; border-bottom: 0 !important; border-radius: 0 !important; padding-top: 10px !important; padding-bottom: 10px !important; }
html body.tp-quote-c #uploadForm > .section.tpq-merge-bottom { border-top: 0 !important; border-radius: 0 0 16px 16px !important; padding-top: 10px !important; }

html body.tp-quote-c #uploadForm > .section.tpq-optfields { padding: 0 !important; background: none !important; border: 0 !important; }
html body.tp-quote-c #uploadForm > .section.tpq-optfields:has(> #quoteOptionFieldWrap[style*="none"]) { display: none !important; }

html body.tp-quote-c #uploadForm > .quote-submit-actions {
    margin: 0 0 16px !important;
    padding: 18px 30px 28px !important;
    background: #FFFFFF;
    border: 1px solid var(--tpq-line);
    border-radius: 16px;
    text-align: left !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
}

html body.tp-quote-c #uploadForm > .quote-submit-actions.tpq-merge-bottom { border-top: 0; border-radius: 0 0 16px 16px; }

/* 섹션 머리(번호 + 제목) — quote-c.js가 넣는다 */
html body.tp-quote-c #uploadForm .tpq-sec-head { display: flex; align-items: baseline; gap: 12px; margin: 0 0 18px; grid-column: 1 / -1; }
html body.tp-quote-c #uploadForm .tpq-sec-head__num { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: var(--tpq-red); }
html body.tp-quote-c #uploadForm .tpq-sec-head__title { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--tpq-ink); }
html body.tp-quote-c #uploadForm .tpq-sec-head__meta { margin-left: auto; font-size: 13px; color: var(--tpq-muted); font-weight: 500; }
html body.tp-quote-c #uploadForm .tpq-sec-head__meta.is-required { font-size: 12px; font-weight: 700; color: var(--tpq-red); }
html body.tp-quote-c #uploadForm .label.tpq-label-as-head { display: none !important; }

/* 항목: 라벨을 입력칸 위로 */
html body.tp-quote-c #uploadForm .field { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 8px; margin-bottom: 16px; }
html body.tp-quote-c #uploadForm .field:last-child { margin-bottom: 0; }
html body.tp-quote-c #uploadForm .section-grid-2 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px !important; }
html body.tp-quote-c #uploadForm .section-grid-2 > .field { margin-bottom: 0; }

html body.tp-quote-c #uploadForm .label {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--tpq-ink) !important;
}

/* 필수 표시: 원래 템플릿은 원(배경) + 숨긴 ● 글자(font-size 0). 글자를 다시 보이게 하면 원 위에 겹쳐 점이 두 개로 보이므로 원 색만 바꾼다(10-17). */
html body.tp-quote-c #uploadForm .req-dot { background: var(--tpq-red); color: transparent !important; font-size: 0 !important; box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); margin-left: 4px; vertical-align: middle; position: relative; top: -4px; }
html body.tp-quote-c #uploadForm .quote-field-requirement { font-size: 12px; font-weight: 500; color: var(--tpq-soft) !important; margin-left: 6px; }

html body.tp-quote-c #uploadForm .input,
html body.tp-quote-c #uploadForm select,
html body.tp-quote-c #uploadForm textarea {
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--tpq-line-strong) !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm textarea { height: auto; min-height: 120px; padding: 12px 14px !important; line-height: 1.6; }

html body.tp-quote-c #uploadForm .input:focus,
html body.tp-quote-c #uploadForm select:focus,
html body.tp-quote-c #uploadForm textarea:focus {
    border-color: var(--tpq-ink) !important;
    box-shadow: 0 0 0 3px rgba(23, 32, 51, 0.12) !important;
    outline: none;
}

html body.tp-quote-c #uploadForm .field.is-validation-error .input,
html body.tp-quote-c #uploadForm .quote-option-subfield.is-validation-error .input {
    border-color: var(--tpq-red) !important;
    box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14) !important;
}

/* 파일 */
html body.tp-quote-c #uploadForm .dz-drop-area {
    min-height: 168px;
    padding: 20px !important;
    border: 1.5px dashed #9AA7BA !important;
    border-radius: 14px !important;
    background: var(--tpq-ground) !important;
    color: var(--tpq-ink) !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm .dz-drop-area:hover,
html body.tp-quote-c #uploadForm .dz-drop-area.dragover { border-color: var(--tpq-red) !important; background: #FFF7F8 !important; }
html body.tp-quote-c #uploadForm .dz-icon { color: var(--tpq-red) !important; }
html body.tp-quote-c #uploadForm .dz-message-container { display: flex; flex-direction: column; align-items: center; gap: 10px; }
html body.tp-quote-c #uploadForm .dz-icon { width: 48px; height: 48px; box-sizing: border-box; padding: 12px; border: 1px solid #DCE3EC; border-radius: 50%; background: #FFFFFF; }
html body.tp-quote-c #uploadForm .dz-icon path { stroke-width: 2; }
html body.tp-quote-c #uploadForm .dz-msg strong { font-size: 16px; font-weight: 700; }
html body.tp-quote-c #uploadForm .dz-sub-msg { font-size: 13px; }
html body.tp-quote-c #uploadForm .dz-msg strong { color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .dz-sub-msg,
html body.tp-quote-c #uploadForm .dz-click-hint,
html body.tp-quote-c #uploadForm .ml-upload-compact-summary,
html body.tp-quote-c #uploadForm #quoteUploadSummary { color: var(--tpq-muted) !important; }

html body.tp-quote-c #uploadForm .quote-upload-state,
html body.tp-quote-c #uploadForm .quote-no-file-detail,
html body.tp-quote-c #uploadForm .quote-security-note {
    border: 1px solid var(--tpq-line) !important;
    border-radius: 12px !important;
    background: var(--tpq-ground) !important;
    color: var(--tpq-ink) !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm .quote-upload-state__detail,
html body.tp-quote-c #uploadForm .quote-no-file-detail span,
html body.tp-quote-c #uploadForm .quote-security-note { color: var(--tpq-muted) !important; }
html body.tp-quote-c #uploadForm .quote-security-note i { color: var(--tpq-green) !important; }
html body.tp-quote-c #uploadForm .quote-security-note strong,
html body.tp-quote-c #uploadForm .quote-no-file-detail strong,
html body.tp-quote-c #uploadForm .quote-upload-state__title { color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .quote-no-file-badge { background: #FBEDEF !important; color: var(--tpq-red) !important; border: 0 !important; }

/* 파일 영역 2단: 왼쪽 업로드 상자·목록·상태, 오른쪽 '파일이 없어도' 카드. 파일을 올리면 오른쪽 카드는 기존 동작대로 숨겨지고 왼쪽이 전체 폭 */
html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 12px 16px;
    align-items: start;
}

html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > * { grid-column: 1; min-width: 0; margin: 0 !important; }
html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .ml-upload-top { grid-column: 1 / -1; }
html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .quote-no-file-detail { grid-column: 2; grid-row: 2 / span 3; padding: 18px !important; }
html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .quote-security-note { grid-column: 1 / -1; background: none !important; border: 0 !important; padding: 4px 0 0 !important; display: flex; gap: 8px; font-size: 13px; }
html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell:has(> .quote-no-file-detail.is-hidden) { grid-template-columns: minmax(0, 1fr); }
html body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-grid { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 12px; }
html body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-subfield { display: flex !important; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-subfield .input { height: 44px; padding: 0 12px; font-size: 14px !important; }
html body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-detail { border-radius: 14px !important; }
html body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary { display: none; }
html body.tp-quote-c #uploadForm .quote-no-file-detail__head strong { font-size: 15px; }
html body.tp-quote-c #uploadForm .quote-no-file-detail__head span { font-size: 13px; line-height: 1.55; }
html body.tp-quote-c #uploadForm .quote-no-file-detail__head { margin-bottom: 12px; }

/* richItems opt-in only. Progress is item.progress, never a decorative animation. */
html body.tp-quote-c #uploadForm .tpq-file-list { margin: 0 !important; padding: 0 !important; list-style: none; display: flex; flex-direction: column; gap: 8px; }
html body.tp-quote-c #uploadForm .tpq-file-list:empty { display: none; }

html body.tp-quote-c #uploadForm .tpq-file-list .file-item {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
    font-size: 14px;
    overflow: hidden;
}

html body.tp-quote-c #uploadForm .tp-upload-rich-row { display: flex; width: 100%; align-items: center; gap: 12px; min-width: 0; }
html body.tp-quote-c #uploadForm .tp-upload-file-icon { display: flex; flex: none; color: #586579; }
html body.tp-quote-c #uploadForm .tpq-file-list .file-name { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .tp-upload-size { font-weight: 400; color: #586579; }
html body.tp-quote-c #uploadForm .tp-upload-status { flex: none; font-size: 12px; font-weight: 700; color: #586579; }
html body.tp-quote-c #uploadForm .tp-upload-status-compact { display: none; }
html body.tp-quote-c #uploadForm [data-status="uploaded"] .tp-upload-status { color: #1F7A4D; }
html body.tp-quote-c #uploadForm .tpq-file-list .tp-upload-actions { display: flex; align-items: center; gap: 6px; flex: none; }
html body.tp-quote-c #uploadForm .tpq-file-list .tp-upload-actions button { border: 1px solid var(--tpq-line-strong) !important; background: #FFFFFF !important; color: var(--tpq-ink) !important; border-radius: 999px !important; padding: 4px 10px !important; font-size: 12px !important; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-file-list .tp-upload-actions button[data-action="delete"] { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0 !important; border: 0 !important; background: transparent !important; color: #586579 !important; }
html body.tp-quote-c #uploadForm .tpq-file-list .file-item[data-status="failed"] { border-color: rgba(217, 32, 50, 0.45) !important; background: #FFF7F8 !important; }
html body.tp-quote-c #uploadForm .tp-upload-progress { display: block; height: 4px; width: 100%; border-radius: 2px; background: #EDF1F6; overflow: hidden; }
html body.tp-quote-c #uploadForm .tp-upload-progress > i { display: block; height: 100%; border-radius: inherit; background: #D92032; }

/* 언어 3칸: 작업 종류 | 원문 언어 | 번역 언어 */
html body.tp-quote-c #uploadForm .tpq-sec-lang > .field:has(#quoteWorkType) > .control {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 20px !important;
    align-items: end !important;
}

html body.tp-quote-c #uploadForm .tpq-sec-lang > .field:has(#quoteWorkType) > .control > * { min-width: 0; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .tp-work-fields { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
html body.tp-quote-c #uploadForm .tpq-sec-lang #quoteWorkType { padding: 0 12px; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .tp-work-fields > label { font-size: 14px; font-weight: 700; color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .tpq-sec-lang #quoteLanguageLegacyNotice,
html body.tp-quote-c #uploadForm .tpq-sec-lang .tpq-lang-help { grid-column: 1 / -1; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .ml-base-language-row { display: flex; flex-direction: column; gap: 8px; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .ml-base-language-selects { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; align-items: end; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .ml-base-language-selects > span { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-sec-lang .tpq-lang-label { font-size: 14px; font-weight: 700; color: var(--tpq-ink); }
html body.tp-quote-c #uploadForm .tpq-sec-lang .ml-base-language-selects select { width: 100%; }
html body.tp-quote-c #uploadForm .tpq-c-language-pair { display: grid; grid-column: 2 / span 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; align-items: end; }
html body.tp-quote-c #uploadForm .tpq-c-language-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; position: relative; }
html body.tp-quote-c #uploadForm .tpq-c-language-field > label,
html body.tp-quote-c #uploadForm .tpq-c-language-field > span:first-child { font-size: 14px; font-weight: 700; color: #172033; }
html body.tp-quote-c #uploadForm .tpq-c-language-field select { padding: 0 12px; width: 100%; }
html body.tp-quote-c #uploadForm .tpq-language-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 48px; padding: 6px 8px; border: 1px solid #C9D3E0; border-radius: 10px; box-sizing: border-box; }
html body.tp-quote-c #uploadForm .tpq-language-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 12px; background: #172033; color: #FFFFFF; font-size: 13px; font-weight: 600; border-radius: 999px; }
html body.tp-quote-c #uploadForm .tpq-language-chip button { display: inline-flex; justify-content: center; align-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,0.18); color: #FFFFFF; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-add { padding: 5px 12px; border: 1px dashed #9AA7BA; background: #FFFFFF; border-radius: 999px; color: #172033; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-hint { grid-column: 1 / -1; margin: 0; font-size: 13px; line-height: 1.55; color: #586579; }
html body.tp-quote-c #uploadForm .tpq-language-hint button { border: 0; padding: 0; background: none; font: inherit; font-weight: 700; color: #D92032; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
html body.tp-quote-c #uploadForm .tpq-language-chips-ready #baseLanguagePairRow,
html body.tp-quote-c #uploadForm .tpq-language-chips-ready .ml-toggle-row,
html body.tp-quote-c #uploadForm .tpq-language-chips-ready > .field:has(#useLanguageGroups) > .label { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-chips-ready:not(.tpq-language-advanced-open) #languageGroupsPanel { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-picker[hidden] { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-picker { padding: 10px; border: 1px solid #DCE3EC; border-radius: 10px; background: #F7F9FC; }
html body.tp-quote-c #uploadForm .tpq-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html body.tp-quote-c #uploadForm .tpq-language-chip button:focus-visible,
html body.tp-quote-c #uploadForm .tpq-language-add:focus-visible,
html body.tp-quote-c #uploadForm .tpq-language-hint button:focus-visible { outline: 2px solid #D92032; outline-offset: 3px; }

/* 납기 카드 설명 */
html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card { display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 2px; padding: 14px 18px; }
html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card .tpq-opt-hint { grid-column: 2; font-size: 13px; font-weight: 500; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card span i { display: none; }

@media (max-width: 767px) {
    html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell { grid-template-columns: minmax(0, 1fr); }
    html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .quote-no-file-detail { grid-column: 1; grid-row: auto; }
    html body.tp-quote-c #uploadForm .tpq-sec-lang > .field:has(#quoteWorkType) > .control { grid-template-columns: minmax(0, 1fr); }
    html body.tp-quote-c #uploadForm .tpq-sec-lang .ml-base-language-selects { grid-template-columns: minmax(0, 1fr); }
    html body.tp-quote-c #uploadForm .tpq-c-language-pair { grid-column: 1; grid-template-columns: minmax(0, 1fr); gap: 16px; }
    html body.tp-quote-c #uploadForm .tpq-sec-file .dz-drop-area { min-height: 132px; padding: 16px !important; border-radius: 12px !important; }
    html body.tp-quote-c #uploadForm .dz-icon { width: 44px; height: 44px; padding: 11px; }
    html body.tp-quote-c #uploadForm .dz-msg strong { font-size: 15px; }
    html body.tp-quote-c #uploadForm .dz-sub-msg { font-size: 12px; }
    html body.tp-quote-c #uploadForm .tpq-file-list .file-item { padding: 10px 12px !important; font-size: 13px; }
    html body.tp-quote-c #uploadForm .tp-upload-rich-row { gap: 10px; }
    html body.tp-quote-c #uploadForm .tp-upload-status-full { display: none; }
    html body.tp-quote-c #uploadForm .tp-upload-status-compact { display: inline; }
    html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .quote-no-file-detail { padding: 12px 14px !important; border-radius: 12px !important; }
    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary { display: list-item; font-size: 14px; font-weight: 700; color: #172033; cursor: pointer; }
    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure .quote-no-file-detail__head { display: none; }
    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure[open] > summary { margin-bottom: 12px; }
    html body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-subfield .input { font-size: 16px !important; }
    html body.tp-quote-c #uploadForm .tpq-c-language-field select { font-size: 16px !important; }
    html body.tp-quote-c #uploadForm .tpq-language-chip { padding: 8px 12px; }
    html body.tp-quote-c #uploadForm .tpq-language-add { min-height: 36px; }
}

/* 선택 카드: 추가 옵션, 수신 방식, 납기 */
html body.tp-quote-c #uploadForm .preset-options { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }

html body.tp-quote-c #uploadForm label.opt {
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid var(--tpq-line);
    border-radius: 12px;
    background: #FFFFFF;
    color: var(--tpq-ink) !important;
    font-size: 15px !important;
    font-weight: 700;
    box-sizing: border-box;
    transition: border-color 160ms ease, background-color 160ms ease;
}

html body.tp-quote-c #uploadForm label.opt:hover { border-color: var(--tpq-line-strong); color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm label.opt:has(input:checked) { border: 1.5px solid var(--tpq-ink); background: var(--tpq-ground); }
html body.tp-quote-c #uploadForm label.opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--tpq-red); flex: none; }
html body.tp-quote-c #uploadForm label.opt span { color: var(--tpq-ink) !important; font-weight: 700 !important; }
html body.tp-quote-c #uploadForm label.opt span i { color: var(--tpq-red); margin-right: 4px; }

html body.tp-quote-c #uploadForm .tpq-sec-deadline .control > div { gap: 12px !important; }
html body.tp-quote-c #uploadForm .tpq-sec-deadline .control > div > div:has(> label.opt) {
    margin: 4px 0 0 !important;
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px !important;
    order: -1;
}

html body.tp-quote-c #uploadForm .tpq-sec-deadline .tp-calendar-field { width: 220px !important; max-width: 100%; }
html body.tp-quote-c #uploadForm .tpq-sec-deadline #txtDeadLine1 { width: 100% !important; }
html body.tp-quote-c #uploadForm .tpq-sec-deadline #selDeadHour { width: 96px !important; }

html body.tp-quote-c #uploadForm .tp-work-help,
html body.tp-quote-c #uploadForm .quote-delivery-note,
html body.tp-quote-c #uploadForm .quote-option-field-note,
html body.tp-quote-c #uploadForm .quote-option-field-help,
html body.tp-quote-c #uploadForm .quote-option-field-copy { color: var(--tpq-muted) !important; font-size: 13px !important; line-height: 1.55; }

html body.tp-quote-c #uploadForm .quote-live-summary-card.quote-option-fields {
    background: #FFFFFF !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 16px !important;
    padding: 22px 26px !important;
    margin-bottom: 16px;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm .quote-option-field-card { border: 1px solid var(--tpq-line) !important; border-radius: 12px !important; background: var(--tpq-ground) !important; box-shadow: none !important; }
html body.tp-quote-c #uploadForm .quote-option-field-card strong,
html body.tp-quote-c #uploadForm .quote-live-summary-title { color: var(--tpq-ink) !important; }

html body.tp-quote-c #uploadForm .ml-btn,
html body.tp-quote-c #uploadForm .prefill-btn {
    border: 1px solid var(--tpq-line-strong) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm .ml-panel,
html body.tp-quote-c #uploadForm .ml-status-box,
html body.tp-quote-c #uploadForm .ml-advanced { border-color: var(--tpq-line) !important; background: var(--tpq-ground) !important; color: var(--tpq-ink) !important; }

/* 동의·수신 */
html body.tp-quote-c #uploadForm .privacy-box { background: var(--tpq-ground) !important; border: 1px solid var(--tpq-line); color: var(--tpq-muted) !important; border-radius: 10px !important; font-size: 13px !important; line-height: 1.6; }
html body.tp-quote-c #uploadForm .privacy-check { justify-content: flex-start !important; margin: 0 !important; color: var(--tpq-ink) !important; font-weight: 700; }
html body.tp-quote-c #uploadForm .privacy-check input { accent-color: var(--tpq-red) !important; }
html body.tp-quote-c #uploadForm .quote-delivery-box { background: none !important; border: 0 !important; padding: 0 !important; }

/* 제출 */
html body.tp-quote-c #uploadForm .btn-submit {
    min-height: 56px;
    padding: 0 32px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--tpq-red) !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    box-shadow: 0 14px 30px -14px rgba(217, 32, 50, 0.85) !important;
    transition: background-color 200ms ease, box-shadow 300ms ease, transform 200ms ease;
}

html body.tp-quote-c #uploadForm .btn-submit:hover { background: var(--tpq-red-hover) !important; transform: translateY(-1px); box-shadow: 0 0 0 4px rgba(217, 32, 50, 0.12), 0 16px 32px -14px rgba(217, 32, 50, 0.9) !important; }
html body.tp-quote-c #uploadForm .btn-submit:disabled,
html body.tp-quote-c #uploadForm .btn-submit.is-loading { opacity: 0.6; transform: none; cursor: wait; }
html body.tp-quote-c #uploadForm .quote-submit-note { margin: 0 !important; color: var(--tpq-muted) !important; font-size: 13px !important; }

/* 오른쪽 패널 */
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card {
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    gap: 14px;
    padding: 22px !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 24px 44px -34px rgba(23, 32, 51, 0.45) !important;
}

html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card__copy { max-width: none !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card__copy > p { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card__eyebrow { color: var(--tpq-muted) !important; font-size: 11px !important; letter-spacing: 0.14em !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card__eyebrow::after { content: " · QUOTE SUMMARY"; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card strong { color: var(--tpq-ink) !important; font-size: 15px !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter { max-width: none !important; margin-top: 10px !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__count { color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__hint { color: var(--tpq-muted) !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__track { background: #EDF1F6 !important; height: 6px !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__bar { background: var(--tpq-red) !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card.is-complete .quote-required-meter__bar { background: var(--tpq-green) !important; }

html body.tp-quote-c #uploadForm .tpq-aside .quote-start-steps { display: flex !important; flex-direction: column; align-items: stretch; gap: 8px !important; max-width: none !important; justify-content: flex-start !important; }

html body.tp-quote-c #uploadForm .tpq-aside .quote-start-step {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--tpq-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    gap: 10px !important;
}

html body.tp-quote-c #uploadForm .tpq-aside .quote-start-step::before { width: 18px !important; height: 18px !important; box-shadow: none !important; background: #FFFFFF !important; border: 1.5px solid var(--tpq-line-strong); box-sizing: border-box; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-step.is-complete { color: var(--tpq-ink) !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-start-step.is-complete::before { background: var(--tpq-green) !important; border-color: var(--tpq-green); }

html body.tp-quote-c #uploadForm .tpq-aside .tpq-summary { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary { display: flex !important; flex-direction: column; gap: 12px; }

html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-card {
    margin: 0 !important;
    padding: 18px 20px !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
}

html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.14em; color: var(--tpq-muted) !important; margin-bottom: 10px; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-grid { display: flex !important; flex-direction: column; gap: 8px; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item { display: flex !important; justify-content: space-between; gap: 12px; padding: 0 !important; border: 0 !important; background: none !important; font-size: 13px; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item span { color: var(--tpq-muted) !important; flex: none; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item strong { color: var(--tpq-ink) !important; text-align: right; font-size: 13px !important; font-weight: 700; }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-checklist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-checklist strong { color: var(--tpq-ink) !important; }

html body.tp-quote-c #uploadForm .tpq-aside-actions { display: flex; flex-direction: column; gap: 8px; }
html body.tp-quote-c #uploadForm .tpq-aside-submit { width: 100%; min-height: 52px; font-size: 16px !important; }
html body.tp-quote-c #uploadForm .tpq-aside-note { margin: 0; font-size: 12px; line-height: 1.5; color: var(--tpq-muted); text-align: center; }
html body.tp-quote-c #uploadForm .tpq-aside-help { background: #FFFFFF; border: 1px solid var(--tpq-line); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm .tpq-aside-help a { color: var(--tpq-red); font-weight: 700; }

/* 완료 화면 */
html body.tp-quote-c #quoteCompletionPanel:not([hidden]) {
    max-width: 760px;
    margin: 0 auto;
    background: #FFFFFF !important;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 16px !important;
    color: var(--tpq-ink) !important;
    box-shadow: none !important;
}

/* 모바일 하단 고정 바(기존 요소) 색만 맞춤 */
html body.tp-quote-c .quote-mobile-sticky-actions { background: rgba(255, 255, 255, 0.97) !important; border-top: 1px solid var(--tpq-line) !important; box-shadow: 0 -12px 28px -18px rgba(23, 32, 51, 0.35) !important; }
html body.tp-quote-c .quote-mobile-sticky-status { color: var(--tpq-muted) !important; }
html body.tp-quote-c .quote-mobile-sticky-status strong { color: var(--tpq-ink) !important; }
html body.tp-quote-c .quote-mobile-sticky-submit { background: var(--tpq-red) !important; border: 0 !important; border-radius: 10px !important; color: #FFFFFF !important; box-shadow: none !important; }
html body.tp-quote-c .quote-mobile-sticky-call { border-radius: 10px !important; border: 1px solid var(--tpq-line-strong) !important; background: #FFFFFF !important; color: var(--tpq-ink) !important; }

/* 1단(태블릿·모바일): 패널을 풀어서 원래 흐름으로. 필수 진행 카드는 맨 위, 요약은 요청사항 앞. */
@media (max-width: 960px) {
    html body.tp-quote-c #uploadForm { display: flex; flex-direction: column; align-items: stretch; }
    html body.tp-quote-c #uploadForm > .tpq-aside { display: contents; }
    html body.tp-quote-c #uploadForm .tpq-aside .quote-start-card { order: -1; margin-bottom: 16px !important; }
    html body.tp-quote-c #uploadForm .tpq-aside .tpq-summary { margin-bottom: 16px !important; }
    html body.tp-quote-c #uploadForm .tpq-aside-actions,
    html body.tp-quote-c #uploadForm .tpq-aside-help { display: none; }
    html body.tp-quote-c #uploadForm .tpq-aside .quote-start-steps { flex-direction: row; flex-wrap: wrap; gap: 8px 14px !important; }
}

@media (max-width: 767px) {
    html body.tp-quote-c #quote-request-header { padding-left: 16px !important; padding-right: 16px !important; }
    html body.tp-quote-c #quote-request-header h1 { font-size: 26px !important; }
    html body.tp-quote-c .wrap { padding: 0 16px !important; margin-bottom: 120px !important; }
    html body.tp-quote-c #uploadForm > .section { padding: 18px 16px !important; border-radius: 14px !important; }
    html body.tp-quote-c #uploadForm > .section.tpq-merge-top { border-radius: 14px 14px 0 0 !important; }
    html body.tp-quote-c #uploadForm > .section.tpq-merge-bottom,
    html body.tp-quote-c #uploadForm > .quote-submit-actions.tpq-merge-bottom { border-radius: 0 0 14px 14px !important; }
    html body.tp-quote-c #uploadForm > .quote-submit-actions { padding: 14px 16px 20px !important; }
    html body.tp-quote-c #uploadForm .tpq-sec-head { margin-bottom: 14px; }
    html body.tp-quote-c #uploadForm .tpq-sec-head__title { font-size: 17px; }
    html body.tp-quote-c #uploadForm .tpq-sec-head__meta { font-size: 11px; }
    html body.tp-quote-c #uploadForm .section-grid-2 { grid-template-columns: minmax(0, 1fr); gap: 14px !important; }
    html body.tp-quote-c #uploadForm .input,
    html body.tp-quote-c #uploadForm select,
    html body.tp-quote-c #uploadForm textarea { font-size: 16px !important; }
    html body.tp-quote-c #uploadForm .preset-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    html body.tp-quote-c #uploadForm label.opt { font-size: 13px !important; padding: 10px 12px; min-height: 48px; }
    html body.tp-quote-c #uploadForm .tpq-sec-deadline .control > div > div { grid-template-columns: minmax(0, 1fr); }
    html body.tp-quote-c #uploadForm .tpq-sec-deadline #txtDeadLine1 { width: 100% !important; }
    html body.tp-quote-c #uploadForm .btn-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html body.tp-quote-c #uploadForm .btn-submit,
    html body.tp-quote-c #uploadForm label.opt { transition: none; }
    html body.tp-quote-c #uploadForm .btn-submit:hover { transform: none; }
}

/* ───────── 10-16 사용성 보정 (Claude): 언어 추가 창, 고급 설정 하나로 열고 닫기, 파일 목록 접기 버튼, 접는 상자 ───────── */

/* 언어 추가: 칩 아래에 겹쳐 뜨는 찾기 창(화면 밀림 없음) */
html body.tp-quote-c #uploadForm .tpq-language-picker {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--tpq-line);
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 22px 44px -24px rgba(23, 32, 51, 0.45);
}

html body.tp-quote-c #uploadForm .tpq-language-picker .tpq-language-search { height: 44px; padding: 0 12px; font-size: 14px !important; }
html body.tp-quote-c #uploadForm .tpq-language-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
html body.tp-quote-c #uploadForm .tpq-language-quick[hidden] { display: none; }
html body.tp-quote-c #uploadForm .tpq-language-quick__label { width: 100%; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm .tpq-language-quick__item { min-height: 34px; padding: 0 12px; border: 1px solid var(--tpq-line-strong); border-radius: 999px; background: #FFFFFF; color: var(--tpq-ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-quick__item:hover { border-color: var(--tpq-ink); }
html body.tp-quote-c #uploadForm .tpq-language-options { margin: 0; padding: 0; list-style: none; max-height: 220px; overflow-y: auto; border-top: 1px solid var(--tpq-line); }
html body.tp-quote-c #uploadForm .tpq-language-options li { margin: 0; }
html body.tp-quote-c #uploadForm .tpq-language-option { width: 100%; min-height: 40px; padding: 0 10px; border: 0; border-bottom: 1px solid #EEF1F5; background: none; color: var(--tpq-ink); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-option:hover,
html body.tp-quote-c #uploadForm .tpq-language-option:focus-visible { background: var(--tpq-ground); outline: none; box-shadow: inset 3px 0 0 var(--tpq-red); }
html body.tp-quote-c #uploadForm .tpq-language-empty { margin: 0; font-size: 13px; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm .tpq-language-empty[hidden] { display: none; }
html body.tp-quote-c #uploadForm .tpq-language-picker__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.tp-quote-c #uploadForm .tpq-language-picker__count { font-size: 12px; color: var(--tpq-muted); }
html body.tp-quote-c #uploadForm .tpq-language-done { min-height: 36px; padding: 0 16px; border: 0; border-radius: 8px; background: var(--tpq-ink); color: #FFFFFF; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-add[aria-expanded="true"] { border-style: solid; border-color: var(--tpq-ink); background: var(--tpq-ground); }

/* 고급 설정: 열면 '여러 원문 언어 / 파일 연결'만 보이게(기본 언어 입력은 위 칩과 같은 내용이라 숨김). 안쪽 원래 접기 버튼도 숨겨 여닫는 버튼을 하나로 */
html body.tp-quote-c #uploadForm .tpq-language-chips-ready #languageGroupsAdvanced > summary { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel .ml-basic-note,
html body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel .ml-basic-builder { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel {
    display: block !important;
    margin-top: 4px;
    padding: 16px 18px;
    border: 1px solid var(--tpq-line) !important;
    border-radius: 12px !important;
    background: var(--tpq-ground) !important;
}

html body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsAdvanced { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; }
html body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel::before { content: "고급 설정 · 여러 원문 언어 / 파일 연결"; display: block; margin-bottom: 10px; font-size: 13px; font-weight: 700; color: var(--tpq-ink); }

/* 파일 목록 '전체 보기/접기' 버튼: 목록 바로 아래 */
html body.tp-quote-c #uploadForm .tpq-file-toggle:not([hidden]) {
    justify-self: start;
    margin: 0 !important;
    min-height: 36px;
    padding: 0 14px !important;
    border: 1px solid var(--tpq-line-strong) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--tpq-ink) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

html body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .tpq-file-toggle { grid-column: 1; }

/* 오른쪽 의뢰 요약: 행 사이 큰 빈칸 제거 */
html body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item { min-height: 0 !important; height: auto !important; align-items: baseline; }

/* 모바일 '파일이 없나요?' 접는 상자: 기본 삼각형 대신 오른쪽 화살표, 열림 상태가 분명하게 */
@media (max-width: 767px) {
    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 44px;
        list-style: none;
    }

    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary::-webkit-details-marker { display: none; }
    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary::after {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid var(--tpq-muted);
        border-bottom: 2px solid var(--tpq-muted);
        transform: rotate(45deg);
        transition: transform 200ms ease;
        flex: none;
        margin-right: 4px;
    }

    html body.tp-quote-c #uploadForm .tpq-no-file-disclosure[open] > summary::after { transform: rotate(225deg); }
    html body.tp-quote-c #uploadForm .tpq-language-picker { position: static; box-shadow: none; }
}

/* C-only language sets. Original named controls and serializer remain in place. */
html body.tp-quote-c #uploadForm .tpq-file-toggle[hidden] { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-sets-ready > .field:has(#useLanguageGroups),
html body.tp-quote-c #uploadForm .tpq-language-sets-ready #languageGroupsPanel { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-sets-ready > .field:has(#quoteWorkType) > .control { grid-template-columns: minmax(0, 1fr); }
html body.tp-quote-c #uploadForm .tpq-language-sets-ready .tp-work-fields { max-width: 320px; }
html body.tp-quote-c #uploadForm .tpq-language-sets { grid-column: 1 / -1; min-width: 0; width: 100%; }
html body.tp-quote-c #uploadForm .tpq-language-set-list { display: flex; flex-direction: column; gap: 14px; }
html body.tp-quote-c #uploadForm .tpq-language-set { min-width: 0; border: 1px solid #DCE3EC; border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; background: #fff; }
html body.tp-quote-c #uploadForm .tpq-language-set-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.tp-quote-c #uploadForm .tpq-language-set-head h4 { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; color: #586579; line-height: 1.5; }
html body.tp-quote-c #uploadForm .tpq-language-set-remove { padding: 4px 0; min-height: 32px; border: 0; background: transparent; color: #586579; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-set-remove[hidden],
html body.tp-quote-c #uploadForm .tpq-language-sets [hidden] { display: none !important; }
html body.tp-quote-c #uploadForm .tpq-language-set .tpq-c-language-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px 20px; align-items: start; }
html body.tp-quote-c #uploadForm .tpq-language-set .tpq-c-language-field { min-width: 0; }
html body.tp-quote-c #uploadForm .tpq-language-set select.input { height: 48px; min-height: 48px; }
html body.tp-quote-c #uploadForm .tpq-language-set-files { min-width: 0; border: 0; padding: 0; margin: 0; }
html body.tp-quote-c #uploadForm .tpq-language-set-files legend { padding: 0; margin: 0 0 8px; font-size: 13px; font-weight: 700; color: #586579; }
html body.tp-quote-c #uploadForm .tpq-language-set-file-list { display: flex; flex-wrap: wrap; gap: 8px; }
html body.tp-quote-c #uploadForm .tpq-language-set-file { display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; min-height: 40px; box-sizing: border-box; padding: 8px 12px; border: 1px solid #DCE3EC; border-radius: 10px; font-size: 13px; font-weight: 600; color: #172033; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-set-file.is-own { border: 1.5px solid #172033; background: #F7F9FC; }
html body.tp-quote-c #uploadForm .tpq-language-set-file.is-other { color: #8E9BB0; }
html body.tp-quote-c #uploadForm .tpq-language-set-file input { width: 16px; height: 16px; min-height: 0; flex: 0 0 16px; margin: 0; accent-color: #D92032; }
html body.tp-quote-c #uploadForm .tpq-language-set-filename { overflow-wrap: anywhere; min-width: 0; }
html body.tp-quote-c #uploadForm .tpq-language-set-owner { flex-shrink: 0; background: #EDF1F6; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 700; }
html body.tp-quote-c #uploadForm .tpq-language-set-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 14px; font-size: 13px; color: #586579; }
html body.tp-quote-c #uploadForm .tpq-language-set-add { min-height: 40px; padding: 8px 14px; border: 1px solid #C9D3E0; border-radius: 10px; background: #fff; color: #172033; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
html body.tp-quote-c #uploadForm .tpq-language-set-add:hover { background: #F7F9FC; border-color: #172033; }
html body.tp-quote-c #uploadForm .tpq-language-set-status { margin: 12px 0 0; font-size: 13px; font-weight: 600; line-height: 1.65; color: #1F7A4D; overflow-wrap: anywhere; }
html body.tp-quote-c #uploadForm .tpq-language-set-notice,
html body.tp-quote-c #uploadForm .tpq-language-set-status.is-warning { border: 1px solid #DCE3EC; border-radius: 12px; padding: 12px 16px; margin: 14px 0 0; background: #fff; font-size: 13px; line-height: 1.65; color: #586579; }
html body.tp-quote-c #uploadForm .tpq-language-set-status.is-warning { border-color: rgba(217,32,50,.45); background: #FFF7F8; color: #A51B2C; }
html body.tp-quote-c #uploadForm .tpq-language-set-error { margin: 0; font-size: 13px; line-height: 1.6; color: #A51B2C; }
html body.tp-quote-c #uploadForm .tpq-language-sets button:focus-visible,
html body.tp-quote-c #uploadForm .tpq-language-set-file:focus-within { outline: 2px solid #215EAA; outline-offset: 3px; }
@media (max-width: 767px) {
    html body.tp-quote-c #uploadForm .tpq-language-set .tpq-c-language-pair { grid-template-columns: minmax(0, 1fr); }
    html body.tp-quote-c #uploadForm .tpq-language-set-file { width: 100%; }
}

/* 10-17 Claude 보정 — 언어 세트 안내·파일명, 모바일 납기·임시저장 배너 */
html body.tp-quote-c #uploadForm .tpq-language-set-error.is-hint { color: #586579; }
html body.tp-quote-c #uploadForm .tpq-language-set-filename { display: inline-flex; min-width: 0; max-width: 100%; overflow: hidden; overflow-wrap: normal; }
html body.tp-quote-c #uploadForm .tpq-language-set-filename__base { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.tp-quote-c #uploadForm .tpq-language-set-filename__ext { flex: none; white-space: nowrap; }
/* 납기 분(00·30): 시간칸과 같은 폭 */
html body.tp-quote-c #uploadForm .tpq-sec-deadline #selDeadMin { width: 96px !important; }
@media (max-width: 767px) {
    /* 시안(일반 번역 견적 · 모바일): 납기 카드는 한 줄에 하나, 라디오 옆에 제목·설명 두 줄 */
    html body.tp-quote-c #uploadForm .tpq-sec-deadline .control > div > div:has(> label.opt) { grid-template-columns: minmax(0, 1fr); gap: 8px !important; }
    html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card { min-height: 52px; padding: 12px 14px; row-gap: 0; }
    html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card > input { grid-row: 1 / span 2; }
    html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card > span { font-size: 15px; line-height: 1.35; }
    html body.tp-quote-c #uploadForm label.opt.tpq-deadline-card .tpq-opt-hint { font-size: 12px; line-height: 1.45; }
    /* 날짜는 한 줄 전체, 시간은 다음 줄. iPhone Safari의 날짜 입력칸은 고유 폭(약 265px)보다 줄지 않아 한 줄에 두면 시간칸을 덮는다 */
    html body.tp-quote-c #uploadForm .tpq-sec-deadline .tp-calendar-field { flex: 1 1 100%; width: 100% !important; max-width: 100%; min-width: 0; }
    html body.tp-quote-c #uploadForm .tpq-sec-deadline #txtDeadLine1 { display: block; width: 100% !important; max-width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding-right: 48px !important; -webkit-appearance: none; appearance: none; line-height: 46px; }
    html body.tp-quote-c #uploadForm .tpq-sec-deadline #txtDeadLine1::-webkit-date-and-time-value { text-align: left; margin: 0; line-height: 46px; }
    /* 임시저장 배너: 아이콘 옆에 문구, 그 아래 삭제 버튼 */
    html body.tp-quote-c #uploadForm > .quote-draft-notice.tpq-draft-notice:not([hidden]) { display: grid !important; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 8px; align-items: start; }
    html body.tp-quote-c #uploadForm > .quote-draft-notice.tpq-draft-notice > i { grid-row: 1 / span 2; margin-top: 3px; }
    html body.tp-quote-c #uploadForm > .quote-draft-notice.tpq-draft-notice > button { justify-self: start; margin-left: 0 !important; }
}

/* 10-17 SJ: 드롭다운 화살표가 끝에 붙음 → 브라우저 기본 화살표 대신 안쪽(오른쪽 14px)에 그린 화살표 */
html body.tp-quote-c #uploadForm select.input,
html body.tp-quote-c #uploadForm select { -webkit-appearance: none; appearance: none; padding-right: 40px !important; background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23586579' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px 16px !important; }
html body.tp-quote-c #uploadForm select::-ms-expand { display: none; }

/* TP_FILELIST_COLLAPSE_BLOCK — 2026-10-18 '접기' 버튼: C안 목록 규칙(.tpq-file-list display:flex)이 기존 .file-list.is-collapsed{display:none} 보다 우선해 접히지 않던 문제 */
html body.tp-quote-c #uploadForm .tpq-file-list.is-collapsed { display: none !important; }
/* /TP_FILELIST_COLLAPSE_BLOCK */

/* TP_DARK_MODE_BLOCK — 2026-10-19 다크모드 보완(Claude). html[data-theme="dark"] 일 때만 적용.
 * 이 파일의 라이트 규칙에서 색만 골라 다크 값으로 다시 쓴 생성 블록 + 수기 보정. 라이트 모드는 바뀌지 않는다.
 * 생성기: output/dark-mode-20261019/tools/gen_dark.py (흰 바탕→#141B27, 연회색 바탕→#0E141D, 진한 글자→#EEF2F8, 선→#263042, 레드 글자→#FF6B78, 레드 바탕 유지). */
html[data-theme="dark"] #quote-entry.tpq-landing, html[data-theme="dark"] body.tp-quote-c { --tpq-ink: #EEF2F8; --tpq-muted: #A9B4C5; --tpq-soft: #8F9CB0; --tpq-line: #263042; --tpq-line-strong: #364357; --tpq-ground: #0E141D; --tpq-dark: #263147; }
html[data-theme="dark"] #quote-entry.tpq-landing { background: var(--tpq-ground); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-cap { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-cap--rose { color: var(--tpq-rose); }
html[data-theme="dark"] #quote-entry .tpq-cap--muted { color: var(--tpq-soft); }
html[data-theme="dark"] #quote-entry .tpq-cap--red { color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-eyebrow { color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-eyebrow > span { background: var(--tpq-red); }
html[data-theme="dark"] #quote-entry .tpq-hero { background: radial-gradient(circle at 82% 20%, rgba(23, 125, 220, 0.08), transparent 34%), linear-gradient(112deg, #141B27 0%, #0E141D 60%, rgba(34, 115, 195, 0.16) 100%); border-bottom: 1px solid var(--tpq-line); }
html[data-theme="dark"] #quote-entry h1 { color: var(--tpq-ink); -webkit-text-fill-color: currentColor; background: none; }
html[data-theme="dark"] #quote-entry .tpq-hero__lead { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-assure { color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-assure svg { color: #4CC48A; }
html[data-theme="dark"] #quote-entry .tpq-account { background: #141B27; border: 1px solid var(--tpq-line); }
html[data-theme="dark"] #quote-entry .tpq-account__icon { background: var(--tpq-ground); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-account__text { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-account__text strong { color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-account__btn { border: 1px solid var(--tpq-line-strong); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-account__btn:hover { border-color: #364357; color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-feature { background: #141B27; border: 1px solid var(--tpq-line); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-feature:hover { border-color: var(--tpq-line-strong); box-shadow: 0 22px 40px -30px rgba(0, 0, 0, 0.81); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-feature__corner { color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-feature__icon { background: var(--tpq-ground); color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-feature__desc { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-feature__chips span { background: var(--tpq-ground); border: 1px solid var(--tpq-line); }
html[data-theme="dark"] #quote-entry .tpq-feature--dark { background: #263147; border-color: #364357; color: #FFFFFF; box-shadow: inset 0 0 0 1.5px rgba(217, 32, 50, 0.55); }
html[data-theme="dark"] #quote-entry .tpq-feature--dark:hover { color: #FFFFFF; border-color: #364357; box-shadow: inset 0 0 0 1.5px rgba(217, 32, 50, 0.9), 0 22px 40px -28px rgba(217, 32, 50, 0.55); }
html[data-theme="dark"] #quote-entry .tpq-feature--dark .tpq-feature__corner { color: var(--tpq-rose); }
html[data-theme="dark"] #quote-entry .tpq-feature--dark .tpq-feature__icon { background: rgba(255, 255, 255, 0.08); color: var(--tpq-rose); }
html[data-theme="dark"] #quote-entry .tpq-feature--dark .tpq-feature__desc { color: #B9C2D0; }
html[data-theme="dark"] #quote-entry .tpq-feature__ring { border: 1px solid rgba(255, 255, 255, 0.12); }
html[data-theme="dark"] #quote-entry .tpq-feature__badge { color: #FFFFFF; background: rgba(217, 32, 50, 0.22); border: 1px solid rgba(122, 46, 56, 0.45); }
html[data-theme="dark"] #quote-entry .tpq-feature__steps { color: #E3E7EE; }
html[data-theme="dark"] #quote-entry .tpq-feature__steps b { color: var(--tpq-rose); }
html[data-theme="dark"] #quote-entry .tpq-feature__steps i { background: rgba(255, 255, 255, 0.3); }
html[data-theme="dark"] #quote-entry .tpq-card { background: #141B27; border: 1px solid var(--tpq-line); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-card:hover { border-color: var(--tpq-line-strong); box-shadow: 0 18px 32px -28px rgba(0, 0, 0, 0.72); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-card__icon { background: var(--tpq-ground); color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-card__desc { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-purpose { background: #141B27; border: 1px solid var(--tpq-line); }
html[data-theme="dark"] #quote-entry .tpq-purpose__head h2 { color: var(--tpq-ink); -webkit-text-fill-color: currentColor; }
html[data-theme="dark"] #quote-entry .tpq-purpose__head span { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-purpose__item { border: 1px solid var(--tpq-line); color: var(--tpq-ink); background: var(--tpq-ground); }
html[data-theme="dark"] #quote-entry .tpq-purpose__item:hover { border-color: var(--tpq-line-strong); color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-purpose__item strong { color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-steps li { border-top: 2px solid #364357; }
html[data-theme="dark"] #quote-entry .tpq-steps li > span:last-child { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-call { color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-call strong { color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-call a { color: #FF6B78; }
html[data-theme="dark"] #quote-entry .tpq-membership { border-top: 1px solid var(--tpq-line); color: var(--tpq-muted); }
html[data-theme="dark"] #quote-entry .tpq-membership summary { color: var(--tpq-ink); }
html[data-theme="dark"] #quote-entry .tpq-membership__links a { color: #FF6B78; }
html[data-theme="dark"] #quote-entry a:focus-visible, html[data-theme="dark"] #quote-entry summary:focus-visible { outline: 3px solid rgba(217, 32, 50, 0.45); outline-offset: 3px; }
html[data-theme="dark"] body.tp-quote-c { background: var(--tpq-ground); }
html[data-theme="dark"] body.tp-quote-c #quote-request-header .section-tag { border: 0 !important; background: none !important; color: #FF6B78 !important; }
html[data-theme="dark"] body.tp-quote-c #quote-request-header .section-tag::before { background: var(--tpq-red); }
html[data-theme="dark"] body.tp-quote-c #quote-request-header h1 { color: var(--tpq-ink) !important; -webkit-text-fill-color: var(--tpq-ink) !important; background: none !important; }
html[data-theme="dark"] body.tp-quote-c .quote-simple-notice { border: 0 !important; background: none !important; box-shadow: none !important; color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-simple-notice__copy strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-simple-notice__muted { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-required-legend { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c .quote-required-legend::before { background: var(--tpq-red); box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); }
html[data-theme="dark"] body.tp-quote-c .quote-simple-notice .req-dot, html[data-theme="dark"] body.tp-quote-c .quote-start-card .req-dot { background: var(--tpq-red); color: transparent; box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); }
html[data-theme="dark"] body.tp-quote-c .quote-notice-action { border: 1px solid var(--tpq-line) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-notice-action i { color: #FF6B78 !important; }
html[data-theme="dark"] body.tp-quote-c .glass-card { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm { color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .quote-draft-notice:not([hidden]) { border: 1px solid var(--tpq-line) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .section { background: #141B27 !important; border: 1px solid var(--tpq-line) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .section.tpq-merge-top { border-bottom: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .section.tpq-merge-mid { border-top: 0 !important; border-bottom: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .section.tpq-merge-bottom { border-top: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .section.tpq-optfields { background: none !important; border: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .quote-submit-actions { background: #141B27; border: 1px solid var(--tpq-line); }
html[data-theme="dark"] body.tp-quote-c #uploadForm > .quote-submit-actions.tpq-merge-bottom { border-top: 0; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-head__num { color: #FF6B78; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-head__title { color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-head__meta { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-head__meta.is-required { color: #FF6B78; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .label { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .req-dot { background: var(--tpq-red); color: transparent !important; box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-field-requirement { color: var(--tpq-soft) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .input, html[data-theme="dark"] body.tp-quote-c #uploadForm select, html[data-theme="dark"] body.tp-quote-c #uploadForm textarea { border: 1px solid var(--tpq-line-strong) !important; background: #141B27 !important; color: var(--tpq-ink) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .input:focus, html[data-theme="dark"] body.tp-quote-c #uploadForm select:focus, html[data-theme="dark"] body.tp-quote-c #uploadForm textarea:focus { border-color: #A9B4C5 !important; box-shadow: 0 0 0 3px rgba(169, 180, 197, 0.24) !important; outline: none; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .field.is-validation-error .input, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-subfield.is-validation-error .input { border-color: var(--tpq-red) !important; box-shadow: 0 0 0 3px rgba(217, 32, 50, 0.14) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-drop-area { border: 1.5px dashed #364357 !important; background: var(--tpq-ground) !important; color: var(--tpq-ink) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-drop-area:hover, html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-drop-area.dragover { border-color: var(--tpq-red) !important; background: rgba(217, 32, 50, 0.16) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-icon { color: #FF6B78 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-icon { border: 1px solid #263042; background: #141B27; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-msg strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-sub-msg, html[data-theme="dark"] body.tp-quote-c #uploadForm .dz-click-hint, html[data-theme="dark"] body.tp-quote-c #uploadForm .ml-upload-compact-summary, html[data-theme="dark"] body.tp-quote-c #uploadForm #quoteUploadSummary { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-upload-state, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-no-file-detail, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-security-note { border: 1px solid var(--tpq-line) !important; background: var(--tpq-ground) !important; color: var(--tpq-ink) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-upload-state__detail, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-no-file-detail span, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-security-note { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-security-note i { color: #4CC48A !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-security-note strong, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-no-file-detail strong, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-upload-state__title { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-no-file-badge { background: rgba(217, 32, 50, 0.16) !important; color: #FF6B78 !important; border: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-file .ml-upload-shell > .quote-security-note { background: none !important; border: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-file .quote-no-file-subfield { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-list .file-item { border: 1px solid var(--tpq-line) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-upload-file-icon { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-list .file-name { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-upload-size { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-upload-status { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm [data-status="uploaded"] .tp-upload-status { color: #4CC48A; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-list .tp-upload-actions button { border: 1px solid var(--tpq-line-strong) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-list .tp-upload-actions button[data-action="delete"] { border: 0 !important; background: transparent !important; color: #A9B4C5 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-list .file-item[data-status="failed"] { border-color: rgba(217, 32, 50, 0.45) !important; background: rgba(217, 32, 50, 0.16) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-upload-progress { background: rgba(76, 110, 153, 0.16); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-upload-progress > i { background: #D92032; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-lang .tp-work-fields > label { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-sec-lang .tpq-lang-label { color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-c-language-field > label, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-c-language-field > span:first-child { color: #EEF2F8; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chips { border: 1px solid #364357; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chip { background: #263147; color: #FFFFFF; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chip button { border: 0; background: rgba(255,255,255,0.18); color: #FFFFFF; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-add { border: 1px dashed #364357; background: #141B27; color: #EEF2F8; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-hint { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-hint button { border: 0; background: none; color: #FF6B78; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-picker { border: 1px solid #263042; background: #0E141D; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chip button:focus-visible, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-add:focus-visible, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-hint button:focus-visible { outline: 2px solid #D92032; outline-offset: 3px; }
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt.tpq-deadline-card .tpq-opt-hint { color: var(--tpq-muted); }
@media (max-width: 767px) {
    html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary { color: #EEF2F8; }
}
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt { border: 1px solid var(--tpq-line); background: #141B27; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt:hover { border-color: var(--tpq-line-strong); color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt:has(input:checked) { border: 1.5px solid #364357; background: var(--tpq-ground); }
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt span { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm label.opt span i { color: #FF6B78; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tp-work-help, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-delivery-note, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-field-note, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-field-help, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-field-copy { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-live-summary-card.quote-option-fields { background: #141B27 !important; border: 1px solid var(--tpq-line) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-field-card { border: 1px solid var(--tpq-line) !important; background: var(--tpq-ground) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-option-field-card strong, html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-live-summary-title { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .ml-btn, html[data-theme="dark"] body.tp-quote-c #uploadForm .prefill-btn { border: 1px solid var(--tpq-line-strong) !important; background: #141B27 !important; color: var(--tpq-ink) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .ml-panel, html[data-theme="dark"] body.tp-quote-c #uploadForm .ml-status-box, html[data-theme="dark"] body.tp-quote-c #uploadForm .ml-advanced { border-color: var(--tpq-line) !important; background: var(--tpq-ground) !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .privacy-box { background: var(--tpq-ground) !important; border: 1px solid var(--tpq-line); color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .privacy-check { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-delivery-box { background: none !important; border: 0 !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .btn-submit { border: 0 !important; background: var(--tpq-red) !important; color: #FFFFFF !important; box-shadow: 0 14px 30px -14px rgba(217, 32, 50, 0.85) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .btn-submit:hover { background: var(--tpq-red-hover) !important; box-shadow: 0 0 0 4px rgba(217, 32, 50, 0.12), 0 16px 32px -14px rgba(217, 32, 50, 0.9) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .quote-submit-note { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-card { border: 1px solid var(--tpq-line) !important; background: #141B27 !important; box-shadow: 0 24px 44px -34px rgba(0, 0, 0, 0.81) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-card__eyebrow { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-card strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__count { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__hint { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__track { background: rgba(76, 110, 153, 0.16) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-required-meter__bar { background: var(--tpq-red) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-card.is-complete .quote-required-meter__bar { background: var(--tpq-green) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-step { border: 0 !important; background: none !important; color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-step::before { box-shadow: none !important; background: #141B27 !important; border: 1.5px solid var(--tpq-line-strong); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-step.is-complete { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-start-step.is-complete::before { background: var(--tpq-green) !important; border-color: var(--tpq-green); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .tpq-summary { border: 0 !important; background: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-card { border: 1px solid var(--tpq-line) !important; background: #141B27 !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-title { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item { border: 0 !important; background: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item span { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-summary-item strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-checklist { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside .quote-live-checklist strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside-note { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside-help { background: #141B27; border: 1px solid var(--tpq-line); color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-aside-help a { color: #FF6B78; }
html[data-theme="dark"] body.tp-quote-c #quoteCompletionPanel:not([hidden]) { background: #141B27 !important; border: 1px solid var(--tpq-line) !important; color: var(--tpq-ink) !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c .quote-mobile-sticky-actions { background: rgba(20, 27, 39, 0.97) !important; border-top: 1px solid var(--tpq-line) !important; box-shadow: 0 -12px 28px -18px rgba(0, 0, 0, 0.63) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-mobile-sticky-status { color: var(--tpq-muted) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-mobile-sticky-status strong { color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c .quote-mobile-sticky-submit { background: var(--tpq-red) !important; border: 0 !important; color: #FFFFFF !important; box-shadow: none !important; }
html[data-theme="dark"] body.tp-quote-c .quote-mobile-sticky-call { border: 1px solid var(--tpq-line-strong) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-picker { border: 1px solid var(--tpq-line); background: #141B27; box-shadow: 0 22px 44px -24px rgba(0, 0, 0, 0.81); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-quick__label { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-quick__item { border: 1px solid var(--tpq-line-strong); background: #141B27; color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-quick__item:hover { border-color: #364357; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-options { border-top: 1px solid var(--tpq-line); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-option { border: 0; border-bottom: 1px solid #263042; background: none; color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-option:hover, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-option:focus-visible { background: var(--tpq-ground); outline: none; box-shadow: inset 3px 0 0 var(--tpq-red); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-empty { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-picker__count { color: var(--tpq-muted); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-done { border: 0; background: #263147; color: #FFFFFF; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-add[aria-expanded="true"] { border-style: solid; border-color: #364357; background: var(--tpq-ground); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel { border: 1px solid var(--tpq-line) !important; background: var(--tpq-ground) !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsAdvanced { border: 0 !important; background: none !important; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-chips-ready.tpq-language-advanced-open #languageGroupsPanel::before { color: var(--tpq-ink); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-file-toggle:not([hidden]) { border: 1px solid var(--tpq-line-strong) !important; background: #141B27 !important; color: var(--tpq-ink) !important; }
@media (max-width: 767px) {
    html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-no-file-disclosure > summary::after { border-right: 2px solid var(--tpq-muted); border-bottom: 2px solid var(--tpq-muted); }
    html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-picker { box-shadow: none; }
}
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set { border: 1px solid #263042; background: #141B27; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-head h4 { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-remove { border: 0; background: transparent; color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-files { border: 0; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-files legend { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-file { border: 1px solid #263042; color: #EEF2F8; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-file.is-own { border: 1.5px solid #A9B4C5; background: #0E141D; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-file.is-other { color: #8F9CB0; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-owner { background: rgba(76, 110, 153, 0.16); }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-actions { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-add { border: 1px solid #364357; background: #141B27; color: #EEF2F8; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-add:hover { background: #0E141D; border-color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-status { color: #4CC48A; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-notice, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-status.is-warning { border: 1px solid #263042; background: #141B27; color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-status.is-warning { border-color: rgba(217,32,50,.45); background: rgba(217, 32, 50, 0.16); color: #FF8A94; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-error { color: #FF8A94; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-sets button:focus-visible, html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-file:focus-within { outline: 2px solid #215EAA; outline-offset: 3px; }
html[data-theme="dark"] body.tp-quote-c #uploadForm .tpq-language-set-error.is-hint { color: #A9B4C5; }
html[data-theme="dark"] body.tp-quote-c #uploadForm select.input, html[data-theme="dark"] body.tp-quote-c #uploadForm select { background-color: #141B27 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23A9B4C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px 16px !important; }
/* /TP_DARK_MODE_BLOCK */
