/* Korean remains the primary label; Vietnamese can wrap without shrinking it. */
.vi{font-family:"Segoe UI",Arial,system-ui,sans-serif;font-size:.9em;font-weight:400;letter-spacing:normal;line-height:1.5;overflow-wrap:anywhere}
button:has(>.vi){white-space:normal;line-height:1.5}
button>.vi,.stock-name>.vi,.page-head h1>.vi,.logo>div>.vi,.dialog-head h2>.vi{display:block}
.stock-info>.stock-name>.vi{font-size:11px;color:#50695b;margin-top:2px}
.stock-spec{white-space:normal;max-height:none;overflow:visible}
.stock-tags{align-items:flex-start}
.stock-tags .vi{font-size:10px}
.quick-states button>.vi{display:block;font-size:10px}
.stock-row .order-toggle{min-width:48px}
.stock-row{grid-template-columns:25px minmax(120px,1fr) 213px 54px}
.order-toggle>.vi{font-size:9px;line-height:1.5}
.order-toggle>span.vi{font-size:9px;line-height:1.5}
.record-summary span>.vi{display:block;font-size:10px;max-width:160px}
.record-panel{align-items:center;flex-wrap:wrap}
.record-actions{max-width:100%;min-width:0}
.record-actions button{white-space:normal;min-width:0}
.room-title{align-items:flex-start;flex-wrap:wrap;gap:3px}
.room-title>.vi{order:2;flex-basis:100%;font-size:11px}
.room-brands{overflow-wrap:anywhere;word-break:normal}
.supplier-title h3{min-width:0;line-height:1.6}
.supplier-title h3>.vi{display:block}
.section-toggle h2>.vi{display:block;font-size:12px}
.section-count{min-width:0;overflow-wrap:anywhere}
.top{height:auto;min-height:80px;padding-top:12px;padding-bottom:12px}
.top .logo{min-width:0}
.top .logo>div>.vi{font-size:11px}
.top nav button{min-height:48px}
.data-table .name{overflow-wrap:anywhere}
.data-table .name>.vi,.picker-row .grow>.vi{display:block;margin-top:3px;font-size:12px}
.data-table th>.vi{display:block;font-size:11px}
.code-free .vi{font-size:12px;color:#526d5e}
.detail-facts strong>.vi{display:block}
.login-box .field>span>.vi{display:inline;font-size:12px}
.form-actions{flex-wrap:wrap}
.form-actions button{white-space:normal;max-width:100%}
.order-qty{align-items:flex-start}
.order-qty>label{display:grid;gap:5px;min-width:0;font-size:10px;color:#607267}
.order-qty>label>span>.vi{display:block;font-size:10px}
.order-qty .unit-hint{font-size:10px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;max-width:110px}
.order-qty .unit-hint>.vi{display:block}
.page-head>button{flex-shrink:0;max-width:30%}
.session-notice{align-items:flex-start;line-height:1.5}
#toast{width:max-content;overflow-wrap:anywhere}
@media(max-width:850px){
  .stock-row{grid-template-columns:24px minmax(0,1fr) 51px}
  .stock-controls{max-width:320px}
}
@media(max-width:620px){
  .top{padding:10px 14px;gap:10px;flex-wrap:wrap;min-height:0}
  .top .logo{font-size:15px;flex:1}
  .top .logo>div>.vi{font-size:10px}
  .top nav{width:100%;display:grid;grid-template-columns:1fr 1fr 70px;border-top:1px solid #edf1ed;padding-top:7px}
  .top nav button{min-height:42px;font-size:12px;padding:6px;white-space:normal}
  .top nav button>.vi{font-size:11px}
  .record-panel{gap:12px}
  .record-summary{width:100%;gap:25px;flex-basis:100%}
  .record-summary span{font-size:10px}
  .record-summary span>.vi{font-size:10px}
  .record-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .record-actions button{min-height:47px;font-size:11px;padding:7px}
  .record-help{font-size:11px}
  .record-help>.vi{display:block;font-size:11px;margin-top:3px}
  .view-filters{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:4px}
  .view-filters button{min-height:45px;text-align:left;border:1px solid #e0e6e2;padding:7px}
  .view-filters button>.vi{font-size:10px}
  .inventory-workspace .room-nav button{width:144px;min-width:144px;max-width:144px;min-height:95px}
  .room-brands .vi{font-size:10px}
  .category-chips button{white-space:normal;max-width:190px;min-height:47px;display:block;text-align:left}
  .category-chips button>.vi{display:block;font-size:10px}
  .stock-row{grid-template-columns:22px minmax(0,1fr) 48px;gap:6px;padding:12px 9px}
  .stock-name{font-size:13px;line-height:1.55}
  .stock-info>.stock-name>.vi{font-size:12px;line-height:1.5}
  .stock-controls{grid-template-columns:72px minmax(0,1fr);gap:6px;max-width:none}
  .quick-states button{padding:5px 2px;min-height:45px;font-size:11px}
  .quick-states button>.vi{font-size:10px}
  .quantity-control input{width:48px;min-height:41px;font-size:14px}
  .quantity-control>span{font-size:9px}
  .stock-row .order-toggle{font-size:10px;min-height:65px;max-width:48px}
  .last-stock{font-size:10px}
  .last-stock>.vi{display:block;font-size:10px}
  .inventory-toolbar .search input{font-size:12px;min-height:45px}
  .supplier-title>span{white-space:normal;font-size:10px;text-align:right}
  .group-head>div{align-items:flex-start}
  .group-head h2>.vi{display:block;font-size:13px}
  .data-table{table-layout:fixed;width:100%;min-width:0}
  .data-table th:last-child{width:112px}
  .data-table th,.data-table td{padding:10px 8px}
  .data-table .name>.vi{font-size:11px;line-height:1.55}
  .data-table .name small{line-height:1.6}
  .data-table input[type=number]{width:56px}
  .data-table input.unit{width:42px}
  .order-qty{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .order-qty input[type=number],.order-qty input.unit{width:100%;max-width:90px;min-height:37px}
  .order-card .panel-head{gap:9px;flex-wrap:wrap}
  .order-card .panel-head>div{min-width:0;flex:1 1 155px}
  .order-card .panel-head h2>.vi{display:block;font-size:12px}
  .panel-foot{gap:12px}
  .history-item{gap:10px;flex-wrap:wrap}
  .history-item>button{white-space:normal}
  .dialog-head h2{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
  .dialog-head h2>.vi{font-size:13px}
  .dialog-body{padding:16px}
  .detail-facts>div{grid-template-columns:90px minmax(0,1fr)}
  .receipt-row{grid-template-columns:minmax(0,1fr) 64px 42px;font-size:12px;gap:6px}
  .receipt-row input{width:64px}
  .login-screen{padding:18px}
  .login-box{padding:24px}
  .session-notice{width:calc(100% - 24px);gap:8px;font-size:11px;padding:10px}
  .session-notice button{font-size:11px;max-width:100px;white-space:normal}
}
@media(max-width:360px){
  .shell{padding-left:10px;padding-right:10px}
  .stock-row{padding-left:7px;padding-right:7px;grid-template-columns:19px minmax(0,1fr) 44px;gap:5px}
  .stock-row .order-toggle{min-width:44px;max-width:44px;font-size:9px}
  .stock-controls{grid-template-columns:59px minmax(0,1fr);gap:4px}
  .quantity-control input{width:40px;max-width:40px}
  .quantity-control>span{font-size:8px;max-width:17px}
  .quick-states button{font-size:10px}
  .quick-states button>.vi{font-size:9px}
}
