:root {
  color-scheme: light;
  --bg: #f5f5f7;
  --surface: rgba(255,255,255,.92);
  --surface-solid: #fff;
  --surface-soft: #f9f9fb;
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --faint: #8e8e93;
  --line: rgba(60,60,67,.14);
  --line-strong: rgba(60,60,67,.22);
  --accent: #0071e3;
  --accent-soft: #eaf4ff;
  --green: #248a3d;
  --amber: #b25000;
  --red: #d70015;
  --shadow: 0 16px 42px rgba(0,0,0,.07), 0 2px 8px rgba(0,0,0,.035);
  --sidebar: 252px;
  --radius: 24px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", sans-serif;
}
* { box-sizing: border-box; }
html { min-width:320px; min-height:100%; overflow-y:scroll; scrollbar-gutter:stable; background:var(--bg); -webkit-text-size-adjust:100%; }
body { margin:0; min-height:100vh; overflow-x:hidden; color:var(--ink); background:var(--bg); font-size:15px; line-height:1.5; letter-spacing:-.015em; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 80% -10%,rgba(0,113,227,.09),transparent 34%),radial-gradient(circle at 12% 82%,rgba(90,200,250,.07),transparent 28%); }
a { color: var(--accent); text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.v4-app { position:relative; z-index:1; min-height:100vh; }
.v4-sidebar { position:fixed; inset:0 auto 0 0; z-index:50; width:var(--sidebar); display:flex; flex-direction:column; padding:22px 14px 16px; border-right:1px solid var(--line); background:rgba(247,247,249,.82); backdrop-filter:saturate(180%) blur(30px); }
.v4-brand { min-width:0; display:flex; align-items:center; gap:11px; padding:2px 7px 20px; color:var(--ink); }
.v4-brand-mark { flex:0 0 auto; width:38px; height:38px; overflow:hidden; display:grid; place-items:center; border-radius:12px; background:#111; box-shadow:0 6px 18px rgba(0,0,0,.13); }
.v4-brand-mark img { width:100%; height:100%; object-fit:cover; }
.v4-brand strong,.v4-brand small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v4-brand strong { font-size:15px; line-height:1.2; letter-spacing:-.025em; }
.v4-brand small { margin-top:3px; color:var(--muted); font-size:11px; letter-spacing:.02em; }
.v4-nav { min-height:0; flex:1; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; padding:2px 0 12px; }
.v4-nav::-webkit-scrollbar { display:none; }
.v4-nav section + section { margin-top:18px; }
.v4-nav h2 { margin:0 10px 7px; color:var(--faint); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.v4-nav-link { min-width:0; display:flex; align-items:center; gap:11px; min-height:42px; margin:2px 0; padding:0 11px; border-radius:12px; color:#4c4c50; font-size:13.5px; font-weight:570; transition:background .2s ease,color .2s ease,transform .2s ease; }
.v4-nav-link svg { flex:0 0 auto; width:18px; height:18px; }
.v4-nav-link:hover { background:rgba(118,118,128,.09); color:var(--ink); }
.v4-nav-link:active { transform:scale(.98); }
.v4-nav-link.active { background:var(--surface-solid); color:var(--accent); box-shadow:0 4px 14px rgba(0,0,0,.055); }
.v4-account { flex:0 0 auto; display:grid; grid-template-columns:36px minmax(0,1fr) 34px; align-items:center; gap:9px; padding:10px 9px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.7); }
.v4-account strong,.v4-account small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v4-account strong { font-size:12.5px; }
.v4-account small { color:var(--muted); font-size:10.5px; }
.v4-account form { margin:0; }
.v4-avatar { flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#1d1d1f; color:#fff; font-size:13px; font-weight:650; }
.v4-icon-button { width:34px; height:34px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; }
.v4-icon-button:hover { background:rgba(118,118,128,.11); color:var(--ink); }
.v4-icon-button svg { width:17px; height:17px; }

.v4-main { min-height:100vh; margin-left:var(--sidebar); min-width:0; padding:30px clamp(24px,4vw,58px) 64px; }
.v4-content-head { max-width:1440px; margin:0 auto 24px; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.v4-content-head > div:first-child > span { color:var(--accent); font-size:10px; font-weight:750; letter-spacing:.12em; }
.v4-content-head h1 { margin:4px 0 0; font-size:clamp(26px,3vw,38px); line-height:1.1; letter-spacing:-.055em; }
.v4-user-pill { display:flex; align-items:center; gap:9px; padding:6px 12px 6px 6px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.72); }
.v4-user-pill strong,.v4-user-pill small { display:block; line-height:1.25; }
.v4-user-pill strong { font-size:12px; }
.v4-user-pill small { color:var(--muted); font-size:10px; }
.layout,.v4-content { width:100%; max-width:1440px; min-width:0; margin:0 auto; }
.grid,.command-center { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; min-width:0; }
.span-12 { grid-column:span 12; }.span-9{grid-column:span 9}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}

.card,.command-hero,.command-section { min-width:0; padding:clamp(20px,2.4vw,30px); border:1px solid rgba(255,255,255,.9); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.card h2,.command-section h2 { margin:0 0 18px; font-size:19px; line-height:1.25; letter-spacing:-.035em; }
.card h3 { margin:20px 0 10px; font-size:15px; }
.card > :first-child { margin-top:0; }
.card > :last-child { margin-bottom:0; }
.muted { color:var(--muted); }
.mono { font-family:"SFMono-Regular",Consolas,monospace; font-size:.88em; overflow-wrap:anywhere; }
.row { min-width:0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid var(--line); }
.row:last-child { border-bottom:0; }
.row > span { color:var(--muted); }
.row > strong { min-width:0; text-align:right; overflow-wrap:anywhere; }

.command-hero { grid-column:span 12; overflow:hidden; position:relative; padding:clamp(26px,4vw,46px); color:#fff; border:0; background:linear-gradient(135deg,#111214 0%,#20252d 58%,#073b70 130%); box-shadow:0 24px 55px rgba(0,0,0,.16); }
.command-hero::after { content:""; position:absolute; width:420px; height:420px; right:-120px; top:-210px; border-radius:50%; background:radial-gradient(circle,rgba(82,172,255,.46),transparent 68%); }
.command-hero-copy,.command-live,.command-metrics { position:relative; z-index:1; }
.command-kicker { color:#75baff; font-size:10px; font-weight:750; letter-spacing:.15em; }
.command-hero h2 { margin:8px 0 7px; font-size:clamp(29px,4vw,48px); line-height:1.05; letter-spacing:-.06em; }
.command-hero p { margin:0; color:rgba(255,255,255,.68); font-size:14px; }
.command-live { position:absolute; top:32px; right:34px; display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.88); font-size:11px; backdrop-filter:blur(10px); }
.command-live span { width:7px; height:7px; border-radius:50%; background:#30d158; box-shadow:0 0 0 5px rgba(48,209,88,.12); }
.command-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:36px; border:1px solid rgba(255,255,255,.12); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.1); }
.command-metrics > div { min-width:0; padding:18px 20px; background:rgba(10,12,16,.38); }
.command-metrics span,.command-metrics small,.command-metrics strong { display:block; }
.command-metrics span { color:rgba(255,255,255,.55); font-size:11px; }
.command-metrics strong { margin:5px 0 2px; font-size:clamp(19px,2.2vw,29px); line-height:1.1; letter-spacing:-.045em; overflow-wrap:anywhere; }
.command-metrics small { color:rgba(255,255,255,.48); font-size:10.5px; }
.command-grid { grid-column:span 12; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.bot-tile { min-width:0; min-height:124px; display:grid; grid-template-columns:58px minmax(0,1fr) auto 10px; align-items:center; gap:16px; padding:22px; border:1px solid rgba(255,255,255,.9); border-radius:22px; background:var(--surface); box-shadow:var(--shadow); color:var(--ink); transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease; }
.bot-tile:hover { transform:translateY(-2px); box-shadow:0 22px 50px rgba(0,0,0,.1); }
.bot-tile-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(145deg,#dcecff,#f3f8ff); color:var(--accent); font-size:20px; font-weight:750; }
.bot-tile.yuja .bot-tile-icon { background:linear-gradient(145deg,#fff1c7,#fff9e8); color:#a55b00; }
.bot-tile-copy small,.bot-tile-copy strong,.bot-tile-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-tile-copy small,.bot-tile-copy span { color:var(--muted); font-size:11px; }
.bot-tile-copy strong { margin:2px 0; font-size:20px; letter-spacing:-.035em; }
.bot-tile-state { display:flex; align-items:center; gap:7px; color:var(--green); font-size:11px; font-weight:650; white-space:nowrap; }
.bot-tile-state i { width:7px; height:7px; border-radius:50%; background:currentColor; }
.bot-tile.offline .bot-tile-state { color:var(--red); }
.bot-tile b { color:#c7c7cc; font-size:24px; font-weight:400; }
.command-section { grid-column:span 12; }
.command-section-head span { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.12em; }
.command-section-head h2 { margin:3px 0 18px; }
.command-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.command-actions a { min-width:0; min-height:116px; position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); align-content:center; column-gap:12px; padding:16px; border:1px solid var(--line); border-radius:18px; background:var(--surface-soft); color:var(--ink); transition:background .2s ease,transform .2s ease; }
.command-actions a:hover { background:#fff; transform:translateY(-1px); }
.command-action-icon { grid-row:span 2; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#fff; color:var(--accent); box-shadow:0 4px 13px rgba(0,0,0,.055); font-size:17px; }
.command-actions strong,.command-actions small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.command-actions strong { align-self:end; font-size:13.5px; }.command-actions small{align-self:start;color:var(--muted);font-size:10.5px}.command-actions b{position:absolute;right:13px;top:13px;color:#c7c7cc;font-size:18px;font-weight:400}

input,select,textarea { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:12px; outline:0; background:rgba(255,255,255,.9); color:var(--ink); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
textarea { min-height:120px; resize:vertical; }
input::placeholder,textarea::placeholder { color:#a1a1a6; }
input:focus,select:focus,textarea:focus { border-color:rgba(0,113,227,.65); background:#fff; box-shadow:0 0 0 4px rgba(0,113,227,.11); }
label { min-width:0; }
button,.actions a { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 15px; border:0; border-radius:12px; background:var(--accent); color:#fff; font-weight:650; cursor:pointer; transition:filter .18s ease,transform .18s ease,opacity .18s ease; }
button:hover,.actions a:hover { filter:brightness(.95); }
button:active,.actions a:active { transform:scale(.98); }
button:disabled { opacity:.45; cursor:not-allowed; }
button.ghost,.actions a.ghost { border:1px solid var(--line); background:#fff; color:var(--ink); }
button.red,.actions a.red { background:var(--red); color:#fff; }
button.compact,.actions a.compact { min-height:34px; padding:6px 10px; border-radius:9px; font-size:12px; }
.actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.actions form { margin:0; }
.actions.full > * { flex:1 1 150px; }.actions.full button,.actions.full a{width:100%}
.toolbar,.grid-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; margin:14px 0; }
.toolbar { display:flex; flex-wrap:wrap; }
.toolbar > * { flex:1 1 170px; }.toolbar button{flex:0 0 auto}
.grid-form .full { grid-column:1/-1; }

.notice { margin:0 0 16px; padding:12px 14px; border:1px solid transparent; border-radius:13px; font-size:13px; overflow-wrap:anywhere; }
.notice.ok { color:#176c2e; border-color:rgba(52,199,89,.2); background:rgba(52,199,89,.1); }
.notice.bad { color:#a3111d; border-color:rgba(255,59,48,.2); background:rgba(255,59,48,.09); }
.notice.info { color:#075ea9; border-color:rgba(0,113,227,.16); background:rgba(0,113,227,.08); }
.tag { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; background:#eeeef0; color:var(--muted); font-size:10.5px; font-weight:700; text-transform:uppercase; }
.tag.green { background:rgba(52,199,89,.12); color:var(--green); }.tag.amber{background:rgba(255,159,10,.14);color:var(--amber)}.tag.red{background:rgba(255,59,48,.11);color:var(--red)}
.sheet-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.sheet-stats > div { min-width:0; padding:15px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.sheet-stats span,.sheet-stats strong,.sheet-stats small { display:block; }.sheet-stats>div>span{color:var(--muted);font-size:11px}.sheet-stats strong{margin:7px 0}.sheet-stats small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.table-wrap { width:100%; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; -webkit-overflow-scrolling:touch; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { min-width:110px; padding:13px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
th { position:sticky; top:0; z-index:1; background:#f7f7f9; color:var(--muted); font-size:10.5px; font-weight:700; letter-spacing:.02em; white-space:nowrap; }
tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#fafafd; }
.history-list { display:grid; gap:10px; }.history-item { min-width:0; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }.history-title{font-weight:650;overflow-wrap:anywhere}.history-meta{margin-top:4px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.autocomplete-wrap { position:relative; }.autocomplete-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.autocomplete-item{width:100%;display:flex;align-items:flex-start;flex-direction:column;margin:0;padding:10px 12px;background:transparent;color:var(--ink);text-align:left}.autocomplete-item:hover{background:var(--surface-soft)}.autocomplete-item small{color:var(--muted);font-size:11px}

.section-heading { min-width:0; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:15px; }.section-heading h2,.section-heading h3{margin:0 0 4px}.section-heading .muted{font-size:12px}
.user-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:18px; }.user-title{display:grid;gap:6px}.user-stats,.bank-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-tile,.bank-summary-item{min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.stat-tile span,.bank-summary-item span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.stat-tile strong,.bank-summary-item strong{display:block;font-size:17px;overflow-wrap:anywhere}
.workspace-grid { display:grid; grid-template-columns:minmax(330px,.9fr) minmax(0,1.55fr); gap:18px; align-items:start; }.panel-stack,.bank-page,.bank-sidebar-panel,.bank-main-panel,.bank-toolbox{display:grid;gap:16px;min-width:0}.bank-workspace{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:18px;align-items:start}.bank-inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bank-danger-zone,.danger-card{padding:15px;border:1px solid rgba(215,0,21,.18);border-radius:16px;background:rgba(255,59,48,.045)}
.form-section { display:grid; gap:12px; padding-top:15px; margin-top:15px; border-top:1px solid var(--line); }.form-section:first-of-type{padding-top:0;margin-top:0;border-top:0}.discord-search-results{display:grid;gap:7px;min-height:42px}.discord-result{width:100%;display:grid;gap:3px;justify-content:stretch;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left}.discord-result small{color:var(--muted);font-size:11px;white-space:normal}.discord-result.selected{border-color:rgba(0,113,227,.42);background:var(--accent-soft)}
.dealer-workspace { display:grid; grid-template-columns:minmax(300px,400px) minmax(0,1fr); gap:22px; align-items:start; }.dealer-workspace>section{min-width:0}.dealer-list{display:grid;gap:7px;overflow:visible;padding:1px}.dealer-list-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--ink);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.dealer-list-item:hover,.dealer-list-item.active{border-color:rgba(0,113,227,.32);background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.06)}.dealer-list-item strong,.dealer-list-item small{display:block;overflow-wrap:anywhere}.dealer-list-item strong{font-size:13px;line-height:1.35}.dealer-list-item small{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.35}.dealer-list-price{color:var(--accent);font-size:11.5px;font-weight:700;white-space:nowrap}
.admin-accordion{border:1px solid var(--line);border-radius:17px;background:var(--surface-soft);overflow:hidden}.admin-accordion+.admin-accordion{margin-top:10px}.admin-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--ink);font-weight:650}.admin-accordion summary::-webkit-details-marker{display:none}.admin-accordion summary::after{content:"펼치기";color:var(--muted);font-size:10.5px;font-weight:600}.admin-accordion[open] summary{border-bottom:1px solid var(--line)}.admin-accordion[open] summary::after{content:"접기"}.admin-section-body{display:grid;gap:14px;padding:16px}.tabbar{display:flex;gap:7px;margin:0 0 16px;padding:2px 0 12px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tabbar .tabbtn{flex:0 0 auto;min-height:34px;padding:6px 12px;border:0;border-radius:999px;background:#eeeef0;color:#55555a;font-size:11.5px;font-weight:600}.tabbar .tabbtn.active{background:var(--ink);color:#fff}.tabbar .tabbtn:hover{filter:none;background:#e3e3e7}.tabbar .tabbtn.active:hover{background:var(--ink)}
.admin-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.admin-field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-field{min-width:0;display:grid;gap:6px}.admin-field>span{color:var(--muted);font-size:11px;font-weight:650}.admin-field.wide{grid-column:1/-1}.admin-option-list{display:grid;gap:11px}.admin-option-row{display:grid;gap:11px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-option-row.is-empty{border-style:dashed}.admin-option-row-title{font-size:12px;font-weight:700}.admin-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:15px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(0,0,0,.1);backdrop-filter:blur(18px)}.dealership-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.dealership-detail-grid .full{grid-column:1/-1}.dealer-used-upload{display:grid;gap:8px}.dealer-used-upload-preview{min-height:96px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--line-strong);border-radius:13px;background:var(--surface-soft);color:var(--muted);font-size:11px}.dealer-used-upload-preview img{width:100%;max-height:220px;object-fit:cover}
.dealer-list-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.55fr);gap:8px;margin-bottom:5px}.dealer-list-empty{display:none;padding:18px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:12px}.vehicle-image-preview{min-height:150px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);color:var(--muted);font-size:11px}.vehicle-image-preview img{display:block;width:100%;max-height:300px;object-fit:contain;background:#fff}.admin-danger-zone{margin-top:18px;padding:16px;border:1px solid rgba(215,0,21,.18);border-radius:18px;background:rgba(255,59,48,.045)}.admin-danger-zone h3{margin:0 0 5px;color:var(--red)}.color-editor{display:grid;gap:10px}.color-editor-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}.color-editor-row{display:grid;grid-template-columns:44px minmax(120px,1fr) repeat(3,minmax(58px,.5fr)) minmax(80px,.65fr) minmax(95px,.75fr) auto;gap:7px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.color-editor-row.interior{grid-template-columns:44px minmax(130px,1fr) minmax(130px,1fr) minmax(80px,.65fr) minmax(100px,.75fr) auto}.color-editor-row label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:650}.color-swatch{width:40px;height:40px;padding:2px;border-radius:10px}.color-editor-add{justify-self:start}.settings-group-panel{display:none}.settings-group-panel.active{display:grid;gap:10px}
.admin-login-card{max-width:450px;margin:64px auto;padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 28px 70px rgba(25,42,70,.12)}.admin-login-intro{margin-bottom:22px}.admin-login-intro .eyebrow{display:block;margin-bottom:7px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em}.admin-login-intro h1{margin:0;font-size:32px;letter-spacing:-.05em}.admin-login-intro p{margin:7px 0 0;color:var(--muted)}.field-label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.password-field{position:relative}.password-field input{padding-right:70px}.password-field .password-toggle{position:absolute;right:5px;top:5px;min-height:34px;padding:0 10px;border-radius:9px;background:#f0f0f2;color:var(--accent);font-size:11px}.ops-login-shell{min-height:calc(100vh - 110px);display:grid;place-items:center;padding:28px 16px}.ops-login-shell .admin-login-card{width:min(450px,100%);margin:0}.ops-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}.ops-login-brand .brand-mark{width:42px;height:42px;overflow:hidden;border-radius:12px}.ops-login-brand .brand-mark img{width:100%;height:100%;object-fit:cover}.ops-login-brand strong,.ops-login-brand small{display:block}.ops-login-brand small{color:var(--muted);font-size:10px}.ops-login-foot{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:10px}.ops-login-foot i{width:4px;height:4px;border-radius:50%;background:#c7c7cc}

.v4-mobile-head,.v4-tabbar,.v4-sheet,.v4-sheet-backdrop { display:none; }
.v4-public { position:relative; z-index:1; min-height:100vh; padding:18px 22px 48px; }
.v4-public-head { position:sticky; top:12px; z-index:30; max-width:1180px; min-height:62px; margin:0 auto 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:9px 12px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.8); box-shadow:var(--shadow); backdrop-filter:saturate(180%) blur(24px); }
.v4-public-head .v4-brand { padding:0; }.v4-public-head nav{display:flex;gap:6px}.v4-public-head nav a{padding:8px 12px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:600}.v4-public-head nav a.active{background:#1d1d1f;color:#fff}.v4-public-main{max-width:1180px;margin:0 auto}

@media (max-width:1080px) {
  :root { --sidebar:224px; }
  .command-actions { grid-template-columns:1fr 1fr; }
  .sheet-stats { grid-template-columns:1fr 1fr; }
}

@media (max-width:820px) {
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); overflow-x:hidden; }
  body::before { display:none; }
  .v4-sidebar,.v4-content-head { display:none; }
  .v4-main { margin:0; padding:calc(76px + env(safe-area-inset-top)) 14px 22px; }
  .v4-mobile-head { position:fixed; inset:0 0 auto; z-index:45; min-height:calc(64px + env(safe-area-inset-top)); display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:calc(9px + env(safe-area-inset-top)) 16px 9px; border-bottom:1px solid var(--line); background:rgba(247,247,249,.88); backdrop-filter:saturate(180%) blur(24px); }
  .v4-mobile-brand { min-width:0; display:flex; align-items:center; gap:10px; color:var(--ink); }.v4-mobile-brand .v4-brand-mark{width:38px;height:38px;border-radius:11px}.v4-mobile-brand>span:last-child{min-width:0}.v4-mobile-brand small,.v4-mobile-brand strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v4-mobile-brand small{color:var(--accent);font-size:8.5px;font-weight:750;letter-spacing:.1em}.v4-mobile-brand strong{font-size:17px;line-height:1.15;letter-spacing:-.045em}.v4-mobile-head>.v4-avatar{width:36px;height:36px}
  .v4-tabbar { position:fixed; inset:auto 0 0; z-index:70; height:calc(64px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(5,1fr); padding:4px 5px env(safe-area-inset-bottom); border-top:1px solid var(--line); background:rgba(249,249,251,.91); backdrop-filter:saturate(180%) blur(28px); }
  .v4-tabbar .v4-tab { min-width:0; min-height:58px; height:58px; display:flex; flex-direction:column; justify-content:center; gap:2px; margin:0; padding:3px 1px; border:0; border-radius:9px; background:transparent; box-shadow:none; color:#8e8e93; font-size:9.5px; font-weight:600; }
  .v4-tabbar .v4-tab svg { width:22px; height:22px; }.v4-tabbar .v4-tab.active{color:var(--accent);background:transparent}.v4-tabbar button.v4-tab{font-family:inherit}
  .v4-sheet-backdrop { position:fixed; inset:0; z-index:78; display:block; pointer-events:none; opacity:0; background:rgba(0,0,0,.28); transition:opacity .28s ease; }
  .v4-sheet { position:fixed; z-index:79; inset:auto 8px calc(8px + env(safe-area-inset-bottom)); max-height:min(72vh,620px); display:block; overflow:auto; padding:8px 14px 18px; border:1px solid rgba(255,255,255,.8); border-radius:25px; background:rgba(249,249,251,.96); box-shadow:0 24px 60px rgba(0,0,0,.22); transform:translateY(calc(100% + 30px)); transition:transform .32s cubic-bezier(.22,.8,.22,1); backdrop-filter:blur(30px); }
  .v4-sheet-handle { width:38px;height:5px;margin:0 auto 8px;border-radius:99px;background:#d1d1d6}.v4-sheet header{position:sticky;top:-8px;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:8px 2px 10px;background:rgba(249,249,251,.96)}.v4-sheet header strong{font-size:20px;letter-spacing:-.04em}.v4-sheet nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v4-sheet .v4-nav-link{min-height:50px;margin:0;border:1px solid var(--line);background:#fff}.v4-sheet .v4-nav-link.active{color:var(--accent);border-color:rgba(0,113,227,.18);background:var(--accent-soft)}
  .v4-sheet-open { overflow:hidden; }.v4-sheet-open .v4-sheet-backdrop{opacity:1;pointer-events:auto}.v4-sheet-open .v4-sheet{transform:translateY(0)}
  .grid,.command-center { display:block; }.grid>*+*,.command-center>*+*{margin-top:12px}
  .card,.command-hero,.command-section { padding:18px; border-radius:20px; box-shadow:0 8px 24px rgba(0,0,0,.055); }
  .command-hero { padding:24px 19px 18px; border-radius:22px; }.command-hero h2{font-size:30px}.command-hero p{font-size:12.5px;max-width:82%}.command-live{position:static;width:max-content;margin-top:16px;padding:6px 9px;font-size:10px}.command-metrics{grid-template-columns:1fr;margin-top:18px}.command-metrics>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 14px}.command-metrics span{grid-column:1}.command-metrics strong{grid-column:2;grid-row:1/3;text-align:right;font-size:20px}.command-metrics small{grid-column:1}
  .command-grid { display:grid; grid-template-columns:1fr; gap:10px; }.bot-tile{min-height:94px;grid-template-columns:48px minmax(0,1fr) auto;padding:15px;border-radius:18px;gap:12px}.bot-tile-icon{width:48px;height:48px;border-radius:14px;font-size:17px}.bot-tile-copy strong{font-size:17px}.bot-tile b{display:none}.bot-tile-state{font-size:10px}
  .command-actions { grid-template-columns:1fr 1fr; gap:8px; }.command-actions a{min-height:96px;grid-template-columns:36px minmax(0,1fr);padding:12px;border-radius:15px}.command-action-icon{width:36px;height:36px;border-radius:11px}.command-actions b{display:none}.command-actions small{white-space:normal;line-height:1.2}
  .sheet-stats { grid-template-columns:1fr 1fr; gap:8px; }.sheet-stats>div{padding:12px}
  .row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:12px; padding:12px 0; }.row>strong{text-align:right}
  .toolbar,.grid-form { grid-template-columns:1fr; }.toolbar{display:grid}.toolbar>*{width:100%}.grid-form .full{grid-column:1}.actions.full{display:grid;grid-template-columns:1fr}.actions.full>*{width:100%}
  .user-hero,.workspace-grid,.bank-workspace,.dealer-workspace{grid-template-columns:1fr}.user-stats,.bank-summary-strip{grid-template-columns:1fr 1fr}.dealer-list{max-height:330px}.dealer-list-tools{grid-template-columns:1fr}.admin-field-grid,.admin-field-grid.three,.dealership-detail-grid{grid-template-columns:1fr}.admin-field.wide,.dealership-detail-grid .full{grid-column:1}.admin-save-bar{bottom:76px;display:grid;grid-template-columns:1fr;padding:11px}.admin-save-bar>*{width:100%;max-width:none!important}.color-editor-row,.color-editor-row.interior{grid-template-columns:44px minmax(0,1fr)}.color-editor-row label{grid-column:2}.color-editor-row .color-swatch{grid-row:1;grid-column:1}.tabbar{margin-left:-2px;margin-right:-2px}.ops-login-shell{min-height:calc(100vh - 128px);padding:18px 0}.admin-login-card{margin:20px auto;padding:22px;border-radius:21px}
  .table-wrap { border-radius:14px; }.table-wrap::after{content:"좌우로 밀어 더 보기";position:sticky;left:12px;display:inline-block;padding:7px 0 9px;color:var(--faint);font-size:9px}th,td{min-width:120px;padding:11px 12px}
  .v4-public { padding:0 0 calc(72px + env(safe-area-inset-bottom)); }.v4-public-head{top:0;min-height:calc(64px + env(safe-area-inset-top));margin:0;padding:calc(9px + env(safe-area-inset-top)) 14px 9px;border-width:0 0 1px;border-radius:0;box-shadow:none;background:rgba(247,247,249,.92)}.v4-public-head .v4-brand-mark{width:36px;height:36px}.v4-public-head .v4-brand small{display:none}.v4-public-head nav{position:fixed;inset:auto 0 0;z-index:70;height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:4px 6px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(249,249,251,.92);backdrop-filter:blur(24px)}.v4-public-head nav a{display:grid;place-items:center;padding:0;color:var(--faint);font-size:11px}.v4-public-head nav a.active{background:transparent;color:var(--accent)}.v4-public-main{padding:14px}
}

.dealer-list { max-height:none; overflow:visible; }

@media (max-width:390px) {
  .v4-main { padding-left:10px; padding-right:10px; }.card,.command-section{padding:15px}.command-actions{grid-template-columns:1fr}.sheet-stats,.user-stats,.bank-summary-strip{grid-template-columns:1fr}.v4-sheet nav{grid-template-columns:1fr}.command-hero p{max-width:100%}.bot-tile-state{display:none}
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important} }
