/* Full-page auction batch workspace */
.batch-page-shell{height:calc(100vh - 132px);min-height:620px;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid #e3e8eb;border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.batch-page-top{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:22px;align-items:start;padding-bottom:20px;border-bottom:1px solid var(--line)}
.batch-page-heading h3{font:600 25px Georgia,"Microsoft YaHei",serif;margin:5px 0}.batch-page-heading>p:last-child{color:var(--muted);margin:7px 0 0}
.batch-page-header-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center}
.text-back{border:0;background:none;color:#315d76;padding:8px 0;text-align:left;font-weight:600}.text-back:hover{color:var(--accent)}
.batch-page-actions{flex:none;flex-wrap:wrap;margin:18px 0 14px}.batch-fetch-pair{margin-left:auto;display:flex;gap:9px}.batch-fetch-button{min-width:158px;background:linear-gradient(145deg,#204b64,#123447);border-color:#20465b;box-shadow:0 6px 14px #17364a24}.batch-fetch-button:hover{background:linear-gradient(145deg,#2b607c,#173d53);transform:translateY(-1px)}.batch-lot-toolbar{flex:none;display:flex;align-items:center;gap:16px;margin:18px 0 12px}.batch-lot-toolbar input{width:min(420px,100%)}.batch-lot-toolbar select{min-width:170px}.batch-lot-toolbar span{margin-left:auto;color:var(--muted)}
.auction-lot-list{display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 8px 12px 0}.auction-lot-card{flex:none;display:grid;grid-template-columns:200px minmax(0,1fr);min-height:215px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.auction-lot-card:hover{border-color:#becbd2;box-shadow:0 8px 24px rgba(22,42,57,.07)}
.lot-image-panel{position:relative;display:grid;place-items:center;width:100%;min-height:100%;padding:0;border:0;border-right:1px solid var(--line);background:linear-gradient(145deg,#f8f9f9,#eef2f3);overflow:hidden}.lot-image-panel img{width:100%;height:100%;max-height:250px;object-fit:contain;background:white}.lot-image-panel .image-count{position:absolute;right:9px;bottom:9px;padding:4px 8px;border-radius:16px;background:#102a3dcc;color:#fff;font-size:11px}
.lot-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:7px;color:#7b8993}.lot-image-placeholder .placeholder-mark{font-size:42px;line-height:1;color:#aeb9c0}.lot-image-placeholder strong{color:#60717d}.lot-image-placeholder small{font-size:11px}
.lot-content{min-width:0;padding:18px 20px;display:flex;flex-direction:column}.lot-head{display:flex;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #edf0f2}.lot-head p{margin:4px 0}.lot-head small{color:var(--muted)}.lot-number-label{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:1.2px}.lot-head .lot-website-no{margin:2px 0 5px;color:#112f45;font:700 27px Georgia,"Microsoft YaHei",serif;letter-spacing:.5px}.lot-product-name{font-size:15px;font-weight:600}.lot-head-badges{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lot-form-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .9fr 1fr .85fr 1fr;gap:10px;margin-top:14px;align-items:end}.lot-form-grid label{display:flex;flex-direction:column;gap:5px;color:#687985;font-size:11px}.lot-form-grid input,.lot-form-grid select{width:100%;padding:8px}.lot-readonly{height:57px;border-radius:8px;background:#f5f7f8;padding:8px 10px}.lot-readonly span{display:block;color:#687985;font-size:11px;margin-bottom:5px}.lot-readonly strong{font-variant-numeric:tabular-nums}
.lot-business-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:14px}.business-field{display:flex;flex-direction:column;justify-content:flex-start;gap:5px;min-width:0;min-height:67px;padding:9px 10px;border:1px solid #e2e8eb;border-radius:9px;background:#fafbfb;color:var(--ink)}.business-field>span:first-child{color:#687985;font-size:10px}.business-field strong{font-size:13px;overflow-wrap:anywhere}.business-field input,.business-field select{width:100%;padding:6px 7px;border-radius:6px}.business-field.price-card{background:#fff;border-color:#dce4e8}.business-field.price-card input{font-weight:700;font-variant-numeric:tabular-nums}.business-field.price-card em{font-style:normal;color:#73838e;font-size:10px}.hammer-price-card.over-standard{border-color:#dc7770;background:#fff4f3}.hammer-price-card.over-standard input,.hammer-price-card.over-standard em{color:#bd3d36}.check-line{display:flex!important;align-items:center;gap:8px;color:var(--ink)!important;font-size:13px!important}.check-line input{width:18px;height:18px;accent-color:var(--accent)}.finished-price-card{position:relative}.finished-price-card span small,.hammer-price-card span small{color:var(--accent);font-weight:700}.inline-reset{align-self:flex-start;border:0;background:none;color:#2f6380;padding:0;font-size:10px}.lot-operation-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:10px}.lot-operation-grid>div,.lot-operation-grid>label{display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:8px;background:#eef3f5;color:#687985;font-size:10px}.lot-operation-grid input,.lot-operation-grid select{width:100%;padding:6px}.lot-operation-grid strong{color:var(--ink);font-size:13px}.hammer-fetch-btn{color:#8a5a1d;border-color:#d8bb8e;background:#fff9ef}
.lot-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.save-entry-btn{min-width:112px;padding:8px 16px!important;color:#fff;border-color:#17425b!important;background:linear-gradient(145deg,#2e6380,#153b51)!important;font-weight:700;letter-spacing:.4px;box-shadow:0 5px 12px #17364a2b,inset 0 1px #ffffff2e}.save-entry-btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px #17364a38,inset 0 1px #ffffff38}.save-entry-btn:active{transform:translateY(0);box-shadow:inset 0 2px 5px #071b28aa}.batch-empty{padding:55px 20px;text-align:center;border:1px dashed #cbd4d9;border-radius:12px;background:#fafbfb}.batch-empty p{margin:7px 0 0}
.batch-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 8px 5px}.batch-pagination strong{color:var(--ink)}.batch-pagination span{color:var(--muted)}.batch-pagination button:disabled{opacity:.4;cursor:not-allowed}
.recent-batch-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(85px,1fr));align-items:center;gap:12px;width:100%;padding:13px 8px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--ink)}.recent-batch-row:first-child{border-top:0}.recent-batch-row:hover{background:#f8fafb}.recent-batch-row span:not(.recent-batch-title){text-align:right}.recent-batch-row small{display:block;color:var(--muted);margin-bottom:3px}.recent-batch-title strong,.recent-batch-title small{display:block}.recent-batch-title small{margin-top:4px}
.danger-btn{color:#a43f3a!important;border-color:#e8c7c4!important;background:#fff!important}.danger-btn:hover{background:#fbefee!important;border-color:#cf8580!important}.lot-expand-trigger{cursor:pointer}.lot-expand-trigger:hover .lot-website-no{color:var(--accent)}.lot-expand-chevron{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf2f4;color:#536c7b;font-size:20px;transition:transform .22s}.auction-lot-card.expanded .lot-expand-chevron{transform:rotate(180deg)}
.lot-expanded{max-height:0;overflow:hidden;opacity:0;border-top:0 solid var(--line);transition:max-height .32s ease,opacity .2s ease,margin .32s ease,padding .32s ease}.auction-lot-card.expanded .lot-expanded{max-height:760px;opacity:1;margin-top:16px;padding-top:16px;border-top-width:1px}.lot-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.lot-detail-grid>div{padding:10px;border-radius:8px;background:#f5f7f8;min-width:0}.lot-detail-grid small,.lot-detail-note small{display:block;color:var(--muted);margin-bottom:5px}.lot-detail-grid strong{font-size:12px;overflow-wrap:anywhere}.lot-detail-note{margin-top:9px;padding:10px 12px;border-radius:8px;background:#fbf7f0}.lot-detail-note p{margin:0;white-space:pre-wrap}
.market-price-card{width:min(700px,calc(100vw - 40px))}.market-price-note{color:var(--muted);margin:-5px 0 15px}.market-price-primary,.market-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.market-price-primary{padding:15px;border:1px solid #e5d2b5;border-radius:12px;background:#fbf6ed}.market-price-primary label,.market-price-grid label{display:flex;flex-direction:column;gap:6px;color:#5f6e79;font-size:12px}.market-price-primary label{color:#765222;font-weight:700}.market-price-more{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#fafbfb}.market-price-more summary{cursor:pointer;padding:12px 14px;color:#315d76;font-weight:600}.market-price-grid{padding:2px 14px 14px;grid-template-columns:repeat(4,1fr)}
@media(max-width:1250px){.lot-form-grid{grid-template-columns:repeat(4,1fr)}.lot-business-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lot-detail-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.batch-page-top{grid-template-columns:1fr auto}.text-back{grid-column:1/-1}.auction-lot-card{grid-template-columns:160px minmax(0,1fr)}.lot-form-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.batch-page-shell{height:auto;min-height:0;overflow:visible;padding:15px}.batch-page-top{grid-template-columns:1fr}.batch-page-top>.ghost{justify-self:start}.batch-page-header-actions{justify-content:flex-start;flex-wrap:wrap}.batch-fetch-pair{margin-left:0;flex-wrap:wrap}.auction-lot-list{overflow:visible;padding-right:0}.auction-lot-card{grid-template-columns:1fr}.lot-image-panel{height:210px;border-right:0;border-bottom:1px solid var(--line)}.lot-form-grid,.lot-business-grid{grid-template-columns:repeat(2,1fr)}.lot-operation-grid{grid-template-columns:repeat(2,1fr)}.lot-detail-grid{grid-template-columns:repeat(2,1fr)}.summary-strip{grid-template-columns:repeat(2,1fr)}.batch-lot-toolbar{align-items:stretch;flex-direction:column}.batch-lot-toolbar span{margin-left:0}.lot-actions{justify-content:flex-start;flex-wrap:wrap}.market-price-primary,.market-price-grid{grid-template-columns:repeat(2,1fr)}}

/* Larger two-row auction item layout */
.batch-page-shell{font-size:16px}
.batch-page-shell button,.batch-page-shell input,.batch-page-shell select{font-size:16px}.batch-page-shell .summary-strip small,.batch-page-shell .batch-lot-toolbar span{font-size:15px}.batch-page-shell .summary-strip strong{font-size:18px}
.batch-page-heading h3{font-size:28px}.batch-page-heading>p:last-child{font-size:16px}
.lot-image-panel .image-count{padding:5px 10px;font-size:14px}.lot-image-placeholder .placeholder-mark{font-size:46px}.lot-image-placeholder strong{font-size:17px}.lot-image-placeholder small{font-size:14px}
.lot-content{padding:20px 22px}.lot-head{padding-bottom:14px}.lot-number-label{display:flex;align-items:center;gap:9px;font-size:13px}.brand-icon{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #ddb568;border-radius:999px;background:#fff7e8;color:#a26b13;font-size:12px;line-height:1;letter-spacing:0}.lot-head .lot-website-no{font-size:31px}.lot-product-name{font-size:18px}.lot-head-badges .badge{font-size:14px}
.lot-business-grid{gap:11px;margin-top:16px}.business-field{gap:7px;min-height:82px;padding:11px 12px}.business-field>span:first-child{font-size:13px}.business-field strong{font-size:17px}.business-field input,.business-field select{padding:8px 9px;font-size:16px}.business-field.readonly-field strong{padding-top:5px;color:#17364a;font-size:20px}.business-field.price-card em{font-size:13px}.check-line{gap:10px;font-size:17px!important}.check-line input{width:21px;height:21px}.finished-price-card span small{font-size:12px}.inline-reset{font-size:13px}.business-spacer{min-height:1px}
.lot-actions{gap:9px;margin-top:17px}.lot-actions .small-btn{padding:9px 13px;font-size:15px}.lot-operation-grid>div,.lot-operation-grid>label{font-size:13px}.lot-operation-grid input,.lot-operation-grid select{padding:8px;font-size:15px}.lot-operation-grid strong{font-size:16px}.lot-detail-grid small,.lot-detail-note small{font-size:13px}.lot-detail-grid strong{font-size:15px}
@media(max-width:1250px){.lot-business-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.business-spacer{display:none}}
@media(max-width:650px){.lot-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact auction cards */
.auction-lot-list{gap:10px}.auction-lot-card{min-height:0}.lot-content{padding:13px 18px}.lot-head{padding-bottom:8px}.lot-head p{margin:2px 0}.lot-head .lot-website-no{margin:2px 0 3px;font-size:28px}.lot-product-name{font-size:17px}
.lot-business-grid{gap:8px;margin-top:10px}.business-field{gap:4px;min-height:68px;padding:8px 10px}.business-field>span:first-child{font-size:15px;font-weight:600}.business-field strong{font-size:17px}.business-field input,.business-field select{padding:6px 8px}.business-field.readonly-field strong{padding-top:2px}.business-field.price-card em{font-size:12px}.finished-meta{display:flex!important;align-items:center;justify-content:space-between;gap:8px;color:inherit!important}.finished-meta em{white-space:nowrap}.inline-reset{flex:none;font-size:13px;font-weight:600}.lot-actions{margin-top:10px}.lot-actions .small-btn{padding:7px 11px}.lot-image-panel img{max-height:230px}

/* In-app image lightbox */
.image-gallery-dialog{width:min(1280px,96vw);max-width:none;padding:0;border:0;background:transparent;overflow:visible}.image-gallery-dialog::backdrop{background:rgba(5,15,23,.88);backdrop-filter:blur(7px)}
.image-gallery-shell{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}.image-gallery-head{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid #dfe5e9}.image-gallery-head h3{margin:3px 0 0;font-size:18px}.image-gallery-head-actions{display:flex;align-items:center;gap:14px;color:#71808e}.gallery-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#edf1f3;color:#314b5b;font-size:25px;line-height:1}.gallery-close:hover{background:#dfe6ea}
.image-gallery-stage{height:min(68vh,760px);min-height:420px;display:grid;grid-template-columns:76px minmax(0,1fr) 76px;align-items:center;background:linear-gradient(145deg,#172630,#09151d);position:relative}.image-gallery-stage>img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;background:#f4f4f2;box-shadow:0 0 45px rgba(0,0,0,.28)}.gallery-arrow{z-index:2;width:52px;height:70px;justify-self:center;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:rgba(255,255,255,.1);color:#fff;font:300 50px/1 Georgia,serif;transition:.2s}.gallery-arrow:hover:not(:disabled){background:#fff;color:#17364a;transform:scale(1.05)}.gallery-arrow:disabled{opacity:.2;cursor:default}
.image-gallery-thumbs{display:flex;gap:9px;overflow-x:auto;padding:12px 18px;background:#f5f7f8;border-top:1px solid #dfe5e9;scrollbar-width:thin}.gallery-thumb{flex:0 0 76px;width:76px;height:58px;padding:3px;border:2px solid transparent;border-radius:8px;background:#fff;overflow:hidden;opacity:.62}.gallery-thumb:hover{opacity:1}.gallery-thumb.active{border-color:#b68139;opacity:1;box-shadow:0 0 0 2px rgba(182,129,57,.14)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px}.image-gallery-hint{margin:0;padding:0 18px 13px;text-align:right;color:#89959d;background:#f5f7f8;font-size:11px}
.product-image-thumb{display:flex;flex-direction:column;gap:5px;padding:0;border:0;background:none;color:var(--muted);text-align:left}.product-image-thumb img{width:100%;height:145px;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:#f3f5f6}.product-image-thumb:hover img{border-color:var(--accent);box-shadow:0 6px 18px rgba(22,42,57,.12)}
@media(max-width:700px){.image-gallery-dialog{width:96vw}.image-gallery-head{height:auto}.image-gallery-head h3{font-size:14px}.image-gallery-stage{height:62vh;min-height:320px;grid-template-columns:48px minmax(0,1fr) 48px}.gallery-arrow{width:38px;height:54px;font-size:38px}.image-gallery-thumbs{padding:9px}.image-gallery-hint{display:none}}

:root{--ink:#172737;--muted:#71808e;--line:#dfe5e9;--bg:#f3f5f6;--panel:#fff;--nav:#132b3d;--nav2:#1a3a50;--accent:#b68139;--accent-soft:#f5ead8;--green:#2c795e;--red:#bd4c46;--shadow:0 14px 40px rgba(22,42,57,.08)}
.account-card{width:min(680px,calc(100vw - 40px))}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(160deg,var(--nav),#0d2231);color:#dbe5ea;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 25px;border-bottom:1px solid #ffffff18}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);color:white;border-radius:12px;font-family:serif;font-size:23px;box-shadow:0 8px 18px #0002}.brand strong{display:block;font-size:18px}.brand small{color:#92a7b5}.sidebar nav{padding-top:20px;flex:1}.sidebar nav p{font-size:10px;letter-spacing:2px;color:#7891a2;margin:20px 12px 8px}.nav{border:0;background:none;color:#b9c8d1;width:100%;text-align:left;padding:11px 13px;border-radius:9px;margin:2px 0}.nav span{display:inline-grid;place-items:center;width:25px}.nav:hover,.nav.active{color:white;background:#ffffff12}.nav.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff18;padding:18px 8px 0;color:#9fb1bc}.sidebar-foot button{background:none;border:0;color:#d9b984}main{min-width:0;padding:0 30px 40px}header{height:102px;display:flex;justify-content:space-between;align-items:center}header h2{margin:2px 0 0;font:600 26px Georgia,"Microsoft YaHei",serif}.eyebrow{margin:0;color:var(--accent);font-size:10px;letter-spacing:2px;font-weight:700}.header-actions,.actions,.batch-actions{display:flex;gap:9px;align-items:center}.today{color:var(--muted);margin-right:12px}.view{display:none}.view.active{display:block}.panel{background:var(--panel);border:1px solid #e6eaed;border-radius:15px;padding:24px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.panel h3,.dialog-card h3{font:600 21px Georgia,"Microsoft YaHei",serif;margin:4px 0}.panel-head p:not(.eyebrow),.dialog-head p:not(.eyebrow){color:var(--muted);margin:6px 0}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.metric{padding:21px;border-radius:14px;color:white;min-height:125px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:85px;height:85px;border:1px solid #ffffff20;border-radius:50%;right:-20px;bottom:-30px}.metric:nth-child(1){background:#17364a}.metric:nth-child(2){background:#2f725f}.metric:nth-child(3){background:#8a6537}.metric:nth-child(4){background:#52677a}.metric:nth-child(5){background:#825858}.metric small{opacity:.75}.metric strong{display:block;font:600 27px Georgia,serif;margin:16px 0 4px}.split-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:16px}.accent-panel{background:linear-gradient(145deg,#fff,#f8f1e6)}.primary,.ghost,.button{border:1px solid transparent;border-radius:8px;padding:9px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--nav2);color:white}.primary:hover{background:#254d65}.ghost,.button.ghost{background:white;color:var(--ink);border-color:var(--line)}.text-link{background:none;border:0;color:var(--accent);padding:12px 0}.toolbar{display:flex;align-items:center;gap:10px;background:#f7f9fa;border:1px solid var(--line);padding:10px;border-radius:10px;margin-bottom:16px}.toolbar input{min-width:310px}.toolbar span{margin-left:auto;color:var(--muted)}input,select,textarea{border:1px solid #d7dfe4;border-radius:7px;background:white;padding:9px 10px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b6813933;border-color:var(--accent)}textarea{min-height:68px;resize:vertical}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f6f8f9;color:#657583;font-size:11px;letter-spacing:.4px;padding:11px 12px}td{padding:12px;border-top:1px solid #edf0f2;vertical-align:middle}tbody tr:hover{background:#faf8f4}.clickable{color:#1f5876;font-weight:600;cursor:pointer}.money{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;padding:4px 8px;border-radius:20px;background:#eaf0f3;color:#4c6676;font-size:12px}.badge.green{background:#e4f2eb;color:var(--green)}.badge.red{background:#f9e6e4;color:var(--red)}.badge.gold{background:var(--accent-soft);color:#825b27}.mini-tags{display:flex;gap:4px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.batch-card,.company-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:linear-gradient(150deg,#fff,#fafbfb);cursor:pointer}.batch-card:hover,.company-card:hover{border-color:#bfcbd2;box-shadow:0 8px 25px #17273710}.batch-card h4,.company-card h4{margin:4px 0 12px;font-size:17px}.batch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.batch-stats div{background:#f4f6f7;border-radius:7px;padding:8px}.batch-stats strong{display:block}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.company-code{float:right;color:var(--accent);font-weight:700}.recent-row,.reminder-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.recent-row:first-child{border-top:0}.recent-row small,.muted{color:var(--muted)}dialog{border:0;padding:0;background:transparent;max-width:calc(100vw - 30px)}dialog::backdrop{background:#0b1b27aa;backdrop-filter:blur(3px)}.dialog-card{background:white;border-radius:15px;padding:24px;width:min(720px,calc(100vw - 40px));max-height:90vh;overflow:auto;box-shadow:0 30px 80px #0005}.dialog-card.wide{width:min(1000px,calc(100vw - 40px))}.dialog-card.detail-card,.dialog-card.batch-detail{width:min(1180px,calc(100vw - 40px))}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.icon-btn{border:0;background:#eef2f4;border-radius:50%;width:34px;height:34px;font-size:21px;color:#647786}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#5f6e79;font-size:12px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.detail-section{margin:20px 0}.detail-section h4{border-left:3px solid var(--accent);padding-left:9px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.info-grid div{background:#f6f8f9;padding:10px;border-radius:8px}.info-grid small{display:block;color:var(--muted);margin-bottom:5px}.batch-actions{margin-bottom:14px}.summary-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}.summary-strip div{padding:10px;background:#f5f7f8;border-radius:8px}.summary-strip strong{display:block}.entry-input{width:105px;padding:6px}.entry-result{width:92px;padding:6px}.small-btn{padding:5px 8px;border:1px solid var(--line);background:white;border-radius:6px}.picker-list{max-height:55vh;overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:8px}.picker-item{display:flex;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.picker-item:last-child{border:0}.toast{position:fixed;right:25px;bottom:25px;background:#17364a;color:white;padding:12px 18px;border-radius:9px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 75% 20%,#274b60,#0d2231 65%)}.login-card{width:380px;background:#fff;padding:38px;border-radius:18px;box-shadow:0 25px 80px #0006}.login-card .brand-mark{margin-bottom:20px}.login-card h1{font:600 28px Georgia,"Microsoft YaHei",serif;margin:5px 0}.login-card>p:not(.eyebrow){color:var(--muted);margin-bottom:25px}.login-card label{display:flex;flex-direction:column;gap:6px;margin:13px 0}.login-card .primary{width:100%;margin-top:8px}.form-error{color:var(--red)!important;margin:12px 0 0!important}.warning{color:var(--red)}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(3,1fr)}.cards,.company-grid{grid-template-columns:repeat(2,1fr)}.summary-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{display:flex;overflow:auto}.sidebar nav p{display:none}.nav{white-space:nowrap}.sidebar-foot{display:none}main{padding:0 14px 30px}header{height:80px}.metric-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:1fr}.cards,.company-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.info-grid{grid-template-columns:repeat(2,1fr)}}
.product-table-wrap{height:calc(100vh - 315px);min-height:360px;overflow:auto}.product-table-wrap thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--line)}.product-row{cursor:pointer}.product-row:focus-within{background:#faf8f4}.status-toggle{border:0;cursor:pointer;font-weight:600}.status-toggle:hover{filter:brightness(.96);box-shadow:0 0 0 2px #17364a18}.brand-flag{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border-radius:10px;background:#f3e8d7;color:#8a6028;font-size:10px;font-weight:700;vertical-align:1px}.company-website{display:inline-block;color:#1f5876;margin:0 0 8px;text-decoration:none}.product-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.product-images a{display:flex;flex-direction:column;gap:5px;color:var(--muted);text-decoration:none}.product-images img{width:100%;height:145px;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:#f3f5f6}.fetch-image-btn{color:#1f5876;border-color:#9db5c4}
