:root{--bg:#0f1118;--panel:#171a24;--panel2:#1d2130;--line:#303647;--text:#f4f6fb;--muted:#8f9ab3;--accent:#6D3DF5;--ok:#47c98b;--danger:#ff6b78;--warn:#e3ad3d;--shadow:0 16px 50px rgba(0,0,0,.28);--radius:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body[data-theme=light]{--bg:#f4f6fa;--panel:#fff;--panel2:#f7f8fc;--line:#dce1ec;--text:#151927;--muted:#69728a;--shadow:0 10px 32px rgba(31,37,52,.09);color-scheme:light}body[data-density=compact] table th,body[data-density=compact] table td{padding:7px 9px}body[data-density=compact] .card{padding:14px}.hidden{display:none!important}.muted{color:var(--muted)}.error,.neg{color:var(--danger)!important}.pos{color:var(--ok)!important}small{display:block;color:var(--muted);margin-top:3px}.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#11141d;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:3px 8px 18px}.brand.big{justify-content:center;margin-bottom:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#a361ff);font-weight:900;color:white}.brand b{display:block;font-size:18px}.brand small{font-size:11px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.sidebar nav button,.link-button{border:0;background:transparent;color:var(--muted);text-align:left;padding:10px 11px;border-radius:10px;cursor:pointer;font:inherit}.sidebar nav button span{display:inline-block;width:22px}.sidebar nav button:hover,.sidebar nav button.active{background:var(--panel2);color:var(--text)}.sidebar nav button.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.pill{font-size:12px;color:var(--ok)}main{min-width:0}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:16px 22px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}header h2{margin:0;font-size:22px}.header-actions{display:flex;align-items:center;gap:12px}.user{text-align:right}.user b,.user small{display:block}.content{padding:20px;max-width:1900px;margin:0 auto}.grid{display:grid;gap:16px;margin-bottom:16px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.one{grid-template-columns:1fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:30px;font-weight:800;margin:8px 0}.stat .hint{color:var(--muted);font-size:12px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.section-title h3,.card h3{margin:0 0 8px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:10px;margin:12px 0 16px}.toolbar.wrap{flex-wrap:wrap}.toolbar input,.toolbar select{min-width:180px}.inline{display:flex!important;align-items:center!important;gap:6px!important;flex-direction:row!important;color:var(--muted)}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:10px 12px;border-radius:9px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}textarea{min-height:90px;resize:vertical}button.primary,button.secondary,button.danger-soft,.icon-button{border:1px solid transparent;padding:9px 12px;border-radius:9px;cursor:pointer;color:white}.primary{background:var(--accent)}.secondary{background:var(--panel2);border-color:var(--line)!important;color:var(--text)!important}.danger-soft{background:color-mix(in srgb,var(--danger) 16%,var(--panel));border-color:color-mix(in srgb,var(--danger) 45%,var(--line))!important;color:var(--danger)!important}.wide{width:100%}.tiny{padding:5px 8px!important;font-size:12px}.icon-button{display:none;background:var(--panel2);color:var(--text)}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--panel2);border:1px solid var(--line);font-size:11px;white-space:nowrap}.badge.ok{background:color-mix(in srgb,var(--ok) 14%,var(--panel));border-color:color-mix(in srgb,var(--ok) 42%,var(--line));color:var(--ok)}.badge.bad{background:color-mix(in srgb,var(--danger) 14%,var(--panel));border-color:color-mix(in srgb,var(--danger) 42%,var(--line));color:var(--danger)}.badge.warn{background:color-mix(in srgb,var(--warn) 15%,var(--panel));border-color:color-mix(in srgb,var(--warn) 45%,var(--line));color:var(--warn)}.table-wrap{overflow:auto;max-width:100%;max-height:68vh;border:1px solid var(--line);border-radius:10px}.table-wrap.small{max-height:420px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th,td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{position:sticky;top:0;background:var(--panel2);color:var(--muted);font-weight:600;z-index:2}tr:hover td{background:color-mix(in srgb,var(--panel2) 55%,transparent)}td b{display:block}.muted-row{opacity:.55}.photo{width:42px;height:52px;object-fit:cover;border-radius:8px;background:var(--panel2);border:1px solid var(--line)}.photo.large{width:88px;height:110px}.placeholder-img{display:grid;place-items:center;color:var(--muted)}.product-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.product-head span{display:block;color:var(--muted);margin-top:4px}.empty{text-align:center;padding:30px;color:var(--muted)}.placeholder p{color:var(--muted)}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.metric span,.metric b{display:block}.metric b{margin:5px 0;font-size:18px}.sync-list{display:flex;flex-direction:column}.sync-row{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(160px,1.5fr) auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.summary-strip{display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;margin:12px 0;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.summary-strip span{color:var(--muted)}.summary-strip b{color:var(--text);margin-left:5px}.summary-strip.vertical{flex-direction:column}.stock-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px;margin-bottom:8px}.stock-tab{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:9px 13px;border-radius:9px;white-space:nowrap;cursor:pointer}.stock-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.bars{height:220px;display:flex;align-items:flex-end;gap:4px;padding:10px 0 0;overflow:hidden}.bar-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:7px}.bar{width:100%;max-width:18px;min-height:3px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#34d399));border-radius:4px 4px 0 0}.bar-col small{font-size:9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.form-grid .full{grid-column:1/-1}.switch-row{display:flex;align-items:center;gap:9px;padding:8px 0}.switch-row input,.form-grid label>input[type=checkbox]{width:auto}.warning-box,.analysis-box{padding:12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 8%,var(--panel));color:var(--text)}.linked-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin:12px 0}.linked-card{display:flex;gap:10px;padding:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.linked-card span{display:block;color:var(--muted);font-size:12px}.check-list{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;margin:12px 0}.check-list label{display:block;padding:7px;border-bottom:1px solid var(--line)}.check-list input{width:auto;margin-right:6px}.duplicate-list,.notification-list{display:flex;flex-direction:column;gap:10px}.duplicate{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.duplicate>div:first-child,.duplicate>div:nth-child(3){display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.duplicate>div img{grid-row:1/4}.duplicate>small,.duplicate>.button-row{grid-column:1/-1}.notification{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.notification.read{opacity:.65}.notification p{margin:7px 0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 35%),var(--bg)}.auth-card{width:min(430px,100%);background:var(--panel);padding:28px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card label{display:flex;flex-direction:column;gap:6px;color:var(--muted);margin:12px 0}.auth-card h1{margin:10px 0}.auth-card .error{min-height:20px;margin-top:10px}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(0,0,0,.6);padding:20px}.modal-card{position:relative;width:min(620px,96vw);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.modal-card.wide{width:min(1100px,96vw)}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#242a3a;color:white;border:1px solid #3a4257;border-radius:10px;padding:12px 16px;box-shadow:var(--shadow);max-width:min(480px,90vw)}.toast.bad{border-color:var(--danger);color:#ffd8dc}
@media(max-width:1100px){.grid.stats{grid-template-columns:repeat(2,1fr)}.grid.two,.settings-grid{grid-template-columns:1fr}.app{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:760px){.app{display:block}.sidebar{position:fixed;left:-260px;width:240px;transition:left .2s}.sidebar.open{left:0}.icon-button{display:block}.content{padding:12px}header{padding:12px}.header-actions .secondary{display:none}.user{display:none}.grid.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar>*{min-width:0!important;flex:1 1 140px}.table-wrap{max-height:70vh}.modal{padding:8px}.modal-card{width:100%;padding:18px}.duplicate{grid-template-columns:1fr}.duplicate>*{grid-column:1!important}.sync-row{grid-template-columns:1fr auto}.sync-row span:nth-child(2){grid-row:2}.settings-grid{grid-template-columns:1fr}}
@media(max-width:480px){.grid.stats{grid-template-columns:1fr}.stat .value{font-size:25px}.brand{padding-bottom:10px}}


/* V2.0.18 parity UI helpers */
.subtabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.subtab{border:1px solid var(--line);background:var(--panel2);color:var(--muted);padding:8px 12px;border-radius:9px;cursor:pointer;white-space:nowrap}
.subtab:hover,.subtab.active{color:#fff;background:var(--accent);border-color:var(--accent)}
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.stock-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.top-gap{margin-top:12px}.inner{margin-top:12px}.mini{padding:5px 8px!important;font-size:12px}.compact{font-size:12px}.clickable{cursor:pointer}
.cell-sub{font-size:11px;color:var(--muted);margin-top:3px}.table-note{font-size:12px;color:var(--muted);margin:8px 0}.modal-table{max-height:60vh}
.photo-empty{display:grid;place-items:center;color:var(--muted);font-size:20px;cursor:default}.photo.clickable{cursor:zoom-in}
.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.details-grid>div{padding:11px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.details-grid span,.details-grid b{display:block}.details-grid span{font-size:12px;color:var(--muted);margin-bottom:4px}
.settings-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.settings-list label{display:flex;align-items:center;gap:8px;color:var(--muted)}.settings-list input[type=checkbox]{width:auto}.inline-number{width:88px!important;margin-left:auto;padding:6px 8px!important}
.settings-strip{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin:12px 0}.settings-strip summary{cursor:pointer;display:flex;gap:10px;justify-content:space-between}.settings-strip summary span{color:var(--muted);font-size:12px}
.help-box,.notice,.error-box{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.help-box{color:var(--muted);margin:12px 0}.error-box{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}
.notice-list{display:flex;flex-direction:column;gap:10px}.notice{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notice.read{opacity:.65}.notice b{display:inline-block;margin-left:8px}.notice p{margin:7px 0}
.danger-line{padding:9px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:9px;color:var(--danger)!important}.danger{border:1px solid color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 18%,var(--panel));color:var(--danger);padding:9px 12px;border-radius:9px;cursor:pointer}
.candidate-grid{display:grid;gap:10px}.candidate{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.candidate-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.candidate-pair>div{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center}.candidate-pair img{grid-row:1/4}.score{font-size:20px;font-weight:800;color:var(--accent)}
.link-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;max-height:55vh;overflow:auto}.link-option{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px}.link-option label{display:flex;gap:9px;align-items:center}.link-check,.card-select{width:auto!important}
.calendar{overflow:auto}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:6px;min-width:700px}.cal-head>div{text-align:center;color:var(--muted);padding:6px}.cal-day{min-height:92px;border:1px solid var(--line);border-radius:9px;padding:8px;background:var(--panel2)}.cal-day.muted-day{opacity:.45}.cal-day b{display:block;margin-bottom:6px}.cal-day .amount{font-size:12px;color:var(--warn)}
.spinner{width:26px;height:26px;margin:0 auto 12px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.no-animations *,body.no-animations *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
body.light-theme{--bg:#f4f6fa;--panel:#fff;--panel2:#f7f8fc;--line:#dce1ec;--text:#151927;--muted:#69728a;--shadow:0 10px 32px rgba(31,37,52,.09);color-scheme:light}
body.compact-ui table th,body.compact-ui table td{padding:7px 9px}body.compact-ui .card{padding:14px}
.modal-card.modal-wide{width:min(1180px,96vw)}
@media(max-width:1100px){.stock-stats,.compact-stats{grid-template-columns:repeat(2,1fr)!important}.candidate-pair{grid-template-columns:1fr}}
@media(max-width:760px){.details-grid{grid-template-columns:1fr}.stock-stats,.compact-stats{grid-template-columns:1fr 1fr!important}.notice{flex-direction:column}.subtabs{flex-wrap:nowrap;overflow:auto}.calendar{margin-left:-6px;margin-right:-6px}}
@media(max-width:480px){.stock-stats,.compact-stats{grid-template-columns:1fr!important}}

/* V2.0.20 orders center */
.orders-card{overflow:visible}.orders-toolbar{align-items:center}.orders-toolbar #ord-search{min-width:310px;flex:1 1 360px}
.order-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 8px}.order-tab{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);padding:8px 12px;border-radius:10px;cursor:pointer}.order-tab b{display:grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:7px;background:var(--panel);color:var(--text);font-size:11px}.order-tab:hover,.order-tab.active{border-color:var(--accent);color:#fff}.order-tab.active{background:var(--accent)}.order-tab.active b{background:rgba(255,255,255,.16);color:#fff}
.order-day-group{margin:16px 0 22px}.order-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:11px 11px 0 0}.order-day-head>div{display:flex;align-items:baseline;gap:10px}.order-day-head span{color:var(--muted);font-size:12px}.order-day-head strong{font-size:15px}
.order-store-group{margin:8px 0 0;border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden}.order-store-group>summary{position:relative;display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:14px;cursor:pointer;padding:10px 13px;background:color-mix(in srgb,var(--accent) 8%,var(--panel2));list-style:none}.order-store-group>summary::-webkit-details-marker{display:none}.order-store-group>summary:before{content:'▾';font-size:11px;color:var(--muted);grid-column:1;position:absolute}.order-store-group:not([open])>summary:before{content:'▸'}.store-summary-name{display:flex;align-items:center;gap:9px;padding-left:16px}.store-summary-name small{margin:0}.collapse-hint{color:var(--muted);font-size:11px}
.orders-table-wrap{max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;border:0!important;border-radius:0!important}.orders-table{min-width:2200px}.orders-table th,.orders-table td{position:static!important;white-space:nowrap}.orders-table .order-product-cell{min-width:280px;max-width:360px;white-space:normal}.orders-table .photo{width:38px;height:46px}.orders-table tbody tr:hover{background:var(--panel2)}
.order-modal-head{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center;padding-right:34px}.order-modal-head .photo{width:88px;height:110px}.order-modal-head h3{margin:8px 0 4px;font-size:22px}.order-modal-head p{margin:0 0 8px}.order-modal-head>div>b{font-size:22px}
.order-lifecycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0 4px}.order-lifecycle>div,.finance-detail-grid>div{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.order-lifecycle span,.finance-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.order-lifecycle b,.finance-detail-grid b{display:block}.finance-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.profit-cell{grid-column:span 2}.mono-small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.full-detail{grid-column:1/-1}
@media(max-width:1100px){.order-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profit-cell{grid-column:auto}.order-store-group>summary{position:relative;grid-template-columns:1fr auto}.collapse-hint{display:none}}
@media(max-width:760px){.order-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.order-tab{white-space:nowrap}.order-day-head{align-items:flex-start}.order-day-head>div{display:block}.order-store-group>summary{position:relative;grid-template-columns:1fr}.order-store-group>summary>span:nth-child(2){padding-left:16px;color:var(--muted);font-size:11px}.order-lifecycle,.finance-detail-grid{grid-template-columns:1fr}.order-modal-head{grid-template-columns:72px 1fr}.order-modal-head .photo{width:68px;height:86px}.orders-toolbar #ord-search{min-width:220px}}

/* V2.0.27 System Center */
.system-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.system-health-card{padding:15px}.system-health-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.system-health-card p{margin:10px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.system-issues{margin-bottom:16px}.system-issues ul{margin:8px 0 0;padding-left:20px}.system-issues li{margin:4px 0}@media(max-width:1100px){.system-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.system-health-grid{grid-template-columns:1fr}}
.finance-editable{cursor:text;position:relative}.finance-editable:hover{outline:1px dashed rgba(99,102,241,.55);outline-offset:-3px}.finance-cell-input{width:92px;min-width:72px;padding:6px 8px;border-radius:8px;border:1px solid var(--accent,#6366f1);background:var(--panel,#111827);color:inherit;font:inherit}

/* V2.0.39 Accounting Center */
.no-margin{margin:0}
.calendar-layout{display:grid;grid-template-columns:minmax(620px,1.12fr) minmax(360px,.88fr);gap:14px;align-items:start}
.calendar-main,.calendar-side{min-width:0;margin-top:0!important}
.calendar-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px}
.calendar-nav>div{text-align:center}.calendar-nav b{display:block;font-size:17px}.calendar-nav small{margin-top:4px}
.calendar .cal-day{appearance:none;width:100%;color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;position:relative}
.calendar .cal-day:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel2))}
.calendar .cal-day.has-due{background:color-mix(in srgb,var(--warn) 7%,var(--panel2));border-color:color-mix(in srgb,var(--warn) 38%,var(--line))}
.calendar .cal-day.covered{background:color-mix(in srgb,var(--ok) 8%,var(--panel2));border-color:color-mix(in srgb,var(--ok) 48%,var(--line))}
.calendar .cal-day.overdue{background:color-mix(in srgb,var(--danger) 9%,var(--panel2));border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}
.calendar .cal-day.selected{box-shadow:0 0 0 2px var(--accent) inset;border-color:var(--accent)}
.calendar .cal-day.today b{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;background:var(--accent);color:#fff;margin:-2px 0 4px -2px}
.cal-amount{display:block;font-weight:800;font-size:13px;margin-top:4px}.cal-day small{font-size:10px}
.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--warn)}.legend-dot.covered{background:var(--ok)}.legend-dot.overdue{background:var(--danger)}
.calendar-alert{margin:4px 0 14px}.calendar-alert span{color:var(--muted)}
.calendar-filter{width:auto;min-width:150px;padding:6px 9px}
.calendar-payment-list{display:flex;flex-direction:column;gap:9px;max-height:540px;overflow:auto;padding-right:2px;margin-top:12px}
.calendar-payment{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:11px}.calendar-payment.overdue{border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}
.calendar-payment-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.calendar-payment-main>div:first-child{min-width:0}.calendar-payment-main b{display:block;margin-top:5px;overflow-wrap:anywhere}
.calendar-payment-sums{text-align:right;white-space:nowrap}.calendar-payment-sums b{font-size:16px;margin:0}.calendar-payment-sums small{margin-top:3px}
.calendar-day-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.calendar-day-stats .metric b{font-size:16px}
@media(max-width:1250px){.calendar-layout{grid-template-columns:1fr}.calendar-payment-list{max-height:none}}
@media(max-width:760px){.calendar-layout{display:block}.calendar-main,.calendar-side{margin-bottom:14px}.calendar-day-stats{grid-template-columns:1fr 1fr}.calendar-payment-main{display:block}.calendar-payment-sums{text-align:left;margin-top:8px}}
.ai-candidate-grid{margin-top:12px}.ai-link-candidate{display:flex;flex-direction:column;gap:12px}.ai-link-analysis{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.ai-link-analysis p{margin:6px 0}.ai-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.ai-chip{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;border:1px solid var(--line);font-size:11px}.ai-chip.ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));background:color-mix(in srgb,var(--ok) 9%,var(--panel))}.ai-chip.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 9%,var(--panel))}.ai-link-candidate .score{min-width:128px;text-align:center}.ai-link-candidate .score .badge{font-size:18px;padding:5px 9px}.ai-link-candidate .score small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:500}

/* V2.0.44 durable AI comparison journal */
.ai-history-list{display:grid;gap:12px}.ai-history-item{padding:14px}.ai-history-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;margin:12px 0}.ai-history-pair>div{display:flex;align-items:center;gap:10px;min-width:0}.ai-history-pair b{overflow-wrap:anywhere}.ai-history-pair small{overflow-wrap:anywhere}#ai-link-job progress{height:12px;accent-color:var(--accent)}#ai-link-run:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.ai-history-pair{grid-template-columns:1fr}.ai-history-pair>span{display:none}}

/* V2.0.44 — редактор связок карточек */
.link-group-row{cursor:pointer}.link-group-row:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--panel2))}
.link-focus-box{margin:14px 0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel));border-radius:12px}.link-focus-box .section-title{margin-bottom:10px}.link-focus-box h3{margin:0 0 4px}.link-focus-box p{margin:0}.link-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.link-focus-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;padding:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.link-focus-card .photo{width:54px;height:68px}.link-focus-card b,.link-focus-card small{display:block}.link-focus-card small{color:var(--muted);margin-top:3px}.link-name-label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;margin:12px 0}.link-additional{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.link-additional>summary{cursor:pointer;padding:12px 14px;font-weight:700;background:var(--panel2)}.link-additional[open]>summary{border-bottom:1px solid var(--line)}.link-picker-tools{padding:0 12px}.link-picker{padding:0 12px 12px}.link-option{display:grid;grid-template-columns:auto 42px minmax(0,1fr);gap:9px;align-items:center;cursor:pointer}.link-option.selected{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--panel2))}.link-option>span b,.link-option>span small{display:block}.link-option>span small{color:var(--muted);margin-top:2px}.link-action-bar{position:sticky;bottom:-22px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px -22px -22px;padding:12px 22px;background:color-mix(in srgb,var(--panel) 96%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(8px)}.link-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:32px}.link-group-head h3{margin:0 0 4px}.link-group-head p{margin:0}.linked-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:16px}.linked-group-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.linked-group-card .photo{width:54px;height:68px}.linked-group-card b,.linked-group-card small{display:block}.linked-group-card small{color:var(--muted);margin-top:3px}.add-member-option{grid-template-columns:42px minmax(0,1fr) auto}
@media(max-width:760px){.link-focus-grid{grid-template-columns:1fr}.link-action-bar{position:static;margin:14px 0 0;padding:12px 0 0;background:transparent;border-top:1px solid var(--line)}.linked-group-card{grid-template-columns:48px minmax(0,1fr)}.linked-group-card>button{grid-column:1/-1}.add-member-option{grid-template-columns:42px minmax(0,1fr)}.add-member-option>button{grid-column:1/-1}}

/* V2.0.47 — multi-store product workspace and independent WB-native variant groups */
.wb-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:14px}
.wb-group-item{display:flex;flex-direction:column;gap:10px;padding:13px;border:1px solid var(--line);background:var(--panel2);border-radius:12px;cursor:pointer;min-width:0}
.wb-group-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel2))}
.wb-group-head{display:flex;gap:12px;align-items:start;min-width:0}.wb-group-head>div{min-width:0;flex:1}.wb-group-head b{display:block;font-size:13px;overflow-wrap:anywhere}.wb-group-head small{display:block;color:var(--muted);margin:4px 0}.wb-group-head>.photo{height:68px;width:57px;object-fit:cover}
.wb-group-thumbs{display:flex;gap:5px;align-items:center;min-height:46px;overflow:hidden}.wb-group-thumbs .photo{width:40px;height:44px;flex-shrink:0;object-fit:cover}.wb-group-thumbs span{font-size:11px;color:var(--muted)}
.wb-group-item>button{margin-top:auto;align-self:flex-start}
.transfer-filters{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.transfer-filters label{display:flex;flex-direction:column;gap:5px;min-width:200px;flex:1;max-width:340px}.transfer-filters label select{min-width:180px;width:100%}.transfer-arrow{color:var(--accent);font-size:22px;font-weight:800}
.transfer-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}.transfer-row{display:grid;grid-template-columns:minmax(200px,1fr) 160px minmax(200px,1fr) 150px;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.transfer-row>.badge{white-space:normal;text-align:center;line-height:1.3}
.transfer-product{display:flex;gap:10px;align-items:center;min-width:0}.transfer-product .photo{height:57px;width:47px;flex-shrink:0}.transfer-product>div:last-child{min-width:0}.transfer-product b{display:block;overflow-wrap:anywhere;font-size:12px}.transfer-product small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.3}
.transfer-ops{display:grid;gap:10px;margin-top:12px}.transfer-op{border:1px solid var(--line);padding:12px;border-radius:10px;background:var(--panel2)}.transfer-op b,.transfer-op small{display:block;overflow-wrap:anywhere}.transfer-op small{margin:5px 0 8px;color:var(--muted)}
@media(max-width:1100px){.transfer-row{grid-template-columns:minmax(170px,1fr) 120px minmax(170px,1fr)}.transfer-row>div:last-child{grid-column:1/-1}}
@media(max-width:700px){.transfer-row{grid-template-columns:1fr;gap:7px}.transfer-row>div:last-child{grid-column:auto}.transfer-filters label{max-width:none;flex-basis:100%}.transfer-arrow{display:none}.wb-group-grid{grid-template-columns:1fr}}


/* V2.0.49 — раскрывающиеся таблицы нативных групп WB, как в «Заказах» */
.wb-store-section{margin:16px 0 21px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.wb-store-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--panel2);border-bottom:1px solid var(--line)}
.wb-store-section-head h3{margin:2px 0 0;font-size:15px}.wb-store-section-head small{color:var(--muted);font-size:10px;letter-spacing:.07em}.wb-store-section-head>span{font-size:12px;color:var(--muted);text-align:right}
.wb-group-accordion{display:flex;flex-direction:column;gap:0}.wb-native-group{border-bottom:1px solid var(--line);min-width:0}.wb-native-group:last-child{border-bottom:0}
.wb-native-group>summary{list-style:none;display:flex;align-items:center;gap:13px;min-height:72px;padding:9px 15px;cursor:pointer;user-select:none;background:var(--panel)}
.wb-native-group>summary::-webkit-details-marker{display:none}.wb-native-group>summary:hover{background:color-mix(in srgb,var(--accent) 5%,var(--panel2))}.wb-native-group[open]>summary{background:color-mix(in srgb,var(--accent) 9%,var(--panel2));border-bottom:1px solid var(--line)}
.wb-native-group summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wb-group-chevron{font-size:23px;line-height:1;color:var(--accent);transition:transform .15s;transform:rotate(-90deg);flex-shrink:0}.wb-native-group[open] .wb-group-chevron{transform:rotate(0)}
.wb-native-group>summary>.photo{width:43px;height:52px;flex-shrink:0;object-fit:cover}.wb-native-group-name{flex:1;min-width:0}.wb-native-group-name b{font-size:14px;display:block}.wb-native-group-name small{display:block;margin-top:4px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-native-group-ident{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex-shrink:0}.wb-native-group-ident small{font-size:10px;color:var(--muted)}.wb-native-group-tip{font-size:11px;color:var(--muted);min-width:112px;text-align:right}
.wb-variants-table-wrap{margin:0;border:none;border-radius:0;overflow:auto}.wb-variants-table{width:100%;font-size:12px}.wb-variants-table th{white-space:nowrap}.wb-variants-table .photo{width:42px;height:49px;object-fit:cover}
.wb-variants-table td{vertical-align:middle}.wb-variant-row{cursor:pointer}.wb-variant-row:hover td{background:color-mix(in srgb,var(--accent) 5%,var(--panel2))}.wb-variants-table .cell-sub{font-size:11px;white-space:normal}
@media(max-width:700px){.wb-store-section-head{padding:10px 12px}.wb-store-section-head>span{font-size:10px}.wb-native-group>summary{gap:8px;padding:8px;min-height:64px}.wb-native-group>summary>.photo{width:38px;height:46px}.wb-native-group-name b{font-size:12px}.wb-native-group-name small{font-size:11px}.wb-native-group-ident{min-width:74px}.wb-native-group-tip{display:none}}

/* V2.0.50: native WB groups management */
.wb-group-operations {margin: 12px 0;}
.wb-group-operations summary {cursor:pointer;}
.wb-group-operations td {vertical-align:top;}
.wb-group-operations .cell-sub {display:block;max-width:350px;overflow-wrap:anywhere;}
.wb-variants-table input[type="checkbox"] {width:17px;height:17px;cursor:pointer;}
.wb-group-toolbar {flex-wrap:wrap;gap:8px;}
.wb-group-toolbar #wb-groups-selected {white-space:nowrap;}
.wb-native-group summary > button {flex-shrink:0;}


/* V2.0.51: consistent compact checkbox + label across forms, including confirmation dialogs. */
input[type="checkbox"] {
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px;
  padding:0;
  margin:0;
  flex:0 0 18px;
  accent-color:var(--accent);
  cursor:pointer;
  vertical-align:middle;
}
.form-grid label:has(>input[type="checkbox"]),
.modal-card label:has(>input[type="checkbox"]):not(.link-option),
.settings-list label:has(>input[type="checkbox"]),
.check-list label:has(>input[type="checkbox"]) {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
}
/* Do not disrupt multi-column product-picker labels or settings with interval fields. */
.settings-list label:has(>input[type="checkbox"]){width:100%;}
.wb-checkbox-line {
  display:inline-flex!important;
  width:fit-content;
  max-width:100%;
  align-items:flex-start!important;
  justify-content:flex-start;
  gap:10px;
  color:var(--text);
  cursor:pointer;
  line-height:1.45;
}
.wb-checkbox-line input[type="checkbox"]{margin-top:2px;}
.wb-checkbox-line span{min-width:0;}

/* Selection tools only appear after choosing variants. The dock follows the viewport. */
.wb-group-action-dock {
  position:fixed;
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  left:50%;
  transform:translateX(-50%);
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:max-content;
  max-width:calc(100vw - 28px);
  padding:12px 15px;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));
  background:color-mix(in srgb,var(--panel) 96%,transparent);
  box-shadow:0 12px 42px rgba(0,0,0,.32);
  backdrop-filter:blur(14px);
}
.wb-group-action-dock[hidden]{display:none!important;}
.wb-group-dock-summary{font-weight:700;white-space:nowrap;}
.wb-group-dock-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.wb-group-action-dock button{white-space:nowrap;}
.wb-group-action-dock button:disabled{cursor:not-allowed;opacity:.42;}
#card-area:has(.wb-group-action-dock:not([hidden])){padding-bottom:105px;}
@media(max-width:700px){
  .wb-group-action-dock{width:calc(100vw - 22px);max-width:none;flex-direction:column;gap:8px;padding:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));}
  .wb-group-dock-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  .wb-group-dock-actions button{min-width:0!important;font-size:12px;padding:10px 6px;white-space:normal;}
  .wb-group-dock-actions #wb-groups-clear{grid-column:1/-1;}
  #card-area:has(.wb-group-action-dock:not([hidden])){padding-bottom:190px;}
}
/* ----------------------------- V2.0.54 AI Studio ----------------------------- */
.ai-studio-shell{display:flex;flex-direction:column;gap:16px;padding-bottom:52px;min-width:0}
.ai-tabs{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.ai-grid{align-items:start}
.ai-studio-shell label:not(.ai-check):not(.ai-filelabel){display:block;margin:14px 0 6px;font-size:.88rem;font-weight:650}
.ai-studio-shell input[type="text"],.ai-studio-shell input[type="password"],.ai-studio-shell input[type="number"],.ai-studio-shell select,.ai-studio-shell textarea{width:100%;box-sizing:border-box;max-width:100%;min-width:0}
.ai-project-ribbon{display:flex;align-items:center;flex-wrap:wrap;gap:9px;background:var(--bg, #f8f8fb);border:1px solid var(--border,#e2e4ec);border-radius:13px;padding:13px;margin:12px 0}
.ai-project-ribbon small{color:var(--muted,#778);font-size:12px}
.ai-photo-drop{border:2px dashed #b9bbcd;border-radius:13px;background:rgba(126,100,240,.04);padding:22px;text-align:center;display:flex;flex-direction:column;gap:8px}
.ai-photo-drop input{max-width:100%}
.ai-photo-drop small{color:var(--muted,#778)}
.ai-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px;margin:14px 0}
.ai-asset-tile{border:1px solid var(--border,#dde);border-radius:13px;background:var(--card,#fff);padding:8px;overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:7px}
.ai-asset-tile img{width:100%;aspect-ratio:3/4;object-fit:contain;border-radius:9px;background:#eff0f4}
.ai-asset-caption{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:var(--muted,#686878)}
.ai-check{display:inline-flex!important;align-items:flex-start;gap:8px;font-size:.83rem;line-height:1.45;cursor:pointer;margin:10px 0!important}
.ai-check input[type="checkbox"]{display:inline-block!important;appearance:auto;flex:0 0 auto!important;width:16px!important;height:16px!important;margin:1px 0 0!important;min-width:16px!important;max-width:16px!important;padding:0!important}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.ai-chips button{white-space:normal;text-align:left}
.ai-style-row{border:1px solid var(--border,#dde);border-radius:12px;padding:13px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ai-style-row b{width:100%}.ai-style-row small{display:block;width:100%;overflow-wrap:anywhere;color:var(--muted,#778)}
.ai-style-row .ai-photo-grid{width:100%}
.ai-filelabel{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--border,#dde);border-radius:9px;padding:8px 10px;cursor:pointer}
.ai-filelabel input{display:none}
.ai-empty{padding:36px 10px;color:var(--muted,#778);text-align:center}
.ai-alert{border-left:3px solid #e1a13c}
.ai-charcs{max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
#ai-wb-json{font-size:12px;line-height:1.5;min-height:300px}
@media(max-width:800px){.ai-grid{grid-template-columns:1fr!important}.ai-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.ai-tabs button{white-space:nowrap}.ai-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-project-ribbon{align-items:flex-start;flex-direction:column}.ai-studio-shell .card{padding:12px}}
@media(max-width:390px){.ai-photo-grid{grid-template-columns:1fr 1fr;gap:6px}}

.ai-asset-tile img{cursor:zoom-in}


/* V2.0.57 — navigation consolidation and fully touch-accessible responsive workspaces. */
:root{--radius:15px;--accent:#7262ed}
html{overflow-x:hidden;scroll-padding-top:98px}
body{overflow-x:hidden}
.app{grid-template-columns:222px minmax(0,1fr)}
.sidebar{background:linear-gradient(175deg,#141928,#10131e 65%);box-shadow:8px 0 34px rgba(0,0,0,.09);padding:19px 11px}
.sidebar .brand{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:17px}
.sidebar nav{gap:7px}
.sidebar nav button{min-height:46px;display:flex;align-items:center;gap:9px;font-weight:600;color:#a5afc6;transition:background .14s,color .14s}
.sidebar nav button span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.04);font-size:17px}
.sidebar nav button.active{background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:#fff;box-shadow:inset 3px 0 var(--accent)}
.sidebar nav button.active span{background:color-mix(in srgb,var(--accent) 30%,transparent)}
header{padding:12px 22px;min-height:76px;gap:12px}
header h2{font-size:21px}
.header-actions{min-width:0;flex-shrink:0}
.header-store{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;min-width:0}
.header-store select{width:auto;min-width:135px;max-width:185px;min-height:41px;cursor:pointer;border-radius:11px;background:var(--panel2)}
.header-tool{display:grid;place-items:center;min-height:40px;min-width:40px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);cursor:pointer;font-size:19px}
.header-tool:hover{border-color:var(--accent)}
.header-sync{min-height:40px}
.workspace-nav{margin:14px 20px 0;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:13px;min-width:0}
.workspace-links{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.workspace-link{border:0;border-radius:9px;padding:10px 13px;color:var(--muted);background:transparent;white-space:nowrap;cursor:pointer;min-height:40px;font-size:13px;font-weight:600}
.workspace-link.active{background:color-mix(in srgb,var(--accent) 20%,var(--panel2));color:var(--text)}
.workspace-link:hover{background:var(--panel2);color:var(--text)}
.workspace-picker{display:none}
.content{padding:17px 20px 26px}
.card{box-shadow:0 4px 24px rgba(0,0,0,.12)}
.table-wrap{min-width:0;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-wrap table{min-width:max-content}
button,summary,select{touch-action:manipulation}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tab-more{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:var(--muted)}
.tab-more select{font-size:13px;min-width:146px;max-width:250px;min-height:36px;padding:7px 28px 7px 10px;background:var(--panel2);border-radius:9px;cursor:pointer}
.card-modes,.acc-tabs{align-items:center}
.compact-tools{position:relative;flex:0 0 auto;z-index:8}
.compact-tools summary{list-style:none;display:flex;align-items:center;cursor:pointer;border:1px solid var(--line)!important;border-radius:9px;padding:10px 12px;min-height:41px;white-space:nowrap}
.compact-tools summary::-webkit-details-marker{display:none}
.compact-tools-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:15;display:grid;gap:6px;min-width:185px;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.compact-tools-panel button{text-align:left;min-height:40px}
.ai-studio-flow{padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:13px}
.ai-flow-index{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);margin-right:8px}
.mobile-scrim{display:none}
/* All workspaces keep their original data, tables, forms and actions. */
@media(max-width:1180px){
 .app{grid-template-columns:192px minmax(0,1fr)}
 .sidebar{padding:12px 8px}
 .header-store span{display:none}
 .header-store select{max-width:150px}
 .header-sync span{display:none}
 .user{display:none}
 .workspace-nav{margin:10px 12px 0}
 .content{padding:12px}
 .grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 html{scroll-padding-top:60px}
 .app{display:block;min-width:0}
 .sidebar{position:fixed;top:0;left:0!important;bottom:0;height:100dvh;width:min(300px,85vw);max-width:85vw;padding:20px 12px;transform:translateX(-103%);transition:transform .18s ease;z-index:92;overflow:auto;box-shadow:18px 0 42px rgba(0,0,0,.2)}
 .sidebar.open{transform:translateX(0)}
 .sidebar nav button{min-height:51px;font-size:15px}
 .mobile-scrim:not(.hidden){display:block;position:fixed;inset:0;background:rgba(3,6,14,.73);border:0;padding:0;width:100%;height:100dvh;z-index:91}
 body.nav-open{overflow:hidden}
 main{min-width:0;width:100%}
 header{padding:10px 12px;gap:9px;min-height:58px;position:sticky;top:0;z-index:70}
 header>div:nth-child(2){min-width:0;flex:1}
 header h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #page-subtitle{display:none}
 .icon-button{display:grid;place-items:center;padding:0;min-width:43px;height:43px;font-size:22px;flex:0 0 auto}
 .header-actions{gap:6px;flex-shrink:0}
 .header-tool{min-width:37px;min-height:40px;font-size:16px}
 #header-settings{display:none}
 .header-store select{font-size:12px;min-width:0;max-width:115px;padding:10px 23px 10px 7px}
 .header-sync{display:none}
 .workspace-nav{margin:8px 10px 0;padding:4px}
 .workspace-links{display:none}
 .workspace-picker{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
 .workspace-picker span{padding-left:9px}
 .workspace-picker select{min-width:0;flex:1;min-height:42px;background:var(--panel2)}
 .content{padding:10px 10px calc(36px + env(safe-area-inset-bottom,0px));max-width:100%}
 .card{padding:13px;border-radius:12px}
 .toolbar{gap:7px;flex-wrap:wrap}
 .toolbar>input[type="search"],.toolbar>input:not([type]),.toolbar>select{flex:1 1 150px;min-width:0!important}
 .toolbar>button{min-height:42px;white-space:normal;flex:0 1 auto}
 .toolbar>details{flex:0 0 auto}
 .compact-tools-panel{right:0;max-width:calc(100vw - 30px)}
 .grid.stats,.stock-stats,.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .grid.two,.settings-grid,.mini-grid,.details-grid{grid-template-columns:minmax(0,1fr)!important}
 .card .stat .value,.stat .value{font-size:23px;overflow-wrap:anywhere}
 .subtabs,.order-tabs,.ai-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:9px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .subtabs button,.order-tabs button,.ai-tabs button{flex:0 0 auto;min-height:42px}
 .tab-more{flex:0 0 auto;white-space:nowrap}
 .tab-more span{display:none}
 .tab-more select{max-width:210px;min-height:42px}
 .table-wrap{max-width:100%;max-height:65dvh;position:relative;border-radius:8px}
 table{font-size:12px}
 th,td{padding:10px 9px}
 input,select,textarea{font-size:16px;min-height:42px}
 input[type=checkbox],input[type=radio]{min-height:auto}
 input[type=file]{max-width:100%}
 .modal{padding:0;place-items:stretch center;align-content:end}
 .modal-card,.modal-card.wide{border-radius:18px 18px 0 0;width:100%;max-width:100vw;min-width:0;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 22px);padding:22px 14px calc(18px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;overflow-y:auto;overflow-x:auto}
 .modal-close{position:sticky;float:right;top:0;right:0;z-index:4;font-size:28px;border-radius:8px;background:var(--panel2);width:36px;height:36px}
 .modal .form-grid{grid-template-columns:1fr!important}
 .modal .form-grid .full{grid-column:auto}
 .modal .table-wrap{max-height:52dvh}
 .toast{bottom:calc(15px + env(safe-area-inset-bottom,0px));left:10px;right:10px;max-width:none;overflow-wrap:anywhere}
 .wb-group-action-dock{z-index:80}
 .wb-store-section-head{gap:6px;flex-wrap:wrap}
 .wb-native-group>summary{min-width:0}
 .wb-native-group-name{overflow-wrap:anywhere}
 .ai-project-ribbon{width:100%}
 .ai-photo-drop{padding:14px}
 .calendar,.cal-head,.cal-grid{overscroll-behavior-x:contain}
 .calendar{max-width:100%;overflow-x:auto}
 .calendar-layout{min-width:0}
 .calendar-nav{gap:5px}
 .calendar-nav button{min-width:36px}
 .button-row{align-items:stretch;gap:7px}
 .button-row button{min-height:40px}
}
@media(max-width:390px){
 .header-store select{max-width:99px;font-size:11px}
 .header-tool{min-width:35px}
 header{padding:8px}
 .workspace-picker{gap:4px}
 .grid.stats,.stock-stats,.compact-stats{grid-template-columns:1fr!important}
 .toolbar>button{flex:1 1 125px}
 .ai-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
/* Intermediate tablet sizes: action rows wrap instead of widening the page. */
@media(min-width:761px) and (max-width:1100px){
 .toolbar{flex-wrap:wrap}
 .toolbar>input,.toolbar>select{flex:1 1 180px;min-width:0}
 .toolbar>button{flex:0 1 auto;min-height:40px}
 .toolbar>.compact-tools{flex:0 0 auto}
 .content,.card,main{min-width:0}
}

/* V2.0.57 — responsive AI templates, WB characteristics and resumable series */
.ai-char-edit{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.ai-characteristic{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,2fr) auto;align-items:center;gap:8px;margin:8px 0;padding:9px;border:1px solid var(--line);border-radius:10px}
.ai-characteristic label{font-size:13px;font-weight:600;overflow-wrap:anywhere;margin:0}
.ai-characteristic input{min-width:0}
.ai-characteristics-list{max-height:250px;overflow-y:auto;display:grid;grid-template-columns:1fr;gap:5px;border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:8px;background:var(--bg);scrollbar-width:thin}
.ai-char-option{display:block;text-align:left;width:100%;min-height:35px;white-space:normal;font-size:12px;line-height:1.4}
.ai-batch-list{display:grid;gap:8px;margin-bottom:15px}
.ai-batch-row{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px}
.ai-batch-row small{width:100%;color:var(--danger);overflow-wrap:anywhere}
.ai-batch-status{padding:10px 15px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.ai-batch-status progress{width:100%;margin-top:8px;height:10px;accent-color:var(--accent)}
@media(max-width:680px){.ai-characteristic{grid-template-columns:minmax(0,1fr) auto}.ai-characteristic label{grid-column:1/-1}.ai-characteristic input{grid-column:1}.ai-characteristic button{grid-column:2}.ai-batch-row{align-items:stretch;flex-direction:column}.ai-batch-row button{width:100%}}


/* WB Manager V2.0.58: restrained, mobile-first AI Studio workspace. */
.ai58-shell{gap:16px;max-width:1600px;margin:0 auto}
.ai58-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ai58-head h2{font-size:24px;letter-spacing:-.035em;line-height:1.2;margin:4px 0}
.ai58-head p{margin:6px 0 0;font-size:13px}
.ai58-eyebrow,.ai58-section-label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:750}
.ai58-nav{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);
  background:var(--panel);border-radius:13px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
.ai58-nav .subtab{display:flex;align-items:center;gap:8px;min-height:42px;white-space:nowrap;flex:0 0 auto}
.ai58-step{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;
  background:var(--panel2);color:var(--muted);font-size:11px;font-weight:800}
.ai58-nav .active .ai58-step{color:var(--text)}
.ai58-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr);gap:16px;align-items:start}
.ai58-layout>.card{margin:0}
.ai58-panel,.ai58-side,.ai58-editor{border:1px solid var(--line);box-shadow:none}
.ai58-panel h3{margin:8px 0 14px;font-size:19px;letter-spacing:-.025em}
.ai58-side{position:sticky;top:90px}
.ai58-side h3{margin:0 0 16px;font-size:16px}
.ai58-side p{margin:0 0 13px;line-height:1.55;font-size:13px}
.ai58-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai58-mode{display:flex!important;align-items:center;gap:12px;cursor:pointer;min-height:88px;
  border:1px solid var(--line);border-radius:12px;background:var(--panel2);
  padding:12px!important;margin:0!important;font-size:13px!important}
.ai58-mode:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ai58-mode input{width:18px!important;height:18px!important;flex:0 0 18px!important}
.ai58-mode b{display:block;font-size:14px;margin:0 0 4px}
.ai58-mode small{line-height:1.4;margin:0}
.ai58-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.ai58-panel textarea{max-width:100%;resize:vertical}
.ai58-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px}
.ai58-actions button{min-height:42px}
.ai58-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:2px}
.ai58-copy .ai58-full{grid-column:1/-1}
.ai58-copy>label{min-width:0}
.ai58-editor .ai-project-ribbon{margin-top:14px}
.ai58-table-head{display:flex;justify-content:space-between;align-items:center;gap:10px;
  border-top:1px solid var(--line);padding-top:16px;margin-top:18px;flex-wrap:wrap}
.ai58-table-head h3{margin:0;font-size:18px}
.ai58-table-head p{margin:4px 0 0;font-size:12px}
.ai58-char-table{width:100%;min-width:750px;border-collapse:separate;border-spacing:0}
.ai58-char-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:650}
.ai58-char-table td{vertical-align:middle;padding:10px 8px}
.ai58-char-table td:first-child{min-width:150px}
.ai58-char-table td:nth-child(2){min-width:190px;width:32%}
.ai58-char-table td:nth-child(3){min-width:190px;width:34%}
.ai58-char-table input{width:100%;margin:0!important}
.ai58-char-table small{max-width:360px;white-space:normal;line-height:1.45}
.ai58-source{display:inline-block;font-size:12px;font-weight:700;
  padding:4px 8px;border-radius:7px;background:var(--panel2);border:1px solid var(--line)}
.ai58-add{margin-top:15px;border:1px solid var(--line);border-radius:12px;padding:14px}
.ai58-unmapped{margin-top:15px;border:1px solid var(--line);padding:12px;border-radius:10px}
.ai58-unmapped p{font-size:13px}
.ai58-facts{margin-top:18px;color:var(--muted);font-size:13px}
.ai58-facts summary{cursor:pointer}
.ai58-shell .ai-studio-shell label:not(.ai-check):not(.ai-filelabel){font-weight:600}
.ai58-shell .ai-mode{border:1px solid var(--line)}
@media(max-width:980px){.ai58-layout{grid-template-columns:1fr}.ai58-side{position:static}}
@media(max-width:760px){
 .ai58-head h2{font-size:22px}
 .ai58-head>button{width:100%}
 .ai58-nav{flex-wrap:nowrap;overflow-x:auto;gap:5px}
 .ai58-nav .subtab{min-width:max-content;padding:9px 11px}
 .ai58-mode-grid,.ai58-fields,.ai58-copy{grid-template-columns:1fr}
 .ai58-copy .ai58-full{grid-column:auto}
 .ai58-actions button{flex:1 1 170px;white-space:normal}
 .ai58-editor>.table-wrap{margin-inline:-10px;overflow:auto}
}


.ai58-find{display:flex;justify-content:space-between;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}
.ai58-find label{flex:1 1 260px;margin:0!important}
.ai58-find input{width:100%}
.ai58-find small{font-size:12px;padding-bottom:8px}
.ai58-char-table tbody tr[hidden]{display:none!important}

/* V2.0.59: compact paired copywriting prompts inside one template section. */
.ai59-text-prompts{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:14px;margin:18px 0 14px}
.ai59-text-head{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px}
.ai59-text-head h3{margin:0 0 4px;font-size:16px}
.ai59-text-head small{color:var(--muted);font-size:12px}
.ai59-text-prompts textarea{width:100%;resize:vertical;min-height:88px}
.ai59-text-prompts p{line-height:1.5;font-size:12px;margin:10px 0 0}
@media(max-width:760px){.ai59-text-prompts{padding:12px}}

/* V2.0.60 PRE1: technical card editor without hand-written JSON. */
.ai60-technical{margin:1rem 0;padding:1rem;border:1px solid var(--border,#4b5264);border-radius:12px}
.ai60-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1rem 0}
.ai60-field-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.ai60-field-grid input{width:100%;min-width:0;box-sizing:border-box}
.ai60-barcode-line{display:flex;gap:8px;align-items:center}
.ai60-barcode-line input{flex:1}.ai60-barcode-line button{white-space:nowrap}
.ai60-marked{display:flex;align-items:flex-start;gap:8px}
@media(max-width:760px){.ai60-field-grid{grid-template-columns:1fr}.ai60-barcode-line{flex-wrap:wrap}.ai60-barcode-line button{width:100%}}

/* FIX6: responsive, explicit verification controls for photo-derived WB values. */
.ai67-review {margin:14px 0;padding:16px;}
.ai67-review-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;}
.ai67-review .table-wrap {max-width:100%;overflow-x:auto;}
.ai67-review table {width:100%;min-width:570px;}
.ai67-review td {vertical-align:top;}
.ai67-review td:first-child,.ai67-review th:first-child {width:42px;text-align:center;}
.ai67-review td small {display:block;margin-top:4px;opacity:.78;}
.ai67-review input[type="checkbox"] {width:18px;height:18px;cursor:pointer;}
@media (max-width:650px) {
  .ai67-review {padding:10px;}
  .ai67-review-actions button {flex:1 1 145px;}
}
