:root{color-scheme:light;--navy:#121212;--blue:#2864dc;--blue-dark:#1e4fb3;--bg:#f3f6fa;--line:#dfe5ee;--muted:#667085;--green:#1c9b62;--amber:#d98b18;--red:#d64545;--shadow:0 10px 30px rgba(23,36,61,.08);--color-primary:var(--blue);--color-border:var(--line);--color-muted:var(--muted);--color-danger:var(--red);--color-text:#172033;--color-info-soft:rgba(40,100,220,0.08);--radius-medium:10px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#172033;font-family:Arial,"Noto Sans KR",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.hidden,.is-hidden{display:none!important}
.topbar{height:66px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1240px)/2));box-shadow:0 2px 8px rgba(0,0,0,.12)}.brand{font-size:20px;font-weight:800;letter-spacing:.2px;display:flex;align-items:center;gap:6px;color:#00FF66!important}.brand svg{stroke:#00FF66}.top-actions{display:flex;align-items:center;gap:14px}.user-label{font-size:14px;color:#dce5f5}
.btn{border:0;border-radius:9px;padding:10px 16px;font-weight:700;background:var(--blue);color:#fff}.btn:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.small{padding:8px 12px;font-size:13px}.container{width:min(1240px,calc(100% - 32px));margin:32px auto 60px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.page-head h1{margin:0 0 7px;font-size:28px}.subtle{color:var(--muted);font-size:14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.field{height:42px;border:1px solid #cad3df;border-radius:9px;background:#fff;padding:0 13px;outline:none}.field:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,100,220,.12)}.search{min-width:300px;flex:1}.notice{border-radius:10px;padding:13px 15px;margin:16px 0;background:#fff;border:1px solid var(--line)}.notice.error{color:#a92f2f;background:#fff5f5;border-color:#f2cccc}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:238px}.profile-title{font-size:19px;font-weight:800;margin:0 0 5px}.profile-key{font-family:monospace;color:var(--muted);font-size:13px}.status{display:flex;gap:8px;align-items:center;margin:18px 0 12px;font-size:14px}.dot{width:9px;height:9px;border-radius:50%;background:var(--green)}.status.empty .dot{background:var(--amber)}.status.stale .dot,.status.error .dot{background:var(--red)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:5px 0 18px}.stat{background:#f7f9fc;border-radius:99px;padding:10px}.stat b{display:block;font-size:18px;margin-top:3px}.profile-card .btn{margin-top:auto;text-align:center;text-decoration:none}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:auto;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:1020px}th,td{padding:13px 12px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:middle;font-size:14px}th{background:#f7f9fc;color:#475467;white-space:nowrap}td.number,th.number{text-align:right}.product-cell{display:flex;align-items:center;gap:12px;min-width:330px}.thumb{width:58px;height:58px;object-fit:cover;border-radius:9px;background:#eef1f5}.product-name{font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{font-size:17px;font-weight:800;white-space:nowrap}.old-price{color:var(--muted);font-size:12px;text-decoration:line-through}.badge{display:inline-block;padding:4px 7px;border-radius:999px;background:#edf3ff;color:#2855a5;font-size:11px;font-weight:700}.link{color:var(--blue);font-weight:700;text-decoration:none}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px}.empty-state{text-align:center;padding:56px 20px;color:var(--muted)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#0c0c0e}
.login-card{width:min(420px,100%);background:rgba(18,18,18,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,102,0.18);border-radius:20px;padding:38px;box-shadow:0 24px 70px rgba(0,0,0,0.4),0 0 20px rgba(0,255,102,0.04);color:#e4e6eb}
.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}
.login-brand svg{filter:drop-shadow(0 0 4px rgba(0,255,102,0.4))}
.login-brand h1{margin:0;font-size:28px;font-weight:800;color:#00FF66;letter-spacing:1px;text-transform:uppercase}
.login-card .subtle{margin-bottom:28px;color:#8e8e93;font-size:14px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#8e8e93}
.login-card .form-group .field{width:100%;height:46px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:9px;color:#fff;padding:0 13px;outline:none}
.login-card .form-group .field:focus{border-color:#00FF66;box-shadow:0 0 0 3px rgba(0,255,102,0.15)}
.login-card .btn{width:100%;height:47px;margin-top:6px;background:#00FF66;color:#0c0c0e;border:0;border-radius:24px;font-weight:700;cursor:pointer;transition:all 0.3s ease}
.login-card .btn:hover{background:#00e65c;box-shadow:0 4px 14px rgba(0,255,102,0.4)}
.login-error{min-height:22px;color:#ff453a;font-size:13px;margin-top:12px}
@media(max-width:700px){.topbar{padding:0 16px}.user-label{display:none}.container{width:min(100% - 22px,1240px);margin-top:22px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:23px}.search{min-width:100%}.profile-grid{grid-template-columns:1fr}.table-wrap{background:transparent;border:0;box-shadow:none;overflow:visible}table,thead,tbody,tr,td{display:block;min-width:0}thead{display:none}tr{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:12px;padding:14px;box-shadow:var(--shadow)}td{border:0;padding:5px 0;text-align:left!important}td[data-label]::before{content:attr(data-label) ": ";color:var(--muted);font-size:12px}.product-cell{min-width:0}.product-cell::before{display:none}.login-card{padding:28px 22px}}

/* EPM_B04 Raw styles */
.raw-kicker { margin: 0 0 4px !important; color: var(--color-primary) !important; font-size: 0.8rem; font-weight: 900; letter-spacing: 0.1em; }
.raw-date { font-size: 1rem; }
#filter-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px; margin-bottom: 24px; }
.field--page-size { max-width: none; }
.price-input { position: relative; }
.price-input > span { position: absolute; top: 50%; left: 12px; z-index: 1; transform: translateY(-50%); color: var(--color-muted); font-weight: 800; pointer-events: none; }
.price-input .field { padding-left: 34px; width: 100%; }
.field-error { grid-column: 1 / -1; width: 100%; margin: 2px 0 0; color: var(--color-danger); font-size: 0.8rem; font-weight: 800; }
.raw-table { min-width: 900px; table-layout: fixed; }
.raw-table th:first-child { width: 62%; }
.raw-table th:nth-child(2) { width: 18%; }
.raw-table th:nth-child(3) { width: 20%; }
.product-cell { padding: 22px !important; }
.product-summary { display: flex; align-items: center; gap: 12px; }
.product-image { width: 64px; height: 64px; flex: 0 0 64px; border: 1px solid var(--color-border); border-radius: 10px; object-fit: cover; background: #f8fafc; }
.product-image-link { display: block; flex: 0 0 64px; border-radius: 10px; }
.product-image-link:hover .product-image, .product-image-link:focus-visible .product-image { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-info-soft); }
.product-image--empty { display: grid; place-items: center; color: #94a3b8; font-size: 0.7rem; }
.product-name { display: -webkit-box; overflow: hidden; color: var(--color-text); font-weight: 800; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-name:hover { color: var(--color-primary); text-decoration: underline; }
.product-meta { width: fit-content; margin-top: 6px; padding: 3px 8px; border-radius: 6px; background: #e7edf4; color: var(--color-muted); font-size: 0.76rem; font-weight: 800; }
.history-button { display: block; width: 100%; margin-top: 7px; padding: 5px 8px; border: 1px solid var(--color-border); border-radius: 7px; background: #fff; color: var(--color-primary); font-size: 0.74rem; font-weight: 800; cursor: pointer; }
.sparkline-wrap { position: relative; height: 100px; margin: 12px 0 0 76px; }
.sparkline-wrap canvas { width: 100% !important; height: 100px !important; }
.sparkline-wrap--empty { display: grid; place-items: center; border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: 0.8rem; }
.current-price-cell, .last-update-cell { vertical-align: middle !important; }
.current-price-cell .text-price { color: #ef174c; font-size: 1.15rem; font-weight: 900; }
.last-update-cell { color: var(--color-muted); font-size: 0.85rem; }
.history-button:hover, .history-button[aria-expanded="true"] { border-color: var(--color-primary); background: var(--color-info-soft); }
.history-row td { padding: 0 !important; background: #f8fbfd; }
.history-panel { padding: 20px; }
.history-panel__header { margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.history-panel__title { margin: 0; font-size: 1rem; }
.history-summary { display: flex; flex-wrap: wrap; gap: 8px; }
.history-summary span { padding: 5px 9px; border-radius: 999px; background: #fff; color: var(--color-muted); font-size: 0.75rem; font-weight: 800; }
.history-chart-wrap { position: relative; min-height: 280px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-medium); background: #fff; }
.history-chart-wrap canvas { width: 100% !important; height: 280px !important; }
.metric-stack { display: grid; gap: 3px; white-space: nowrap; }
.metric-stack small { color: var(--color-muted); }
.discount { color: var(--color-danger); font-weight: 900; }
@media (max-width: 760px) {
  #filter-form { display: grid; grid-template-columns: 1fr; }
  .field--price, .field--sort, .field--page-size { grid-column: 1; }
  .field--page-size { max-width: none; }
  .field--price { width: 100%; }
}

/* EPM_B04 TOP styles */
.top-kicker { margin: 0 0 4px !important; color: var(--color-primary) !important; font-size: 0.8rem; font-weight: 900; letter-spacing: 0.1em; }
.top-date { font-size: 1rem; }
.top-category-filter { margin: 0; padding: 14px 16px 16px; display: flex; flex-wrap: wrap; gap: 10px; border: 1px solid var(--color-border); border-radius: var(--radius-large); background: #fff; }
.top-category-filter legend { padding: 0 6px; color: var(--color-text); font-size: 0.85rem; font-weight: 900; }
.top-category-filter label { padding: 8px 11px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--color-border); border-radius: 999px; background: #f8fafc; font-size: 0.82rem; font-weight: 800; cursor: pointer; }
.top-category-filter label:has(input:checked) { border-color: var(--color-primary); background: var(--color-info-soft); color: var(--color-primary); }
.top-category-filter label:has(input:disabled) { border-color: var(--color-border); background: #f1f5f9; color: #94a3b8; opacity: 0.7; cursor: not-allowed; }
.top-category-filter input { margin: 0; accent-color: var(--color-primary); }
.top-grid { margin: 0; padding: 0; display: grid; gap: 20px; }
.top-category { padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-medium); background: #fff; box-shadow: var(--shadow); margin-bottom: 24px; }
.top-category__heading h2 { margin: 0; font-size: 1.05rem; }
.top-category__heading p { margin: 6px 0 0; color: var(--color-muted); font-size: 0.82rem; }
.top-category__list { margin: 14px 0 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.top-product-row { min-height: 46px; padding: 9px 12px; display: grid; grid-template-columns: 52px minmax(110px, 0.8fr) minmax(260px, 3fr) minmax(100px, 0.8fr) 82px; align-items: center; gap: 10px; border-radius: 9px; background: #f7f9fb; }
.top-product-row:has(.top-product-row__exclude) { grid-template-columns: 52px minmax(110px, 0.8fr) minmax(260px, 3fr) minmax(100px, 0.8fr) 82px 58px; }
.top-product-row__exclude, .top-excluded__restore { min-height: 30px; padding: 5px 10px; border: 1px solid #fca5a5; border-radius: 7px; background: #fff7f7; color: var(--color-danger); font: inherit; font-size: 0.76rem; font-weight: 900; cursor: pointer; }
.top-product-row__exclude:hover { background: #fee2e2; }
.top-product-row__rank, .top-product-row__price { color: var(--color-danger); font-weight: 900; }
.top-product-row__mall { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.top-product-row__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-product-row__price { text-align: right; white-space: nowrap; }
.top-product-row__link { color: var(--color-primary); font-size: 0.82rem; font-weight: 900; text-align: center; text-decoration: none; }
.top-product-row__link--disabled { color: var(--color-muted); }
.top-category__empty { margin: 14px 0 0; padding: 18px; border-radius: 9px; background: #f7f9fb; color: var(--color-muted); text-align: center; }
.top-excluded { margin-top: 16px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 9px; background: #fff; }
.top-excluded__heading { padding: 10px 12px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--color-border); background: #f8fafc; }
.top-excluded__heading h3 { margin: 0; font-size: 0.84rem; }
.top-excluded__badge { padding: 2px 6px; border-radius: 999px; background: var(--color-info-soft); color: var(--color-primary); font-size: 0.68rem; font-weight: 900; }
.top-excluded__list { margin: 0; padding: 0; list-style: none; }
.top-excluded__row { padding: 9px 12px; display: grid; grid-template-columns: minmax(110px, 0.8fr) minmax(260px, 3fr) minmax(100px, 0.8fr) 82px 58px; align-items: center; gap: 10px; border-top: 1px solid #edf1f5; font-size: 0.8rem; }
.top-excluded__row:first-child { border-top: 0; }
.top-excluded__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-excluded__price { color: var(--color-danger); text-align: right; white-space: nowrap; }
.top-excluded__link { color: var(--color-primary); font-weight: 900; text-align: center; text-decoration: none; }
.top-excluded__restore { border-color: #7dd3fc; background: #f0f9ff; color: var(--color-primary); }
.top-excluded__restore:hover { background: #e0f2fe; }
.top-excluded__empty { margin: 0; padding: 12px; color: var(--color-muted); font-size: 0.78rem; }
@media (max-width: 820px) {
  .top-product-row { grid-template-columns: 45px 1fr auto; }
  .top-product-row:has(.top-product-row__exclude) { grid-template-columns: 45px 1fr auto auto; }
  .top-product-row__name { grid-column: 2 / -1; grid-row: 2; white-space: normal; }
  .top-product-row__price { grid-column: 3; grid-row: 1; }
  .top-product-row__link { grid-column: 2 / -1; grid-row: 3; text-align: left; }
  .top-product-row__exclude { grid-column: 4; grid-row: 3; }
  .top-excluded__row { grid-template-columns: 1fr auto; }
  .top-excluded__name { grid-column: 1 / -1; white-space: normal; }
}

/* Profile category administration */
.profile-card .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.profile-card .actions .btn{margin-top:0;flex:1;min-width:82px}
.raw-nav{padding:7px 14px;border-right:1px solid var(--line);background:#f8f9fa;color:var(--color-text);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.raw-nav:last-child{border-right:0}.raw-nav.is-active{background:#e2e8f0;cursor:default}
.verification-badge{display:inline-flex;width:max-content;margin-right:7px;padding:2px 7px;border-radius:999px;background:#e8f5ee;color:#087443;font-size:11px;font-weight:900;vertical-align:middle}.verification-badge--unverified{background:#fff4d6;color:#9a5b00}.verification-badge--conflict{background:#fee2e2;color:#b42318}.verification-toolbar{margin:-12px 0 24px;display:flex;align-items:center;gap:10px}.verification-toolbar label{font-size:13px;font-weight:800}.verification-toolbar .field{width:180px}.top-product-row__name .verification-badge{margin-right:8px}
.observed-actions{margin-left:8px;display:inline-flex;flex-wrap:wrap;gap:5px}.observed-actions .history-button{margin-left:0}.observed-raw-link{text-align:center;text-decoration:none}
.seller-confirm-dialog{width:min(620px,calc(100% - 32px));padding:0;border:0;border-radius:15px;box-shadow:0 24px 70px rgba(23,36,61,.28)}.seller-confirm-dialog::backdrop{background:rgba(15,23,42,.48)}.seller-confirm-form{padding:22px;display:grid;gap:16px}.seller-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.seller-confirm-head strong{display:block;font-size:20px}.seller-confirm-head small{display:block;margin-top:5px;color:var(--muted)}.seller-confirm-head button{border:0;background:transparent;color:var(--muted);font-size:28px}.seller-confirm-form>label,.seller-confirm-grid label{display:grid;gap:6px;color:var(--color-text);font-size:13px;font-weight:800}.seller-confirm-form label small{color:var(--muted);font-weight:400}.seller-confirm-form .field{width:100%;color:var(--color-text);background:#fff}.seller-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seller-confirm-preview{padding:12px;border-radius:9px;background:#f7f9fc}.seller-confirm-preview span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.seller-confirm-preview a{overflow-wrap:anywhere;color:var(--blue);font-weight:800;text-decoration:none}.seller-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.seller-confirm-actions .btn{min-width:110px}@media(max-width:600px){.seller-confirm-grid{grid-template-columns:1fr}.seller-confirm-actions .btn{flex:1}}
.category-admin-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:20px;align-items:start}.category-table{min-width:760px}.category-form{padding:20px;display:grid;gap:14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow);position:sticky;top:20px}.category-form h2{margin:0}.category-form>label{display:grid;gap:6px;font-size:13px;font-weight:800}.category-form .field{width:100%}.category-form small{color:var(--muted);font-weight:400}.category-options{display:grid;gap:8px;font-size:13px}.category-options label{display:flex;align-items:center;gap:7px}
.category-form .button-row{display:flex;gap:8px}.category-preview{padding:12px;border-radius:9px;background:#f7f9fc;font-size:13px}.category-preview>strong{display:block;margin-bottom:8px}.category-preview div{padding:6px 0;border-top:1px solid var(--line)}.category-preview small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.category-admin-layout{grid-template-columns:1fr}.category-form{position:static}}
