.online-status{position:fixed;right:16px;bottom:12px;z-index:80;background:#fff;color:#166534;border:1px solid #bbf7d0;border-radius:8px;padding:7px 12px;font:13px/1.5 "Microsoft YaHei",sans-serif;box-shadow:0 2px 8px #0001;max-width:calc(100vw - 32px)}
.online-status button{color:#2563eb;text-decoration:underline;margin-left:12px}
.online-loading{padding:40px;text-align:center;color:#475569;font-family:"Microsoft YaHei",sans-serif}
.online-blocker{position:fixed;inset:0;z-index:9999;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:24px;font-family:"Microsoft YaHei",sans-serif}
.online-blocker>div{background:white;padding:28px;border-radius:12px;max-width:600px;color:#1f2937}
.online-blocker h2{font-size:22px;font-weight:bold;margin-bottom:12px}.online-blocker p{margin:12px 0;line-height:1.8}.online-blocker button{background:#2563eb;color:white;border:0;border-radius:6px;padding:10px 14px;margin:6px 8px 0 0;cursor:pointer}
.fabric-name-field{min-width:0;text-align:left}.fabric-name-combobox{position:relative}.fabric-name-combobox input{padding-right:40px}.fabric-name-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:36px;border-radius:0 7px 7px 0;border:0;border-left:1px solid #e5e7eb;background:#f9fafb;color:#475569;font-size:18px;cursor:pointer}.fabric-name-toggle:hover{background:#eff6ff;color:#2563eb}.fabric-name-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;border:1px solid #d1d5db;border-radius:8px;background:#fff;box-shadow:0 8px 20px #0f172a22;overflow:hidden}.fabric-name-menu ul{max-height:192px;overflow-y:auto;margin:0;padding:4px;list-style:none}.fabric-name-option{padding:8px 10px;border-radius:4px;cursor:pointer;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.fabric-name-option:hover,.fabric-name-option.active{background:#eff6ff;color:#1d4ed8}.fabric-name-empty{margin:0;padding:10px 12px;font-size:12px;color:#64748b;line-height:1.6}.fabric-supplier-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.fabric-supplier-heading h2{min-width:0;overflow-wrap:anywhere}.fabric-supplier-heading button{flex-shrink:0;white-space:nowrap}

.yarn-workflow-toolbar{max-width:80%;margin:0 auto;padding:12px 16px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.yarn-image-overlay{position:fixed;inset:0;z-index:10000;background:#000d;display:flex;justify-content:center;align-items:center;padding:40px}.yarn-image-overlay>img{max-width:95vw;max-height:90vh;object-fit:contain}.yarn-image-overlay>button{position:absolute;right:20px;top:15px;background:white;padding:6px 15px;border-radius:6px}.online-blocker form{background:white;padding:28px;border-radius:12px;max-width:440px;width:100%}.online-blocker label{display:block;margin:15px 0}.online-blocker input{display:block;border:1px solid #ccc;border-radius:5px;padding:8px;width:100%;margin-top:5px}
