code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;text-align:center}.admin-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login{animation:fadeIn .5s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:400px;padding:40px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px;text-align:center}.login-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:28px;font-weight:700;margin-bottom:10px}.login-subtitle{color:#666;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{text-align:left}.form-label{color:#555;font-size:14px;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#9ca3af;left:16px;position:absolute;transition:color .3s ease}.form-input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;outline:none;padding:12px 16px 12px 44px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:focus+.input-icon{color:#667eea}.toggle-password{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:16px;transition:all .3s ease}.toggle-password:hover{background-color:#f3f4f6;color:#667eea}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;margin-top:10px;padding:14px;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.error-message{align-items:center;animation:shake .5s ease-in-out;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:8px;justify-content:center;margin-top:10px;padding:12px 16px}.error-message:before{content:"⚠️";font-size:16px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.admin-dashboard{background:#fff;background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;box-shadow:0 10px 30px #00000026;margin:40px auto;max-width:900px;padding:30px}.admin-dashboard h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center}.admin-section{background-color:#fff;border:1px solid #e8ecef;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-bottom:24px;padding:24px;transition:all .3s ease}.admin-section:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.admin-section h3{border-bottom:2px solid #667eea;color:#333;display:inline-block;font-size:20px;font-weight:600;margin-bottom:20px;margin-top:0;padding-bottom:10px}.button-group{display:flex;gap:10px;margin-top:10px}.cancel-button{background-color:#6c757d!important}.cancel-button:hover{background-color:#5a6268!important}.restart-button{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.restart-button:hover{box-shadow:0 5px 15px #ff6b6b66;transform:translateY(-2px)}.restart-button:active{transform:translateY(0)}.restart-note{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:6px;color:#666;font-size:12px;margin-top:12px;padding:8px 12px;text-align:left}.admin-section form{align-items:flex-start;display:flex;flex-direction:column;gap:16px}.upload-form-row{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;width:100%}.upload-form-row input[type=file]{flex:1 1;min-width:200px}.restart-section{background-color:#fff;border:1px solid #e8ecef;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-top:30px;padding:20px;text-align:center}.admin-section input[type=file]{background-color:#fff;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;cursor:pointer;font-size:16px;outline:none;padding:12px;transition:all .3s ease}.admin-section input[type=file]:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-section button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .3s ease}.small-button{font-size:14px!important;font-weight:500!important;min-width:auto!important;padding:8px 16px!important}.admin-section button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.admin-section button:active:not(:disabled){transform:translateY(0)}.admin-section button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.upload-progress{margin-top:20px;width:100%}.progress-bar-container{background-color:#f0f2f5;border-radius:12px;box-shadow:inset 0 2px 4px #0000001a;height:24px;margin-bottom:12px;overflow:hidden;width:100%}.progress-bar{align-items:center;background:linear-gradient(90deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea4d;color:#fff;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:center;transition:width .3s ease}.progress-text{color:#666;font-size:14px;font-weight:500;text-align:center}.upload-log{background-color:#fff;border:1px solid #e8ecef;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-top:20px;overflow:hidden}.log-header{align-items:center;background:linear-gradient(135deg,#f8f9ff,#e9ecef);border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:14px 16px}.log-header span{color:#333;font-size:14px;font-weight:600}.log-header button{font-size:14px;min-width:auto;padding:8px 16px}.log-content{background-color:#fafafa;border-top:1px solid #e8ecef;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6;margin:0;max-height:250px;overflow-y:auto;padding:16px;white-space:pre-wrap}.message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;box-shadow:0 2px 8px #00000014;color:#155724;font-weight:500;margin-bottom:24px;padding:16px;text-align:center}html{box-sizing:border-box;margin:0;padding:0;width:100%}*{box-sizing:inherit}.nav-container{background-color:#fff;box-shadow:0 2px 4px #0000001a;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1000}.scrollable-nav{-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;display:flex;overflow-x:auto;overflow-y:hidden;padding:10px 15px;scrollbar-width:none;touch-action:pan-x;-webkit-user-select:none;user-select:none}.scrollable-nav::-webkit-scrollbar{display:none}.sheet-button{background:#f0f0f0;border:none;border-radius:16px;color:#333;margin-right:8px}.sheet-button.active{background:#007bff}.app{background-color:#f9f9f9;box-sizing:border-box;margin:0 auto;max-width:1000px;min-height:100vh;padding:80px 40px 40px;text-align:center;width:100%}.search-result-info{background-color:#e3f2fd;border:1px solid #2196f3;border-radius:4px;color:#1976d2;font-size:14px;margin:16px 0;padding:12px 16px;text-align:center}.clear-search-button{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-left:10px;padding:2px 8px}.clear-search-button:hover{background:#e0e0e0}.search-result-info span{color:#666;font-size:12px;margin-left:10px}.sheet-name-label{color:#007bff;font-size:10px;font-weight:700;margin:2px 0}.header{margin-bottom:20px;text-align:center}.header h1{font-family:SourceHanSansSC,sans-serif;font-size:24px;font-weight:700;margin-bottom:5px}.header p:not(.factory-direct-text):not(.factory-direct-subtext){color:#666;font-size:14px}.factory-direct-container{margin:10px 0;position:relative;text-align:center;width:100%}.factory-direct-line{background-color:#00000026;height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:50%}.factory-direct-content{padding-top:15px}.header .factory-direct-text{color:#333;font-size:14px;font-weight:400;margin:0 0 5px}.header .factory-direct-subtext{color:#666;font-size:8px;font-weight:400;line-height:1.2;margin:0}.grid{grid-gap:15px;box-sizing:border-box;display:grid;gap:15px;grid-auto-rows:minmax(0,auto);grid-template-columns:repeat(5,1fr);max-width:100%;width:100%}@media (min-width:769px) and (max-width:1024px){.grid{gap:20px;grid-template-columns:repeat(3,1fr)}.product-image{height:200px}}@media (min-width:1025px){.grid{gap:25px;grid-template-columns:repeat(5,1fr)}.product-image{height:220px}}@media (max-width:360px){.grid{gap:10px;grid-template-columns:1fr}.product-image{height:140px;min-height:140px}.product h3{font-size:13px}.product p{font-size:11px}}@media (max-width:768px){.grid{grid-gap:15px;box-sizing:border-box;display:grid;gap:15px;grid-auto-flow:row dense;grid-auto-rows:minmax(120px,auto);grid-template-columns:repeat(2,1fr);justify-items:center}.grid,.product{max-width:100%;width:100%}.product{align-self:start;border-radius:8px;box-shadow:0 2px 8px #0000001a;break-inside:avoid;margin-bottom:15px;overflow:hidden;page-break-inside:avoid}}.top-nav{background-color:#fff;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;flex-wrap:nowrap;height:60px;left:0;overflow:hidden;padding:0 20px;position:fixed;right:0;top:0;z-index:1000}.nav-logo,.top-nav{align-items:center;display:flex}.nav-logo{flex-shrink:0}.nav-logo img{height:40px;width:auto}.nav-search{align-items:center;display:flex;flex-shrink:0;margin:0 15px;min-width:180px}.search-input{border-radius:20px;box-sizing:border-box;min-width:150px;outline:none;padding:8px 12px;transition:all .3s ease}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.nav-sheets-container{align-items:center;display:flex;flex:1 1;margin:0 15px;min-width:0;overflow:hidden}.sheet-buttons{-ms-overflow-style:none;-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;align-items:center;display:flex;height:100%;max-width:100%;overflow-x:auto;padding:5px 10px;scrollbar-color:#0000 #0000;scrollbar-width:none;-webkit-user-select:none;user-select:none}.sheet-buttons::-webkit-scrollbar{background:#0000;display:none;height:0;width:0}.nav-export{flex-shrink:0;margin-left:auto}.export-pdf-link{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:40px;justify-content:center;min-width:40px;padding:8px;text-decoration:none;transition:background-color .2s ease}.export-pdf-link:hover:not(:disabled){background-color:#0056b3}.export-pdf-link:disabled{background-color:#ccc;cursor:not-allowed}.export-loading{font-size:12px}.export-icon{height:20px;width:20px}.list-button-container{margin:0 5px;position:relative}.list-badge{align-items:center;background-color:#ff4757;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;min-width:20px;position:absolute;right:-8px;top:-8px;transition:all .3s ease;width:20px}.list-badge:empty{display:none}@keyframes badgeUpdate{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}.badge-update{animation:badgeUpdate .5s ease-in-out}.sheet-button{-webkit-tap-highlight-color:transparent;background-color:#f0f0f0;border:1px solid #ddd;border-radius:20px;color:#000;cursor:pointer;flex-shrink:0;font-size:14px;margin:0 5px;padding:8px 16px;touch-action:manipulation;transition:all .2s ease;white-space:nowrap}.sheet-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.sheet-button:hover{background-color:#e0e0e0}.sheet-button.active:hover{background-color:#0056b3}.product{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:auto;justify-content:flex-start;margin-bottom:0;max-width:100%;overflow:hidden;padding:12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:100%}.product:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-3px)}.product-image-container{border-radius:6px;height:180px;margin-bottom:10px;overflow:hidden;position:relative;width:100%}.product-image{background-color:#f5f5f5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath fill='%23ccc' d='m8.5 13.5 2.5 3 3.5-4.5 4.5 6H5M21 7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14M8.5 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'/%3E%3C/svg%3E");background-size:48px;box-sizing:border-box;cursor:pointer;flex-shrink:0;height:100%;max-height:100%;max-width:100%;min-height:100%;min-width:100%;object-fit:cover;object-fit:contain;opacity:0;transition:opacity .3s ease-in-out}.product-image,.product-image.loading{background-position:50%;background-repeat:no-repeat}.product-image.loading{background-color:#f0f0f0;background-image:url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABLAAD/4QMtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMiA3OS5hMWNkMTJmNDEsIDIwMjQvMTEvMDgtMTY6MDk6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzMEU3REFEQjQ3ODExRjA4RjM0QUVEQ0VCMUY3NzZEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzMEU3REFDQjQ3ODExRjA4RjM0QUVEQ0VCMUY3NzZEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMDI1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMzcwNkI0REI0NzgxMUYwQjZGNUU1MEFGRTVERkRDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMzcwNkI0RUI0NzgxMUYwQjZGNUU1MEFGRTVERkRDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAMCAgICAgMCAgMFAwMDBQUE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);background-size:contain;opacity:1;transition:opacity .3s ease}.product-image.loaded{background-image:none;object-fit:contain;opacity:1;transition:opacity .3s ease}.product h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#222;display:-webkit-box;font-family:SourceHanSansSC,sans-serif;font-size:14px;font-weight:700;line-height:1.3;margin:8px 0;text-align:center;transition:color .2s ease}.product h3,.product p{word-wrap:break-word;box-sizing:border-box;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.product p{color:#555;font-family:AlibabaPuHuiTi,sans-serif;font-size:12px;font-weight:400;line-height:1.4;margin:4px 0}.add-to-list-button{background-color:#4caf50e6;border:none;border-radius:16px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;font-size:11px;max-width:80px;padding:6px 12px;position:absolute;right:10px;top:10px;transition:all .3s ease;width:auto;z-index:10}.add-to-list-button:hover{background-color:#45a049f2;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.add-to-list-button:active{transform:translateY(0)}@keyframes addToListAnimation{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.add-to-list-button.adding{animation:addToListAnimation .5s ease-in-out}@keyframes flyToList{0%{left:50%;opacity:1;position:absolute;top:50%;transform:translate(-50%,-50%) scale(1);z-index:1000}to{opacity:0;position:fixed;right:100px;top:20px;transform:scale(.1);z-index:1000}}.fly-animation{animation:flyToList 2s ease-in-out forwards;pointer-events:none}.pagination{align-items:center;background-color:#ffffffe6;border-radius:20px;bottom:20px;box-shadow:0 2px 10px #0000001a;display:flex;left:50%;padding:10px 20px;position:fixed;transform:translateX(-50%);z-index:100}.pagination button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin:0 10px;padding:8px 15px}.pagination span{color:#333;font-size:14px;font-weight:700;margin:0 10px}.export-buttons{display:flex;gap:10px;justify-content:center;margin-top:20px}.export-buttons a,.export-buttons button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;text-decoration:none}.export-buttons a:hover,.export-buttons button:hover{background:#0056b3}.image-enlarged-overlay{align-items:center;background-color:#000000e6;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}.image-enlarged-container{cursor:default;max-height:90%;max-width:90%;position:relative;touch-action:none}.enlarged-image{-webkit-user-drag:none;border-radius:8px;box-shadow:0 4px 20px #00000080;max-height:90vh;max-width:90vw;object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none}.close-enlarged-button{align-items:center;background-color:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;position:absolute;right:-40px;top:-40px;transition:background-color .2s ease;width:30px}.close-enlarged-button:hover{background-color:#ffffff4d}.loading-more,.no-more-products{color:#666;font-size:14px;padding:20px;text-align:center}@media (max-width:768px){.app{max-width:100%;padding:80px 15px 60px}.grid{grid-gap:15px;display:grid;gap:15px;grid-auto-flow:row dense;grid-auto-rows:minmax(120px,auto);grid-template-columns:repeat(2,1fr)}.product{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:100%;overflow:hidden;width:100%}.product-image-container{height:140px}.product-image{height:100%;max-height:100%;max-width:100%;min-height:100%;min-width:100%;object-fit:contain}.product-image.loaded{background-image:none;object-fit:contain;opacity:1}.pagination{bottom:10px;padding:8px 15px}.pagination button{font-size:14px;padding:6px 12px}.pagination span{font-size:12px}.top-nav{height:50px;padding:0 10px}.nav-logo img{height:30px}.nav-sheets-container{margin:0 10px;width:calc(100% - 120px)}.sheet-buttons{-webkit-overflow-scrolling:touch;padding:5px;scroll-behavior:smooth;width:100%}.sheet-button{border-radius:16px;font-size:13px;margin:0 3px;padding:6px 12px}.nav-search{margin:0 10px;min-width:120px}.search-input{font-size:13px;min-width:100px;padding:6px 10px}.export-pdf-link{height:36px;min-width:36px;padding:6px}.export-icon{height:18px;width:18px}.loading-more,.no-more-products{font-size:13px;padding:15px}}@media (max-width:480px){.top-nav{height:45px;padding:0 5px}.nav-logo img{height:25px}.nav-sheets-container{margin:0 5px;width:calc(100% - 90px)}.sheet-buttons{padding:5px 2px}.sheet-button{font-size:12px;margin:0 2px;padding:5px 10px}.nav-search{margin:0 5px;min-width:90px}.search-input{font-size:12px;min-width:80px;padding:5px 8px}.export-pdf-link{height:32px;min-width:32px;padding:4px}.export-icon{height:16px;width:16px}.product-image-container{height:120px}.product-image{height:100%;min-height:100%}.product h3{font-size:12px;margin:6px 0}.product p{font-size:11px;margin:2px 0}.grid{gap:12px}.loading-more,.no-more-products{font-size:12px;padding:12px}}.baojie-page{background-color:#f9f9f9;font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:80px 20px 40px}.baojie-header{text-align:center}.baojie-header,.quotations-controls{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.quotations-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.search-container{flex:1 1;min-width:300px}.search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#17a2b8;box-shadow:0 0 0 2px #17a2b81a;outline:none}.sort-container{align-items:center;display:flex;gap:10px}.sort-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 14px;transition:border-color .3s ease}.sort-select:focus{border-color:#17a2b8;box-shadow:0 0 0 2px #17a2b81a;outline:none}.sort-button{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .3s ease}.sort-button:hover{background-color:#f5f5f5;border-color:#17a2b8}.baojie-header h1{color:#333;font-size:28px;margin-bottom:10px}.baojie-header p{color:#666;font-size:16px}.quotations-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;min-height:400px;padding:20px}.empty,.error,.loading{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.empty p,.error p,.loading p{color:#666;font-size:16px;margin-bottom:20px}.error button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background-color .3s ease}.error button:hover{background-color:#45a049}.quotations-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.quotation-card{background-color:#f9f9f9;border-radius:8px;box-shadow:0 1px 5px #0000001a;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.quotation-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.quotation-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.quotation-header h2{color:#333;font-size:18px;margin:0}.header-right{align-items:center;display:flex;gap:10px}.quotation-header .date{background-color:#e3f2fd;border-radius:4px;color:#1976d2;font-size:12px;font-weight:700;padding:4px 8px}.delete-button{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:50%;color:#721c24;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;transition:all .3s ease;width:24px}.delete-button:hover{background-color:#f5c6cb;color:#721c24;transform:scale(1.1)}.mark-button{font-size:12px;font-weight:700;padding:4px 8px;transition:all .3s ease}.mark-button:hover{transform:scale(1.05)}.salesperson-info{background-color:#e3f2fd;color:#1976d2;font-size:12px;padding:4px 8px}.header-right .salesperson-input-container{background-color:initial;border-radius:0;display:inline-block;margin:0;padding:0}.salesperson-input{border:1px solid #1976d2;font-size:12px;padding:4px 8px;transition:all .3s ease;width:120px}.salesperson-input:focus{border-color:#1565c0;box-shadow:0 0 0 2px #1976d233;width:140px}.salesperson-input-container{background-color:#f9f9f9;border-radius:8px;margin:20px 0;padding:20px}.salesperson-input-container label{color:#333;display:block;font-weight:700;margin-bottom:8px}.quotation-info{margin-bottom:20px}.quotation-info p{color:#666;font-size:14px;margin:8px 0}.quotation-actions{display:flex;gap:10px}.action-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:10px;text-align:center;text-decoration:none;transition:background-color .3s ease}.action-button.view{background-color:#17a2b8;color:#fff}.action-button.view:hover{background-color:#138496}.action-button.excel{background-color:#2196f3;color:#fff}.action-button.excel:hover{background-color:#1976d2}.action-button.edit{background-color:#ff9800;color:#fff}.action-button.edit:hover{background-color:#f57c00}.edit-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 5px 25px #0003;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.edit-modal-header{align-items:center;background-color:#f5f5f5;border-bottom:1px solid #ddd;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:20px}.edit-modal-header h2{color:#333;margin:0}.close-button{background:none;border-radius:4px;color:#666;font-size:24px;padding:0;transition:all .3s ease}.close-button:hover{background-color:#e0e0e0;color:#333}.edit-modal-body{padding:20px}.customer-info h3{color:#333;margin-bottom:15px;margin-top:0}.customer-info p{color:#666;margin:8px 0}.products-edit{margin-bottom:20px}.products-edit h3{color:#333;margin-bottom:15px;margin-top:0}.products-table{background-color:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;width:100%}.products-table td,.products-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.products-table th{background-color:#f2f2f2;color:#333;font-weight:700}.products-table tr:hover{background-color:#f5f5f5}.edit-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .3s ease;width:100%}.edit-input:focus{border-color:#17a2b8;box-shadow:0 0 0 2px #17a2b81a;outline:none}.edit-modal-footer{background-color:#f5f5f5;border-radius:0 0 8px 8px;border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;padding:20px}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background-color .3s ease}.save-button{background-color:#28a745;color:#fff}.save-button:hover{background-color:#218838}.save-button:disabled{background-color:#6c757d;cursor:not-allowed}@media (max-width:768px){.edit-modal-content{margin:20px;width:95%}.products-table{font-size:12px}.products-table td,.products-table th{padding:8px}.edit-modal-footer{flex-direction:column}.cancel-button,.save-button{text-align:center;width:100%}.baojie-page{padding:80px 10px 40px}.quotations-controls{align-items:stretch;flex-direction:column;padding:15px}.search-container{min-width:auto}.sort-container{justify-content:space-between}.quotations-list{grid-template-columns:1fr}.quotation-header{align-items:flex-start;gap:10px}.quotation-actions,.quotation-header{flex-direction:column}}@media print{.baojie-header,.quotation-actions{display:none!important}.baojie-page{background-color:#fff;padding:0}.quotations-container{border:none;box-shadow:none}.quotation-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;margin-bottom:20px;page-break-inside:avoid}}.customer-form-container{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.customer-form-header{margin-bottom:40px;text-align:center}.customer-form-header h1{color:#333;font-size:28px;margin-bottom:10px}.customer-form-header p{color:#666;font-size:16px}.error-message{background-color:#ffebee;color:#c62828;padding:15px}.success-message{background-color:#e8f5e8;color:#2e7d32;padding:15px}.customer-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.form-section{margin-bottom:40px}.form-section h2{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin-bottom:20px;padding-bottom:10px}.form-group{align-items:center;margin-bottom:20px}.form-group label{width:120px}.form-group input{flex:1 1}.products-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.product-item{border:2px solid #f0f0f0;border-radius:8px;padding:15px;position:relative;transition:all .3s ease}.product-item:hover{border-color:#4caf50;box-shadow:0 4px 12px #0000001a}.product-item.selected{background-color:#f9fff9;border-color:#4caf50}.product-checkbox{position:absolute;right:10px;top:10px;transform:scale(1.2)}.product-image{align-items:center;display:flex;height:150px;justify-content:center;margin-bottom:15px;width:100%}.product-image img{max-height:100%;max-width:100%;object-fit:contain}.product-info h3{color:#333;font-size:16px;margin-bottom:10px}.product-info p{color:#666;font-size:14px;margin-bottom:15px}.product-details{border-top:1px solid #f0f0f0;margin-top:15px;padding-top:15px}.price-control,.quantity-control{align-items:center;display:flex;margin-bottom:10px}.price-control label,.quantity-control label{color:#555;font-size:14px;width:60px}.price-control input,.quantity-control input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:8px}.form-actions{border-top:2px solid #f0f0f0;margin-top:40px;padding-top:20px;text-align:center}.submit-button{border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;padding:15px 40px;transition:background-color .3s ease}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.customer-form-container{padding:10px}.customer-form{padding:20px}.form-group{align-items:flex-start;flex-direction:column}.form-group label{margin-bottom:5px;width:100%}.form-group input{width:100%}.products-grid{grid-template-columns:1fr}.product-item{padding:10px}.product-image{height:120px}}.quotation-page{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.quotation-header{margin-bottom:40px;text-align:center}.quotation-header h1{color:#333;font-size:28px;margin-bottom:20px}.customer-info{background-color:#f9f9f9;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px;padding:20px}.customer-info p{color:#555;font-size:16px;margin:0}.divider{background-color:#000;height:1px;margin:20px 0;width:100%}.product-list{margin-bottom:40px}.product-list h2{color:#333;font-size:20px;margin-bottom:20px;text-align:center}.product-table{background-color:#fff;border-collapse:collapse;box-shadow:0 2px 5px #0000001a;width:100%}.product-table td,.product-table th{border-bottom:1px solid #ddd;padding:15px;text-align:left}.product-table th{background-color:#f2f2f2;color:#333;font-weight:700}.image-cell{width:150px}.image-cell img{height:100px;width:100%}.info-cell{width:40%}.info-cell h3{color:#333;font-size:16px;margin:0 0 10px}.info-cell p{color:#666;font-size:14px;margin:0}.quantity-cell{vertical-align:middle;width:15%}.price-cell{vertical-align:middle;width:20%}.price-cell input{font-size:14px;padding:8px;width:100px}.action-buttons{border-top:2px solid #f0f0f0;display:flex;gap:20px;justify-content:center;margin-top:40px;padding-top:20px}.generate-excel-button,.generate-pdf-button{border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;padding:15px 30px;transition:background-color .3s ease}.generate-excel-button{background-color:#2196f3;color:#fff}.generate-excel-button:hover{background-color:#1976d2}.generate-pdf-button{background-color:#ff5722;color:#fff}.generate-pdf-button:hover{background-color:#e64a19}.generate-excel-button:disabled,.generate-pdf-button:disabled{background-color:#ccc;cursor:not-allowed}.loading{color:#666}.error,.loading{font-size:18px;padding:100px;text-align:center}.error{color:#c62828}.header-top{display:flex;justify-content:space-between;margin-bottom:20px}.header-actions,.header-top{align-items:center}.mark-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.mark-button:hover{background-color:#45a049}.salesperson-info{background-color:#f9f9f9;border-radius:4px;color:#333;font-size:14px;font-weight:700;padding:8px 16px}.modal-overlay{bottom:0;right:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;max-width:400px;padding:30px;width:90%}.modal-content h3{color:#333;margin-bottom:20px;margin-top:0;text-align:center}.salesperson-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px;margin-bottom:20px;padding:12px;width:100%}.salesperson-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.modal-buttons{display:flex;gap:10px;justify-content:space-between}.cancel-button,.confirm-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:10px;transition:background-color .3s ease}.cancel-button{background-color:#f1f1f1;color:#333}.cancel-button:hover{background-color:#e0e0e0}.confirm-button{background-color:#4caf50;color:#fff}.confirm-button:hover{background-color:#45a049}@media (max-width:768px){.quotation-page{padding:10px}.header-top{flex-direction:column;gap:10px;text-align:center}.header-actions{justify-content:center}.customer-info{align-items:center;flex-direction:column;text-align:center}.product-table{font-size:14px}.product-table td,.product-table th{padding:10px}.image-cell{width:100px}.image-cell img{height:80px}.info-cell{width:35%}.info-cell h3{font-size:14px}.action-buttons{align-items:center;flex-direction:column}.generate-excel-button,.generate-pdf-button{text-align:center;width:200px}.modal-content{padding:20px;width:95%}.modal-buttons{flex-direction:column}}@media (max-width:480px){.quotation-header h1{font-size:24px}.customer-info p{font-size:14px}.product-table td,.product-table th{padding:8px}.image-cell{width:80px}.image-cell img{height:60px}}.list-page{background-color:#f9f9f9;font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:80px 20px 40px}.list-header{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:40px;padding:20px}.list-header h1{color:#333;font-size:24px;margin:0}.header-actions{display:flex;gap:10px}.add-custom-product-button,.add-product-button,.browse-button,.clear-button,.print-button,.quote-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background-color .3s ease}.add-product-button{background-color:#4caf50;color:#fff}.add-product-button:hover{background-color:#45a049}.add-custom-product-button{background-color:#2196f3;color:#fff}.add-custom-product-button:hover{background-color:#0b7dda}.print-button{background-color:#17a2b8;color:#fff}.print-button:hover{background-color:#138496}.quote-button{background-color:#ffc107;color:#212529}.quote-button:hover{background-color:#e0a800}.clear-button{background-color:#dc3545;color:#fff}.clear-button:hover{background-color:#c82333}.empty-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:80px 20px;text-align:center}.empty-list p{color:#666;font-size:16px;margin-bottom:10px}.browse-button{background-color:#28a745;color:#fff;margin-top:20px}.browse-button:hover{background-color:#218838}.product-list-container{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-x:auto;scrollbar-width:thin}.product-list-container::-webkit-scrollbar{height:6px}.product-list-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.product-list-container::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.product-list-container::-webkit-scrollbar-thumb:hover{background:#555}.product-list-table{border-collapse:collapse;min-width:800px;table-layout:auto;width:100%}.product-list-table td,.product-list-table th{border-bottom:1px solid #ddd;padding:8px;text-align:left}.product-list-table th{color:#333;font-size:14px;font-weight:700}.product-list-table th,.product-list-table tr:hover{background-color:#f8f9fa}.image-cell{overflow:hidden;padding:5px;text-align:center;white-space:nowrap;width:70px}.image-cell img{border-radius:4px;max-height:60px;max-width:60px;object-fit:contain}.add-image-button{align-items:center;border:2px dashed #ccc;border-radius:4px;color:#ccc;cursor:pointer;display:flex;font-size:24px;height:60px;justify-content:center;margin:0 auto;transition:all .3s ease;width:60px}.add-image-button:hover{background-color:#f0f8ff;border-color:#2196f3;color:#2196f3}.name-cell{width:25%}.product-name-text{word-wrap:break-word;font-size:16px;font-weight:700;line-height:1.4;padding:12px 0;white-space:normal;width:100%}.spec-cell{position:relative;width:25%}.spec-input{border:1px solid #ddd;border-radius:4px;color:#666;font-size:16px;padding:12px;width:100%}.spec-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.quantity-cell{padding:10px;text-align:center;width:10%}.quantity-input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:12px;text-align:center;width:100%}.quantity-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.price-cell{padding:10px;text-align:center;width:13%}.price-cell input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:12px;text-align:center;width:100%}.price-cell input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.action-cell{text-align:center;width:15%}.remove-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s ease}.remove-button:hover{background-color:#c82333}.quote-form-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.quote-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;padding:30px;position:relative;width:90%}.form-header{margin-bottom:30px;position:relative;text-align:center}.form-header h2{color:#333;font-size:20px;margin-bottom:10px}.quote-note{color:#666;font-size:14px;margin:0}.close-button{align-items:center;background-color:#333;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;position:absolute;right:-10px;top:-10px;width:30px}.error-message{background-color:#f8d7da;color:#721c24}.error-message,.success-message{border-radius:4px;margin-bottom:20px;padding:12px;text-align:center}.success-message{background-color:#d4edda;color:#155724}.quote-form{gap:20px}.form-group,.quote-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#555;font-size:14px;font-weight:700}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px}.form-group input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.form-actions{align-items:center;display:flex;justify-content:center;margin-top:20px}.cancel-button,.submit-button{border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease}.cancel-button{background-color:#6c757d;color:#fff;flex:1 1;font-size:13px;max-width:100px;padding:12px 16px}.cancel-button:hover{background-color:#5a6268}.submit-button{background-color:#4caf50;color:#fff;flex:2 1;font-size:15px;min-width:150px;padding:12px 24px}.submit-button:hover{background-color:#45a049}@media print{.action-cell,.edit-spec-button,.empty-list .browse-button,.list-header,.spec-edit-buttons,.total-summary{display:none!important}.list-page{background-color:#fff;padding:0}.product-list-container{border:none;box-shadow:none}.product-list-table{border-collapse:collapse;page-break-inside:avoid;width:100%}.product-list-table td,.product-list-table th{border:1px solid #000;padding:12px;page-break-inside:avoid}.product-list-table th{background-color:#f0f0f0;font-weight:700}.image-cell img{max-height:80px;max-width:80px}.name-cell{font-weight:700}.spec-cell{word-wrap:break-word}.spec-cell,.spec-content{white-space:normal!important}.spec-content{overflow:visible!important;text-overflow:clip!important}.price-cell,.quantity-cell{text-align:center}table,tr{page-break-inside:avoid}tr{page-break-after:auto}body{font-size:12pt;line-height:1.5}}.total-summary{background-color:#fff;border-top:2px solid #4caf50;bottom:0;box-shadow:0 -2px 10px #0000001a;left:0;padding:15px 20px;position:fixed;right:0;z-index:1000}.total-info{align-items:center;display:flex;justify-content:flex-end;margin:0 auto;max-width:1200px}.total-label{color:#333;font-size:16px;font-weight:700;margin-right:10px}.total-amount{color:#4caf50;font-size:20px;font-weight:700}@media print{.total-summary{display:none!important}}.modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:3000}.modal-container{animation:modalFadeIn .3s ease;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;position:relative;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;font-size:18px;margin:0}.modal-body{padding:20px}.modal-body p{color:#666;font-size:16px;line-height:1.5}.modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:20px}.modal-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;min-width:80px;padding:10px 20px;text-align:center;transition:background-color .3s ease}.modal-button.cancel-button{background-color:#6c757d;color:#fff}.modal-button.cancel-button:hover{background-color:#5a6268}.modal-button.confirm-button{background-color:#4caf50;color:#fff}.modal-button.confirm-button:hover{background-color:#45a049}.modal-button.danger-button{background-color:#dc3545;color:#fff}.modal-button.danger-button:hover{background-color:#c82333}.modal-input{border:1px solid #ddd;border-radius:4px;font-size:16px;margin-top:8px;padding:10px;width:100%}.modal-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}@media (max-width:768px){.modal-container{max-width:400px;width:95%}.modal-header{padding:15px}.modal-header h2{font-size:16px}.modal-body{padding:15px}.modal-body p{font-size:14px}.modal-footer{flex-direction:column;gap:10px;padding:15px}.modal-button{width:100%}.modal-button,.modal-input{font-size:15px;padding:12px}.list-page{padding:80px 10px}.list-header{flex-direction:column;gap:20px;text-align:center}.header-actions{flex-wrap:wrap;justify-content:center}.header-actions button{font-size:14px;min-width:120px;padding:12px 16px;position:relative;text-align:center;z-index:100}.product-list-container{position:relative}.product-list-table{font-size:12px;min-width:800px}.product-list-table td,.product-list-table th{padding:10px 6px}.product-list-table td:first-child,.product-list-table th:first-child{background-color:#fff;left:0;max-width:60px;min-width:60px;position:-webkit-sticky;position:sticky;z-index:10}.product-list-table th:first-child{background-color:#f8f9fa}.product-list-table tr{position:relative}.image-cell{overflow:hidden;padding:5px;white-space:nowrap;width:60px}.image-cell img{max-height:50px;max-width:50px}.name-cell{font-size:12px;width:20%}.spec-cell{font-size:11px;width:25%}.quantity-cell{padding:8px 4px;width:18%}.quantity-input{font-size:12px;padding:8px}.price-cell{padding:8px 4px;width:22%}.price-cell input{font-size:12px;padding:8px}.action-cell{width:12%}.remove-button{font-size:10px;padding:4px 8px}.quote-form-container{padding:20px;width:95%}.total-summary{padding:10px 15px}.total-label{font-size:14px}.total-amount{font-size:16px}.spec-tooltip{font-size:11px;max-width:150px;padding:6px 10px}}
/*# sourceMappingURL=main.3f706920.css.map*/