@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@400;700&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--navy:#111d36;--navy-hover:#23385d;--blue:#4b6fea;--blue-deep:#123c7c;--bg:#f4f6fa;--border:#e3e8f1;--ink:#1e2b41;--muted:#8190a5;--white:#fff;--red:#ce4b58;--green:#158360;--amber:#ad7314;--shadow:0 4px 18px #24395507}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:13px Inter,'Noto Sans KR',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}a{color:#486bda;text-decoration:none}a:hover{text-decoration:underline}input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}input:focus,select:focus,textarea:focus{outline:2px solid #8fa7ff;outline-offset:1px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--navy);color:#adbcd4;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:10px;padding:24px 19px;font-size:20px;color:#fff;font-weight:800;letter-spacing:-.8px}.brandmark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#6ba5ff,#5368eb);display:grid;place-items:center;color:#fff}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#9fb6ed;margin-top:2px}.nav{padding:0 11px;overflow-y:auto;flex:1}.nav-group{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#7287ad;font-weight:800;margin:20px 10px 9px}.nav button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:9px;color:#aec0d9;padding:12px 13px;text-align:left;font-size:12px;font-weight:700;margin:2px 0}.nav button:hover,.nav button.active{background:#344e80;color:#fff}.nav button.active{box-shadow:inset 3px 0 #83adff}.nav .glyph{display:inline-grid;place-items:center;width:16px;font-size:15px}.nav .count{margin-left:auto;background:#455d88;border-radius:6px;padding:2px 6px;font-size:10px}.user-panel{border-top:1px solid #ffffff1e;padding:16px;display:flex;align-items:center;gap:9px}.avatar{width:33px;height:33px;border-radius:9px;background:#3d5d8e;display:grid;place-items:center;color:white;font-weight:800}.user-panel small{display:block;color:#90a7ce;font-size:10px;margin-top:3px}.shell{margin-left:230px}.topbar{height:65px;padding:0 32px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.breadcrumb{flex:1;color:#94a1b6;font-size:12px}.breadcrumb strong{color:#455575}.topnote{border-radius:8px;border:1px solid var(--border);background:#f6f8fc;color:#93a0b4;padding:9px 13px;font-size:11px}.page{max-width:1760px;padding:30px 34px 65px;margin:0 auto}.view{display:none}.view.active{display:block}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.heading h1{font-size:25px;margin:3px 0 9px;letter-spacing:-.75px}.heading .eyebrow{font-size:10px;color:#5476e6;font-weight:800;letter-spacing:1.15px}.sub{font-size:12px;color:#8d9bb0;line-height:1.7}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;color:#526580;border-radius:9px;padding:10px 13px;font-weight:700;font-size:12px;white-space:nowrap;box-shadow:var(--shadow)}.btn:hover:not(:disabled){border-color:#a9baf3}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.danger{color:var(--red);background:#fff8f9;border-color:#f4d6dc}.btn.small{padding:8px 11px;font-size:11px}.btn.subtle{background:#f6f8fc}.card{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:18px 19px;min-height:126px}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#7d8ca2;font-weight:700;font-size:12px}.stat-icon{height:30px;width:30px;display:grid;place-items:center;background:#f0f4ff;border-radius:9px;color:#5174e4;font-size:15px}.stat strong{display:block;font-size:27px;margin-top:17px;letter-spacing:-1px}.stat small{color:#a3afbf;font-size:11px}.stat.clickable{cursor:pointer}.stat.clickable:hover{border-color:#aebff8}.dashboard-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid var(--border)}.panel-head h3{font-size:14px;margin:0}.panel-body{padding:19px}.stack{display:flex;flex-direction:column;gap:11px}.progress-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.progress{height:7px;background:#edf1fa;border-radius:8px;overflow:hidden;margin-top:9px}.progress span{display:block;height:100%;background:#5578ed;border-radius:8px}.table-card{overflow:hidden;margin-top:17px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:15px 18px}.toolbar h3{margin:0 auto 0 0;font-size:14px}.field{background:#fff;border:1px solid #dfe6f0;border-radius:8px;padding:10px 11px;min-width:100px;color:#4c5e7a;font-size:12px}.field.search{width:246px}.bulkbar{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #eef1f6;background:#fbfcff;flex-wrap:wrap}.bulkbar .hint{font-size:11px;color:#9aa6b8;margin-left:auto}.table-scroller{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;background:#fafbfe;font-size:11px;color:#8595aa;border-bottom:1px solid var(--border);padding:14px 13px;font-weight:700}td{padding:14px 13px;border-bottom:1px solid #eff2f7;color:#62728b;font-size:12px}tbody tr:hover{background:#fafbff}tbody tr:last-child td{border-bottom:0}.item-title{font-weight:800;color:#283a56;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subline{font-size:10px;color:#9baabd;margin-top:5px}.item-title a{color:inherit}.link-button{border:0;background:transparent;color:#4a6fe4;font-weight:800;padding:0}.link-button:hover{text-decoration:underline}.rank-trigger{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#223b69}.rank-main{font-weight:800;color:#173a76;line-height:1}.rank-delta{font-size:10px;font-weight:800;line-height:1}.rank-delta.up{color:#e14a52}.rank-delta.down{color:#436de0}.rank-delta.flat{color:#8796aa}.action-edit{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:8px 10px;border:1px solid #dfe6f0;border-radius:8px;background:#fff;color:#50637f;font-size:11px;font-weight:800}.action-edit:hover{border-color:#b8c6de;background:#f8fbff}.modal.wide{width:min(1180px,100%)}.modal.medium{width:min(880px,100%)}.modal.compact{width:min(760px,100%)}.report-headline{font-size:12px;color:#8a99ad;line-height:1.7;margin:-4px 0 12px}.report-note{font-size:11px;color:#cb8a35;text-align:right;margin:4px 0 10px}.form-note{grid-column:1/-1;font-size:11px;color:#95a3b6;line-height:1.7}.field.readonly{background:#f8fafc;color:#8a97ab}.footer-split{display:flex;justify-content:space-between;gap:8px;width:100%}.footer-split .right{display:flex;gap:8px}.mini-check{display:flex;align-items:center;gap:6px;font-size:12px;color:#697b95;margin-top:9px}.textarea{min-height:94px}.tag{display:inline-flex;align-items:center;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800}.tag.normal{background:#e6f8f0;color:var(--green)}.tag.soon{background:#fff0ee;color:#c65450}.tag.wait{background:#fff5e4;color:#b0771c}.tag.ended{background:#edf0f6;color:#8190a5}.tag.role{background:#edf2ff;color:#4d6ed0}.footerbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--border);font-size:11px;color:#8999ae}.pager{display:flex;gap:5px}.pager button{border:1px solid var(--border);border-radius:6px;background:white;padding:7px 9px;color:#62738e}.pager button.selected{background:var(--blue);color:#fff}.muted-box{padding:16px;background:#f2f6ff;color:#7184a5;border:1px solid #dfebff;border-radius:9px;font-size:11px;line-height:1.75}.empty{text-align:center;padding:50px 15px;color:#97a4b8}.empty b{display:block;font-size:14px;color:#566681;margin-bottom:7px}.simple-list{padding:0;margin:0;list-style:none}.simple-list li{padding:13px 0;border-bottom:1px solid #eef1f6;display:flex;justify-content:space-between;gap:12px}.simple-list li:last-child{border:0}.modal-backdrop{position:fixed;inset:0;background:#0c17309c;display:none;align-items:center;justify-content:center;padding:20px;z-index:99}.modal-backdrop.open{display:flex}.modal{width:min(700px,100%);background:#fff;border-radius:16px;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 20px 80px #0c173052}.modal-header{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.modal-header h2{font-size:17px;margin:0}.modal-body{padding:22px 23px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding:15px 23px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.formrow label{display:block;font-weight:700;color:#596a85;margin:0 0 8px;font-size:12px}.formrow .field{width:100%}.formrow.wide{grid-column:1/-1}.formrow textarea{resize:vertical;min-height:90px}.detail-list{margin:0}.detail-list div{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:20px}.detail-list dt{color:#93a0b3}.detail-list dd{margin:0;text-align:right;font-weight:700;color:#4b5870;overflow-wrap:anywhere}.toast{position:fixed;bottom:22px;right:22px;background:#1c2b47;color:white;border-radius:10px;padding:13px 17px;box-shadow:0 8px 35px #13274355;display:none;z-index:120}.toast.show{display:block}.mob-menu{display:none}.layer{display:none}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tabs{display:flex;gap:5px;padding:0 18px;border-bottom:1px solid var(--border);overflow:auto}.tabs button{border:0;background:none;color:#8291a7;font-weight:700;padding:15px 12px;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.selected{color:#4d70e5;border-color:#4d70e5}.report-shell{max-width:1250px;margin:0 auto;padding:22px 24px 46px}.report-top{padding:17px 20px;display:flex;align-items:center;gap:12px}.report-top h1{font-size:18px;margin:0 0 4px}.report-hero{padding:12px;display:grid;grid-template-columns:138px 1fr;gap:12px}.photo-placeholder{background:#f7f9fc;color:#c7d1df;border:1px solid #e2e8ef;border-radius:11px;display:grid;place-items:center;min-height:146px;font-size:38px}.report-info{border:1px solid var(--border);border-radius:11px;overflow:hidden}.report-info h2{padding:11px 14px;margin:0;font-size:14px;line-height:1.6;border-bottom:1px solid var(--border)}.report-info table td{padding:5px 12px;border-bottom:1px solid var(--border)}.report-info table td:first-child{background:#fafbfd;width:105px;color:#64748d;font-weight:700}.report-info table tr:last-child td{border:0}.six-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:10px 0}.report-metric{padding:13px;border-radius:10px;border:1px solid var(--border);background:#fafbfd}.report-metric span{font-size:11px;color:#71829b;font-weight:700}.report-metric strong{display:block;font-size:17px;color:#24416d;margin-top:10px}.rank-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px}.rank-kpis>div{padding:14px;text-align:center;border-right:1px solid var(--border)}.rank-kpis>div:last-child{border:0}.rank-kpis span{font-size:12px;color:#73829b;font-weight:700}.rank-kpis strong{font-size:26px;color:#103a78;display:block;margin-top:7px}.rank-kpis small{display:block;font-size:10px;color:#8d9baf;margin-top:6px}.report-bottom{display:grid;grid-template-columns:1.28fr .92fr;gap:12px;margin-top:12px}.report-panel{overflow:hidden}.report-panel .panel-body{padding:13px 15px}.chartsvg{width:100%;height:auto;display:block}.rank-positive{color:#d64d54;font-weight:800}.rank-negative{color:#416bdd;font-weight:800}.rank-flat{color:#8695ab}.report-table-wrap{max-height:330px;overflow:auto}.report-table-wrap th{position:sticky;top:0}.report-table-wrap td,.report-table-wrap th{padding:11px;font-size:11px}.report-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-controls .btn{font-size:11px}.helper-label{font-size:11px;color:#8f9eb3}.deleted{background:#fff8f9}.notice-danger{background:#fff4f5;border-color:#f6d8df;color:#b4525a}.hide{display:none!important}@media(max-width:1250px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.page{padding:24px 22px 50px}}@media(max-width:800px){.footer-split{flex-direction:column}.footer-split .right{width:100%;justify-content:flex-end}.rank-trigger{min-width:42px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.layer.open{display:block;position:fixed;inset:0;background:#111d3699;z-index:40}.shell{margin-left:0}.mob-menu{display:block;border:0;background:none;font-size:22px;color:#50617c}.topbar{padding:0 15px;height:60px}.topnote{display:none}.page{padding:20px 13px}.heading{flex-direction:column}.heading h1{font-size:21px}.stats{gap:9px}.stat{padding:13px;min-height:118px}.stat strong{font-size:23px}.formgrid,.grid-2{grid-template-columns:1fr}.field.search{width:100%}.toolbar h3{width:100%}.toolbar .field{flex:1}.bulkbar .hint{width:100%;margin:0}.report-shell{padding:10px}.report-hero{grid-template-columns:1fr}.photo-placeholder{min-height:100px}.six-metrics{grid-template-columns:repeat(3,1fr)}.rank-kpis{grid-template-columns:repeat(2,1fr)}.rank-kpis>div:nth-child(2){border-right:0}.report-bottom{grid-template-columns:1fr}.report-top{flex-wrap:wrap}.report-top .actions{width:100%}}

/* V6: shared single / batch editor */
.edit-target{background:linear-gradient(115deg,#f0f5ff,#f9fbff);border:1px solid #dce6fa;padding:14px 16px;border-radius:12px;display:flex;flex-direction:column;gap:5px}
.edit-target-count{font-size:10px;font-weight:900;color:#4e70e1;letter-spacing:.7px}.edit-target strong{font-size:14px;color:#233a5c}.edit-target small{font-size:11px;color:#8899b1}
.editor-hint{font-size:12px;color:#6f7f98;margin:14px 2px 17px;line-height:1.6}
.editor-fields{display:grid;grid-template-columns:1fr;gap:16px}.editor-fields .field{width:100%;min-height:44px}.editor-fields textarea.field{min-height:87px;resize:vertical}
.editor-fields .formrow label{font-size:12px}.editor-fields label.mini-check{font-weight:500;font-size:11px}
.label-optional{font-size:10px;color:#9aa8ba;font-weight:500}.editor-footer-note{font-size:11px;color:#95a2b4;line-height:1.6;margin-top:19px}
/* V6: ADFLOW Rank Journey, vertical day-column timeline (not SLIK line chart) */
.rank-viz{border:1px solid #dae6ef;background:linear-gradient(180deg,#f6fbfc 0%,#fff 42%);padding:16px;border-radius:14px}
.rank-viz-caption{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px}
.rank-viz-caption h4{font-size:15px;margin:3px 0 0;color:#1a3656}.rank-viz-caption>span{font-size:10px;color:#94a5b4}
.rank-viz-kicker{letter-spacing:1.2px;font-size:9px;font-weight:900;color:#229c91}
.rank-viz-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:16px}
.rank-viz-summary>div{border:1px solid #e6eef3;padding:9px 8px;border-radius:9px;background:#fff;min-width:0}
.rvs-label{display:block;font-size:10px;color:#8d9eaf;margin-bottom:5px}
.rank-viz-summary strong{display:block;font-size:14px;font-weight:850;color:#213b5b;white-space:nowrap}
.rank-viz-summary .rvs-current{color:#117d77}
.rank-viz-summary .rank-positive,.rank-viz-summary .rank-negative,.rank-viz-summary .rank-flat{font-size:11px}
.rank-days{display:flex;gap:8px;align-items:stretch;min-height:222px;overflow-x:auto;padding:2px 1px 4px}
.rank-day{flex:1;min-width:45px;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px 3px 6px;border-radius:10px;background:#f7fafc;border:1px solid #eef1f5}
.rank-day.latest{background:#e9f7f5;border-color:#88d2c6}
.rank-day-top{display:flex;flex-direction:column;gap:3px;align-items:center;min-height:34px}
.rank-day-top strong{font-size:12px;color:#263e5d}.rank-day.latest .rank-day-top strong{color:#08796f}
.rank-day-diff{font-size:9px;font-weight:800;color:#9dadbd}.rank-day-diff.up{color:#159885}.rank-day-diff.down{color:#d9766a}
.rank-bar-track{height:126px;display:flex;align-items:end;justify-content:center;padding:0 2px;background:repeating-linear-gradient(to top,#e8edf3 0,#e8edf3 1px,transparent 1px,transparent 31px);border-radius:6px}
.rank-bar{width:100%;max-width:32px;background:linear-gradient(180deg,#8cd9cc,#31a69e);border-radius:7px 7px 3px 3px;transition:height .2s ease;min-height:8px}
.rank-bar.down{background:linear-gradient(180deg,#f0b8aa,#e08b7b)}.rank-bar.stable,.rank-bar.initial{background:linear-gradient(180deg,#bfcce1,#879ab9)}
.rank-day.latest .rank-bar{background:linear-gradient(180deg,#35bcae,#08796f)}
.rank-day-date{text-align:center;font-size:10px;color:#8294a7;font-weight:700}
.rank-viz-legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:13px;font-size:10px;color:#8293a5}
.rank-viz-legend>span{display:flex;align-items:center;gap:4px}.legend-dot{height:7px;width:7px;border-radius:50%;display:inline-block;background:#a0afc1}
.legend-dot.up{background:#23ad9e}.legend-dot.down{background:#d98d82}.legend-dot.stable{background:#96a5bf}
.rank-viz-legend .legend-current{margin-left:auto;font-weight:750;color:#128479}
@media(max-width:800px){.rank-viz{padding:12px}.rank-viz-summary{grid-template-columns:repeat(2,1fr)}.rank-day{min-width:52px}.rank-viz-caption>span{display:none}}


/* V7 – ads management workspace, inspired by compact information hierarchy rather than imitation */
.ads-status-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #e2e8f1;border-radius:14px;overflow:hidden;background:#fff}
.ads-status-strip>.stat{border:0;border-radius:0;box-shadow:none;min-height:105px;border-right:1px solid #e7edf5;padding:16px 20px}
.ads-status-strip>.stat:last-child{border-right:0}
.ads-status-strip .stat strong{margin-top:10px;font-size:26px}
.ads-status-strip .stat-icon{background:#edf5ff}
.ads-workspace{border-radius:14px}
.ads-workspace .toolbar{background:#fbfcfe;padding:17px 19px}
.ads-workspace .bulkbar{background:#fff;border-top:1px solid #edf1f7}
.ads-workspace .table-scroller table{min-width:1280px}
.ads-workspace th{font-size:11px;background:#f2f6fb;color:#5e7292;padding:12px 11px}
.ads-workspace td{padding:12px 11px;color:#546781;vertical-align:middle;line-height:1.4}
.ads-workspace tbody tr:nth-child(even){background:#fcfdff}
.ads-workspace tbody tr:hover{background:#f3f8ff}
.ad-number{font-size:11px;color:#2862b1}
.keyword-strong{font-size:12px;color:#314b72}
.product-main{font-size:12px;font-weight:700;color:#293e5a;max-width:325px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-meta{font-size:10px;color:#a0adbf;margin-top:4px}
.product-meta span{padding:0 4px}
.id-cell{font-size:11px;font-variant-numeric:tabular-nums;color:#71839b}
.date-cell{font-size:11px;font-variant-numeric:tabular-nums}
.rank-trigger{flex-direction:row;align-items:center;gap:5px}
.rank-trigger .rank-main{font-size:12px}
.rank-trigger .rank-delta{font-size:10px}
.action-edit{min-width:63px}

.modal.wide{width:min(1080px,100%)}
.insight-report{display:flex;flex-direction:column;gap:14px;color:#1b2b42}
.insight-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:4px 0 15px;border-bottom:1px solid #e7edf5}
.insight-product{display:flex;gap:13px;align-items:center;min-width:0}
.insight-product-icon{width:50px;height:50px;border-radius:13px;flex-shrink:0;background:#edf5ff;color:#366bd0;display:grid;place-items:center;font-size:24px}
.insight-product-text{min-width:0}
.insight-kicker{font-size:10px;color:#7590b8;letter-spacing:1.25px;font-weight:800;margin-bottom:7px}
.insight-product h2{font-size:17px;letter-spacing:-.4px;line-height:1.4;margin:0 0 7px}
.insight-subline{display:flex;gap:8px;align-items:center;font-size:11px;color:#8a9db5}
.keyword-chip{background:#ebf3ff;color:#2f69c6;padding:4px 9px;border-radius:7px;font-weight:800}
.insight-updated{text-align:right;white-space:nowrap;font-size:11px;color:#8799b1;display:flex;flex-direction:column;gap:3px}
.insight-updated strong{color:#354967}
.insight-main{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px}
.insight-primary{background:#142b4b;color:white;border-radius:15px;padding:21px;display:flex;flex-direction:column;min-height:280px}
.insight-primary-title{font-weight:700;font-size:13px;display:flex;flex-direction:column;gap:4px}
.insight-primary-title span{font-size:9px;color:#89a5cd;letter-spacing:1.3px}
.insight-big-rank{font-size:76px;font-weight:800;line-height:1.15;letter-spacing:-4px;margin:14px 0 14px}
.insight-big-rank small{font-size:22px;letter-spacing:0;margin-left:3px}
.insight-delta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #ffffff22;padding:9px 0;font-size:11px}
.insight-delta-row>span:first-child{color:#a6badd}
.insight-primary .trend-positive{color:#66e1b2}
.insight-primary .trend-negative{color:#ffb4b4}
.trend-positive{color:#058a65;font-weight:800}
.trend-negative{color:#d85d66;font-weight:800}
.trend-neutral{color:#93a5b9;font-weight:700}
.insight-primary-footer{margin-top:auto;border-top:1px solid #ffffff22;padding-top:13px;display:flex;justify-content:space-between;color:#a6badd;font-size:11px}
.insight-primary-footer b{color:#fff;font-size:14px;margin-left:4px}
.insight-trend,.insight-timeline,.insight-keywords,.insight-detail{border:1px solid #e1e9f3;border-radius:14px;background:white;padding:17px 18px}
.insight-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.insight-module-head h3{font-size:14px;margin:0;color:#243957}
.insight-module-head p{font-size:11px;color:#9cabbf;margin:6px 0 0}
.period-controls{display:flex;gap:5px}
.insight-trend .rank-viz{border:0;padding:0;margin:0;background:transparent}
.insight-trend .rank-viz-caption,.insight-trend .rank-viz-stats{display:none}
.insight-trend .rank-days{min-height:155px}
.insight-secondary{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:14px}
.insight-daily-scroller{max-height:194px;overflow:auto}
.insight-daily-scroller th{position:sticky;top:0;background:#f6f9fd}
.insight-daily-scroller td,.insight-daily-scroller th{padding:9px 12px;font-size:11px}
.period-label{font-size:10px;color:#91a1b6}
.insight-volume{padding:12px 0 17px;display:flex;flex-direction:column;gap:5px}
.insight-volume>span{font-size:11px;color:#7c8fa9}
.insight-volume strong{font-size:36px;color:#1f4e89;line-height:1.1;font-variant-numeric:tabular-nums}
.insight-volume small{font-size:10px;color:#9dabc0}
.volume-breakdown{display:flex;gap:10px}
.volume-breakdown>div{flex:1;background:#f3f7fb;padding:11px;border-radius:9px;display:flex;flex-direction:column;gap:5px}
.volume-breakdown span{font-size:10px;color:#8597b2}
.volume-breakdown b{font-size:14px;color:#385677}
.volume-foot{font-size:10px;color:#98a9bc;margin-top:10px}
.insight-detail{padding:16px 18px}
.insight-metric-ribbon{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#f6f9fc;border-radius:10px;overflow:hidden}
.insight-metric-ribbon>div{padding:14px 10px;border-right:1px solid #e2e9f1;min-width:0}
.insight-metric-ribbon>div:last-child{border-right:0}
.insight-metric-ribbon span{display:block;color:#8294ad;font-size:10px;margin-bottom:7px}
.insight-metric-ribbon strong{display:block;color:#2b405d;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-details{border-top:1px solid #e8edf5;margin-top:15px;padding-top:12px}
.insight-details summary{cursor:pointer;list-style:none;font-weight:700;color:#406590;font-size:12px;display:flex;justify-content:space-between}
.insight-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.insight-detail-grid>div{padding:11px;border-radius:8px;background:#f8fafd;min-width:0;overflow-wrap:anywhere}
.insight-detail-grid>div.full{grid-column:1/-1}
.insight-detail-grid small{display:block;color:#8a9db3;font-size:10px;margin-bottom:7px}
.insight-detail-grid b{font-size:12px;color:#334d71}
@media(max-width:1000px){.insight-main,.insight-secondary{grid-template-columns:1fr}.insight-primary{min-height:210px}.insight-big-rank{margin:7px 0;font-size:54px}.insight-metric-ribbon{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.insight-head{align-items:flex-start}.insight-updated{display:none}.insight-product h2{font-size:14px}.insight-metric-ribbon{grid-template-columns:repeat(2,1fr)}.ads-status-strip{grid-template-columns:repeat(2,1fr)}.ads-status-strip>.stat{border-bottom:1px solid #e7edf5}}

.sort-header{border:0;background:none;font:inherit;font-size:11px;font-weight:800;color:#325d99;cursor:pointer;white-space:nowrap;padding:3px 0}.sort-header:hover{text-decoration:underline}.editor-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.approval-diff{table-layout:fixed;white-space:normal}.approval-diff th:first-child{width:21%}.approval-diff th,.approval-diff td{padding:12px;overflow-wrap:anywhere;vertical-align:top}.approval-diff td:last-child{background:#edf8f4;color:#1b684d}@media(max-width:600px){.editor-date-grid{grid-template-columns:1fr}}

.ads-workspace tbody tr.end-date-group td{border-top:2px solid #d5e1f2}

.approval-preview{display:grid;gap:8px;margin:15px 0;max-height:230px;overflow:auto}.approval-preview>div{background:#f7f9fc;border:1px solid #e8edf5;padding:10px 13px;border-radius:8px;display:flex;gap:12px;justify-content:space-between}.approval-preview span{color:#71829b;font-size:11px}.approval-confirm{display:flex;align-items:center;gap:8px;padding:10px 0;font-weight:700;color:#526581}.approval-confirm input{width:16px;height:16px}#approval-rows td:first-child{width:42px}#view-approvals .toolbar{justify-content:space-between}#view-approvals .toolbar h3{margin-right:auto}

/* NICHE brand treatment */
.niche-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:22px 23px}.niche-word{font-size:32px;line-height:1.1;font-weight:900;letter-spacing:-1.8px;font-family:Inter,'Arial Black',sans-serif;font-style:italic;color:#fff}.niche-e{color:#9472ff;position:relative}.niche-brand small{font-style:normal;font-size:8px;letter-spacing:2.2px;font-weight:700;color:#9bb2d5}.niche-brand .brandmark{display:none}



/* NICHE V13 — Lychee Coral / Cream / Ink */
:root{
  --navy:#333A4B; --navy-hover:#45475A;
  --blue:#D6687D; --blue-deep:#BF516B;
  --bg:#FBF9F7; --border:#EDE4E3;
  --ink:#303240; --muted:#8C8790; --white:#FFFFFF;
  --shadow:0 6px 22px rgba(66,43,53,.035);
  --lychee:#D6687D; --lychee-hover:#C65B71;
  --rose-soft:#FCEEF0; --cream:#FBF9F7; --deep-ink:#303240;
}
body{background:var(--cream);color:var(--ink)}
a{color:#B9566F}a:hover{color:#994158}
input[type=checkbox]{accent-color:var(--lychee)}
input:focus,select:focus,textarea:focus{outline-color:#E9ABB7}
.sidebar{background:#FFFCFA;border-right:1px solid #F0E6E4;box-shadow:5px 0 22px rgba(75,35,46,.025);color:#706C78}
.nav-group{color:#A59BA2}.nav button{color:#726C78}
.nav button:hover{background:#FFF1F2;color:#9E435A}
.nav button.active{background:#FBE7EB;color:#A8455D;box-shadow:inset 3px 0 #D6687D}
.nav .count{background:#F5E1E6;color:#B9546C}
.user-panel{border-top:1px solid #F0E6E4}.user-panel strong{color:#42353E!important}.user-panel small{color:#AB939C}
.avatar{background:#D6687D;color:#fff}
.topbar{background:#FFFEFD;border-bottom:1px solid var(--border)}.topnote{background:#FBF7F7;border-color:#F0E5E5;color:#988891}
.breadcrumb strong{color:#665665}
.heading .eyebrow{color:#CA697D}.heading h1{color:#34313D}
.btn{color:#735F6B;border-color:#EADFE0;box-shadow:none}
.btn:hover:not(:disabled){border-color:#DFA6B3;background:#FFF8F9}
.btn.primary{background:#D6687D;border-color:#D6687D;color:#fff}
.btn.primary:hover:not(:disabled){background:#C45B70;border-color:#C45B70;color:#fff}
.btn.subtle{background:#FDF5F6}.btn.danger{color:#BE465C}
.card{border-color:#EDE5E6;box-shadow:0 5px 23px rgba(87,52,62,.025)}
.stat-icon{background:#FFF0F2;color:#C85F75}.stat.clickable:hover{border-color:#E6B8C2}
.progress span{background:#D6687D}
.field{border-color:#E6DFE1;color:#574F5A;background:white}.field:focus{border-color:#DA8A9C}
.field.search{width:284px}
.toolbar,.bulkbar{background:#FFFEFD}.bulkbar .hint{color:#A89BA4}
th,.ads-workspace th{background:#FAF5F6;color:#82747E;border-color:#F0E6E7}
td{color:#645F6C;border-color:#F4EEEF}
.ads-workspace tbody tr:nth-child(even){background:#FFFCFC}
.ads-workspace tbody tr:hover{background:#FFF7F8}
.ads-workspace tbody tr.end-date-group td{border-top:2px solid #F0D7DC}
.ads-status-strip{border-color:#EDE5E6}.ads-status-strip>.stat{border-color:#EDE5E6}
.ads-status-strip .stat-icon{background:#FFF0F2}
.pager button.selected{background:var(--lychee);border-color:var(--lychee)}
.link-button{color:#BA5970}.link-button:hover{color:#9E455B}
.rank-trigger .rank-main{color:#765061}.rank-delta.up{color:#D5677B}.rank-delta.down{color:#567EA4}
.action-edit{border-color:#EADFE0;color:#A45B6C}.action-edit:hover{background:#FFF5F7;border-color:#DFA8B4}
.tag.role{background:#FCEEF1;color:#B6546E}.tag.normal{background:#EDF8F1;color:#25856E}.tag.wait{background:#FFF5E7;color:#A77831}.tag.soon{background:#FFF0EF;color:#C25A59}
.tag.ended{background:#F1F0F2;color:#88818A}
.muted-box{background:#FFF7F8;border-color:#F4E1E6;color:#9D7886}
.modal{box-shadow:0 22px 85px rgba(61,38,48,.22)}
.modal-header,.modal-footer{border-color:#F1E8EA}
.niche-brand{padding:20px 22px 15px;gap:1px;align-items:flex-start;position:relative}
.niche-word{font-family:'Kalam','Comic Sans MS',cursive;font-size:38px;letter-spacing:-1.5px;font-weight:700;font-style:normal;color:#352F3C;line-height:1.07;transform:rotate(-3deg);text-shadow:none}
.niche-e{color:#D6687D;display:inline-block;transform:rotate(5deg) translateY(-1px)}
.niche-brand:after{content:'';width:43px;height:4px;border-radius:99px;background:#D6687D;position:absolute;left:105px;top:60px;transform:rotate(-8deg)}
.niche-brand small{font-size:8px;letter-spacing:1.9px;color:#B39AA3;padding-left:5px;margin-top:1px}
.keyword-chip{background:#FCECF0;color:#AB5169}.insight-product-icon{background:#FBE9EC;color:#C76279}
.insight-kicker{color:#C67788}.insight-product h2{color:#332F3D}
.insight-primary{background:#373A4A;box-shadow:none}
.insight-primary-title span,.insight-delta-row>span:first-child,.insight-primary-footer{color:#B7B1BE}
.insight-primary .trend-positive{color:#F19BAA}.insight-primary .trend-negative{color:#F8C7CA}
.insight-volume strong{color:#C55A74}
.insight-trend,.insight-timeline,.insight-keywords,.insight-detail{border-color:#EEE4E6}
.insight-module-head h3{color:#3D3440}
.volume-breakdown>div{background:#FFF3F5}.volume-breakdown b{color:#B45871}
.insight-metric-ribbon{background:#FAF6F7}.insight-metric-ribbon>div{border-color:#EFE3E6}
.rank-viz{border-color:#F1E4E7;background:#FFFDFD}
.rank-bar.up{background:linear-gradient(180deg,#F3A1AD,#DB7487)}
.rank-bar.down{background:linear-gradient(180deg,#BBD5E2,#84A9BC)}
.rank-bar.stable,.rank-bar.initial{background:linear-gradient(180deg,#E8DCE2,#BCA9B3)}
.rank-day.latest .rank-bar{background:linear-gradient(180deg,#E98599,#C4526C)}
.legend-dot.up{background:#DC778C}.legend-dot.down{background:#8EADBF}.legend-dot.stable{background:#C5B4BC}
.rank-viz-legend .legend-current{color:#B45870}
.report-search-keyword{font-size:19px!important;letter-spacing:-.5px;color:#3D3440}
.report-keyword-pill{font-size:10px;font-weight:700;color:#B65B72;background:#FFF0F3;padding:6px 9px;border-radius:99px;white-space:nowrap}
.insight-keywords .insight-volume{padding-top:7px}
.insight-keywords .insight-volume strong{font-size:38px}
.insight-keywords .volume-foot b{color:#BA5C73}
@media(max-width:800px){.sidebar{background:#FFFCFA}.niche-word{font-size:36px}.niche-brand:after{top:57px}}


/* V14 - Neutral operations workspace with restrained lychee accents. */
:root{
  --bg:#F7F8FA;
  --border:#E7E9ED;
  --ink:#303540;
  --muted:#858B98;
  --lychee:#D6687D;
  --lychee-hover:#C65B71;
  --shadow:0 2px 12px rgba(31,39,51,.035);
}
body{background:#F7F8FA;color:#303540}
.sidebar{background:#FFFFFF;border-right:1px solid #E8EAEE;box-shadow:none}
.topbar{background:#FFFFFF;border-bottom:1px solid #E8EAEE}
.topnote{background:#FFF;border:1px solid #ECEDEF;color:#8E949F}
.nav button{color:#666E7D}
.nav button:hover{background:#F8F8FA;color:#343B48}
.nav button.active{background:#FCE9ED;color:#A8445C;box-shadow:inset 3px 0 #D6687D}
.nav-group{color:#9A9EA8}
.nav .count{background:#F8EBEE;color:#BE6279}
.card,.table-card{border:1px solid #E7E9ED;box-shadow:0 3px 12px rgba(33,43,55,.035)}
.ads-status-strip{background:#FFFFFF;border-color:#E7E9ED}
.ads-status-strip>.stat{border-right:1px solid #EBEDF0;background:#FFFFFF}
.ads-status-strip .stat-icon{background:#F5F6F8;color:#5E6775;width:32px;height:32px}
.stat-icon{background:#F5F6F8;color:#5E6775;width:32px;height:32px}
.stat-icon svg{width:18px;height:18px;display:block}
.stats .stat:hover{background:#FCFCFD}
.stat.clickable:hover{border-color:#E2BAC4}
.toolbar,.bulkbar{background:#FFFFFF;border-color:#EBEDF0}
.ads-workspace th,th{background:#F7F8FA;color:#777F8D;border-bottom:1px solid #E7E9ED}
.ads-workspace td,td{border-bottom:1px solid #EDEFF2;color:#515A69}
.ads-workspace tbody tr:nth-child(even){background:#FFFFFF}
.ads-workspace tbody tr:hover{background:#FAFAFB}
.ads-workspace tbody tr.end-date-group td{border-top:1px solid #DDE0E6}
.field{background:#FFFFFF;border-color:#E0E3E9;color:#465162}
.field:focus{border-color:#D6687D}
.btn{color:#515D6D;border-color:#DDE1E7;background:#FFFFFF}
.btn:hover:not(:disabled){border-color:#DFACB9;background:#FFF9FA}
.btn.primary{background:#D6687D;border-color:#D6687D;color:#FFFFFF}
.btn.primary:hover:not(:disabled){background:#C45B70;border-color:#C45B70}
.pager button.selected{background:#D6687D;border-color:#D6687D;color:white}
.action-edit{color:#8A5965;border:1px solid #E5E7EB}
.action-edit:hover{background:#FFF8FA;border-color:#E6B8C3}
.insight-primary{background:#343A48}
.rank-viz,.insight-trend,.insight-keywords,.insight-timeline,.insight-detail{background:#FFFFFF}
.volume-breakdown>div{background:#F8F8FA}
.insight-metric-ribbon{background:#F8F8FA}
.muted-box{background:#FCF9FA;border-color:#EFE8EA;color:#887B84}
.user-panel{border-color:#EAEBEE}.user-panel small{color:#9499A4}
.niche-brand{padding:19px 19px 17px;align-items:flex-start;gap:4px;height:99px}
.niche-brand .niche-word{
    display:block;
    width:max-content;
    font-family:'Kalam','Comic Sans MS',cursive;
    font-size:38px;line-height:1.12;letter-spacing:-1.5px;
    transform:none;white-space:nowrap;
    color:#352F3C;
}
.niche-word .niche-letters{display:inline-block;position:relative;transform:rotate(-2deg);padding:0 6px 5px 0}
.niche-word .niche-e{display:inline;transform:none;color:#D6687D}
.niche-brand:after{display:none;content:none}
.niche-word .niche-letters:after{
    content:"";position:absolute;right:0;bottom:1px;width:37%;height:3px;
    background:#D6687D;border-radius:999px;transform:rotate(-5deg)
}
.niche-brand small{margin:0;padding-left:3px;color:#9E929B;font-size:8px;letter-spacing:1.8px;line-height:1.5}
@media(max-width:800px){.niche-brand{height:auto}.niche-brand:after{display:none}.niche-word .niche-letters:after{bottom:1px}}


/* V15: modest legibility pass. Keeps V14 neutral and lychee accent palette unchanged. */
body{font-size:14px;line-height:1.52}
.nav button{font-size:13px;line-height:1.4;padding:12px 13px}
.nav-group{font-size:10.5px;letter-spacing:1.05px}
.user-panel strong{font-size:13px!important}
.user-panel small{font-size:11px}
.breadcrumb,.topnote{font-size:12px}
.heading h1{font-size:26px}
.heading .sub,.sub{font-size:13px}
.toolbar h3,.panel-head h3{font-size:15px}
.toolbar .field,.field{font-size:13px}
.btn{font-size:13px}
.btn.small{font-size:12px}
.bulkbar,.bulkbar strong,.bulkbar .hint{font-size:12px!important}
.ads-workspace th{font-size:12px;padding:13px 11px}
.ads-workspace td{font-size:12.5px;line-height:1.52;padding:13px 11px}
.ad-number,.keyword-strong,.product-main{font-size:13px}
.product-meta,.subline{font-size:11px;line-height:1.45}
.id-cell,.date-cell{font-size:12px}
.rank-trigger .rank-main{font-size:13px}
.rank-trigger .rank-delta{font-size:11px}
.action-edit{font-size:12px;min-width:68px}
.ads-workspace .footerbar,.helper-label{font-size:12px}
.stat-head{font-size:13px}.stat strong{font-size:28px}.stat small{font-size:12px}
.tag{font-size:11px;padding:5px 8px}
.modal-header h2{font-size:18px}.formrow label{font-size:13px}.modal-body{font-size:13px}
.insight-module-head h3{font-size:15px}.insight-product h2{font-size:18px}
.insight-subline,.insight-volume>span,.insight-daily-scroller td,.insight-daily-scroller th{font-size:12px}
.insight-metric-ribbon span{font-size:11px}.insight-metric-ribbon strong{font-size:13px}
/* Preserve responsive table scrolling instead of squeezing all columns. */
@media(max-width:800px){.nav button{font-size:13px}.ads-workspace .table-scroller{overflow-x:auto}.heading h1{font-size:23px}}


/* V16 — refined numerals and work-period readability, palette unchanged. */
.ads-workspace .id-cell,.ads-workspace .date-cell,.ads-workspace .work-days-cell{
  font-family:Inter,'Noto Sans KR',sans-serif;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  white-space:nowrap;
  letter-spacing:0;
}
.ads-workspace .table-mid{font-size:13px;font-weight:600;color:#3f4a5c;letter-spacing:.05px}
.ads-workspace .table-mid.not-available{font-size:13px;font-weight:500;color:#929aa7}
.ads-workspace .table-date{font-size:13px;font-weight:600;color:#465263;letter-spacing:0}
.ads-workspace .work-days-cell>strong{font-size:13px;color:#404d60;font-weight:700}
.ads-workspace .work-days-cell .subline{font-size:11.5px;color:#858e9e;font-weight:500;margin-top:5px;letter-spacing:0}
.ads-workspace td{line-height:1.48}
.ads-workspace .id-cell{min-width:134px}
.ads-workspace .date-cell{min-width:116px}
.ads-workspace .work-days-cell{min-width:75px}


/* NICHE V17 login (self-contained visual styles; existing workspace unchanged). */
body.login-locked{height:100vh;overflow:hidden;background:#f7f7f8}
body.login-locked>.sidebar,body.login-locked>.shell,body.login-locked>#layer{display:none!important}
.niche-login-screen{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:center;padding:36px 22px;background:#f7f7f8;overflow:auto}
.niche-login-screen[hidden]{display:none!important}
.niche-login-shell{width:min(1060px,100%);min-height:620px;display:grid;grid-template-columns:1.03fr 1fr;background:white;border:1px solid #eee7e9;border-radius:24px;box-shadow:0 22px 65px rgba(44,37,48,.09);overflow:hidden}
.niche-login-intro{background:#fbf0ee;padding:33px 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#38323d}
.niche-login-intro:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#f8d1d6,#fbf0ee 72%);right:-90px;top:120px;opacity:.8}
.login-intro-top,.login-intro-foot,.login-intro-center{position:relative;z-index:1}
.login-intro-top{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:1.9px;color:#907e86}
.login-mini-mark{height:33px;width:33px;border-radius:11px;background:#d6687d;color:white;display:grid;place-items:center;font:800 20px Inter,sans-serif;letter-spacing:-1px}
.login-mini-mark span{color:#ffdbe1}
.login-pill{display:inline-flex;align-items:center;gap:7px;background:#fff9fa;border:1px solid #efdfe2;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:700;color:#ad6979;letter-spacing:.35px}
.login-pill-dot{width:7px;height:7px;background:#d6687d;border-radius:50%}
.login-intro-center h1{font-size:33px;line-height:1.43;letter-spacing:-1.4px;margin:20px 0 14px;font-weight:800;color:#35313b}
.login-intro-center h1 em{font-style:normal;color:#c45c73}
.login-intro-center p{font-size:12.5px;color:#8b7f86;line-height:1.85;margin:0 0 26px}
.login-dashboard-art{width:100%;max-width:380px;background:#fffefa;border:1px solid #f0e2e5;box-shadow:0 18px 35px rgba(184,98,122,.07);border-radius:14px;padding:17px 19px 14px;transform:rotate(-2deg)}
.login-art-label{display:flex;gap:5px;align-items:center;color:#a3a1a8;font-size:9px;letter-spacing:.8px;font-weight:700}
.login-art-label i{height:6px;width:6px;border-radius:50%;background:#e5bcc5}
.login-art-label i:nth-child(2){background:#efdbdf}.login-art-label i:nth-child(3){background:#f1e8ea}
.login-art-label span{margin-left:auto}
.login-art-bars{height:100px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #f0e8eb;margin-top:18px}
.login-art-bars b{flex:1;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#e9a8b5,#f6d7dd)}
.login-art-bars b:nth-last-child(-n+2){background:linear-gradient(180deg,#d6687d,#efb5c2)}
.login-art-bottom{display:flex;justify-content:space-between;padding-top:12px;font-size:11px;color:#948b92}
.login-art-bottom strong{color:#b95a71}.login-art-bottom strong span{font-size:14px}
.login-intro-foot{font-size:10px;color:#ac9aa1;letter-spacing:1.1px}
.niche-login-form-panel{background:white;display:flex;flex-direction:column;justify-content:space-between;padding:58px 62px 31px}
.login-form-inner{width:100%;max-width:340px;margin:auto}
.login-logo{display:flex;flex-direction:column;align-items:flex-start;width:max-content;gap:0}
.login-logo-text{font-family:'Kalam','Comic Sans MS',cursive;font-size:53px;font-weight:700;line-height:1.3;letter-spacing:-2.2px;color:#34303c;position:relative;white-space:nowrap}
.login-logo-text span{color:#d6687d}
.login-logo-text:after{content:"";height:3px;border-radius:99px;width:42px;background:#d6687d;position:absolute;right:0;bottom:0;transform:rotate(-5deg)}
.login-logo small{margin-top:8px;color:#9c8c94;letter-spacing:2.1px;font-size:8px;font-weight:800}
.login-welcome{margin:40px 0 29px}
.login-welcome h2{font-size:21px;color:#302e38;letter-spacing:-.6px;margin:0 0 9px}
.login-welcome p{font-size:12px;color:#99939e;margin:0}
.login-form-field{margin-bottom:20px}
.login-form-field>label{display:block;font-size:12px;font-weight:700;color:#5b535d;margin:0 0 9px}
.login-form-field input{height:48px;width:100%;border:1px solid #e5e2e8;border-radius:10px;padding:0 15px;color:#393441;font-size:13px;background:#fdfdfd;outline:0}
.login-form-field input:focus{border-color:#d6687d;box-shadow:0 0 0 3px #fae9ed}
.login-password-wrap{position:relative}
.login-password-wrap input{padding-right:60px}
.login-password-toggle{position:absolute;top:7px;right:7px;border:0;background:transparent;color:#ad7d8a;font-size:11px;font-weight:700;padding:10px}
.login-remember{font-size:12px;color:#827985;display:flex;align-items:center;gap:8px;margin:0 0 18px;cursor:pointer}
.login-remember input{accent-color:#d6687d}
.login-submit{width:100%;height:49px;border:0;border-radius:10px;background:#d6687d;color:white;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 8px 18px #d6687d25}
.login-submit:hover{background:#c35a70}
.login-submit span{font-size:17px}
.login-error{min-height:17px;margin:-8px 0 8px;font-size:11px;color:#bc455e}
.login-demo-info{margin-top:20px;border-radius:9px;background:#faf8f9;color:#aaa2a8;padding:12px;font-size:10px;line-height:1.7}
.login-demo-info strong{color:#b56577;margin-right:3px}
.login-form-foot{text-align:center;font-size:11px;color:#bbb3bd}
.login-form-foot strong{color:#c8677e}
.niche-sidebar-logout{margin-left:auto;border:1px solid #eae4e8;color:#997382;background:#fff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700;white-space:nowrap}
.niche-sidebar-logout:hover{background:#fff4f6;border-color:#e6b5c0}
@media(max-width:900px){
 .niche-login-screen{align-items:flex-start}
 .niche-login-shell{grid-template-columns:1fr 1fr}
 .niche-login-intro{padding:30px 26px}
 .niche-login-form-panel{padding:45px 30px 28px}
 .login-intro-center h1{font-size:26px}
}
@media(max-width:650px){
 .niche-login-screen{padding:15px;align-items:center}
 .niche-login-shell{display:block;min-height:0;max-width:440px}
 .niche-login-intro{display:none}
 .niche-login-form-panel{padding:40px 28px 26px;min-height:560px}
 .login-form-inner{margin:auto}
 .login-welcome{margin:38px 0 26px}
}


/* V18 login refinements */
.login-form-inner{max-width:358px}
.login-logo{margin-bottom:22px}
.login-logo-text{
  font-size:68px;
  line-height:1.08;
  letter-spacing:-3px;
}
.login-logo small{
  margin-top:10px;
  font-size:9px;
  letter-spacing:2.4px;
}
.login-guide{
  margin:0 0 28px;
  font-size:12px;
  color:#9b949e;
}
.login-form-panel{
  align-items:center;
}
.niche-login-form-panel{
  padding-top:46px;
}
.login-form-field{margin-bottom:18px}
.login-form-foot{margin-top:20px}

/* Short branded opening after login */
.niche-opening{
  position:fixed;
  inset:0;
  z-index:260;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 18% 18%, #f7e7ea 0, #f8f1f2 24%, transparent 45%),
    linear-gradient(180deg, #faf7f7 0%, #f7f7f8 100%);
  opacity:0;
  transition:opacity .24s ease;
}
.niche-opening[hidden]{display:none !important}
.niche-opening.is-visible{opacity:1}
.niche-opening.is-leaving{opacity:0}
.niche-opening-inner{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  transform:translateY(12px) scale(.985);
  opacity:0;
  transition:transform .45s ease, opacity .45s ease;
}
.niche-opening.is-visible .niche-opening-inner{
  transform:translateY(0) scale(1);
  opacity:1;
}
.niche-opening-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.niche-opening-word{
  font-family:'Kalam','Comic Sans MS',cursive;
  font-size:78px;
  line-height:1;
  letter-spacing:-3px;
  color:#35303c;
  position:relative;
}
.niche-opening-word span{color:#d6687d}
.niche-opening-word:after{
  content:"";
  position:absolute;
  right:2px;
  bottom:-4px;
  width:58px;
  height:4px;
  border-radius:999px;
  background:#d6687d;
  transform:rotate(-5deg) scaleX(0);
  transform-origin:right center;
  transition:transform .5s ease .18s;
}
.niche-opening.is-visible .niche-opening-word:after{
  transform:rotate(-5deg) scaleX(1);
}
.niche-opening-logo small{
  margin-top:10px;
  color:#a18f97;
  font-size:10px;
  font-weight:800;
  letter-spacing:2.8px;
}
.niche-opening-slogan{
  font-size:14px;
  color:#766b74;
  letter-spacing:-.2px;
}
.niche-opening-loader{
  width:210px;
  height:7px;
  border-radius:999px;
  background:#efe7e9;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
}
.niche-opening-bar{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#d6687d 0%, #ebb9c4 100%);
}
.niche-opening.is-visible .niche-opening-bar{
  animation:nicheOpeningLoad .92s cubic-bezier(.22,.7,.3,1) forwards;
}
@keyframes nicheOpeningLoad{
  from{width:0%}
  to{width:100%}
}

@media (max-width:650px){
  .login-logo-text{font-size:60px}
  .niche-opening-word{font-size:62px}
  .niche-opening-slogan{font-size:12.5px}
  .niche-opening-loader{width:180px}
}


/* V19 dashboard status board */
.status-board{display:flex;flex-direction:column;gap:16px}
.status-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.status-kicker{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#c18392}
.status-total{font-size:31px;font-weight:800;letter-spacing:-1.2px;color:#2d3440;margin-top:6px}
.status-caption{font-size:12px;color:#9197a4;margin-top:5px;line-height:1.6}
.status-viewall{border:1px solid #ecdbe0;background:#fff8fa;color:#b95b72;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:800;white-space:nowrap}
.status-viewall:hover{background:#fff2f5}
.status-stack{display:flex;gap:6px;height:12px;padding:0;align-items:stretch}
.status-stack span{display:block;height:100%;border-radius:999px;min-width:22px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.06)}
.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.status-tile{border:1px solid #e8ebf0;background:#fff;border-radius:14px;padding:14px 15px;text-align:left;box-shadow:0 6px 18px rgba(31,39,51,.03);transition:.15s;border-color:#eceff3}
.status-tile:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--tile) 26%, #eceff3);box-shadow:0 10px 26px rgba(31,39,51,.06)}
.status-tile-top{display:flex;align-items:center;gap:8px}
.status-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--tile-soft);color:var(--tile);font-size:12px;font-weight:800}
.status-name{font-size:12px;font-weight:800;color:#5a6474}
.status-share{margin-left:auto;font-size:11px;font-weight:800;color:#97a0ae}
.status-value{margin-top:13px;font-size:27px;font-weight:800;color:#243247;letter-spacing:-1px;display:flex;align-items:flex-end;gap:4px}
.status-value small{font-size:12px;color:#96a0ae;font-weight:700;margin-bottom:5px}
.status-desc{margin-top:3px;font-size:11px;color:#9aa2b0}
.status-line{margin-top:12px;height:6px;background:#f2f4f7;border-radius:999px;overflow:hidden}
.status-line span{display:block;height:100%;border-radius:999px;background:var(--tile)}
@media(max-width:800px){
  .status-board-head{flex-direction:column;align-items:flex-start}
  .status-grid{grid-template-columns:1fr}
  .status-total{font-size:26px}
}

/* V20: role-aware presentation. No changes to V19 visual system. */
[hidden]{display:none!important}
.role-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#fbecf0;color:#b25b73;font-size:11px;font-weight:800;white-space:nowrap}
.niche-role-demos{margin:17px 0 3px;padding:12px;border:1px solid #f0e4e8;border-radius:11px;background:#fffbfc}
.niche-role-demos>span{display:block;color:#967987;font-size:11px;font-weight:700;margin-bottom:10px}
.niche-role-options{display:flex;gap:7px}.niche-role-options button{flex:1;background:white;border:1px solid #e8dfe4;border-radius:8px;color:#945d70;font-size:11px;font-weight:700;padding:9px 4px}
.niche-role-options button:hover{background:#faeaf0;border-color:#deaabc}
@media(max-width:650px){.niche-role-options button{padding:8px 3px}}

/* V21 affiliation hierarchy */
.affiliation-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:7px;background:#f9f0f2;color:#9d5465;font-size:12px;font-weight:700;white-space:nowrap}
#view-members .table-scroller table{min-width:1050px}
#view-members .table-scroller th,#view-members .table-scroller td{padding:13px 12px}

/* NICHE V22: slot accounting history, retains neutral white & lychee accents */
.settlement-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}
.settlement-stat{background:#fff;border:1px solid #e9ebef;border-radius:13px;padding:17px 19px;box-shadow:0 3px 12px rgba(33,43,55,.035)}
.settlement-stat small{display:block;color:#8c96a4;font-size:12px;margin-bottom:8px}
.settlement-stat strong{font-size:24px;color:#303540;letter-spacing:-.6px}
.settlement-plus{color:#258b70!important}.settlement-minus{color:#c65e75!important}.settlement-neutral{color:#7b8797!important}
.settlement-pill{padding:5px 9px;border-radius:7px;background:#f4f6f8;font-size:11px;font-weight:800;white-space:nowrap}
.settlement-pill.settlement-plus{background:#eaf7f2}.settlement-pill.settlement-minus{background:#fff0f3}
.settlement-table table{min-width:1210px}.settlement-table td{font-size:12px;padding:13px 12px}
.settlement-table .toolbar{gap:9px}.settlement-table .toolbar h3{margin-right:auto}
.settlement-table input[type=date]{min-width:142px}
@media(max-width:850px){.settlement-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V23: compact four-column settlement ledger */
.settlement-table .settlement-simple{min-width:560px;table-layout:fixed}
.settlement-simple th,.settlement-simple td{width:25%;padding:16px 20px;font-size:13px}
.settlement-simple th{font-weight:800;background:#f7f8fa;color:#727985}
.settlement-simple td{font-weight:600;color:#404c5f}
.settlement-simple .settlement-plus{color:#258867}
.settlement-simple .settlement-minus{color:#d05a6f}
#view-settlement .settlement-overview[hidden],#view-settlement #settlement-action[hidden]{display:none!important}

/* V24: five-column compact settlement table */
.settlement-table .settlement-simple{min-width:650px;table-layout:fixed}
.settlement-simple th,.settlement-simple td{width:20%;padding:15px 18px;font-size:13px}
.settlement-simple th:nth-child(3),.settlement-simple td:nth-child(3){font-variant-numeric:tabular-nums;color:#374252}

/* V25 - individual unit slots */
#view-slots .table-scroller{max-height:570px;overflow:auto}
#view-slots .table-scroller thead{position:sticky;top:0;z-index:1}
#view-slots .table-scroller th{background:#f7f8fa}
#view-slots .slot-recent{background:#fff7f9}
#view-slots .slot-recent:hover{background:#fff2f5}
.slot-no{display:inline-grid;min-width:37px;padding:6px 10px;place-items:center;border-radius:7px;border:1px solid #eadbe0;background:#fff8fa;color:#a84f66;font-weight:800;font-variant-numeric:tabular-nums}
#view-slots .toolbar{gap:9px}
#view-slots .toolbar h3{margin-right:auto}
#view-slots .toolbar button{white-space:nowrap}
.settlement-simple th,.settlement-simple td{width:20%}

/* V26: ad table column separation + form layout adjustment */
#view-ads .ads-workspace table{min-width:1450px;table-layout:auto}
#view-ads .ads-workspace th,#view-ads .ads-workspace td{vertical-align:middle}
#view-ads .ads-workspace th:nth-child(2),#view-ads .ads-workspace td:nth-child(2){min-width:105px}
#view-ads .ads-workspace th:nth-child(3),#view-ads .ads-workspace td:nth-child(3){min-width:90px;text-align:center}
#view-ads .ads-workspace th:nth-child(6),#view-ads .ads-workspace td:nth-child(6){min-width:270px}
#view-ads .ads-workspace th:nth-child(9),#view-ads .ads-workspace th:nth-child(10),#view-ads .ads-workspace th:nth-child(11){min-width:108px}
.ad-user{color:#34425a;font-size:13px;font-weight:700;white-space:nowrap}
.ad-slot-number{display:inline-block;min-width:30px;text-align:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:#b75b70}
/* Keep the exact two-column login design while aligning all right-side elements. */
.niche-login-shell{align-items:stretch}
.niche-login-form-panel{padding:38px 54px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0}
.login-form-inner{margin:0 auto;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:stretch}
.login-logo{margin:0 0 18px;align-self:flex-start}
.login-guide{margin:0 0 22px}
#niche-login-form{width:100%;margin:0}
.login-form-field{margin-bottom:17px}
.login-remember{margin:3px 0 16px}
.login-error{min-height:14px}
.niche-role-demos{margin:16px 0 0;width:100%}
.login-demo-info{margin:14px 0 0;width:100%;padding:11px 13px}
.login-form-foot{margin:0 auto;width:100%;max-width:360px;padding:0;text-align:center;font-size:10px;line-height:1.5}
@media(max-width:900px){.niche-login-form-panel{padding:32px 26px 20px}}
@media(max-width:650px){.niche-login-form-panel{min-height:0;padding:37px 26px 27px;gap:20px}.login-form-inner{max-width:100%}.login-logo-text{font-size:59px}.login-form-foot{max-width:100%}}

/* V27: active slot placeholder rows in shopping ad management */
.tag.unset{background:#f2f4f7;color:#798698;border:1px solid #e7ebf0}
.unconfigured-label{font-size:12px;color:#9aa4b3;font-weight:600;white-space:nowrap}
.ads-workspace .product-meta{line-height:1.6}

/* V28: simplified navigation, status strip and list paging */
.ads-status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.ads-status-strip .stat{min-width:0;padding:14px 15px}
.ads-workspace .table-scroller table{min-width:1380px}
.nav .group-link{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;text-align:left;cursor:pointer;color:#959aa5;font-size:10px;font-weight:800;letter-spacing:1px;padding:16px 12px 8px;border-radius:0;box-shadow:none}
.nav .group-link span{opacity:0;transition:opacity .1s;font-size:15px;color:#b75e73}.nav .group-link:hover{background:transparent;color:#b75e73}.nav .group-link:hover span{opacity:1}
#ads-pagination .pager-ellipsis{padding:0 4px;color:#97a0ae}.pager button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:900px){.ads-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V29: strict-width advertising table and clickable product names */
#view-ads .ads-workspace table.ads-fixed-table{table-layout:fixed;width:1633px;min-width:1633px}
#view-ads .ads-fixed-table th,#view-ads .ads-fixed-table td{box-sizing:border-box;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-ads .ads-fixed-table td:nth-child(7){white-space:normal}
#view-ads .ads-fixed-table th:nth-child(2),#view-ads .ads-fixed-table td:nth-child(2),#view-ads .ads-fixed-table th:nth-child(3),#view-ads .ads-fixed-table td:nth-child(3),#view-ads .ads-fixed-table th:nth-child(7),#view-ads .ads-fixed-table td:nth-child(7){min-width:0}
#view-ads .ads-fixed-table .table-ellipsis{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#view-ads .ads-fixed-table .product-main{width:100%;max-width:none;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#view-ads .ads-fixed-table .product-meta{width:100%;max-width:100%;white-space:nowrap}
#view-ads .ads-fixed-table .product-link{color:#293e5a;text-decoration:none;font-weight:750;cursor:pointer}
#view-ads .ads-fixed-table .product-link:hover{color:#c45c73;text-decoration:underline}
#view-ads .ads-fixed-table .product-link:focus-visible{outline:2px solid #d6687d;outline-offset:1px;border-radius:3px}
#view-ads .ads-fixed-table .ad-user,#view-ads .ads-fixed-table .keyword-strong{white-space:nowrap}

/* V30 desktop fit: every column stays in the content viewport without horizontal cropping. */
#view-ads .ads-workspace{min-width:0;max-width:100%}
#view-ads .ads-workspace .table-scroller{width:100%;max-width:100%;overflow-x:hidden}
#view-ads .ads-workspace table.ads-fixed-table{table-layout:fixed;width:100%!important;min-width:0!important;max-width:100%!important}
#view-ads .ads-fixed-table th,#view-ads .ads-fixed-table td{min-width:0!important;max-width:none!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:11px 5px;font-size:11.5px}
#view-ads .ads-fixed-table th:first-child,#view-ads .ads-fixed-table td:first-child{padding-left:10px}
#view-ads .ads-fixed-table .id-cell,#view-ads .ads-fixed-table .date-cell{min-width:0!important}
#view-ads .ads-fixed-table .table-date,#view-ads .ads-fixed-table .table-mid{font-size:11px;letter-spacing:-.35px;white-space:nowrap;font-variant-numeric:tabular-nums}
#view-ads .ads-fixed-table .ad-user,#view-ads .ads-fixed-table .keyword-strong{font-size:12px}
#view-ads .ads-fixed-table .product-main{font-size:12px;max-width:100%}
#view-ads .ads-fixed-table .product-meta{font-size:10px;max-width:100%}
#view-ads .ads-fixed-table .action-edit{min-width:0;width:100%;padding:7px 0;font-size:10px}
#view-ads .ads-fixed-table .ad-slot-number{font-size:12px;min-width:0}
#view-ads .ads-fixed-table .tag{font-size:10px;padding:4px 5px}
#view-ads .ads-fixed-table .sort-header{font-size:11px;white-space:nowrap}
/* Only genuinely narrow screens use an internal scroll; wide desktop always fits. */
@media(max-width:1150px){
 #view-ads .ads-workspace .table-scroller{overflow-x:auto}
 #view-ads .ads-workspace table.ads-fixed-table{width:1120px!important;min-width:1120px!important}
}
/* V31: visibility by role and compact parent-account column */
#view-ads .ads-fixed-table:not(.show-parent) .parent-col{display:none!important}
#view-ads .ads-workspace table.ads-fixed-table.show-parent{width:100%!important;min-width:0!important;table-layout:fixed}
#view-ads .ads-fixed-table .parent-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-ads .ads-fixed-table.show-parent td,#view-ads .ads-fixed-table.show-parent th{padding-left:4px;padding-right:4px;font-size:11px}
#view-ads .ads-fixed-table.show-parent .parent-col .table-ellipsis{color:#a45d70;font-size:11px;font-weight:650}
#view-settlement .settlement-simple{min-width:720px;table-layout:fixed}
#view-settlement .settlement-simple th,#view-settlement .settlement-simple td{width:16.6667%;font-size:12.5px;padding:13px 14px}
.settlement-parent{color:#a45d70;font-weight:700}
.issue-form .field[readonly]{background:#f4f6f8;color:#556476;cursor:not-allowed}
.issue-form #slot-user-search{background:#fff}


/* V32: 14 columns in requested order, narrow account columns without clipping Edit */
#view-ads .ads-workspace .table-scroller{overflow-x:hidden}
#view-ads .ads-workspace table.ads-fixed-table,
#view-ads .ads-workspace table.ads-fixed-table.show-parent{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}
#view-ads .ads-fixed-table th,#view-ads .ads-fixed-table td,
#view-ads .ads-fixed-table.show-parent th,#view-ads .ads-fixed-table.show-parent td{padding:12px 4px;font-size:11px;min-width:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-ads .ads-fixed-table th:first-child,#view-ads .ads-fixed-table td:first-child{padding-left:7px;padding-right:2px}
#view-ads .ads-fixed-table td:last-child,#view-ads .ads-fixed-table th:last-child{padding-left:3px;padding-right:7px;overflow:visible}
#view-ads .ads-fixed-table .action-edit{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;width:100%;height:31px;padding:4px 1px;font-size:11px;white-space:nowrap}
#view-ads .ads-fixed-table .parent-col .table-ellipsis{font-size:11px;font-weight:650}
#view-ads .ads-fixed-table .table-ellipsis{min-width:0;max-width:100%;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#view-ads .ads-fixed-table .ad-user{font-size:11.5px}
#view-ads .ads-fixed-table .product-main,#view-ads .ads-fixed-table .product-meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%}
#view-ads .ads-fixed-table .table-date{font-size:10.5px;letter-spacing:-.35px}
#view-ads .ads-fixed-table .table-mid{font-size:10.7px;letter-spacing:-.15px}
#view-ads .ads-fixed-table .ad-slot-number{color:#bf536d;font-size:12px;font-weight:800}
#view-ads .ads-fixed-table:not(.show-parent) .parent-col{display:none!important}
@media(max-width:1220px){
  #view-ads .ads-workspace .table-scroller{overflow-x:auto}
  #view-ads .ads-workspace table.ads-fixed-table,#view-ads .ads-workspace table.ads-fixed-table.show-parent{min-width:1150px!important;width:1150px!important}
}


/* V33 — unified alignment between column headings and row content */
#view-ads .ads-fixed-table{border-collapse:collapse;border-spacing:0}
#view-ads .ads-fixed-table thead th,
#view-ads .ads-fixed-table tbody td,
#view-ads .ads-fixed-table.show-parent thead th,
#view-ads .ads-fixed-table.show-parent tbody td{
  box-sizing:border-box;
  vertical-align:middle;
  text-align:left;
  padding:12px 7px;
  line-height:1.4;
}
/* Selection, slot number, status, rank, dates and action share one centered axis. */
#view-ads .ads-fixed-table :is(th,td):nth-child(1),
#view-ads .ads-fixed-table :is(th,td):nth-child(2),
#view-ads .ads-fixed-table :is(th,td):nth-child(5),
#view-ads .ads-fixed-table :is(th,td):nth-child(7),
#view-ads .ads-fixed-table :is(th,td):nth-child(11),
#view-ads .ads-fixed-table :is(th,td):nth-child(12),
#view-ads .ads-fixed-table :is(th,td):nth-child(13),
#view-ads .ads-fixed-table :is(th,td):nth-child(14){text-align:center}
#view-ads .ads-fixed-table :is(th,td):nth-child(1){padding-left:4px;padding-right:4px}
#view-ads .ads-fixed-table :is(th,td):nth-child(3),
#view-ads .ads-fixed-table :is(th,td):nth-child(4){padding-left:6px;padding-right:6px}
#view-ads .ads-fixed-table :is(th,td):nth-child(8){padding-left:8px;padding-right:8px}
#view-ads .ads-fixed-table :is(th,td):nth-child(14){padding-left:4px;padding-right:8px}
#view-ads .ads-fixed-table .row-check{display:block;margin:0 auto}
#view-ads .ads-fixed-table .rank-trigger{justify-content:center;width:100%;gap:3px}
#view-ads .ads-fixed-table .action-edit{width:100%;min-width:0;max-width:100%;margin:0 auto}
#view-ads .ads-fixed-table .sort-header{display:inline-flex;justify-content:center;align-items:center;line-height:1.4}
#view-ads .ads-fixed-table :is(th,td):nth-child(9),
#view-ads .ads-fixed-table :is(th,td):nth-child(10){font-variant-numeric:tabular-nums}
#view-ads .ads-fixed-table :is(th,td):nth-child(11),
#view-ads .ads-fixed-table :is(th,td):nth-child(12),
#view-ads .ads-fixed-table :is(th,td):nth-child(13){font-variant-numeric:tabular-nums}
#view-ads .ads-fixed-table .product-main,
#view-ads .ads-fixed-table .product-meta{width:100%;margin-left:0}
/* Compact account labels to reserve room for the final edit button. */
#view-ads .ads-fixed-table :is(th,td):nth-child(3),
#view-ads .ads-fixed-table :is(th,td):nth-child(4){font-size:11px}

/* V34 — consistent SLIK-like ledger grid with unified colgroup alignment. */
#view-ads .ads-workspace .table-scroller{overflow-x:auto}
#view-ads .ads-workspace table.ads-fixed-table,
#view-ads .ads-workspace table.ads-fixed-table.show-parent{
  table-layout:fixed!important;width:100%!important;min-width:1360px!important;
  border-collapse:collapse!important;border-spacing:0!important;
}
#view-ads .ads-fixed-table :is(thead th,tbody td){
  border-right:1px solid #e8ebef!important;
  border-bottom:1px solid #e8ebef!important;
  box-sizing:border-box;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;padding:10px 6px!important;
  font-size:11.5px;vertical-align:middle;
}
#view-ads .ads-fixed-table :is(thead th,tbody td):last-child{border-right:0!important}
#view-ads .ads-fixed-table th{background:#f5f6f8;color:#637185;font-weight:750}
#view-ads .ads-fixed-table tbody td{height:54px}
#view-ads .ads-fixed-table .action-edit{display:flex;justify-content:center;align-items:center;width:calc(100% - 6px);max-width:100%;margin:auto;padding:6px 3px!important}
#view-ads .ads-fixed-table .rank-trigger{margin:auto}
#view-ads .ads-fixed-table .product-main{line-height:1.3}
#view-ads .ads-fixed-table .product-meta{margin-top:4px;font-size:10.2px}
#view-ads .ads-fixed-table .parent-col{min-width:0}
#view-ads .ads-fixed-table col.parent-col{display:table-column}
#view-ads .ads-fixed-table:not(.show-parent) col.parent-col{display:none}
#view-ads .ads-fixed-table:not(.show-parent) :is(th,td).parent-col{display:none!important}
#view-ads .ads-fixed-table .pending-inline{display:inline-flex;background:#fff2e5;color:#aa6b21;font-size:9px;font-weight:750;padding:1px 5px;border-radius:4px;margin-left:6px}
#view-ads .ads-fixed-table .pending-action{display:block;font-size:10px;color:#a46a29;text-align:center;background:#fff5e8;border-radius:6px;padding:6px 0}
#view-ads .ads-fixed-table .table-mid,#view-ads .ads-fixed-table .table-date{font-size:10.8px;letter-spacing:-.15px}
@media(min-width:1650px){
  #view-ads .ads-workspace table.ads-fixed-table,
  #view-ads .ads-workspace table.ads-fixed-table.show-parent{min-width:0!important}
}

/* V35 — simple SLIK-like open table: no boxed vertical cells; aligned header and contents. */
#view-ads .ads-workspace .table-scroller{overflow-x:hidden}
#view-ads .ads-workspace table.ads-fixed-table,
#view-ads .ads-workspace table.ads-fixed-table.show-parent{
  table-layout:fixed!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border-collapse:collapse!important;
}
#view-ads .ads-fixed-table thead th,
#view-ads .ads-fixed-table tbody td,
#view-ads .ads-fixed-table.show-parent thead th,
#view-ads .ads-fixed-table.show-parent tbody td{
  border-right:none!important;
  border-left:none!important;
  border-top:none!important;
  border-bottom:1px solid #edf0f3!important;
  box-shadow:none!important;
  text-align:center!important;
  vertical-align:middle!important;
  padding:10px 5px!important;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  box-sizing:border-box;
}
#view-ads .ads-fixed-table thead th{background:#f7f8fa!important;color:#667487!important}
#view-ads .ads-fixed-table tbody tr{background:#fff!important}
#view-ads .ads-fixed-table tbody tr:hover{background:#fafbfc!important}
#view-ads .ads-fixed-table tbody tr.end-date-group td{border-top:none!important}
#view-ads .ads-fixed-table .table-ellipsis,
#view-ads .ads-fixed-table .product-main,
#view-ads .ads-fixed-table .product-meta,
#view-ads .ads-fixed-table .product-link{
  max-width:100%;width:100%;text-align:center!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#view-ads .ads-fixed-table .product-main{display:block}
#view-ads .ads-fixed-table .product-meta{display:block;margin-top:3px}
#view-ads .ads-fixed-table .row-check{display:block;margin:0 auto}
#view-ads .ads-fixed-table .rank-trigger{margin:0 auto;justify-content:center}
#view-ads .ads-fixed-table .action-edit{width:100%;max-width:100%;margin:0 auto}
#view-ads .ads-fixed-table .pending-inline{background:transparent!important;border:0!important;padding:0!important;color:#a87741;font-size:9px}
#view-ads .ads-fixed-table .pending-action{background:transparent!important;padding:0!important;color:#a87741;font-weight:700}
@media(max-width:1250px){
 #view-ads .ads-workspace .table-scroller{overflow-x:auto}
 #view-ads .ads-workspace table.ads-fixed-table,
 #view-ads .ads-workspace table.ads-fixed-table.show-parent{min-width:1180px!important;width:1180px!important}
}

/* V37 FINAL — responsive polishing. Desktop visual treatment intentionally preserved. */
html,body{max-width:100%;overflow-x:clip}
.shell,.page,.view,.card,.table-card,.dashboard-layout>*,.grid-2>*{min-width:0}
.table-scroller{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-scroller table{max-width:none}
.modal-body,.modal-header,.modal-footer{min-width:0}
.formrow{min-width:0}.formrow .field{max-width:100%;min-width:0}
.field[type=date]{min-width:0}
@media (max-width:1024px){
 .page{padding:22px 18px 52px}
 .heading{gap:10px}
 .dashboard-layout,.grid-2{grid-template-columns:1fr}
 .toolbar{gap:8px}
 .toolbar .field.search{flex:1 1 230px;width:auto}
 .settlement-table .table-scroller{overflow-x:auto}
 .settlement-simple{min-width:690px!important}
}
@media (max-width:800px){
 html,body{overflow-x:hidden}
 .shell{width:100%}
 .sidebar{width:min(82vw,300px);max-width:300px}
 .topbar{gap:7px}
 .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .topnote{display:none}
 .page{padding:18px 12px 40px}
 .stats,.ads-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .toolbar{align-items:stretch}
 .toolbar h3{width:100%;flex-basis:100%}
 .toolbar .field,.toolbar .field.search{width:100%;flex:1 1 100%;min-width:0}
 .bulkbar{gap:6px;padding:11px 12px}
 .bulkbar .hint{font-size:10px}
 .footerbar{flex-wrap:wrap;gap:12px;justify-content:center;text-align:center}
 .footerbar .pager{max-width:100%;overflow-x:auto}
 #view-ads .ads-workspace .table-scroller{position:relative;max-width:100%}
 #view-ads .ads-workspace table.ads-fixed-table,#view-ads .ads-workspace table.ads-fixed-table.show-parent{min-width:1120px!important;width:1120px!important}
 #view-ads .ads-fixed-table :is(thead th,tbody td){padding:10px 6px!important}
 .settlement-table .settlement-simple{width:690px!important;min-width:690px!important}
 .settlement-table .toolbar{align-items:stretch}
 .settlement-table .toolbar input[type=date]{min-width:0;width:calc(50% - 5px);flex:1 1 calc(50% - 5px)}
 .modal-backdrop{padding:10px;align-items:center}
 .modal,.modal.wide,.modal.medium,.modal.compact{width:100%;max-width:100%;max-height:calc(100dvh - 20px);border-radius:14px}
 .modal-header{padding:16px}.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-wrap:wrap}
 .modal-footer .btn{max-width:100%}
 .formgrid,.editor-date-grid{grid-template-columns:1fr}
 .formrow.wide{grid-column:auto}
 .insight-main,.insight-secondary{grid-template-columns:minmax(0,1fr)}
 .insight-metric-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toast{left:12px;right:12px;bottom:12px;max-width:none;text-align:center}
 .niche-login-screen{padding:12px}
 .niche-login-shell{width:100%;max-width:460px}
 .niche-login-form-panel{padding:32px 22px 24px}
 .login-form-inner{max-width:100%}
}
@media(max-width:420px){
 .page{padding:14px 9px 28px}
 .stat{padding:13px 11px;min-height:102px}
 .stat strong{font-size:22px}
 .stat-head{font-size:11px}
 .ads-status-strip>.stat{min-height:100px}
 .topbar{padding:0 11px}
 .heading h1{font-size:20px}
 .heading .sub{font-size:11px}
 .action-edit{font-size:11px}
 .modal-footer{justify-content:stretch}
 .modal-footer .btn{flex:1 1 auto}
 .niche-login-shell{border-radius:18px}
 .login-logo-text{font-size:53px}
 .login-guide{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== 실서비스 연결에서 더한 것 ===== */
.niche-sidebar-actions{margin-left:auto;display:flex;flex-direction:column;gap:4px}
.niche-sidebar-actions .niche-sidebar-logout{margin-left:0}
.rank-trigger.rank-none .rank-main{color:#8c8c96;font-weight:600}
.rank-trigger.rank-failed .rank-main{color:var(--red);font-weight:600}
.temp-password{margin-top:14px;font:600 18px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.04em;background:#fff;border:1px dashed #d8c9cf;border-radius:8px;padding:14px;text-align:center;user-select:all;word-break:break-all}
.tool-keyword-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:12px 0;max-height:320px;overflow:auto}
.notify-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
#notify-count{margin-left:4px}
#notify-count[hidden],#ad-member-filter[hidden]{display:none}
#ad-member-filter .link-button{margin-left:6px}
.btn[hidden],.formrow[hidden],.nav-group[hidden]{display:none!important}
.text-danger{color:var(--red)}
#niche-current-name{word-break:keep-all}
.toast.show{display:flex;align-items:center;gap:12px;pointer-events:auto}
.toast #toast-ok{flex:none}
.pager .pager-jump{width:58px;height:30px;margin-left:6px;padding:0 6px;border:1px solid var(--border);border-radius:6px;font-size:12px}
.account-link{display:block;max-width:100%;padding:0;background:none;border:0;cursor:pointer;text-align:left}
.rank-trigger .rank-checking{color:#d98a12;font-weight:600}
.rank-trigger.rank-empty .rank-main{color:#8c8c96;font-weight:400}
.report-manual{font-weight:700;color:#123c7c}
.report-info{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:13px}
.report-info th{width:110px;padding:9px 12px;text-align:left;background:#f8fafc;color:#5c6b80;font-weight:600;border:1px solid var(--border)}
.report-info td{padding:9px 12px;border:1px solid var(--border);word-break:break-all}
.report-range{margin:0 0 10px;color:#5c6b80;font-size:12.5px}
.report-basis{font-size:11.5px;color:#7a8799}
.report-basis.warn{color:#ad7314}
.modal .field[readonly]{background:#f4f6f8;color:#556476}
.editor-delete{margin-right:auto}
.member-actions{display:flex;gap:6px;flex-wrap:wrap}
#slot-info[hidden]{display:none}
.daily-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border);font-size:12px}
.daily-calendar .empty{grid-column:1/-1;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.daily-cell{display:grid;gap:2px;align-content:start;min-width:0;padding:8px 4px;text-align:center;line-height:1.3;overflow-wrap:anywhere;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.daily-date{font-size:13px}
@media(max-width:560px){.daily-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}
