:root{--bg:#f5f6f7;--card:#fff;--text:#15171a;--muted:#687078;--line:#dfe3e6;--shadow:0 7px 22px #0000000f}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 22px;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;border-radius:10px;background:#111;color:#fff;display:grid;place-items:center;font-weight:800}.brand h1{font-size:18px;margin:0}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}
.actions,.filters,.market,.tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
button,select,input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;font:600 12px/1.1 inherit;color:#111}button{cursor:pointer}button.primary,.tabs button.active,.market button.active{background:#111;color:#fff;border-color:#111}.market{padding:4px;background:#eef0f1;border-radius:10px}.market button{border:0;background:transparent}
main{max-width:1500px;margin:auto;padding:22px}.head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:15px 0 10px}.head h2{font-size:17px;margin:0}.head p,.head span,small,footer{color:var(--muted);font-size:11px}.head p{margin:4px 0 0}
.upload-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px}.upload,.card,.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.upload,.card,.kpi{padding:15px}.upload h3,.card h3{margin:0 0 8px;font-size:13px}.upload p{font-size:11px;color:var(--muted);min-height:30px}
.filebox{position:relative;border:1px dashed #aab0b4;border-radius:10px;padding:12px;text-align:center;background:#fafafa}.filebox input{position:absolute;inset:0;opacity:0;cursor:pointer}.filename{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#bbb;margin-right:5px}.dot.ok{background:#39945a}.dot.err{background:#bf3b45}
.notice{margin-top:12px;padding:12px 14px;border:1px solid #cfd8e5;background:#edf3fb;border-radius:11px;font-size:12px}.notice.good{background:#e8f5ec;border-color:#c9e3d1}.notice.warn{background:#fff5df;border-color:#ead5a4}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:14px}.kpi .label{text-transform:uppercase;letter-spacing:.45px;color:var(--muted);font-size:10px}.kpi .value{font-size:23px;font-weight:780;margin-top:5px}.kpi .sub{font-size:10px;color:var(--muted);margin-top:3px}
.tabs{margin:16px 0 10px}.panel{display:none}.panel.active{display:block}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
canvas{width:100%;height:300px;display:block}.table-wrap{overflow:auto;max-height:620px;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:950px;font-size:11px}th,td{padding:9px 10px;border-bottom:1px solid #eceeef;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#f8f9fa;text-transform:uppercase;font-size:10px;color:#555;z-index:2}tr:hover td{background:#fafbfb}
.item{padding:9px 0;border-bottom:1px solid #eee}.item:last-child{border-bottom:0}.item b{font-size:11px}.item span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:700}.protect{background:#e7f5ec;color:#24663f}.deepen{background:#e8effa;color:#305d94}.expose{background:#fff1cc;color:#7c5b00}.investigate{background:#fde8ea;color:#97333b}
.mapping{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px}.map{border:1px solid var(--line);border-radius:9px;padding:9px}.map b,.map span{display:block;font-size:10px}.map span{color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
footer{max-width:1500px;margin:auto;padding:14px 22px 28px}
@media(max-width:1100px){.upload-grid{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}.split,.triple{grid-template-columns:1fr}}
@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.brand p{display:none}main{padding:13px}.upload-grid,.kpis{grid-template-columns:1fr 1fr}}
.compare-empty{margin:0 0 14px;text-align:center;padding:28px}
.comparison-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:4px 0 12px}.comparison-intro h3,.compare-section-head h3{margin:0;font-size:15px}.comparison-intro p,.compare-section-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin-bottom:14px}
.compare-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px}.compare-label{text-transform:uppercase;letter-spacing:.45px;color:var(--muted);font-size:10px;margin-bottom:9px}.compare-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compare-values div{border:1px solid #eceeef;border-radius:10px;padding:9px}.compare-values span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.compare-values b{display:block;margin-top:4px;font-size:16px}.compare-delta{margin-top:8px;font-size:10px;color:var(--muted);font-weight:650}
.compare-section-head{margin:18px 0 9px}.compare-split{grid-template-columns:1.45fr .55fr}
#compareStyleTable{min-width:1150px}#compareCategoryTable,#compareSearchTable{min-width:760px}
@media(max-width:1100px){.compare-grid{grid-template-columns:repeat(2,1fr)}.compare-split{grid-template-columns:1fr}}
@media(max-width:650px){.compare-grid{grid-template-columns:1fr}.comparison-intro{align-items:flex-start;flex-direction:column}}

.upload-grid.six{grid-template-columns:repeat(3,minmax(220px,1fr))}
.report-status{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:14px}
.status-chip{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;box-shadow:var(--shadow)}
.status-chip span,.status-chip b{display:block;font-size:10px}.status-chip span{color:var(--muted);margin-bottom:4px}.status-chip.ready{border-color:#c9e3d1;background:#f6fbf7}
#compareStyleTable{min-width:1100px}#compareCategoryTable,#compareSearchTable,#compareThirteenTable,#compareDeviceTable,#compareEntryTable{min-width:760px}
@media(max-width:1100px){.upload-grid.six{grid-template-columns:repeat(2,1fr)}.report-status{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.upload-grid.six,.report-status{grid-template-columns:1fr}}

.week-controls{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}
.week-controls h3{margin:0 0 4px}.week-controls p{margin:0;color:var(--muted);font-size:11px}
.date-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.date-controls label{display:grid;gap:4px;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700}.date-controls input{min-width:145px}
#thirteenKpis{margin:12px 0}
.upload-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}
@media(max-width:900px){.upload-grid{grid-template-columns:repeat(2,1fr)}.week-controls{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.upload-grid{grid-template-columns:1fr}.date-controls{width:100%}.date-controls label,.date-controls input{width:100%}}

.hidden-panel{display:none!important}
.triple.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.action-card{margin:0 0 14px;padding:18px}
.action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.action-head h3{margin:0 0 4px;font-size:16px}
.action-head p{margin:0;color:var(--muted);font-size:11px}
.action-head>span{flex:0 0 auto;border:1px solid var(--line);background:#f8f9fa;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;color:#4e555c}
.action-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.action-item{display:flex;gap:10px;min-width:0;border:1px solid #e7eaec;background:#fafbfb;border-radius:12px;padding:12px}
.action-rank{flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.action-copy{min-width:0}.action-source{font-size:9px;letter-spacing:.55px;text-transform:uppercase;color:var(--muted);font-weight:750;margin-bottom:4px}
.action-copy h4{margin:0 0 5px;font-size:11px;line-height:1.3}
.action-copy p{margin:0 0 7px;color:#5f676e;font-size:10px;line-height:1.4}
.action-copy strong{display:block;font-size:10px;line-height:1.4;font-weight:700}
.action-empty{padding:18px;border:1px dashed #cbd0d4;border-radius:10px;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:1200px){.action-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.action-list,.triple.two-up{grid-template-columns:1fr}.action-head{flex-direction:column}}

.decision-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.decision-legend span{font-size:10px;color:#5f676e;background:#f7f8f8;border:1px solid #e6e9eb;border-radius:999px;padding:6px 9px}.decision-legend b{color:#15171a}
.decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.decision-card{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fbfbfb;min-width:0}
.decision-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.decision-card-head>div{display:flex;align-items:center;gap:7px}.decision-card-head h4{margin:0;font-size:12px}.decision-card-head>b{font-size:20px}
.decision-rule{font-size:10px;font-weight:750;margin:9px 0 4px}.decision-detail{font-size:10px;line-height:1.4;color:var(--muted);min-height:42px;margin:0 0 8px}
.decision-styles{display:grid;gap:6px}.style-action{display:block;width:100%;text-align:left;padding:8px;border:1px solid #e4e7e9;border-radius:9px;background:#fff}.style-action:hover{border-color:#9aa1a6;transform:translateY(-1px)}.style-action b,.style-action span,.style-action small{display:block}.style-action b{font-size:10px}.style-action span{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-action small{font-size:9px;margin-top:3px;color:var(--muted)}
.decision-none{font-size:10px;color:var(--muted);padding:8px}
.protect-card{border-top:3px solid #56916b}.expose-card{border-top:3px solid #c6a33d}.investigate-card{border-top:3px solid #bd6670}.deepen-card{border-top:3px solid #6483aa}

.chart-tooltip{position:fixed;display:none;z-index:80;pointer-events:none;max-width:300px;background:#111;color:#fff;border-radius:9px;padding:9px 10px;box-shadow:0 8px 26px #0003;font-size:10px}.chart-tooltip b,.chart-tooltip span{display:block}.chart-tooltip span{opacity:.78;margin-top:3px}

.style-modal{position:fixed;inset:0;background:#0007;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.style-modal.open{display:flex}.style-modal-card{position:relative;background:#fff;border-radius:16px;width:min(760px,96vw);max-height:90vh;overflow:auto;padding:22px;box-shadow:0 25px 80px #0004}.modal-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;font-size:20px;padding:0}.modal-eyebrow{text-transform:uppercase;letter-spacing:.6px;font-size:9px;color:var(--muted);font-weight:800}.style-modal h2{font-size:21px;margin:5px 40px 15px 0}.modal-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.modal-kpis div{border:1px solid var(--line);border-radius:10px;padding:10px}.modal-kpis span,.modal-kpis b{display:block}.modal-kpis span{font-size:9px;text-transform:uppercase;color:var(--muted)}.modal-kpis b{font-size:15px;margin-top:4px}.modal-decision{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:13px;background:#f7f8f8;border-radius:11px}.modal-decision p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.45}.modal-compare{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.modal-compare h3{margin:0 0 4px}.modal-compare p{font-size:11px;margin:0;color:#4f575d}

.trend-header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}.trend-header h3{margin:0 0 4px;font-size:17px}.trend-header p{margin:0;color:var(--muted);font-size:11px}.trend-market-toggle{display:flex;gap:6px}.trend-market-toggle button.active{background:#111;color:#fff;border-color:#111}
.trend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.trend-summary-card{background:#111;color:#fff;border-radius:12px;padding:13px}.trend-summary-card b,.trend-summary-card span{display:block}.trend-summary-card b{font-size:9px;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.trend-summary-card span{font-size:13px;font-weight:700;margin-top:4px;line-height:1.3}
.trend-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.trend-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trend-card,.competitor-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px}.trend-card-top,.competitor-head{display:flex;gap:6px;align-items:center}.trend-card-top span,.competitor-head span{font-size:8px;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:3px 6px}.trend-card-top b{font-size:9px;text-transform:uppercase;color:var(--muted)}.trend-card h4,.competitor-card h4{margin:8px 0 5px;font-size:12px}.trend-card p,.competitor-card p{font-size:10px;line-height:1.45;color:#535b61;margin:0 0 7px}.trend-card strong{display:block;font-size:10px;line-height:1.45;margin:7px 0}.trend-card a,.competitor-card a{font-size:9px;color:#15171a;font-weight:700;text-decoration:none}.trend-card a:hover,.competitor-card a:hover{text-decoration:underline}.competitor-list{display:grid;gap:8px}.competitor-head h4{margin:0;font-size:12px}.trend-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.trend-action{display:flex;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px}.trend-action>span{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:10px;font-weight:800}.trend-action b{font-size:10px}.trend-action p{font-size:9px;color:var(--muted);line-height:1.4;margin:3px 0 0}

@media(max-width:1100px){.decision-grid{grid-template-columns:repeat(2,1fr)}.trend-columns{grid-template-columns:1fr}.trend-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.decision-grid,.trend-card-grid,.trend-summary,.trend-actions,.modal-kpis{grid-template-columns:1fr}.trend-header{align-items:flex-start;flex-direction:column}}

.gender-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}.gender-head h3{margin:0 0 4px;font-size:17px}.gender-head p{margin:0;color:var(--muted);font-size:11px}.gender-head>span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;color:#4e555c}
.gender-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.gender-card{padding:16px}.gender-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.gender-title>div{display:flex;align-items:center;gap:8px}.gender-title h3{margin:0;font-size:14px}.gender-title>b{font-size:11px;color:var(--muted)}.gender-tag{display:inline-flex;border:1px solid #bfc5c9;background:#f7f8f8;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;letter-spacing:.6px}
.gender-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.gender-signal{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fbfbfb}.gender-signal>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.gender-signal>div>b{font-size:15px}.gender-signal p{font-size:9px;color:var(--muted);margin:6px 0}.gender-signal button{width:100%;display:block;text-align:left;padding:7px;border:1px solid #e6e9eb;border-radius:8px;background:#fff}.gender-signal button strong,.gender-signal button span,.gender-signal button small{display:block}.gender-signal button strong{font-size:9px}.gender-signal button span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.gender-signal button small{font-size:8px;color:var(--muted);margin-top:3px}
.gender-style-list{display:grid;gap:6px}.gender-style-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;padding:8px;border:1px solid #e6e9eb;border-radius:9px;background:#fff}.gender-style-row:hover{border-color:#9aa1a6}.gender-rank{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f0f2f3;font-size:9px;font-weight:800}.gender-style-row div{min-width:0}.gender-style-row div b,.gender-style-row div small{display:block}.gender-style-row div b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gender-style-row div small{font-size:8px;color:var(--muted);margin-top:3px}
.table-link{border:0;background:transparent;padding:0;font-weight:800;text-decoration:underline;text-underline-offset:2px;border-radius:0}
#genderTable{min-width:1050px}
@media(max-width:1000px){.gender-columns{grid-template-columns:1fr}}
@media(max-width:650px){.gender-signal-grid{grid-template-columns:1fr}.gender-head{align-items:flex-start;flex-direction:column}}

.settings-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}.settings-head h3{margin:0 0 4px;font-size:17px}.settings-head p{margin:0;color:var(--muted);font-size:11px}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.settings-copy{font-size:11px;color:var(--muted);line-height:1.45}.master-upload{margin-top:10px}.settings-status{margin-top:10px;font-size:10px;color:var(--muted)}.settings-status.good{color:#24663f}.settings-status.warn{color:#97333b}
.settings-table-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:16px 0 9px}.settings-table-head h3{margin:0 0 2px;font-size:14px}.settings-table-head p{margin:0;color:var(--muted);font-size:10px}.settings-table-head input{min-width:320px}
.master-table-wrap{max-height:650px}.master-table-wrap table{min-width:900px}.master-input{width:100%;min-width:140px;border:1px solid transparent;background:transparent;border-radius:7px;padding:7px 8px;font:500 11px/1.2 inherit}.master-input:hover,.master-input:focus{border-color:#cfd4d8;background:#fff;outline:none}.master-input.style{min-width:110px;font-weight:800}.master-delete{padding:6px 8px;font-size:10px}.modal-product-meta{display:flex;gap:7px;flex-wrap:wrap;margin:-5px 0 14px}.modal-product-meta span{font-size:9px;font-weight:750;border:1px solid var(--line);background:#f7f8f8;border-radius:999px;padding:4px 7px;color:#555d63}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.settings-head{align-items:flex-start;flex-direction:column}.settings-table-head{align-items:flex-start;flex-direction:column}.settings-table-head input{min-width:0;width:100%}}

.master-table-wrap table{min-width:1900px}.master-input.short{min-width:80px;max-width:100px}.master-input.sku{min-width:130px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.master-input.wide{min-width:210px}.master-input.description{min-width:320px}
.modal-description{margin:0 0 14px;color:#525a60;font-size:11px;line-height:1.5;max-width:680px}.modal-variants{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.modal-variants h3{margin:0 0 8px;font-size:12px}.modal-variants .table-wrap{max-height:230px}.modal-variants table{min-width:520px}

.master-table-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.master-pager{display:flex;align-items:center;gap:7px}.master-pager span{font-size:10px;color:var(--muted);white-space:nowrap}.master-pager button{padding:7px 9px;font-size:10px}.master-pager button:disabled{opacity:.4;cursor:default}
@media(max-width:900px){.master-table-tools{width:100%;align-items:stretch;flex-direction:column}.master-pager{justify-content:space-between}}

.table-filter-row th{top:31px;background:#f3f5f6;padding:5px 6px;z-index:3;border-bottom:1px solid #dfe3e6}.table-filter-input{width:100%;min-width:84px;padding:6px 7px;border:1px solid #d5dadd;border-radius:7px;background:#fff;font:500 10px/1.1 inherit;color:#222}.table-filter-input:focus{outline:none;border-color:#8f989f}.table-filter-cell{display:flex;align-items:center;gap:4px}.table-filter-clear{flex:0 0 24px;width:24px;height:24px;padding:0;border-radius:6px;font-size:15px;line-height:1}
.master-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 8px}.master-filter-bar select{min-width:150px;max-width:230px}.master-filter-bar button{padding:8px 10px}.settings-table-spacer{margin:4px 0 8px}.settings-table-spacer small{font-size:10px;color:var(--muted)}
@media(max-width:800px){.master-filter-bar{align-items:stretch}.master-filter-bar select,.master-filter-bar button{width:100%;max-width:none}.table-filter-row th{top:31px}}

.gender-performance-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.gender-performance-filter{display:flex;align-items:center;gap:7px}.gender-performance-filter label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}.gender-performance-filter select{min-width:135px}
@media(max-width:650px){.gender-performance-head{align-items:flex-start;flex-direction:column}.gender-performance-filter{width:100%}.gender-performance-filter select{flex:1}}

.upload-nav-button{display:inline-flex;align-items:center;gap:7px}.upload-nav-button[aria-expanded="true"]{background:#111;color:#fff;border-color:#111}.upload-nav-button #uploadChevron{font-size:10px}
.upload-drawer{display:none;border-bottom:1px solid var(--line);background:#f5f6f7;box-shadow:0 12px 28px #0000000d}.upload-drawer.open{display:block}.upload-drawer-inner{max-width:1500px;margin:auto;padding:16px 22px 18px}.upload-drawer-head{margin:0 0 10px}.upload-drawer-meta{display:flex;align-items:center;gap:10px}.upload-drawer-meta>span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;color:#4e555c}.upload-close{width:32px;height:32px;padding:0;border-radius:50%;font-size:18px;line-height:1}.dashboard-head{margin-top:15px}
@media(max-width:650px){.upload-drawer-inner{padding:13px}.upload-drawer-head{align-items:flex-start;flex-direction:column}.upload-drawer-meta{width:100%;justify-content:space-between}}

.top-panel-button.active{background:#111;color:#fff;border-color:#111}

.dual-market-overview{margin:0 0 14px}.dual-market-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:9px}.dual-market-head h3{margin:0 0 3px;font-size:15px}.dual-market-head p{margin:0;color:var(--muted);font-size:10px}.dual-market-head>span{font-size:10px;color:var(--muted);font-weight:650;text-align:right}
.dual-market-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dual-market-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px}.dual-market-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.dual-market-card-head>div{display:flex;align-items:center;gap:8px}.dual-market-card-head h4{margin:0;font-size:13px}.dual-market-card-head>b{font-size:10px;color:var(--muted)}.market-code{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;padding:0 7px;border-radius:999px;background:#111;color:#fff;font-size:9px;font-weight:800;letter-spacing:.4px}
.dual-market-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dual-market-metrics>div{border:1px solid #eceeef;border-radius:10px;padding:9px;min-width:0}.dual-market-metrics span,.dual-market-metrics b{display:block}.dual-market-metrics span{font-size:8px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted)}.dual-market-metrics b{font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1150px){.dual-market-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.dual-market-head{align-items:flex-start;flex-direction:column}.dual-market-head>span{text-align:left}.dual-market-cards{grid-template-columns:1fr}.dual-market-metrics{grid-template-columns:repeat(2,1fr)}}

.overview-tab-row{display:flex;justify-content:flex-start;margin:6px 0 8px}.overview-top-tab{font-weight:750;padding:8px 12px}.overview-top-tab.active{background:#111;color:#fff;border-color:#111}
.market-overview-panel{margin:0 0 18px}.market-overview-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:4px 0 12px}.market-overview-title h2{margin:0 0 4px;font-size:20px}.market-overview-title p{margin:0;color:var(--muted);font-size:11px}.market-overview-title>span{font-size:10px;color:var(--muted);font-weight:650;text-align:right}
#marketOverviewContent{display:grid;grid-template-columns:1fr 1fr;gap:16px}.market-overview-market{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px;min-width:0}.market-overview-market-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.market-overview-market-head>div{display:flex;align-items:center;gap:9px}.market-overview-market-head h3{margin:0;font-size:15px}.market-overview-market-head p{margin:3px 0 0;color:var(--muted);font-size:9px}
.market-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.market-overview-stats>div{border:1px solid #e8ebed;border-radius:10px;padding:9px;min-width:0}.market-overview-stats span,.market-overview-stats b{display:block}.market-overview-stats span{font-size:8px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted)}.market-overview-stats b{font-size:14px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-overview-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.market-overview-list-card{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fbfbfb;min-width:0}.market-overview-list-card h4{margin:0 0 7px;font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:#4d555b}
.market-overview-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;width:100%;border:0;border-top:1px solid #eceeef;background:transparent;padding:7px 0;text-align:left}.market-overview-row:first-child{border-top:0}.market-overview-row:not(.static){cursor:pointer}.market-overview-row:not(.static):hover b{text-decoration:underline}.market-overview-rank{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#eef0f1;font-size:8px;font-weight:800}.market-overview-row div{min-width:0}.market-overview-row b,.market-overview-row small{display:block}.market-overview-row b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-overview-row small{font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){#marketOverviewContent{grid-template-columns:1fr}}@media(max-width:700px){.market-overview-title{align-items:flex-start;flex-direction:column}.market-overview-title>span{text-align:left}.market-overview-list-grid{grid-template-columns:1fr}.market-overview-stats{grid-template-columns:repeat(2,1fr)}}

.overview-tab-row{gap:7px;align-items:center}.market-shortcut{padding:8px 11px;font-weight:700}.market-shortcut.active{background:#111;color:#fff;border-color:#111}


/* Reference-inspired visual system */
:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#09264a;
  --muted:#5f7187;
  --line:#d9e2ec;
  --shadow:0 8px 28px rgba(29,67,111,.08);
  --navy:#003b70;
  --navy-dark:#002b55;
  --blue:#2d8df0;
  --blue-soft:#eaf4ff;
  --green:#0aa357;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Aptos,"Segoe UI",Arial,sans-serif;
  background:#fff;
  color:var(--text);
}
button,select,input{font-family:inherit}

/* Header + brand */
header.app-header{
  position:sticky;
  top:0;
  z-index:40;
  display:grid;
  grid-template-columns:minmax(270px,330px) minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:14px 20px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #edf1f5;
  box-shadow:0 3px 16px rgba(17,47,83,.04);
  backdrop-filter:blur(12px);
}
.brand-lockup{min-width:0}
.landsend-wordmark{
  color:#082a55;
  font-size:29px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-1.8px;
  white-space:nowrap;
}
.brand-subtitle{
  margin-top:8px;
  color:#243f62;
  font-size:16px;
  line-height:1;
  font-weight:500;
}
.primary-nav{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:2px;
  margin:0;
  padding:4px;
  min-width:0;
  background:#f4f7fa;
  border:1px solid #edf1f4;
  border-radius:16px;
  overflow-x:auto;
  flex-wrap:nowrap;
}
.primary-nav button{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:83px;
  height:72px;
  padding:8px 10px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#082a55;
  font-size:10.5px;
  line-height:1.05;
  font-weight:700;
  white-space:nowrap;
}
.primary-nav button:hover{background:#eaf2fb}
.primary-nav button.active{
  color:#fff;
  background:#003b70;
  box-shadow:0 5px 13px rgba(0,59,112,.22);
}
.nav-icon{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  margin-bottom:6px;
}
.nav-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-tools{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:275px;
}
.header-tool{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border:1px solid #d7e0e9;
  border-radius:10px;
  background:#fff;
  color:#0b315e;
  font-size:10.5px;
  font-weight:700;
}
.header-tool:hover{background:#f3f7fb;border-color:#becddd}
.header-tool.active,.upload-nav-button[aria-expanded="true"]{
  background:#003b70;
  color:#fff;
  border-color:#003b70;
}

/* Main shell */
main{max-width:none;margin:0;padding:18px 20px 28px;background:#fff}
.dashboard-head{margin:8px 0 12px}
.dashboard-head h2{font-size:22px;color:#082a55}
.dashboard-head p{font-size:11px}
.overview-tab-row{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.overview-top-tab,.market-shortcut{
  border:1px solid #cbd9e7;
  border-radius:10px;
  background:#fff;
  color:#0b315e;
  padding:8px 12px;
  font-weight:700;
  font-size:10.5px;
}
.overview-top-tab.active,.market-shortcut.active{
  background:#003b70;
  color:#fff;
  border-color:#003b70;
}
.card,.kpi,.compare-kpi,.market-overview-market{
  border-color:#e1e8ef;
  box-shadow:0 7px 22px rgba(27,63,103,.06);
}

/* Upload & Settings panel */
.upload-drawer{
  display:none;
  background:#fff;
  border-bottom:0;
  box-shadow:none;
}
.upload-drawer.open{display:block}
.upload-drawer-inner{
  max-width:none;
  margin:0;
  padding:16px 20px 14px;
  background:#f3f7fb;
  border:1px solid #e5edf6;
  border-radius:18px;
  margin:14px 20px 0;
  box-shadow:0 10px 30px rgba(35,73,116,.07);
}
.upload-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:4px 12px 16px;
}
.upload-panel-head h2{
  margin:0;
  color:#082a55;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.4px;
}
.upload-panel-head p{
  margin:8px 0 0;
  color:#4d627c;
  font-size:12px;
}
.upload-panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.upload-panel-actions button{
  border:1px solid #c9d6e4;
  border-radius:9px;
  background:#fff;
  color:#0a315e;
  padding:8px 11px;
  font-size:10.5px;
  font-weight:700;
}
.upload-panel-actions .upload-close{
  width:31px;height:31px;padding:0;border-radius:50%;font-size:16px;
}
.upload-workflow{
  display:grid;
  grid-template-columns:1.05fr .9fr 1.45fr .9fr;
  background:rgba(255,255,255,.45);
  border-top:1px solid #edf2f7;
  border-bottom:1px solid #edf2f7;
}
.workflow-step{
  position:relative;
  min-width:0;
  padding:17px 22px 19px;
}
.workflow-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;right:0;bottom:18px;
  width:1px;
  background:#d7e1eb;
}
.workflow-step-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.step-number{
  flex:0 0 29px;
  width:29px;height:29px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#4a9ef0;
  color:#fff;
  font-size:15px;
  font-weight:700;
  box-shadow:0 4px 10px rgba(48,143,233,.2);
}
.workflow-step h3{margin:0;color:#09264a;font-size:13px}
.workflow-step p{margin:3px 0 0;color:#607289;font-size:10px}
.market-choice-row{display:grid;grid-template-columns:1fr 1fr .85fr;gap:6px}
.market-choice-row button{
  display:flex;align-items:center;justify-content:center;gap:6px;
  min-height:39px;
  padding:7px 8px;
  border:1px solid #c9d6e4;
  border-radius:9px;
  background:#fff;
  color:#0b315e;
  font-size:11px;
  font-weight:800;
}
.market-choice-row button.active{
  border-color:#2686e2;
  background:#328ee6;
  color:#fff;
}
.flag{font-size:18px}.globe{font-size:18px}
.period-field{
  display:flex;align-items:center;gap:10px;
  min-height:42px;
  padding:9px 12px;
  border:1px solid #cbd7e4;
  border-radius:9px;
  background:#fff;
  color:#173c67;
  font-size:10.5px;
}
.period-field span{font-size:16px}.period-field strong{font-size:11px}
.bulk-upload-zone{
  position:relative;
  min-height:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px;
  border:2px dashed #adc1d7;
  border-radius:11px;
  background:rgba(255,255,255,.7);
  color:#123a67;
  text-align:center;
  transition:.15s ease;
}
.bulk-upload-zone.dragging{border-color:#2d8df0;background:#eaf4ff}
.bulk-upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-cloud{font-size:25px;line-height:1;color:#0b5798;margin-bottom:4px}
.bulk-upload-zone b{font-size:11px}.bulk-upload-zone small{margin-top:2px;font-size:9.5px;color:#697b90}
.update-step{display:flex;flex-direction:column}
.update-dashboard-btn{
  margin-top:auto;
  min-height:46px;
  width:100%;
  border:0;
  border-radius:9px;
  background:#003b70;
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 6px 14px rgba(0,59,112,.17);
}
.update-dashboard-btn:hover{background:#00447f}
.report-upload-caption{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 4px 8px;
}
.report-upload-caption>div{display:flex;align-items:baseline;gap:8px}
.report-upload-caption b{font-size:11px}.report-upload-caption span{font-size:9.5px;color:#68798d}
.compact-upload-grid{
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:8px;
}
.compact-upload-grid .upload{
  padding:10px;
  border-radius:10px;
  box-shadow:none;
}
.compact-upload-grid .upload h3{font-size:10px;margin-bottom:4px}
.compact-upload-grid .upload p{font-size:8.5px;min-height:22px;margin:3px 0 6px}
.compact-upload-grid .filebox{padding:8px;border-radius:8px}
.compact-upload-grid .filebox b{font-size:9px}
.compact-upload-grid .filename{font-size:8px;margin-top:3px}
.upload-help{
  margin-top:10px;
  padding:11px 13px;
  border:1px solid #bdd5ee;
  border-radius:10px;
  background:#fff;
  color:#244563;
  font-size:10px;
}
.upload-help b,.upload-help span{display:block}.upload-help span{margin-top:3px;color:#61748a}
#uploadDrawer .notice{
  margin-top:12px;
  padding:13px 15px;
  border:1px solid #bce8ca;
  border-radius:11px;
  background:#effcf3;
  color:#183d2a;
  font-size:10.5px;
}
#uploadDrawer .notice::before{content:"✓";display:inline-grid;place-items:center;width:21px;height:21px;margin-right:8px;border-radius:50%;background:#0aa357;color:#fff;font-weight:900}
#uploadDrawer .notice.warn{background:#fff9eb;border-color:#ecd49a;color:#6b4d00}
#uploadDrawer .notice.warn::before{content:"!";background:#d29a1b}

/* Dashboard navigation/card finishing */
.kpis{gap:10px}
.kpi{border-radius:12px;padding:13px}
.kpi .label{color:#718197;font-size:8.5px}
.kpi .value{font-size:20px;color:#09264a}
.table-wrap{border-color:#dde6ee;border-radius:12px}
th{background:#f4f8fb;color:#3c536d}
.action-card,.gender-card,.trend-card,.competitor-card{border-radius:12px}
.pill{border-radius:999px}

/* Responsive */
@media(max-width:1500px){
  header.app-header{grid-template-columns:245px minmax(0,1fr);grid-template-areas:"brand nav" "tools tools"}
  .brand-lockup{grid-area:brand}
  .primary-nav{grid-area:nav;justify-content:flex-start}
  .header-tools{grid-area:tools;max-width:none;justify-content:flex-end}
}
@media(max-width:1150px){
  .upload-workflow{grid-template-columns:1fr 1fr}
  .workflow-step:nth-child(2)::after{display:none}
  .compact-upload-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  header.app-header{position:relative;display:flex;flex-direction:column;align-items:stretch}
  .brand-lockup{text-align:left}
  .primary-nav{justify-content:flex-start}
  .primary-nav button{min-width:78px}
  .header-tools{justify-content:flex-start}
  .upload-drawer-inner{margin:10px}
  .upload-panel-head{flex-direction:column}
  .upload-workflow{grid-template-columns:1fr}
  .workflow-step::after{display:none!important}
  .compact-upload-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  main{padding:12px}
  .landsend-wordmark{font-size:25px}
  .brand-subtitle{font-size:14px}
  .compact-upload-grid{grid-template-columns:1fr}
  .market-choice-row{grid-template-columns:1fr}
}


/* Lands' End brand palette from supplied logo */
:root{
  --le-navy:#061a3a;
  --le-navy-2:#0a2b55;
  --le-blue:#0b5fa8;
  --le-blue-bright:#4a9ef0;
  --le-blue-soft:#eef5fc;
  --le-border:#d9e3ed;
  --le-muted:#61738a;
  --text:var(--le-navy);
  --muted:var(--le-muted);
  --line:var(--le-border);
}
body{color:var(--le-navy);background:#fff}
.landsend-wordmark{display:none}
.landsend-logo{display:block;width:285px;max-width:100%;height:auto}
.brand-subtitle{color:#243d60}
.primary-nav button{color:var(--le-navy)}
.primary-nav button:hover{background:#edf4fb}
.primary-nav button.active{
  background:#063667;
  box-shadow:0 5px 13px rgba(6,54,103,.24);
}
.header-tool{color:var(--le-navy);border-color:#d5e0ea}
.header-tool:hover{background:#f3f7fb;border-color:#bdcddd}
.header-tool.active,.upload-nav-button[aria-expanded="true"]{
  background:var(--le-navy);
  border-color:var(--le-navy);
  color:#fff;
}
.dashboard-head h2,.market-overview-title h2,.upload-panel-head h2{color:var(--le-navy)}
.overview-top-tab,.market-shortcut{color:var(--le-navy);border-color:#cbd8e5}
.overview-top-tab.active,.market-shortcut.active{
  background:var(--le-navy);
  border-color:var(--le-navy);
  color:#fff;
}
.step-number{background:#4a9ef0}
.market-choice-row button{color:var(--le-navy)}
.market-choice-row button.active{
  background:#328ee6;
  border-color:#328ee6;
}
.period-field,.bulk-upload-zone{color:var(--le-navy)}
.bulk-upload-zone.dragging{border-color:var(--le-blue);background:var(--le-blue-soft)}
.upload-cloud{color:var(--le-blue)}
.update-dashboard-btn{
  background:#063667;
  box-shadow:0 6px 14px rgba(6,54,103,.18);
}
.update-dashboard-btn:hover{background:#074477}
.kpi .value,.workflow-step h3{color:var(--le-navy)}
.market-code{background:var(--le-navy)}
.table-link{color:var(--le-navy)}
@media(max-width:560px){.landsend-logo{width:245px}}


/* Aptos typography */
html,body,button,input,select,textarea,table{
  font-family:Aptos,"Aptos Display","Segoe UI",Arial,sans-serif;
}
body{
  font-size:14px;
  line-height:1.35;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-weight:600;letter-spacing:0}
.brand-subtitle{font-family:Aptos,"Segoe UI",Arial,sans-serif;font-weight:500}
.primary-nav button{font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:11px;font-weight:700;line-height:1.15}
.header-tool{font-size:11px;font-weight:700}
.dashboard-head h2,.market-overview-title h2,.upload-panel-head h2{font-family:"Aptos Display",Aptos,"Segoe UI",Arial,sans-serif;font-weight:700}
.head p,.head span,small,footer{font-size:11.5px;line-height:1.4}
.kpi .label{font-size:9px;font-weight:700}
.kpi .value{font-size:21px;font-weight:700;line-height:1.1}
th{font-size:10px;font-weight:700;letter-spacing:.15px}
td{font-size:11.5px;font-weight:500}
.workflow-step h3{font-size:13.5px;font-weight:700}
.workflow-step p{font-size:10.5px;line-height:1.35}
.upload-panel-head p{font-size:12.5px;line-height:1.4}
.market-overview-list-card h4{font-size:10.5px;font-weight:700}
.market-overview-row b{font-size:9.5px;font-weight:700}
.market-overview-row small{font-size:8.5px;line-height:1.3}
.table-filter-input,.master-input{font-family:Aptos,"Segoe UI",Arial,sans-serif}


/* Square-edge visual system */
*,
*::before,
*::after{
  border-radius:0!important;
}


/* Upload panel alignment + consistent sizing */
.upload-workflow{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.45fr .9fr;
  align-items:stretch;
  gap:0;
  background:#f3f5f7;
  border:1px solid #d7dee6;
}
.workflow-step{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:170px;
  padding:18px 22px;
}
.workflow-step-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:46px;
  margin-bottom:14px;
}
.workflow-step-head h3{
  margin:0;
  min-height:18px;
}
.workflow-step-head p{
  margin:3px 0 0;
  min-height:28px;
}
.workflow-step:not(:last-child)::after{
  top:20px;
  bottom:20px;
}
.market-choice-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:auto;
}
.market-choice-row button{
  height:42px;
  min-height:42px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}
.period-field{
  height:42px;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:0 12px;
  margin-top:auto;
}
.upload-files-step{
  display:flex;
  flex-direction:column;
}
.bulk-upload-zone{
  flex:1;
  min-height:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px;
}
.update-step{
  display:flex;
  flex-direction:column;
}
.update-dashboard-btn{
  margin-top:auto;
  height:46px;
  min-height:46px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  font-size:12px;
  font-weight:700;
}
.compact-upload-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.compact-upload-grid .upload{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:118px;
  padding:12px;
  border:1px solid #d7dee6;
  background:#fff;
}
.compact-upload-grid .upload h3{
  margin:0 0 4px;
  min-height:16px;
  font-size:11px;
  font-weight:700;
}
.compact-upload-grid .upload p{
  margin:0 0 10px;
  min-height:28px;
  font-size:9px;
  line-height:1.35;
}
.compact-upload-grid .filebox{
  margin-top:auto;
  min-height:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:8px 10px;
  border:1px dashed #b8c4d0;
  background:#fff;
}
.compact-upload-grid .filebox b{
  font-size:10px;
  line-height:1.2;
}
.compact-upload-grid .filename{
  margin-top:4px;
  min-height:14px;
  font-size:8px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-upload-caption{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  min-height:28px;
  margin-bottom:8px;
}
.upload-panel-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.upload-panel-actions button{
  height:32px;
  min-height:32px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:1200px){
  .upload-workflow{grid-template-columns:1fr 1fr}
  .compact-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .upload-workflow{grid-template-columns:1fr}
  .compact-upload-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .compact-upload-grid{grid-template-columns:1fr}
}


/* Shared access permissions */
.edit-only{display:none!important}
body.can-edit .edit-only{display:inline-flex!important}
.access-button.active{background:var(--le-navy);color:#fff;border-color:var(--le-navy)}
.access-modal-card{max-width:560px}
.access-modal-card h2{margin:6px 0 6px}
.access-modal-card>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45}
.access-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0}
.access-form input{min-width:0}
.access-signout{margin-top:10px}
.admin-access-panel{
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--line);
  background:#f7f9fb;
}
.editor-access-create{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;
  gap:8px;
  align-items:center;
  margin:10px 0 12px;
}
.editor-access-list{
  display:grid;
  gap:0;
  border:1px solid var(--line);
  background:#fff;
}
.editor-access-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 12px;
  border-bottom:1px solid var(--line);
}
.editor-access-row:last-child{border-bottom:0}
.editor-access-row>div:first-child{min-width:0}
.editor-access-row b,.editor-access-row span{display:block}
.editor-access-row b{font-size:12px}
.editor-access-row span{margin-top:2px;color:var(--muted);font-size:10px}
.editor-access-row>div:last-child{display:flex;gap:6px;flex:0 0 auto}
.editor-invite-result{
  margin:10px 0 12px;
  padding:11px 12px;
  border:1px solid var(--line);
  background:#fff;
}
.editor-invite-result.good{border-color:#b7d9c4;background:#f1faf4}
.editor-invite-result.warn{border-color:#e1c885;background:#fff9e9}
.editor-invite-result b,.editor-invite-result span{display:block}
.editor-invite-result span{margin-top:3px;color:var(--muted);font-size:10px}
.generated-access-key{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-top:9px;
}
.generated-access-key input{
  width:100%;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:11px;
}
@media(max-width:800px){
  .access-form,.editor-access-create,.generated-access-key{grid-template-columns:1fr}
  .editor-access-row{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   Responsive layout system
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,svg{max-width:100%}
main,footer,.upload-drawer-inner,.panel,.card,.kpi,.market-overview-market,.workflow-step{min-width:0}
button,input,select,textarea{max-width:100%}
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.table-wrap table{width:max-content;min-width:100%}
.master-table-wrap table{min-width:1500px}
#compareStyleTable{min-width:1120px}
#compareCategoryTable,#compareSearchTable,#compareDeviceTable,#compareEntryTable{min-width:760px}
canvas{max-width:100%;height:auto;min-height:240px}

.app-header,.primary-nav,.header-tools,.overview-tab-row,.dashboard-head,.head,
.market-overview-title,.comparison-intro,.week-controls,.trend-header,.gender-head,
.gender-performance-head,.settings-head,.settings-table-head,.action-head,.report-upload-caption{
  min-width:0;
}
.primary-nav,.header-tools,.overview-tab-row{
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.primary-nav::-webkit-scrollbar,.header-tools::-webkit-scrollbar,.overview-tab-row::-webkit-scrollbar{height:4px}
.primary-nav::-webkit-scrollbar-thumb,.header-tools::-webkit-scrollbar-thumb,.overview-tab-row::-webkit-scrollbar-thumb{background:#c7d2df}

@media(max-width:1366px){
  header.app-header{
    grid-template-columns:220px minmax(0,1fr);
    grid-template-areas:"brand nav" "tools tools";
    gap:10px 14px;
    padding:12px 16px;
  }
  .brand-lockup{grid-area:brand}
  .landsend-logo{width:220px}
  .brand-subtitle{font-size:14px;margin-top:6px}
  .primary-nav{
    grid-area:nav;
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .primary-nav button{min-width:76px;height:66px;padding:7px 8px;font-size:10px}
  .nav-icon{width:23px;height:23px;margin-bottom:5px}
  .nav-icon svg{width:22px;height:22px}
  .header-tools{
    grid-area:tools;
    max-width:none;
    width:100%;
    justify-content:flex-end;
  }
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .action-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trend-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1024px){
  main{padding:16px}
  footer{padding:12px 16px 22px}
  header.app-header{
    position:sticky;
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"brand" "nav" "tools";
    gap:9px;
    padding:11px 14px;
  }
  .brand-lockup{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .landsend-logo{width:210px}
  .brand-subtitle{margin:0;font-size:13px;text-align:right}
  .primary-nav{
    width:100%;
    justify-content:flex-start;
    padding:0;
    border-left:0;
    border-right:0;
  }
  .primary-nav button{
    flex:0 0 82px;
    min-width:82px;
    height:60px;
    padding:6px 7px;
  }
  .header-tools{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .header-tool{flex:0 0 auto;min-height:38px}
  .overview-tab-row{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
  }
  .overview-tab-row button{flex:0 0 auto}
  #marketOverviewContent,.dual-market-cards{grid-template-columns:1fr}
  .split,.triple,.triple.two-up,.trend-columns,.gender-columns,.settings-grid,.compare-split{grid-template-columns:1fr}
  .market-overview-list-grid,.trend-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .upload-workflow{grid-template-columns:1fr 1fr}
  .workflow-step{min-height:155px}
  .workflow-step:nth-child(2)::after{display:none}
  .settings-actions{width:100%}
  .settings-actions button{flex:1 1 180px}
  .master-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .master-filter-bar select,.master-filter-bar button{width:100%;max-width:none}
  .editor-access-create{grid-template-columns:1fr 1fr auto}
}

@media(max-width:768px){
  main{padding:12px}
  footer{padding:12px}
  header.app-header{
    position:sticky;
    top:0;
    padding:10px 12px;
  }
  .brand-lockup{align-items:flex-start;flex-direction:column;gap:4px}
  .landsend-logo{width:190px}
  .brand-subtitle{font-size:12px;text-align:left}
  .primary-nav button{
    flex-basis:74px;
    min-width:74px;
    height:56px;
    font-size:9.5px;
    padding:5px 6px;
  }
  .nav-icon{width:20px;height:20px;margin-bottom:4px}
  .nav-icon svg{width:20px;height:20px}
  .header-tool{min-height:40px;padding:8px 10px}
  .dashboard-head,.head,.market-overview-title,.comparison-intro,.week-controls,.trend-header,
  .gender-head,.gender-performance-head,.settings-head,.settings-table-head,.action-head,
  .report-upload-caption,.upload-panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-head .filters,.filters,.date-controls,.trend-market-toggle,.gender-performance-filter{
    width:100%;
  }
  .filters>*,.date-controls>*{flex:1 1 160px}
  .date-controls label,.date-controls input,.gender-performance-filter select{width:100%}
  .kpis,.compare-grid,.decision-grid,.trend-summary,.trend-actions,.gender-signal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .market-overview-stats,.dual-market-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-overview-list-grid,.trend-card-grid{grid-template-columns:1fr}
  .action-list{grid-template-columns:1fr}
  .upload-drawer-inner{margin:8px 12px 0;padding:12px}
  .upload-panel-head{padding:2px 0 12px;gap:10px}
  .upload-panel-actions{width:100%;display:grid;grid-template-columns:1fr 1fr auto}
  .upload-panel-actions button{width:100%}
  .upload-workflow{grid-template-columns:1fr}
  .workflow-step{min-height:0;padding:15px}
  .workflow-step::after{display:none!important}
  .workflow-step-head,.workflow-step-head p{min-height:0}
  .market-choice-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .period-field,.bulk-upload-zone,.update-dashboard-btn{margin-top:0}
  .bulk-upload-zone{height:auto;min-height:110px}
  .compact-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-upload-caption>div{align-items:flex-start;flex-direction:column;gap:2px}
  .settings-actions{display:grid;grid-template-columns:1fr 1fr}
  .settings-actions button{width:100%}
  .master-filter-bar{grid-template-columns:1fr 1fr}
  .master-table-tools{width:100%;align-items:stretch;flex-direction:column}
  .master-table-tools input{width:100%;min-width:0}
  .master-pager{width:100%;justify-content:space-between}
  .access-form,.editor-access-create,.generated-access-key{grid-template-columns:1fr}
  .editor-access-row{align-items:flex-start;flex-direction:column}
  .editor-access-row>div:last-child{width:100%}
  .editor-access-row>div:last-child button{flex:1}
  .style-modal{padding:10px;align-items:flex-end}
  .style-modal-card{
    width:100%;
    max-width:none;
    max-height:92dvh;
    padding:18px 14px 16px;
  }
  .modal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modal-decision{flex-direction:column}
  table{font-size:10.5px}
  th,td{padding:8px}
  .table-filter-input{min-width:76px}
}

@media(max-width:520px){
  main{padding:10px}
  header.app-header{padding:9px 10px}
  .landsend-logo{width:170px}
  .brand-subtitle{font-size:11px}
  .primary-nav{margin-left:-10px;margin-right:-10px;width:calc(100% + 20px);padding-left:10px;padding-right:10px}
  .primary-nav button{flex-basis:70px;min-width:70px;height:54px;font-size:9px}
  .header-tools{margin-left:-10px;margin-right:-10px;width:calc(100% + 20px);padding:0 10px 3px}
  .overview-tab-row{margin-left:-10px;margin-right:-10px;width:calc(100% + 20px);padding:0 10px 5px}
  .dashboard-head h2,.market-overview-title h2,.upload-panel-head h2{font-size:19px}
  .kpis,.compare-grid,.decision-grid,.trend-summary,.trend-actions,.gender-signal-grid,
  .market-overview-stats,.dual-market-metrics{
    grid-template-columns:1fr 1fr;
  }
  .kpi,.compare-kpi{padding:11px}
  .kpi .value{font-size:18px}
  .compare-values{grid-template-columns:1fr}
  .market-overview-market{padding:12px}
  .market-overview-card-head,.dual-market-head{align-items:flex-start;flex-direction:column}
  .market-choice-row{grid-template-columns:1fr}
  .compact-upload-grid{grid-template-columns:1fr}
  .upload-panel-actions{grid-template-columns:1fr 1fr}
  .upload-panel-actions .upload-close{grid-column:1/-1;width:100%;height:36px}
  .settings-actions{grid-template-columns:1fr}
  .master-filter-bar{grid-template-columns:1fr}
  .modal-kpis{grid-template-columns:1fr 1fr}
  .access-modal-card{padding:18px 14px}
  .editor-access-row>div:last-child{display:grid;grid-template-columns:1fr 1fr}
  .report-upload-caption{gap:6px}
  .action-card,.card,.market-overview-market,.admin-access-panel{padding:12px}
  canvas{min-height:210px}
}

@media(max-width:380px){
  .kpis,.compare-grid,.decision-grid,.trend-summary,.trend-actions,.gender-signal-grid,
  .market-overview-stats,.dual-market-metrics,.modal-kpis{
    grid-template-columns:1fr;
  }
  .primary-nav button{flex-basis:68px;min-width:68px}
  .overview-top-tab,.market-shortcut{padding:8px 9px}
  .header-tool{font-size:10px}
}


/* Tablet + mobile burger navigation */
.mobile-menu-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:flex-end;
  min-width:76px;
  height:42px;
  padding:0 10px 0 38px;
  border:1px solid var(--le-border);
  background:#fff;
  color:var(--le-navy);
  font-size:11px;
  font-weight:700;
}
.mobile-menu-toggle .burger-line{
  position:absolute;
  left:10px;
  width:20px;
  height:2px;
  background:currentColor;
  transition:transform .18s ease,top .18s ease,opacity .18s ease;
}
.mobile-menu-toggle .burger-line:nth-child(1){top:12px}
.mobile-menu-toggle .burger-line:nth-child(2){top:19px}
.mobile-menu-toggle .burger-line:nth-child(3){top:26px}
.mobile-menu-label{display:block}
.app-header.menu-open .mobile-menu-toggle{
  background:var(--le-navy);
  color:#fff;
  border-color:var(--le-navy);
}
.app-header.menu-open .mobile-menu-toggle .burger-line:nth-child(1){top:19px;transform:rotate(45deg)}
.app-header.menu-open .mobile-menu-toggle .burger-line:nth-child(2){opacity:0}
.app-header.menu-open .mobile-menu-toggle .burger-line:nth-child(3){top:19px;transform:rotate(-45deg)}

@media(max-width:1024px){
  header.app-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand burger"
      "nav nav"
      "tools tools";
    align-items:center;
    gap:8px 12px;
  }
  .brand-lockup{
    grid-area:brand;
    display:block;
    min-width:0;
  }
  .mobile-menu-toggle{
    display:inline-flex;
    grid-area:burger;
    justify-self:end;
  }
  .primary-nav,
  .header-tools{
    display:none!important;
  }
  .app-header.menu-open .primary-nav{
    grid-area:nav;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    width:100%;
    margin:2px 0 0;
    padding:0;
    overflow:visible;
    background:#dfe7ef;
    border:1px solid var(--le-border);
  }
  .app-header.menu-open .primary-nav button{
    width:100%;
    min-width:0;
    height:48px;
    padding:9px 12px;
    display:flex;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:9px;
    background:#fff;
    color:var(--le-navy);
    text-align:left;
    white-space:normal;
  }
  .app-header.menu-open .primary-nav button.active{
    background:var(--le-navy);
    color:#fff;
  }
  .app-header.menu-open .primary-nav .nav-icon{
    flex:0 0 23px;
    width:23px;
    height:23px;
    margin:0;
  }
  .app-header.menu-open .primary-nav .nav-icon svg{
    width:22px;
    height:22px;
  }
  .app-header.menu-open .header-tools{
    grid-area:tools;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    overflow:visible;
    background:#dfe7ef;
    border:1px solid var(--le-border);
  }
  .app-header.menu-open .header-tool{
    width:100%;
    min-height:44px;
    justify-content:flex-start;
    margin:0;
    border:0;
    background:#fff;
  }
  .app-header.menu-open .header-tool.active,
  .app-header.menu-open .upload-nav-button[aria-expanded="true"]{
    background:var(--le-navy);
    color:#fff;
  }
  body.can-edit .app-header.menu-open .header-tools .edit-only{
    display:inline-flex!important;
  }
}

@media(max-width:520px){
  header.app-header{
    padding:9px 10px;
  }
  .landsend-logo{width:158px}
  .brand-subtitle{font-size:10.5px}
  .mobile-menu-toggle{
    min-width:68px;
    height:40px;
    padding-right:8px;
    padding-left:35px;
    font-size:10px;
  }
  .mobile-menu-toggle .burger-line{left:9px;width:18px}
  .app-header.menu-open .primary-nav,
  .app-header.menu-open .header-tools{
    grid-template-columns:1fr;
  }
  .app-header.menu-open .primary-nav button{
    height:44px;
    font-size:10.5px;
  }
  .app-header.menu-open .header-tool{
    min-height:42px;
  }
}


/* Account login forms */
.login-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:8px;
  margin:12px 0;
}
.login-form input{min-width:0}
.editor-access-create{
  grid-template-columns:minmax(160px,.75fr) minmax(180px,.9fr) minmax(220px,1fr) auto;
}
.owner-password-panel{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.owner-password-panel h4{margin:0 0 3px;font-size:12px}
.owner-password-panel p{margin:0;color:var(--muted);font-size:10px}
.owner-password-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:8px;
  min-width:min(100%,420px);
}
@media(max-width:900px){
  .login-form,.editor-access-create,.owner-password-form{grid-template-columns:1fr}
  .owner-password-panel{align-items:stretch;flex-direction:column}
}
