*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f4f6f9;color:#17212b}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#121a24;color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:800;margin-bottom:28px}.brand span{font-size:10px;background:#1769ff;padding:4px 6px;border-radius:5px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar a{color:#cbd3dc;text-decoration:none;padding:11px;border-radius:8px}.sidebar a:hover{background:#1e2a37;color:#fff}.disabled{opacity:.4}.logout{margin-top:auto}.content{margin-left:240px;padding:30px;min-width:850px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar h1{margin:0}.topbar p{margin:4px 0;color:#71808e}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:#fff;border:1px solid #e2e7ed;border-radius:14px;padding:20px}.metric span{color:#778491}.metric strong{display:block;font-size:30px;margin-top:8px}.green{color:#16834b}.badge{padding:5px 8px;border-radius:999px;font-size:11px;background:#eef1f5}.badge.ok{background:#e4f7ec;color:#157642}.badge.err{background:#ffe6e6;color:#a82424}.form{display:flex;flex-direction:column;gap:8px}label{font-size:12px;font-weight:700}input,select{padding:10px;border:1px solid #ccd4dd;border-radius:8px}button{background:#1769ff;color:#fff;border:0;padding:10px 13px;border-radius:8px;font-weight:700}.secondary{background:#e9eef4;color:#24313d}.seller{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e7ebf0}.seller small{display:block;color:#788590;margin-top:4px}.actions{display:flex;gap:6px}.hint,.empty{color:#788590;font-size:13px}.logrow{display:grid;grid-template-columns:110px 70px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #e7ebf0}.logrow small{color:#788590}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px;border-bottom:1px solid #e7ebf0;text-align:left}th{background:#f7f9fb}.login-page{display:grid;place-items:center;min-height:100vh}.login-card{width:380px;background:#fff;padding:30px;border-radius:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px #0001}.brand.big{color:#17212b;margin-bottom:10px}.error{background:#ffe9e9;color:#a22;padding:10px;border-radius:8px}
.section-title{font-weight:800;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);color:#243447}.seller-block{align-items:flex-start}.vertical-actions{flex-direction:column;align-items:stretch;min-width:290px}.mini-form{display:grid;gap:6px}.history-form{display:flex;gap:6px}.history-form select{flex:1}

.notice-success{background:#e4f7ec;color:#157642;padding:12px;border-radius:8px;margin:12px 0}
.pending-box{background:#fff2d8;color:#7d5200;border-radius:10px;padding:14px;margin:12px 0}
.pending-box small{display:block;margin-top:6px}
.version-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.update-info{margin-top:18px}
.update-info li{margin:8px 0}

.data-summary{display:flex;gap:24px;align-items:center;margin-bottom:14px;font-size:13px}.data-summary span{color:var(--muted)}
.pager{display:flex;justify-content:center;align-items:center;gap:18px;padding:18px 0 4px}.pager a{color:var(--accent);text-decoration:none;font-weight:700}

.table-scroll{overflow-x:auto;width:100%}.table-scroll table{min-width:1650px}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

.period-form{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.period-form label{display:block;font-weight:700;margin-bottom:8px}
.period-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.period-row input[type=date]{padding:10px 12px;border:1px solid #d7dce5;border-radius:8px;background:#fff}
.period-presets{display:flex;gap:8px;flex-wrap:wrap}
.period-presets button{border:1px solid #d7dce5;background:#fff;border-radius:8px;padding:9px 12px;cursor:pointer}
.hint{margin-top:14px;color:#667085;font-size:13px;line-height:1.45}


.ads-head{margin-bottom:18px}
.ads-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.ads-kpi{background:#fff;border:1px solid #eaecf0;border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.ads-kpi-label{font-size:12px;color:#667085;margin-bottom:7px}
.ads-kpi-value{font-size:26px;font-weight:800;color:#101828;letter-spacing:-.02em}
.ads-kpi-value.small{font-size:15px;line-height:1.4}
.ads-card{border-radius:16px;padding:20px;margin-bottom:16px}
.section-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.section-title-row h2{margin:0 0 4px;font-size:20px}
.section-title-row p{margin:0;color:#667085;font-size:13px}
.ads-period-card{border-radius:16px;padding:20px;margin:16px 0;background:linear-gradient(180deg,#fff,#fbfcff)}
.ads-period-form{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap}
.ads-date-range{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.ads-date-field label{display:block;font-size:12px;font-weight:700;color:#475467;margin:0 0 6px}
.ads-date-field input{height:42px;border:1px solid #d0d5dd;border-radius:10px;padding:0 12px;background:#fff;font-size:14px;min-width:150px}
.ads-date-separator{height:42px;display:flex;align-items:center;color:#98a2b3;font-size:18px}
.ads-primary-btn{height:42px;border:0;border-radius:10px;background:#2f6fed;color:#fff;font-weight:700;padding:0 20px;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.ads-primary-btn:hover{filter:brightness(.97)}
.ads-presets{display:flex;gap:8px;flex-wrap:wrap}
.ads-presets button{height:38px;border:1px solid #d0d5dd;border-radius:999px;padding:0 14px;background:#fff;color:#344054;font-weight:600;cursor:pointer}
.ads-presets button:hover{border-color:#84adff;background:#f5f8ff}
.ads-period-badge{background:#f2f4f7;border-radius:999px;padding:7px 11px;font-size:12px;color:#475467;white-space:nowrap}
.compact-table table{min-width:1100px}
.ads-stats-table table{min-width:1850px;border-collapse:separate;border-spacing:0}
.ads-stats-table thead th{position:sticky;top:0;background:#f8fafc;z-index:1;color:#475467;font-size:11px;text-transform:none}
.ads-stats-table tbody tr:hover{background:#f8fbff}
.ads-stats-table td,.ads-stats-table th{padding:11px 12px;border-bottom:1px solid #eef2f6}
.strong{font-weight:700;color:#101828}
.metric{font-weight:700;color:#175cd3}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#ecfdf3;color:#027a48;font-size:11px;font-weight:700}
@media (max-width:900px){
  .ads-kpi-grid{grid-template-columns:1fr}
  .ads-period-form{align-items:stretch}
  .ads-date-range{width:100%}
}

/* RNP */
.rnp-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}
.rnp-head h1{margin:0;font-size:30px;letter-spacing:-.03em}.rnp-head p{margin:5px 0 0;color:#667085}
.rnp-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid #eaecf0;border-radius:16px;padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.rnp-filter label{display:block;font-size:11px;font-weight:700;color:#667085;margin-bottom:6px}.rnp-filter select,.rnp-filter input{height:40px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px;background:#fff;min-width:140px}
.rnp-sku-filter select{min-width:340px;max-width:520px}.rnp-segment{display:flex;border:1px solid #d0d5dd;border-radius:9px;overflow:hidden}.rnp-segment button{height:38px;border:0;border-right:1px solid #d0d5dd;padding:0 14px;background:#fff;cursor:pointer}.rnp-segment button:last-child{border-right:0}.rnp-segment button.active{background:#2f6fed;color:#fff}
.rnp-view-tabs{display:flex;gap:4px;margin:0 0 14px}.rnp-view-tabs a{padding:9px 14px;border-radius:9px;color:#475467;text-decoration:none;font-weight:700}.rnp-view-tabs a.active{background:#eef4ff;color:#175cd3}
.rnp-period-line{display:flex;gap:10px;align-items:center;color:#667085;margin:0 0 12px;font-size:13px}.rnp-period-line strong{color:#101828}.rnp-sku-badge{background:#f2f4f7;border-radius:999px;padding:5px 9px;color:#344054}
.rnp-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.rnp-kpi{background:#fff;border:1px solid #eaecf0;border-radius:15px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.rnp-kpi-label{font-size:12px;color:#667085}.rnp-kpi-value{font-size:25px;font-weight:800;margin:7px 0;color:#101828}.rnp-kpi-bottom{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#667085}
.rnp-table-wrap{overflow:auto;background:#fff;border:1px solid #eaecf0;border-radius:16px}.rnp-table{width:100%;border-collapse:separate;border-spacing:0;min-width:960px}.rnp-table thead th{position:sticky;top:0;background:#f8fafc;padding:12px;text-align:left;color:#475467;font-size:12px;border-bottom:1px solid #eaecf0}.rnp-table td{padding:9px 12px;border-bottom:1px solid #f0f2f5;font-size:13px}.rnp-table tbody tr:hover:not(.rnp-group){background:#fafcff}.rnp-group td{background:#f2f4f7;color:#344054;font-weight:800;padding:8px 12px}.metric-name{font-weight:650;color:#101828}.rnp-plan-input{width:125px;border:1px solid #d0d5dd;border-radius:7px;padding:7px 8px;text-align:right}
.rnp-progress{height:6px;width:105px;background:#eaecf0;border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}.rnp-progress-bar{height:100%;border-radius:999px}.rnp-progress-bar.good{background:#12b76a}.rnp-progress-bar.warn{background:#f79009}.rnp-progress-bar.bad{background:#f04438}.rnp-progress-text{font-size:11px;color:#475467}.good{color:#027a48}.warn{color:#b54708}.bad,.negative{color:#b42318}.positive{color:#027a48}.muted{color:#98a2b3}
.rnp-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:12px 14px;border:1px solid #eaecf0;border-top:0;border-radius:0 0 14px 14px;color:#667085;font-size:12px}.rnp-savebar button,.rnp-cost-card button{border:0;background:#2f6fed;color:#fff;height:38px;border-radius:9px;padding:0 15px;font-weight:700;cursor:pointer}
.rnp-cost-card{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid #eaecf0;border-radius:14px;padding:14px 16px;margin-bottom:14px}.rnp-cost-card strong{display:block}.rnp-cost-card span{font-size:12px;color:#667085}.rnp-cost-card form{display:flex;gap:8px}.rnp-cost-card input{height:38px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px}
.rnp-sku-table{min-width:1200px}.rnp-sku-table th,.rnp-sku-table td{white-space:nowrap}
@media(max-width:1050px){.rnp-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rnp-sku-filter select{min-width:240px}}@media(max-width:700px){.rnp-kpi-grid{grid-template-columns:1fr}}

.rnp-driver-card{background:#fff;border:1px solid #eaecf0;border-radius:16px;padding:18px;margin:14px 0}
.rnp-driver-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}
.rnp-driver span{display:block;font-size:11px;font-weight:700;color:#667085;margin-bottom:6px}
.rnp-driver input{width:100%;height:40px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px;text-align:right;font-size:14px}
.rnp-driver-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #eaecf0;color:#667085;font-size:12px;line-height:1.45}
.rnp-driver-footer button{height:40px;border:0;border-radius:9px;background:#2f6fed;color:#fff;padding:0 17px;font-weight:700;white-space:nowrap;cursor:pointer}
@media(max-width:1100px){.rnp-driver-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:650px){.rnp-driver-grid{grid-template-columns:1fr}.rnp-driver-footer{align-items:stretch;flex-direction:column}}

/* Update Manager */
.um-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:16px}.um-head h1{margin:0;font-size:30px;letter-spacing:-.03em}.um-head p{margin:5px 0 0;color:#667085}.um-head select{height:40px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px;background:#fff}
.um-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.um-summary-card{background:#fff;border:1px solid #eaecf0;border-radius:15px;padding:16px}.um-summary-card span,.um-summary-card small{display:block;color:#667085;font-size:12px}.um-summary-card strong{display:block;font-size:20px;margin:5px 0;color:#101828}
.um-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.um-actions form{display:flex;gap:8px}.um-actions select,.um-actions button,.um-job-buttons button{height:40px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 14px;font-weight:700;cursor:pointer}.um-actions .um-primary{background:#2f6fed;color:#fff;border-color:#2f6fed}
.um-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.um-job{background:#fff;border:1px solid #eaecf0;border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.um-job-title{display:flex;justify-content:space-between;gap:12px}.um-job-title strong{font-size:16px}.um-job-title small{display:block;color:#667085;margin-top:4px}.um-status{border-radius:999px;padding:5px 9px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:800;height:max-content}.um-status.ok{background:#ecfdf3;color:#027a48}.um-status.err{background:#fef3f2;color:#b42318}.um-status.run{background:#eff8ff;color:#175cd3}
.um-job-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.um-job-meta div{background:#f8fafc;border-radius:10px;padding:9px}.um-job-meta span{display:block;color:#667085;font-size:10px;margin-bottom:4px}.um-job-meta strong{font-size:11px;color:#344054;word-break:break-word}.um-message{font-size:12px;color:#475467;padding:9px 10px;background:#f8fafc;border-radius:9px;margin-bottom:10px}.um-job-buttons{display:flex;gap:8px}.um-job-buttons{display:flex}.um-job-buttons .secondary{background:#f8fafc}
.um-note{margin-top:14px;background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e;border-radius:12px;padding:12px 14px;font-size:12px}
@media(max-width:900px){.um-summary,.um-jobs{grid-template-columns:1fr}.um-job-meta{grid-template-columns:1fr}}

.rnp-overall-note{background:#eff8ff;border:1px solid #b2ddff;color:#175cd3;border-radius:12px;padding:12px 14px;margin:14px 0;font-size:13px}

.rnp-period-tabs a{display:flex;align-items:center;height:38px;padding:0 15px;text-decoration:none;color:#344054;background:#fff;border-right:1px solid #d0d5dd;font-weight:700;white-space:nowrap}
.rnp-period-tabs a:last-child{border-right:0}.rnp-period-tabs a.active{background:#2f6fed;color:#fff}
.ads-kpi-grid{grid-template-columns:repeat(6,minmax(130px,1fr))}
@media(max-width:1100px){.ads-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.ads-kpi-grid{grid-template-columns:1fr 1fr}}

.period-switcher{display:inline-flex;align-items:center;background:#f2f4f7;padding:4px;border-radius:12px;gap:3px;box-shadow:inset 0 0 0 1px #eaecf0}
.period-switcher a{display:flex;align-items:center;justify-content:center;height:34px;min-width:82px;padding:0 14px;border-radius:9px;text-decoration:none;color:#475467;font-size:13px;font-weight:700;transition:.15s ease}
.period-switcher a:hover{background:#fff;color:#175cd3}.period-switcher a.active{background:#2f6fed;color:#fff;box-shadow:0 1px 3px rgba(16,24,40,.16)}
.ads-coverage{display:flex;justify-content:space-between;gap:16px;align-items:center;border-radius:13px;padding:12px 15px;margin:0 0 14px;border:1px solid}.ads-coverage strong,.ads-coverage span{display:block}.ads-coverage span{font-size:12px;margin-top:3px}.ads-coverage.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}.ads-coverage.warning{background:#fffaeb;border-color:#fedf89;color:#b54708}.coverage-error{font-weight:700}
.history-tabs{display:flex;background:#f2f4f7;border-radius:10px;padding:3px;gap:2px}.history-tabs a{padding:8px 12px;border-radius:8px;text-decoration:none;color:#475467;font-size:12px;font-weight:700}.history-tabs a.active{background:#fff;color:#175cd3;box-shadow:0 1px 2px rgba(16,24,40,.10)}
.product-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.products-card{padding:18px}.product-save-btn{border:0;background:#2f6fed;color:#fff;height:40px;padding:0 16px;border-radius:10px;font-weight:700;cursor:pointer}.product-save-btn:hover{background:#245cc5}.products-table .cost-input{width:140px;height:36px;text-align:right;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px}.products-table .cost-input:focus{outline:2px solid #b2ccff;border-color:#528bff}

/* v1.7.6: keep login form centered regardless of global layout rules */
html, body.login-page { width:100%; min-width:0; min-height:100%; }
body.login-page { min-height:100vh; margin:0; display:flex; align-items:center; justify-content:center; padding:24px; }
body.login-page .login-card { width:min(380px,100%); margin:0; }


.period-switcher button{display:flex;align-items:center;justify-content:center;height:34px;min-width:82px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:#475467;font-size:13px;font-weight:700;cursor:pointer;transition:.15s ease}
.period-switcher button:hover{background:#fff;color:#175cd3}
.period-switcher button.active{background:#2f6fed;color:#fff;box-shadow:0 1px 3px rgba(16,24,40,.16)}


.rnp-loading{position:fixed;inset:0;background:rgba(255,255,255,.68);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:9999}
.rnp-loading.show{display:flex}
.rnp-loading-box{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eaecf0;border-radius:14px;padding:16px 20px;box-shadow:0 12px 36px rgba(16,24,40,.18);color:#344054}
.rnp-loading-box strong,.rnp-loading-box span{display:block}.rnp-loading-box span{font-size:12px;color:#667085;margin-top:3px}
.rnp-spinner{width:24px;height:24px;border:3px solid #d0d5dd;border-top-color:#2f6fed;border-radius:50%;animation:rnp-spin .7s linear infinite}
@keyframes rnp-spin{to{transform:rotate(360deg)}}


.rnp-daily-card{background:#fff;border:1px solid #eaecf0;border-radius:16px;padding:18px;margin:14px 0 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.rnp-daily-scroll{overflow:auto;max-height:620px;border:1px solid #eaecf0;border-radius:12px}
.rnp-daily-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1320px;font-size:12px}
.rnp-daily-table th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#475467;text-align:right;padding:10px 9px;border-bottom:1px solid #eaecf0;white-space:nowrap}
.rnp-daily-table th:first-child{text-align:left;left:0;z-index:3}
.rnp-daily-table td{padding:9px;border-bottom:1px solid #f2f4f7;text-align:right;white-space:nowrap;background:#fff}
.rnp-daily-table td:first-child{position:sticky;left:0;text-align:left;font-weight:700;background:#fff;z-index:1}
.rnp-daily-table tbody tr:hover td{background:#f9fbff}.rnp-daily-table tbody tr:hover td:first-child{background:#f9fbff}
.rnp-daily-table tr.daily-negative td{background:#fffafa}.rnp-daily-table tr.daily-negative td:first-child{background:#fffafa}
.daily-completion{display:inline-flex;min-width:62px;justify-content:center;padding:4px 7px;border-radius:999px;font-weight:700}.daily-completion.ok{background:#ecfdf3;color:#067647}.daily-completion.mid{background:#fffaeb;color:#b54708}.daily-completion.low{background:#fef3f2;color:#b42318}
@media(max-width:800px){.rnp-daily-card{padding:12px}.rnp-daily-scroll{max-height:70vh}}

.supply-controls{padding:12px 16px;margin-bottom:14px}.supply-control-form{display:flex;gap:20px;align-items:end}.supply-control-form label,.supply-plan-inputs span,.supply-note span{display:block;font-size:11px;font-weight:700;color:#667085;margin-bottom:6px}.supply-segments{display:flex;background:#f2f4f7;padding:3px;border-radius:10px}.supply-segments button{border:0;background:transparent;padding:8px 12px;border-radius:8px;font-weight:700;color:#475467}.supply-segments button.active{background:#2f6fed;color:#fff}.supply-control-form select{height:38px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 10px}.supply-section{padding:18px;margin-bottom:14px}.supply-table small{display:block;color:#98a2b3;margin-top:3px;max-width:260px}.supply-table .selected-row{background:#f5f8ff}.supply-status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.supply-status.ok{background:#ecfdf3;color:#067647}.supply-status.plan{background:#fffaeb;color:#b54708}.supply-status.critical,.supply-status.out{background:#fef3f2;color:#b42318}.supply-link,.supply-excel{display:inline-flex;align-items:center;height:34px;padding:0 11px;border-radius:8px;background:#eef4ff;color:#175cd3;font-size:11px;font-weight:800;text-decoration:none}.supply-mini-kpi{text-align:right}.supply-mini-kpi strong,.supply-mini-kpi span{display:block}.supply-mini-kpi strong{font-size:20px}.supply-mini-kpi span{font-size:10px;color:#98a2b3}.warehouse-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}.warehouse-card{border:1px solid #eaecf0;border-radius:12px;padding:12px}.warehouse-card strong,.warehouse-card span,.warehouse-card small{display:block}.warehouse-card strong{font-size:12px}.warehouse-card span{font-size:16px;font-weight:800;margin-top:7px}.warehouse-card small{font-size:10px;color:#98a2b3;margin-top:3px}.supply-plan-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.supply-plan-inputs input,.supply-note input{width:100%;height:39px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px}.allocation-head{display:flex;align-items:center;gap:10px;margin:18px 0 8px}.allocation-head button{border:0;background:#eef4ff;color:#175cd3;border-radius:8px;padding:8px 10px;font-weight:700}.allocation-head span{margin-left:auto;font-size:11px;color:#667085}.allocation-list{border:1px solid #eaecf0;border-radius:12px;overflow:hidden}.allocation-row{display:grid;grid-template-columns:1fr 120px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #f2f4f7}.allocation-row:last-child{border-bottom:0}.allocation-row strong,.allocation-row small{display:block}.allocation-row small{font-size:10px;color:#98a2b3}.allocation-row input{height:36px;border:1px solid #d0d5dd;border-radius:8px;text-align:right;padding:0 9px}.supply-note{display:block;margin-top:12px}.supply-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.supply-actions button{height:40px;border:0;border-radius:9px;background:#2f6fed;color:#fff;padding:0 16px;font-weight:800}.supply-form-hint{font-size:11px;color:#667085}.saved-plan{border:1px solid #eaecf0;border-radius:12px;padding:12px;margin-top:9px}.saved-plan.done{opacity:.62}.saved-plan-main{display:flex;justify-content:space-between;gap:15px;align-items:center}.saved-plan-main strong,.saved-plan-main span{display:block}.saved-plan-main span{font-size:10px;color:#667085;margin-top:3px}.saved-plan-actions{display:flex;gap:7px;align-items:center}.saved-plan-actions a,.saved-plan-actions button{border:0;background:#eef4ff;color:#175cd3;padding:7px 9px;border-radius:7px;font-size:10px;font-weight:800;text-decoration:none}.saved-allocs{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.saved-allocs span{background:#f8fafc;padding:6px 8px;border-radius:7px;font-size:10px}@media(max-width:1000px){.warehouse-grid{grid-template-columns:repeat(2,1fr)}.supply-plan-inputs{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.supply-control-form{flex-direction:column;align-items:stretch}.warehouse-grid,.supply-plan-inputs{grid-template-columns:1fr}.saved-plan-main{align-items:flex-start;flex-direction:column}}

.product-filter-tabs{display:flex;gap:4px;margin:0 0 12px;background:#f2f4f7;padding:4px;border-radius:10px;width:max-content}.product-filter-tabs a{padding:8px 13px;border-radius:8px;text-decoration:none;color:#475467;font-size:12px;font-weight:750}.product-filter-tabs a.active{background:#2f6fed;color:#fff}.review-sku-row{background:#fff8ed}.review-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.review-toggle input{display:none}.review-toggle span{width:34px;height:19px;border-radius:20px;background:#d0d5dd;position:relative;transition:.15s}.review-toggle span:after{content:"";position:absolute;width:15px;height:15px;background:#fff;border-radius:50%;left:2px;top:2px;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}.review-toggle input:checked+span{background:#f79009}.review-toggle input:checked+span:after{left:17px}.review-toggle b{font-size:11px;color:#667085}.product-save-btn{min-height:38px;padding:0 16px;border:0;border-radius:9px;background:#2f6fed;color:#fff;font-weight:800;cursor:pointer}


/* v1.8.3 Products controls */
.product-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.products-head{margin-bottom:14px}
.products-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.products-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.inline-form{display:inline;margin:0}
.ui-btn{height:38px;border-radius:9px;padding:0 13px;font-size:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s ease;white-space:nowrap}
.ui-btn-primary{border:1px solid #2f6fed;background:#2f6fed;color:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.ui-btn-primary:hover{background:#245cc5;border-color:#245cc5}
.ui-btn-light{border:1px solid #eaecf0;background:#fff;color:#344054}
.ui-btn-light:hover{background:#f8fafc;border-color:#d0d5dd}
.ui-btn-outline{border:1px solid #b2ccff;background:#eef4ff;color:#175cd3}
.ui-btn-outline:hover{background:#e0eaff;border-color:#84adff}
.products-section-title{position:sticky;top:0;z-index:5;background:#fff;padding-bottom:12px}
.products-notice{padding:10px 13px;border-radius:10px;margin:0 0 10px;font-size:12px;font-weight:700}
.products-notice.ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.stock-positive{color:#067647;font-weight:800}
.stock-zero{color:#98a2b3}
.review-toggle{min-width:76px}
.review-toggle b{min-width:22px}
.product-save-btn{min-width:168px}
@media(max-width:900px){.product-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.products-toolbar{align-items:flex-start;flex-direction:column}}


/* v1.8.5 secure access */
.secure-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#f5f7fb}
.secure-login-card{width:min(420px,100%);margin:0;padding:30px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(16,24,40,.10)}
.secure-login-card h1{margin:20px 0 4px}.secure-login-card p{margin:0 0 20px;color:#667085}
.secure-login-card label,.security-card label{display:block;font-size:12px;font-weight:750;color:#344054;margin:13px 0 6px}
.secure-login-card input,.security-card input{width:100%;height:43px;border:1px solid #d0d5dd;border-radius:9px;padding:0 11px;background:#fff}
.password-wrap{position:relative}.password-wrap input{padding-right:82px}
.password-eye{position:absolute;right:6px;top:5px;height:33px;border:0;border-radius:7px;background:#f2f4f7;color:#475467;padding:0 9px;font-size:10px;font-weight:800;cursor:pointer}
.secure-login-button{width:100%;height:44px;border:0;border-radius:9px;background:#2f6fed;color:#fff;font-weight:850;margin-top:18px;cursor:pointer}
.secure-login-button:disabled{opacity:.5;cursor:not-allowed}
.login-error,.security-message.error{background:#fef3f2;color:#b42318;border:1px solid #fecdca;border-radius:9px;padding:9px 11px;margin:12px 0;font-size:12px}
.login-security-note{font-size:10.5px;color:#98a2b3;text-align:center;margin-top:12px}
.security-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(300px,.75fr);gap:14px;max-width:1000px}
.security-card{padding:20px}.security-card h2{margin-top:0}.security-card .muted{color:#667085;font-size:12px}
.security-save{margin-top:18px}.password-requirements{font-size:10px;color:#667085;margin-top:5px}
.security-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #f2f4f7}
.security-row:last-child{border-bottom:0}.security-row strong{font-size:12px}.security-row span{font-size:11px;color:#667085;text-align:right}
@media(max-width:800px){.security-grid{grid-template-columns:1fr}.secure-login-card{padding:22px}}


/* v1.8.7 personal account + password recovery */
.login-helper{display:flex;justify-content:flex-end;margin-top:7px}
.login-helper a{font-size:11px;color:#175cd3;font-weight:750;text-decoration:none}
.login-helper.back{justify-content:center;margin-top:14px}
.account-head{margin-bottom:14px}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1100px}
.account-card{padding:20px}
.account-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.account-card-title h2,.account-security-card h2{margin:0}
.account-card-title p{margin:4px 0 0;color:#667085;font-size:12px}
.security-badge{display:inline-flex;align-items:center;height:27px;padding:0 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:850;white-space:nowrap}
.security-badge.ok{background:#ecfdf3;color:#067647}
.account-primary-btn{width:100%;margin-top:18px}
.account-info{background:#f8fafc;border:1px solid #eaecf0;border-radius:11px;padding:12px;margin:12px 0}
.account-info strong{font-size:12px}.account-info p{font-size:11px;color:#667085;margin:6px 0 0}
.recovery-code-box{border:1px solid #b2ccff;background:#f5f8ff;border-radius:12px;padding:15px}
.recovery-code-label{font-size:10px;font-weight:800;color:#475467;text-transform:uppercase;letter-spacing:.4px}
.recovery-code-value{font-size:24px;font-weight:900;letter-spacing:1.5px;margin:9px 0 12px;word-break:break-all}
.recovery-code-box p{font-size:10.5px;color:#667085;margin:10px 0 0}
.account-security-card{grid-column:1 / -1}
.reset-card{width:min(440px,100%)}
@media(max-width:850px){.account-grid{grid-template-columns:1fr}.account-security-card{grid-column:auto}}

/* v1.9.0 multi-seller */
.seller-create-card{margin-bottom:14px;padding:18px}.seller-create-card h2{margin:0 0 4px}.seller-create-card>p{margin:0 0 14px;color:#667085;font-size:12px}
.seller-create-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px;align-items:end}.seller-create-grid label{display:block;font-size:11px;font-weight:800;margin:0 0 5px}.seller-create-grid input{width:100%;height:39px;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px}.seller-create-action{padding-bottom:1px}
.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:850}.status-pill.ok{background:#ecfdf3;color:#067647}.status-pill.bad{background:#fef3f2;color:#b42318}
.seller-actions summary{cursor:pointer;color:#175cd3;font-size:11px;font-weight:800}.seller-actions form{margin-top:9px}.seller-actions label{font-size:10px;display:block;margin-bottom:4px}.seller-actions .ui-btn{margin-top:6px;width:100%}
.api-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.api-status-grid>div{padding:10px;border-radius:9px;background:#f8fafc;font-size:11px}.api-status-grid strong{display:block;margin-top:3px}
@media(max-width:900px){.seller-create-grid{grid-template-columns:1fr}.seller-create-action .ui-btn{width:100%}}

/* v1.9.2 seller create feedback */
.seller-password-hint{margin-top:5px;font-size:9.5px;color:#667085;line-height:1.35}
.seller-password-hint.ok{color:#067647;font-weight:750}
.seller-created-row td{background:#f0f9ff}
.empty-state-cell{text-align:center!important;padding:28px!important;color:#667085}
.products-notice.bad{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
