/* Service identity only. Financial data, legal identity and semantic state colors stay separate. */
:root{--carshu-blue:#0758db;--carshu-blue-hover:#0648b6;--carshu-cyan:#24adff;--carshu-slate:#101c2e;--carshu-soft:#edf5ff;--carshu-ring:0 0 0 3px #24adff30;--carshu-font:"Pretendard Variable",Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
:is(body.admin-body,body.erp-workspace,body.tablet-body,body:has(.tt-header),body:has(.admin-login-wrap),body:has(>.container.narrow)){font-family:var(--carshu-font)}

/* Consumer and approved-business storefront controls. */
body:has(.tt-header){--primary:var(--carshu-blue);--primary-dark:var(--carshu-blue-hover);--accent:var(--carshu-blue);--accent-dark:var(--carshu-blue-hover);--accent-light:#dcecff;--navy:var(--carshu-slate);--gray1:var(--carshu-slate)}
body:has(.tt-header) :is(.tt-search-btn,.btn-primary,.btn-primary-lg,.btn-hero-primary,.btn-auth-primary,.rh-search-submit):not(.btn-danger,.danger){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff}
body:has(.tt-header) :is(.tt-search-btn,.btn-primary,.btn-primary-lg,.btn-hero-primary,.btn-auth-primary,.rh-search-submit):not(.btn-danger,.danger):hover:not(:disabled){background:var(--carshu-blue-hover);border-color:var(--carshu-blue-hover)}
body:has(.tt-header) :is(.pdh-buy-btn,.tp-dot-buy):not(:disabled):not(.disabled,[aria-disabled=true]){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff;filter:none;box-shadow:0 5px 12px #0758db24}
body:has(.tt-header) :is(.pdh-buy-btn,.tp-dot-buy):not(:disabled):not(.disabled,[aria-disabled=true]):hover{background:var(--carshu-blue-hover);border-color:var(--carshu-blue-hover);filter:none}
body:has(.tt-header) .pdh-reserve-btn:not(:disabled):not(.disabled,[aria-disabled=true]){background:#fff;border-color:var(--carshu-blue);color:var(--carshu-blue)}
body:has(.tt-header) .pdh-reserve-btn:not(:disabled):not(.disabled,[aria-disabled=true]):hover{background:var(--carshu-soft);border-color:var(--carshu-blue-hover);color:var(--carshu-blue-hover)}
body:has(.tt-header) :is(.tt-nav a.active,.tt-nav a:hover){color:var(--carshu-blue);background:var(--carshu-soft)}
body:has(.tt-header) .tt-header-search:focus-within{border-color:var(--carshu-cyan);box-shadow:var(--carshu-ring)}
body:has(.tt-header) .tt-cart-badge{background:var(--carshu-blue)}
body:has(.tt-header) :is(.pagination .active,.category-tabs .tab.active){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff}
body:has(.tt-header) :is(.mypage-tabs a.active,.ba-nav a.active){color:var(--carshu-blue);background:var(--carshu-soft)}
body:has(.tt-header) .retail-home-start{--rh-blue:var(--carshu-blue);--rh-ink:var(--carshu-slate)}
body:has(.tt-header) .rh-story{background:linear-gradient(120deg,#f0f6ff,#e5f1ff 65%,#def6ff)}
body:has(.tt-header) :is(.rh-kicker,.rh-guide){color:var(--carshu-blue-hover)}
body:has(.tt-header) .rh-finder-icon{background:var(--carshu-soft);color:var(--carshu-blue)}
body:has(.tt-header) .rbb-section{--rbb-ink:var(--carshu-slate)}

/* Member and checkout actions share the service palette; transaction states stay separate. */
body:has(.tt-header) .ba-side nav a.active{color:var(--carshu-blue);background:var(--carshu-soft)}
body:has(.tt-header) :is(.btn-confirm-order,.btn-review-write,.btn-modal-submit){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff;box-shadow:0 4px 12px #0758db24}
body:has(.tt-header) :is(.btn-confirm-order,.btn-review-write,.btn-modal-submit):hover:not(:disabled){background:var(--carshu-blue-hover);box-shadow:0 6px 14px #0758db30}
body:has(.tt-header) .mypage-wrap .mc-left{background:linear-gradient(135deg,var(--carshu-blue),#1587f5)}
body:has(.tt-header) .mypage-wrap .mc-discount{color:var(--carshu-blue)}
body:has(.tt-header) .checkout-wrap .coupon-select-box{border-color:#cbdffb;background:#f2f7ff}
body:has(.tt-header) .checkout-wrap .coupon-select-box label{color:var(--carshu-blue-hover)}
body:has(.tt-header) .checkout-wrap .coupon-select-box select{border-color:#bfd5f5}
/* The original discount line sets an important color; override only this amount. */
body:has(.tt-header) .checkout-wrap .coupon-discount-line{color:var(--carshu-blue-hover)!important}
body:has(.tt-header) .checkout-wrap .ck-pay-method:has(input:checked){border-color:var(--carshu-blue);background:var(--carshu-soft);box-shadow:var(--carshu-ring)}
body:has(.tt-header) .checkout-wrap .ck-cash-receipt{background:#f2f7ff;border-color:#cbdffb}
body:has(.tt-header) .checkout-wrap :is(.ck-cr-title,.ck-cr-hint){color:var(--carshu-blue-hover)}
body:has(.tt-header) .checkout-wrap :is(.ck-cr-opt,.ck-cr-number input){border-color:#bfd5f5}
body:has(.tt-header) .checkout-wrap .ck-cr-opt:has(input:checked){border-color:var(--carshu-blue);background:var(--carshu-soft);box-shadow:var(--carshu-ring)}
body:has(.tt-header) .checkout-summary #ckSummaryFinal{color:var(--carshu-blue)}

/* Catalog, reservation and order result controls use the same Carshu accent. */
body:has(.tt-header) :is(.btn-resv-submit,.btn-resv-primary,.pdh-coupon-btn:not(.held),.btn-restock,.oc-btn-primary){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff;box-shadow:0 4px 12px #0758db24}
body:has(.tt-header) :is(.btn-resv-submit,.btn-resv-primary,.pdh-coupon-btn:not(.held),.btn-restock,.oc-btn-primary):hover:not(:disabled){background:var(--carshu-blue-hover)}
body:has(.tt-header) :is(.pdh-coupon-ticket,.pdh-signup-pack){background:var(--carshu-soft);border-color:#bfd5f5;color:var(--carshu-blue-hover)}
body:has(.tt-header) :is(.pdh-coupon-ticket,.pdh-signup-pack):hover{background:#dcecff;border-color:var(--carshu-blue)}
body:has(.tt-header) .pdh-ticket-count{background:var(--carshu-blue)}
body:has(.tt-header) :is(.pdh-ticket-arrow,.pdh-pack-text,.pdh-pack-arrow){color:var(--carshu-blue-hover)}
body:has(.tt-header) :is(.pdh-coupon-val,.pd-review-tag-chip){background:var(--carshu-soft);color:var(--carshu-blue-hover)}
body:has(.tt-header) .rv-chip-input:checked + .rv-chip-label{background:var(--carshu-blue);box-shadow:0 4px 10px #0758db24}
body:has(.tt-header) .oc-icon{background:var(--carshu-blue)}
body:has(.tt-header) .oc-icon.oc-icon-cancelled{background:#edf2f7;color:#475569}
body:has(.tt-header) .oc-orderno strong{color:var(--carshu-blue)}
body:has(.tt-header) .pd-tabs .pd-tab-btn.active{color:var(--carshu-blue);border-bottom-color:var(--carshu-blue)}
body:has(.tt-header) .btn-review-helpful.active{background:var(--carshu-soft);border-color:var(--carshu-blue);color:var(--carshu-blue-hover)}

/* Administration uses its own palette variables; danger/success variables are untouched. */
.admin-body{--adm-primary:var(--carshu-blue);--adm-sidebar:var(--carshu-slate);--adm-sidebar-hover:#1a304d;--adm-sidebar-active:#1a304d;--adm-bg:#f2f6fc;--adm-text:var(--carshu-slate)}
.admin-body .admin-nav-sub a.active{color:#78bbff;background:#0758db26}
.admin-body :is(.btn-admin-primary,.rh-admin-save>button){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff}
.admin-body :is(.btn-admin-primary,.rh-admin-save>button):hover:not(:disabled){background:var(--carshu-blue-hover);border-color:var(--carshu-blue-hover)}
body:has(.admin-login-wrap){background:linear-gradient(135deg,#101c2e,#163a68)}
.admin-login-wrap h1{color:var(--carshu-blue)}
.admin-login-wrap button[type=submit]{background:var(--carshu-blue)}
.admin-login-wrap button[type=submit]:hover:not(:disabled){background:var(--carshu-blue-hover)}

/* ERP light/dark accents. Existing red, amber and green transaction states remain intact. */
.erp-workspace,body:has(>.container.narrow){--primary:var(--carshu-blue);--primary-d:var(--carshu-blue-hover);--primary-soft:var(--carshu-soft);--ring:var(--carshu-ring)}
.erp-workspace .workspace-header .gnb-main a.on,.erp-workspace .workspace-header .gnb-main a:hover{color:var(--carshu-blue-hover);background:var(--carshu-soft)}
.erp-workspace .btn-primary:not(.btn-danger,.danger){background:var(--carshu-blue);border-color:var(--carshu-blue);color:#fff}
.erp-workspace .btn-primary:not(.btn-danger,.danger):hover:not(:disabled){background:var(--carshu-blue-hover);border-color:var(--carshu-blue-hover)}
[data-erp-theme=dark] .erp-workspace{--primary:#86bdff;--primary-d:#acd5ff;--primary-soft:#18385e;--ring:0 0 0 3px #24adff50}
[data-erp-theme=dark] .erp-workspace .workspace-header .gnb-main a.on,[data-erp-theme=dark] .erp-workspace .workspace-header .gnb-main a:hover{color:#d9edff;background:#18385e}
[data-erp-theme=dark] .erp-workspace .btn-primary:not(.btn-danger,.danger){background:#0758db;border-color:#4b9dff;color:#fff}
[data-erp-theme=dark] .erp-workspace .btn-primary:not(.btn-danger,.danger):hover:not(:disabled){background:#0966f5}

/* Tablet work screens only: the public/technician board status colors are not selected. */
.tablet-body{--tbl-blue:var(--carshu-blue);--tbl-blue-dark:var(--carshu-blue-hover);--tbl-blue-soft:var(--carshu-soft);--tbl-text:var(--carshu-slate)}
.tablet-body .tablet-header{background:var(--carshu-slate)}
.tablet-body .tablet-header-nav a.on{background:var(--carshu-blue);color:#fff}
.tablet-body .tablet-header-nav a:hover:not(.on){background:#24adff1f;color:#fff}

/* A consistent visible focus indicator without recoloring every link or status. */
:is(body.admin-body,body.erp-workspace,body.tablet-body,body:has(.tt-header),body:has(.admin-login-wrap)) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--carshu-blue);outline-offset:3px}
[data-erp-theme=dark] .erp-workspace :is(a,button,input,select,textarea):focus-visible{outline-color:var(--carshu-cyan)}

/* Dashboard-specific light surfaces are emitted after the shared styles. Match
 * only those neutral components; the blue KPI and category/status colors remain. */
[data-erp-theme=dark] .erp-workspace .dsh-kpi:not(.main){background:var(--surface);border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-kpi:not(.main) b{color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-kpi:not(.main) small{color:var(--sub)}
[data-erp-theme=dark] .erp-workspace .dsh-nav a{background:#202e45;border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-nav a:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-cell:not(.dsh-empty):not(.sel){background:#202e45;border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-cell:not(.dsh-empty):hover{background:var(--primary-soft);border-color:var(--primary);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-cell.sun .dsh-dn{color:#ff9da9}
[data-erp-theme=dark] .erp-workspace .dsh-cell.sat .dsh-dn{color:#8ebdff}
[data-erp-theme=dark] .erp-workspace .dsh-cell.today .dsh-dn{background:var(--carshu-blue);color:#fff}
/* The legacy weekday rules already use !important, so only these two semantic
 * weekend labels need an equivalent targeted override for dark contrast. */
[data-erp-theme=dark] .erp-workspace .dsh-cal>.dsh-dow:nth-child(1){color:#ff9da9!important}
[data-erp-theme=dark] .erp-workspace .dsh-cal>.dsh-dow:nth-child(7){color:#8ebdff!important}
[data-erp-theme=dark] .erp-workspace .dsh-sales{background:#18385e;color:#d9edff}
[data-erp-theme=dark] .erp-workspace .dsh-chip{color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-sum{background:var(--primary-soft);color:#d9edff}
[data-erp-theme=dark] .erp-workspace .dsh-ev{background:#202e45;color:var(--text);border-top-color:var(--line);border-right-color:var(--line);border-bottom-color:var(--line)}
[data-erp-theme=dark] .erp-workspace .dsh-formbox{background:#172338;border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-field>span{color:var(--sub)}
[data-erp-theme=dark] .erp-workspace .dsh-catopt input:not(:checked)+span{background:#26354d;border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-catopt input:not(:checked)+span:hover{border-color:var(--primary)}
[data-erp-theme=dark] .erp-workspace .dsh-bi{background:#26354d}
[data-erp-theme=dark] .erp-workspace .dsh-tbl th{background:#26354d;border-color:var(--line);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-tbl tbody tr:hover td{background:var(--primary-soft);color:var(--text)}
[data-erp-theme=dark] .erp-workspace .dsh-fail{color:var(--danger);border-color:var(--danger)}
