:root{--ink:#23382f;--muted:#6a7771;--accent:#176c59;--line:#dde5e0;--paper:#fff;--bg:#f5f7f4;--soft:#edf4ef;--warn:#8e5a22;font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.65}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{padding:9px 14px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);cursor:pointer;font-weight:600}button:hover:not(:disabled){background:var(--soft);border-color:#a7bfb3}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover:not(:disabled){background:#105443;color:white}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #459781;outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;line-height:1.3;letter-spacing:-1px;margin-bottom:8px}h2{font-size:18px;letter-spacing:-.4px;margin-bottom:18px}h3{font-size:15px;margin-bottom:6px}h4{font-size:14px;margin-bottom:8px}p{color:var(--muted);margin-bottom:14px}small,.muted{font-size:12px;color:var(--muted);font-weight:400}small{display:block}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:1.3px;margin-bottom:9px;color:var(--accent)}
header{height:76px;display:flex;align-items:center;gap:20px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1320px)/2))}.brand{font-size:26px;font-weight:800;letter-spacing:-1.2px;text-decoration:none;color:var(--ink);display:flex;gap:12px;align-items:center}.brand span{font-size:12px;letter-spacing:0;font-weight:500;color:var(--muted);padding-left:12px;border-left:1px solid var(--line)}.site-link{margin-left:auto;font-size:12px;text-decoration:none;color:var(--muted)}#logout{font-size:12px;min-height:36px;padding:6px 12px}
main{max-width:1376px;margin:auto;padding:32px 28px 72px}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;z-index:100;background:var(--paper)}.skip-link:focus{top:12px}.login{max-width:460px;margin:70px auto}.login h1{font-size:26px}.login form{margin-top:28px}.login .primary{width:100%}
.admin-layout{display:grid;grid-template-columns:184px minmax(0,1fr);gap:40px;align-items:start}.admin-nav{position:sticky;top:28px;display:flex;flex-direction:column;gap:4px}.admin-nav>a{padding:11px 14px;text-decoration:none;border-radius:8px;color:#53665c;font-size:14px;font-weight:600}.admin-nav>a[aria-current=page]{color:var(--accent);background:#e5efe8}.admin-nav>a:hover{background:#eaf0eb}.nav-group{font-size:11px;color:#859188;margin:22px 14px 7px}.nav-group:first-child{margin-top:0}.nav-help{margin:34px 14px 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.nav-help a{display:inline-block;margin-top:5px;text-decoration:none}.admin-content{min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p:last-child{margin:0;font-size:13px}.admin-label{font-size:11px;border:1px solid var(--line);padding:5px 10px;border-radius:5px;color:var(--muted);white-space:nowrap}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-heading h2{margin:0}.subtle-tag{font-size:10px;color:var(--muted);padding:3px 7px;background:var(--bg);border-radius:4px}.section-lead{font-size:13px;line-height:1.8;max-width:760px}
.overview-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#1c493a;color:white;border-radius:12px;padding:26px 28px}.overview-banner .eyebrow{color:#b7dac4;font-size:10px}.overview-banner h2{font-size:23px;margin-bottom:7px;letter-spacing:-.8px}.overview-banner p{color:#c9ded1;font-size:12px;margin:0;max-width:600px}.overview-banner button{flex-shrink:0;background:transparent;border-color:#6b9683;color:#fff;font-size:12px}.overview-banner button:hover:not(:disabled){background:#305b4c}
.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 26px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.overview-metric{padding:19px 22px;border-right:1px solid var(--line)}.overview-metric:last-child{border:0}.overview-metric>span{display:block;font-size:12px;color:var(--muted)}.overview-metric>strong{display:block;font-size:25px;letter-spacing:-.6px;margin-top:5px;font-variant-numeric:tabular-nums}.overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px}.next-action{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:17px 0;border-bottom:1px solid #edf1ed}.next-action:first-child{padding-top:0}.next-action:last-child{border:0;padding-bottom:0}.next-action p{font-size:12px;margin:0;line-height:1.7}.next-action h3{font-size:14px}.next-action button{white-space:nowrap;flex-shrink:0;font-size:12px}.quick-actions{display:grid;gap:0}.quick-actions a{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid #edf1ed}.quick-actions a:first-child{padding-top:0}.quick-actions a:last-child{border:0;padding-bottom:0}.quick-actions strong{display:flex;justify-content:space-between;font-size:14px;color:var(--ink)}.quick-actions strong span{color:var(--accent)}.quick-actions small{margin-top:4px}
.source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.source-status{padding:14px;border:1px solid var(--line);border-radius:8px;min-width:0}.source-status>div{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;align-items:center}.source-status strong{font-size:13px}.source-status small{font-size:10px;margin-top:7px}.source-status details{font-size:11px;margin-top:8px}.source-status details p{overflow-wrap:anywhere;margin:7px 0 0}.status-tag{display:inline-block;font-size:11px;font-weight:600;line-height:1.5;padding:4px 8px;border-radius:5px;white-space:nowrap}.status-tag.good{background:#e8f4ec;color:#276b48}.status-tag.attention{background:#fff3e4;color:#8e5a22}.status-tag.neutral{background:#eef1f2;color:#697780}
label{display:block;margin-bottom:16px;font-weight:600;font-size:13px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cdd8d1;border-radius:7px;padding:10px 12px;margin-top:6px;color:var(--ink);background:#fff}input:read-only{background:var(--bg)}textarea{resize:vertical}label small{margin-top:6px;font-size:11px;line-height:1.7}.check{display:flex;align-items:center;gap:9px;font-weight:500}.check input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--accent)}.notice{font-size:12px;padding:12px 14px;background:#f1f5ef;color:#526b58;border-radius:7px}.error-detail{color:#a23f32;font-size:12px;overflow-wrap:anywhere}
.provider-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 28px}.provider-cards button{text-align:left;padding:17px 15px;display:flex;flex-direction:column;align-items:start;gap:10px;background:#fff;border-radius:10px}.provider-cards button strong{font-size:15px}.provider-cards button small{font-size:11px;line-height:1.65}.provider-cards button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f2f8f4}.provider-cards .status-tag{font-size:10px}.provider-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.provider-heading h2{margin:0;font-size:20px}.provider-heading label{margin:0;min-width:200px;font-size:11px;color:var(--muted)}.provider-heading select{font-size:12px}
.connection-steps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.step-heading{display:flex;gap:12px;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:16px}.step-heading>span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;font-size:12px}.step-heading h2{font-size:16px;margin:0 0 4px}.step-heading p{font-size:11px;margin:0}.advanced{border:1px solid var(--line);border-radius:8px;padding:13px 14px;margin:20px 0}.advanced>summary{font-size:12px;color:#52695b;font-weight:600}.advanced[open]>summary{margin-bottom:18px}summary{cursor:pointer}#api-settings h3{font-size:14px}#api-settings form>p{font-size:12px}#api-settings input[type=checkbox]{display:inline-block;width:18px;height:18px;margin:0 0 0 10px;vertical-align:middle;accent-color:var(--accent)}#api-settings form>a{display:block;margin:12px 0;font-size:12px}#api-settings ul{font-size:12px;padding-left:18px;max-height:240px;overflow:auto}
.toolbar-panel{display:flex;gap:20px;align-items:center;justify-content:space-between;background:#eaf2ed;border:1px solid #d9e6dc;border-radius:10px;padding:18px 22px;margin-bottom:20px}.toolbar-panel p{font-size:12px;margin:4px 0 0}.toolbar-panel button{flex-shrink:0;font-size:12px}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.filter-chips button{font-size:11px;min-height:34px;padding:6px 10px}.filter-chips button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}
.search{display:flex;gap:8px;align-items:center}.search input{margin:0;flex:1}.search select{width:220px;margin:0;font-size:12px}.search button{white-space:nowrap}.deals-panel{padding:20px}#counts{margin:14px 0 8px;font-size:11px}.deal{border-bottom:1px solid var(--line);overflow-wrap:anywhere}.deal:last-child{border:0}.deal-editor>summary{display:flex;align-items:center;gap:14px;padding:19px 0;list-style:none}.deal-editor>summary::-webkit-details-marker{display:none}.deal-editor>summary:hover{color:var(--accent)}.deal-heading{min-width:0;flex:1}.deal-heading small{font-size:10px;margin-bottom:5px}.deal-heading h3{font-size:14px;margin:0;font-weight:600;line-height:1.65}.edit-label{font-size:11px;white-space:nowrap;color:var(--accent)}.edit-label::after{content:' +';margin-left:6px}.deal-editor[open] .edit-label::after{content:' −'}.deal-editor-body{padding:0 16px 22px;border-top:1px solid #eef2ee;background:#fbfcfa}.deal-editor-body>.notice{margin-top:16px}.deal-references{display:flex;gap:18px;margin:16px 0;font-size:12px}.link-method{border-top:1px solid var(--line);padding:20px 0}.link-method label,.manual-method label{font-size:12px}.manual-method{border-top:1px solid var(--line);padding:18px 0}.manual-method>summary{font-size:13px;font-weight:600}.manual-method[open]>summary{margin-bottom:16px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{font-size:12px}.danger-link{color:#9a5145}.preview{font-size:11px;background:#eaf0ea;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px}.pager button{font-size:12px}
.segmented{display:flex;gap:4px;background:#eef2ee;padding:4px;border-radius:8px;width:fit-content;margin:22px 0}.segmented button{font-size:12px;border-color:transparent;background:transparent;min-height:36px}.segmented button[aria-pressed=true]{background:#fff;border-color:var(--line);color:var(--accent)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#library-result{margin-top:16px;font-size:12px;overflow-wrap:anywhere}#library-list .deal{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0;font-size:12px}#library-list .deal>p{margin:0}#library-list .deal>p:empty{display:none}#library-list button{margin-left:auto;font-size:11px}
.dashboard-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dashboard-heading h2{margin-bottom:6px}.dashboard-heading p{font-size:12px}.dashboard-controls{display:flex;gap:10px;align-items:end}.dashboard-controls label{margin:0;min-width:125px;font-size:11px}.dashboard-controls button{font-size:12px;white-space:nowrap}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.metric{border:1px solid var(--line);border-radius:8px;padding:18px;background:#f8faf7}.metric span{display:block;font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:22px;margin-top:6px;overflow-wrap:anywhere;letter-spacing:-.6px}.metric-help{font-size:11px;color:var(--muted);margin-bottom:24px}.metric-help p{margin:10px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin:28px 0}.dashboard-grid h3{font-size:13px}.click-chart{height:170px;display:flex;gap:3px;align-items:end;border-bottom:1px solid var(--line);margin:16px 0}.click-bar{flex:1;min-width:1px;background:var(--accent);border-radius:3px 3px 0 0}.chart-empty{align-items:center;justify-content:center;background:#fafbf9;border:1px dashed var(--line);border-radius:8px}.empty-state{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}.table-scroll{max-width:100%;overflow-x:auto;margin:12px 0 24px}.table-scroll table{width:100%;border-collapse:collapse;font-size:12px}.table-scroll th,.table-scroll td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.table-scroll th{color:#52645a;background:#f5f8f6}.table-scroll button{font-size:11px;min-height:34px}.reward-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.reward-form label{margin:0}.recent-title{font-size:14px;margin-top:28px}#dashboard-status{font-size:11px}
#message{position:sticky;top:12px;z-index:20;background:#e5f4e9;border:1px solid #b8d7c4;color:#245a3a;border-radius:8px;padding:13px 18px;margin-bottom:20px;font-size:13px;box-shadow:0 4px 20px #1636250d}#message:empty{display:none}#message.error{background:#fff1ed;border-color:#e4c5bc;color:#8e3d2a}#audit,#conversion-jobs{font-size:12px;padding-left:20px;color:var(--muted);overflow-wrap:anywhere}#audit li,#conversion-jobs li{padding:9px 0;border-bottom:1px solid #eef2ed}#conversion-summary{font-size:12px}
@media(max-width:1150px){.admin-layout{gap:24px;grid-template-columns:160px minmax(0,1fr)}.overview-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric{padding:16px}.overview-metric>strong{font-size:21px}.connection-steps{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:800px){header{height:64px;padding:0 18px;gap:14px}main{padding:20px 18px 48px}.admin-layout{display:block}.admin-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 26px}.admin-nav>a{text-align:center;padding:10px 6px;font-size:12px;background:#fff;border:1px solid var(--line)}.nav-group,.nav-help{display:none}.admin-label{display:none}.page-heading{margin-bottom:22px}h1{font-size:26px}.overview-banner{padding:22px;align-items:flex-start}.overview-banner h2{font-size:20px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric:nth-child(2){border-right:0}.overview-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.panel{padding:20px}.dashboard-heading{flex-direction:column}.field-grid{grid-template-columns:1fr}.search{flex-wrap:wrap}.search input{min-width:120px}.search select{flex-basis:100%;width:100%}.toolbar-panel{align-items:flex-start}.deal-editor>summary{flex-wrap:wrap;gap:8px}.deal-heading{flex-basis:100%}.edit-label{margin-left:auto}.deal-editor-body{padding:0 10px 18px}.source-status .status-tag{font-size:10px}.section-heading{flex-wrap:wrap}.page-heading p:last-child{font-size:12px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.overview-banner{display:block}.overview-banner button{margin-top:16px}.overview-metric>strong{font-size:23px}.overview-grid{gap:0}.next-action{align-items:flex-start;gap:12px}.next-action button{min-height:38px;padding:7px 10px;font-size:11px}.source-grid{grid-template-columns:1fr 1fr;gap:8px}.source-status{padding:11px}.source-status>div{display:block}.source-status .status-tag{margin-top:6px}.provider-cards{gap:8px}.provider-cards button{padding:13px 11px}.provider-cards button strong{font-size:13px}.provider-cards button small{font-size:10px}.provider-cards .status-tag{font-size:9px}.provider-heading{display:block}.provider-heading label{margin-top:14px}.toolbar-panel{display:block;padding:17px}.toolbar-panel button{margin-top:12px}.reward-form{grid-template-columns:1fr}.metric strong{font-size:19px}.panel{padding:18px}.site-link{font-size:11px}.brand{font-size:23px;gap:8px}.brand span{font-size:11px;padding-left:8px}#logout{font-size:11px;padding:6px 9px}.section-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin:18px 0}.market-grid .panel{margin:0;padding:20px}.market-grid form{display:flex;flex-direction:column;gap:12px}.market-grid label{display:flex;flex-direction:column;gap:5px}.market-grid input,.market-grid select,.market-grid textarea{width:100%;min-height:42px}.market-source{padding:16px 0;border-top:1px solid #ddd;overflow-wrap:anywhere}.market-source button{margin-right:8px}#deal-market{min-width:120px}
#market-feature-fields{border:1px solid #d8e1dc;border-radius:12px;padding:14px}#market-feature-fields label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:10px 0}#market-feature-fields input{width:18px;min-height:18px;height:18px}#market-feature-fields p{font-size:13px;color:#54655c}
