[hidden]{display:none!important}
:root{color-scheme:light;--bg:#f6f7fa;--ink:#222b37;--muted:#667182;--line:#e5e8ee;--white:#fff;--pink:#ed6f8b;--deep:#283449;--red:#b83342;--green:#28764d;--shadow:0 6px 26px rgba(27,39,64,.06)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button,input,select,textarea{outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.05em}h2{font-size:23px;letter-spacing:-.03em;margin-bottom:5px}h3{font-size:17px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--pink);font-weight:800}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:18px}.login-card{width:min(410px,100%);padding:38px;background:#fff;border-radius:22px;box-shadow:var(--shadow)}.brand-dot{display:grid;place-items:center;flex:none;background:#fbdce5;color:#c13c63;border-radius:14px;width:43px;height:43px;font-size:22px;font-weight:900}.login-card .brand-dot{margin-bottom:25px}label{font-size:12px;font-weight:700;display:block;margin-bottom:12px}input,select,textarea{width:100%;background:#fff;color:var(--ink);border:1px solid #d9dee8;border-radius:10px;padding:12px;margin-top:6px;min-width:0}input:focus,select:focus,textarea:focus{border-color:#c94c6f;outline:2px solid #f6d2dc}button{border:0;border-radius:10px;font-weight:700;padding:10px 14px;background:#edf0f4;color:var(--ink)}button:hover{filter:brightness(.98)}button.primary{background:var(--deep);color:white}button.pink{background:#dc6483;color:#fff}button.danger{background:#fff0f2;color:var(--red)}button.outline{background:white;border:1px solid var(--line)}button.link-btn{background:none;color:#a32f53;padding:6px 0}.full{width:100%}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:12px}.brand{display:flex;align-items:center;gap:12px}.brandname{font-size:19px;font-weight:850}.sub{font-size:10px;letter-spacing:.11em;color:#8a93a1}.user{display:flex;align-items:center;gap:12px;font-size:12px}.layout{display:flex;min-height:calc(100vh - 70px)}.sidebar{width:215px;flex:none;padding:22px 14px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.tab{text-align:left;background:transparent;color:#657181;padding:13px 16px;border-radius:9px}.tab.active{color:#bf4867;background:#faeaf0}.main{flex:1;min-width:0;padding:30px 38px 90px;max-width:1480px}.bottom-tabs{display:none}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:22px}.section-heading p{margin:3px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);padding:20px;border-radius:13px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:27px;font-weight:850;margin:10px 0 0}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:21px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h3{margin-bottom:16px}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:17px}.toolbar label{flex:1;min-width:170px;margin:0}.toolbar button{margin-top:6px}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid-form label{margin-bottom:0}.grid-form .wide{grid-column:span 3}.flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.space-between{justify-content:space-between}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:650px}.table th,.table td{padding:13px 11px;text-align:left;border-bottom:1px solid #eff1f5;vertical-align:middle}.table th{font-size:11px;color:#728091;white-space:nowrap}.table td{font-size:13px}.table td .clip{max-width:370px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tr:hover td{background:#fbfbfe}.sku{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;font-weight:800;color:#2f485b}.qty{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 9px;border-radius:15px;background:#eef2f8;color:#526070;font-size:11px}.badge.good{background:#e8f7ef;color:#28764d}.badge.warn{background:#fff3dc;color:#98630b}.badge.bad{background:#ffe9eb;color:#ae2f45}.thumb{width:47px;height:47px;background:#f3f4f7;border:1px solid #edf0f3;border-radius:9px;object-fit:cover;display:block}.placeholder{display:grid;place-items:center;color:#99a3b4;font-size:18px}.image-lg{max-height:290px;max-width:100%;object-fit:contain;background:#f6f6f7;border-radius:14px;padding:10px}.modal-overlay{position:fixed;inset:0;background:rgba(20,29,43,.52);display:grid;place-items:center;padding:12px;z-index:20}.modal{width:min(740px,100%);max-height:93dvh;overflow:auto;padding:25px;border-radius:18px;background:white;box-shadow:0 15px 80px #1114}.modal-head{display:flex;justify-content:space-between;gap:20px}.detail-grid{display:grid;grid-template-columns:240px 1fr;gap:18px}.detail-grid img{width:100%;object-fit:contain}.meta{display:grid;grid-template-columns:120px 1fr;gap:9px;margin:14px 0}.meta dt{font-size:12px;color:var(--muted)}.meta dd{margin:0;overflow-wrap:anywhere}.loading{padding:50px;color:var(--muted);text-align:center}.notice{border-radius:9px;background:#eef5ff;color:#395473;padding:12px;line-height:1.6}.warning{background:#fff3e2;color:#805718}.danger-note{background:#fff0f2;color:#993d4c}.empty{padding:34px;text-align:center;color:var(--muted)}.pill{font-size:11px;border-radius:99px;padding:4px 9px;background:#eef4f8}.stock-row{display:grid;grid-template-columns:minmax(130px,1fr) 100px 110px 90px;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #eef0f3}.stock-row input{margin:0}.mini{font-size:11px}.stock-list{max-height:65vh;overflow:auto}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#293447;color:#fff;border-radius:12px;padding:11px 18px;box-shadow:var(--shadow);z-index:100;display:none;max-width:90vw}#toast.show{display:block}code{background:#f1f3f6;padding:1px 4px;border-radius:3px}.desc{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;color:#4e5969}.icon-button{padding:7px 10px}.btn-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.card-item{padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.card-item button{margin-top:10px}.progress{font-weight:800;color:#a63e61}.admin-only[hidden]{display:none!important}
@media(max-width:950px){.sidebar{width:175px}.main{padding:24px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-form{grid-template-columns:repeat(2,1fr)}.grid-form .wide{grid-column:span 2}}@media(max-width:650px){.topbar{height:62px;padding:0 14px}.brandname{font-size:16px}.brand-dot{width:35px;height:35px;border-radius:10px}.user{font-size:10px}.user #user-label{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user .small{font-size:10px;padding:8px}.sidebar{display:none}.main{padding:18px 13px 92px}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:10;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-tabs .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 5px;font-size:20px;border-radius:0}.bottom-tabs small{font-size:10px}.stat{padding:15px}.stat-grid{gap:8px}.stat .v{font-size:23px}.panel{padding:14px}.grid-form{grid-template-columns:1fr}.grid-form .wide{grid-column:span 1}.table{min-width:550px}.section-heading{align-items:start}.section-heading h2{font-size:20px}.detail-grid{grid-template-columns:1fr}.modal{padding:16px}.stock-row{grid-template-columns:minmax(110px,1fr) 80px 82px;gap:5px}.stock-row button{grid-column:3}.stock-row .mini{display:none}.stock-row input{padding:8px}.stock-row button{padding:8px 6px;font-size:11px}}

/* v2: photograph-first design master, grouped size variants and galleries */
.product-card-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.product-master-row{display:grid;grid-template-columns:78px minmax(0,1fr) 85px 14px;align-items:center;gap:14px;width:100%;border:1px solid #e9eaf0;background:#fff;border-radius:14px;text-align:left;padding:11px 12px;color:var(--ink);box-shadow:0 2px 12px rgba(30,50,80,.03)}
.product-master-row:hover{border-color:#c6d7ee;background:#fcfdff}
.product-photo-frame{height:78px;width:78px;background:#f6eff3;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-photo{width:100%;height:100%;object-fit:cover}
.photo-empty{font-size:10px;color:#8f7b89;text-align:center}
.product-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.product-main strong{font-size:13px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.variant-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.variant-pill{background:#f1f5fb;border:1px solid #e0e8f5;color:#3c5d80;border-radius:6px;padding:3px 6px;font-size:11px;white-space:nowrap}
.variant-pill b{color:#19678f}
.stock-total{text-align:right;display:flex;flex-direction:column;gap:3px}
.stock-total strong{font-size:22px;color:#256d51}
.stock-total small{font-size:10px;color:var(--muted)}
.row-arrow{color:#aaa;font-size:27px}
.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;margin:14px 0 20px}
.main-gallery-image{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:14px;background:#f9f4f6}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;max-height:150px;overflow:auto}
.gallery-thumb{width:60px;height:65px;border:1px solid #e3e6ea;background:#fff;border-radius:9px;padding:3px;position:relative;overflow:hidden}
.gallery-thumb img{height:100%;width:100%;object-fit:cover;border-radius:6px}
.gallery-thumb span{position:absolute;bottom:2px;right:3px;font-size:9px;background:#fff;padding:0 3px;border-radius:3px}
.variant-detail-list{display:flex;flex-direction:column;gap:9px}
.variant-detail-row{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:8px}
.variant-detail-row .variant-actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1}
.variant-stock{text-align:right;display:flex;flex-direction:column}
.variant-stock b{font-size:23px;color:#28764d}.variant-stock small{font-size:10px;color:var(--muted)}
.variant-size{font-size:17px;color:#254e84}
.product-fields summary{cursor:pointer;font-weight:700;padding:10px 0}
@media(max-width:640px){.product-master-row{grid-template-columns:66px minmax(0,1fr) 58px;gap:8px;padding:9px}.product-photo-frame{height:66px;width:66px}.row-arrow{display:none}.stock-total strong{font-size:18px}.gallery-layout{grid-template-columns:1fr;gap:15px}.product-main strong{font-size:12px}.variant-pill{font-size:10px}}

.supply-pending{padding:13px;border:1px solid #e9edf1;border-radius:10px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.danger-stock{color:#bf3040}.table-wrap{max-width:100%;overflow-x:auto}#amazon-skus{min-height:88px}
@media(max-width:650px){.bottom-tabs .tab{font-size:17px;padding:9px 2px}.bottom-tabs small{font-size:9px}.supply-pending{align-items:flex-start}}

/* Materials inventory + photo integrated master */
.supply-photo-button{padding:0;background:none;display:block}
.supply-photo-preview{height:58px;width:58px;display:flex;align-items:center;justify-content:center;background:#f9eef2;border:1px solid #ecedf1;border-radius:12px;overflow:hidden}
.supply-photo-preview img{height:100%;width:100%;object-fit:cover}
.supply-name-button{text-align:left;background:transparent;padding:2px;display:block}
.supply-name-button:hover{color:#aa3d60}
.supply-gallery-main{min-height:190px;background:#f9f9fb;border:1px solid #eee;border-radius:15px;display:grid;place-items:center;overflow:hidden;margin:12px 0 10px}
.supply-gallery-main img{max-width:100%;max-height:360px;object-fit:contain}
.supply-gallery .gallery-thumbs{max-height:120px;margin-bottom:18px}
@media(max-width:650px){.supply-photo-preview{width:54px;height:54px}}

/* Packaging material sizes: explicit per-material dimension, not part of name */
.supply-size-label{display:inline-block;white-space:nowrap;background:#eaf2ff;color:#244c77;border:1px solid #d9e7fa;padding:5px 8px;border-radius:8px;font-weight:700;font-size:12px}
.supply-gallery .panel{margin:10px 0}
@media(max-width:650px){.supply-size-label{font-size:11px}}

.supply-size-inline{font-size:11px;color:#345c88;font-weight:700;margin:3px 0}
/* v5 shipping and inspection: minimal taps on mobile */
.ship-eta-banner{background:#e9f5ff;color:#1d577e;padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ship-eta-banner strong{font-size:22px}
.ship-lines-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0 8px}
.shipment-row{display:grid;grid-template-columns:minmax(150px,2fr) minmax(75px,1fr) 44px;gap:9px;align-items:end;padding:7px 0;border-bottom:1px solid #e8ebef}
.shipment-row label{margin:0}.shipment-row button{margin-bottom:0}
.ship-action{margin-top:16px;padding:15px}
.shipment-card{border:1px solid #e5eaf1;border-radius:15px;padding:18px;margin-bottom:12px;background:#fff}
.shipment-main{display:flex;gap:12px;justify-content:space-between;margin:13px 0 8px;align-items:center;flex-wrap:wrap}
.shipment-main strong{font-size:18px}.shipment-main span{color:#5e7180;font-size:12px}
.shipment-card .badge{margin-right:9px}.ship-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.ship-count-row input{min-width:70px;width:90px;padding:9px}
.location-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.location-chip{background:#f0f6fd;color:#345d7c;border-radius:7px;padding:5px 8px;font-size:12px}
@media(max-width:650px){.bottom-tabs{overflow-x:auto;justify-content:flex-start}.bottom-tabs .tab{min-width:56px;flex:1 0 56px;font-size:17px}.bottom-tabs small{font-size:9px}.shipment-card{padding:14px}.ship-eta-banner strong{font-size:19px}.shipment-main strong{font-size:16px}.ship-buttons button{flex:1}.ship-count-row input{width:72px}.ship-lines-head{flex-wrap:wrap}.shipment-row{grid-template-columns:minmax(120px,2fr) minmax(65px,1fr) 38px;gap:5px}.shipment-row input{padding:10px 7px}}

/* T-smile Nita v6: workflows */
.scan-panel{background:var(--surface,#fff);border:1px solid #dce3ed;border-radius:14px;margin:1rem 0;padding:1rem}
.scan-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}
.scan-tabs button{flex:1;min-width:100px}
#ship-scanner,#ship-ocr{padding:.7rem;border:1px solid #d4dce9;border-radius:12px;margin:.5rem 0}
#ship-scan-input{font-size:18px}
.ship-info{grid-column:1/-1;color:#526179;padding:.1rem .3rem}
.po-row{display:grid;grid-template-columns:minmax(110px,2fr) minmax(80px,1fr) minmax(80px,1fr) auto;gap:.5rem;align-items:end;margin:.55rem 0}
.po-row input{width:100%}
.sku-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px;padding:1rem 0}
.sku-photo-item{padding:.45rem;border:1px solid #e1e7ed;border-radius:12px;display:flex;flex-wrap:wrap;gap:.25rem;align-content:start}
.sku-photo-item img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:7px}
.sku-photo-item button{padding:.4rem .55rem}
@media(max-width:620px){.po-row{grid-template-columns:1fr 1fr}.po-row label:first-child{grid-column:1/-1}.po-row button{min-height:40px}.scan-tabs button{font-size:13px}}

.ship-row-thumb{width:48px;height:48px;object-fit:cover;border-radius:10px;border:1px solid #e1e3e8}

.language-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:10px 24px;background:#eef2f6;border-bottom:1px solid #d8dfe7}.language-bar label{font-size:13px;margin:0}.language-bar select{width:auto;min-width:160px;padding:8px 12px}.stat-link{width:100%;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:5px;border:1px solid #d4dde6}.stat-link:hover{border-color:#4e6c8d;background:#f3f7fb}.stat-link:focus-visible{outline:3px solid #748fb5}.summary-list{max-height:65vh;overflow:auto;display:grid;gap:8px}.summary-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;text-align:left;width:100%;padding:14px;border:1px solid #dde3ea;border-radius:10px;color:inherit;background:#fff}.summary-row small{flex-basis:100%;color:#64748b}.summary-row:hover{background:#f5f8fb}.stat .v{display:block}.language-bar select:focus-visible{outline:3px solid #748fb5}@media(max-width:620px){.language-bar{padding:8px 12px}.summary-row{gap:8px}}

.thumb-slot{display:inline-flex;width:64px;height:64px;flex:0 0 64px;align-items:center;justify-content:center;border-radius:9px;background:#f2f4f7;overflow:hidden;font-size:10px;color:#6c7785}.thumb-slot img{width:100%;height:100%;object-fit:contain}.product-photo-frame>.thumb-slot{width:100%;height:100%}.shipment-thumbs{display:flex;gap:4px}.shipment-thumbs .thumb-slot{width:42px;height:42px;flex-basis:42px}.history-dates{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px}.history-dates label{flex:1;min-width:140px}.summary-row>.thumb-slot{width:64px;height:64px}.history-dates button{min-height:42px}
