:root{--bg: #F0F0F0;--card: #FFFFFF;--primary: #FFA000;--primary-light: #FFC107;--primary-dark: #E65100;--accent: #4CAF50;--accent-light: #81C784;--success: #1E88E5;--success-dark: #1565C0;--danger: #D32F2F;--gray-100: #F4F4F4;--gray-200: #E0E0E0;--gray-300: #C7C7C7;--gray-500: #757575;--gray-700: #333333;--gray-900: #171717;--radius: 16px;--shadow: 0 8px 30px rgba(0,0,0,.15);--transition: .2s ease;--focus-ring: 0 0 0 4px rgba(255,160,0,.35)}*{margin:0;padding:0;box-sizing:border-box;font-family:Quicksand,sans-serif}html,body{height:100%;width:100%;margin:0;padding:0;overflow-x:hidden;background:var(--bg);font-size:16px;line-height:1.5;color:var(--gray-700)}#root{min-height:100svh;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:8px;background:var(--bg)}.app{width:100%;max-width:1100px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gray-200)}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;flex-shrink:0}.header h1{font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;margin:0;color:#fff}.header h1 i{color:#fff}.header h1 small{font-weight:400;font-size:16px;color:#ffffffd9}.company-brand{font-size:13px;color:#ffffffe6;white-space:nowrap;font-weight:500;letter-spacing:.3px;line-height:1}.company-brand strong{color:#fff;font-weight:600}.header-branding-mobile{display:none;width:100%;align-items:center;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.25);margin-top:4px}.header-company-input{flex:1;padding:9px 12px;border:2px solid transparent;border-radius:10px;background:#ffffff2e;color:#fff;font-size:15px;font-weight:600;font-family:Quicksand,sans-serif;min-height:44px}.header-company-input::placeholder{color:#ffffff8c}.header-company-input:focus{outline:none;border-color:#ffffffb3;background:#ffffff40}.header-company-input.header-input-error{border-color:#ffcdd2;background:#d32f2f40}.header-logo-area{display:flex;align-items:center;gap:6px;flex-shrink:0}.header-logo-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff2e;border-radius:10px;cursor:pointer;color:#fff;font-size:18px;transition:var(--transition)}.header-logo-btn:hover{background:#ffffff4d}.header-logo-img{height:34px;max-width:80px;object-fit:contain;background:#ffffffe6;border-radius:6px;padding:2px 5px}.header-logo-remove{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:var(--transition)}.header-logo-remove:hover{background:#d32f2fb3}.fabric-badge{background:var(--success);color:#fff;padding:6px 18px;border-radius:30px;font-weight:600;font-size:15px;box-shadow:0 2px 6px #00000026}.fabric-badge strong{color:#fff}.body{flex:1;overflow-y:auto;padding:20px 24px 16px;scroll-behavior:smooth}.body::-webkit-scrollbar{width:6px}.body::-webkit-scrollbar-track{background:var(--gray-100)}.body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}.section{margin-bottom:24px}.section-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--gray-200);display:flex;align-items:center;gap:8px}.section-title i{color:var(--primary-dark);font-size:16px}.section-title.accent-orange{border-bottom-color:var(--primary-dark)}.section-title.accent-green{border-bottom-color:var(--accent)}.section-title.accent-green i{color:var(--accent)}.section-title.accent-red{border-bottom-color:var(--danger)}.section-title.accent-red i{color:var(--danger)}.section-title.accent-neutral{border-bottom-color:var(--gray-200)}.section-title.accent-neutral i{color:var(--gray-500)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:13px;font-weight:600;color:var(--gray-700);display:flex;align-items:center;gap:4px}.field label .req{color:var(--danger);font-size:16px}.field select,.field input{padding:12px 14px;border:2px solid var(--gray-200);border-radius:12px;font-size:15px;font-weight:500;color:var(--gray-900);background:var(--gray-100);transition:var(--transition);width:100%;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.field select:focus,.field input:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.field .hint{font-size:12px;color:var(--gray-500);min-height:18px;margin-top:2px}.field-error select,.field-error input{border-color:#e57373;background:transparent}.field-error .hint{color:var(--danger)}.hint:empty{display:none}.order-table-wrap{border:2px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;background:var(--card)}.order-table-row{display:flex;flex-wrap:wrap;border-top:1px solid var(--gray-200)}.order-table-row:first-child{border-top:none}.order-cell-label{flex:1 1 130px;min-width:110px;background:var(--gray-100);color:var(--gray-900);font-weight:700;font-size:12px;letter-spacing:.4px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;border-right:1px solid var(--gray-200);gap:3px}.order-cell-label .req{color:var(--danger);font-size:15px}.order-cell-input{flex:1.6 1 170px;min-width:140px;background:var(--card);display:flex;align-items:center;border-right:1px solid var(--gray-200);transition:var(--transition);box-shadow:inset 0 0 0 1.5px var(--gray-200)}.order-table-row>.order-cell-input:last-of-type{border-right:none}.order-col-pair{flex:1 1 0%;min-width:220px;display:flex;flex-wrap:wrap;align-items:stretch}.order-col-pair+.order-col-pair{border-left:1px solid var(--gray-200)}.order-col-pair .order-cell-label{flex:0 0 130px;min-width:110px}.order-col-pair .order-cell-input{border-right:none;flex:1 1 150px}.order-col-pair .order-logo-cell{flex:1 1 150px;border-right:none}.order-col-pair .order-hint{flex:1 1 100%}.order-cell-input select,.order-cell-input input{border:none;border-radius:0;background:transparent;width:100%;padding:10px 12px;font-size:14px;font-weight:600;color:var(--gray-900)}.order-cell-input select:focus,.order-cell-input input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background:#fff8ed;z-index:1}.order-cell-input.unit-toggle-cell{padding:0}.unit-toggle-group{display:flex;width:100%;height:100%}.unit-toggle-btn{flex:1;border:none;background:transparent;color:var(--gray-500);font-family:Quicksand,sans-serif;font-size:14px;font-weight:700;letter-spacing:.3px;padding:10px 12px;cursor:pointer;transition:var(--transition);border-right:1px solid var(--gray-200)}.unit-toggle-btn:last-child{border-right:none}.unit-toggle-btn:hover:not(.active){background:var(--gray-100);color:var(--primary-dark)}.unit-toggle-btn.active{background:var(--primary);color:#fff}.unit-toggle-btn:focus-visible{outline:3px solid var(--primary-light);outline-offset:-3px}@keyframes field-error-pulse{0%{box-shadow:inset 0 0 0 2.5px var(--danger)}40%{box-shadow:inset 0 0 0 2.5px var(--danger),0 0 10px 3px #d32f2f40}to{box-shadow:inset 0 0 0 2.5px var(--danger),0 0 #d32f2f00}}.order-cell-input.field-error{background:#ffebee;box-shadow:inset 0 0 0 2.5px var(--danger);animation:field-error-pulse .6s ease forwards}.order-cell-input.field-error select,.order-cell-input.field-error input{color:var(--gray-900);background:transparent}.order-cell-input .other-input{flex:1;width:auto;min-width:80px;border:none;border-left:2px solid var(--gray-200);border-radius:0;background:transparent;padding:10px 12px;font-size:14px;font-weight:600;color:var(--gray-900)}.order-cell-input .other-input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background:#fff8ed}.order-cell-input.field-error .other-input{color:var(--gray-900)}.order-cell-input.has-other select{flex:0 0 90px;width:90px}.order-hint{flex:1 1 100%;font-size:12px;font-weight:700;color:var(--danger);padding:0 12px;max-height:0;overflow:hidden}.order-hint:empty{display:none}.order-hint:not(:empty){max-height:36px;padding:5px 12px 6px}.order-branding-row .order-cell-label{color:var(--gray-700)}.order-branding-row .order-cell-label i{color:var(--accent)}.order-branding-row .hint{font-size:11px;padding:4px 12px 6px;min-height:0}.order-logo-cell{flex:1.6 1 170px;min-width:200px;background:var(--card);padding:8px 12px;display:flex;align-items:center}@media (max-width: 560px){.order-cell-label,.order-cell-input,.order-logo-cell{flex:1 1 100%;border-right:none;border-bottom:1px solid var(--gray-200)}.order-table-row>*:last-child{border-bottom:none}.order-col-pair{flex:1 1 100%;border-left:none;border-bottom:1px solid var(--gray-200)}.order-col-pair:last-child{border-bottom:none}}.size-grid-wrap{border:2px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;background:var(--card);position:relative}.size-grid-layout{display:flex}.sg-row-labels{flex:0 0 90px;min-width:70px;display:flex;flex-direction:column;border-right:2px solid var(--gray-200)}.sg-row-label{flex:1;min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);background:var(--gray-100);padding:4px 6px}.sg-row-label+.sg-row-label{border-top:1px solid var(--gray-200)}.size-grid-header{display:none}.size-grid-body{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;position:relative}.size-grid-body::-webkit-scrollbar{display:none}.size-grid-body .sg-col{flex:0 0 130px;min-width:130px;border-right:1px solid var(--gray-200);display:flex;flex-direction:column}.size-grid-body .sg-col:last-child{border-right:none}.sg-cell{padding:10px 4px;text-align:center;display:flex;align-items:center;justify-content:center;min-height:56px}.sg-cell.size-cell{border-bottom:1px solid var(--gray-200);background:var(--gray-100)}.sg-cell.ratio-cell{background:var(--card);position:relative}.sg-cell.ratio-cell.ratio-error,.sg-cell.size-cell.size-error{box-shadow:inset 0 0 0 2.5px var(--danger);background:#ffebee;animation:field-error-pulse .6s ease forwards}.sg-cell input{border:2px solid transparent;border-radius:8px;padding:6px 8px;font-size:14px;font-weight:600;text-align:center;width:100%;background:transparent;color:var(--gray-900);transition:var(--transition)}.sg-cell input:focus{border-color:var(--primary-light);background:var(--gray-100);box-shadow:var(--focus-ring);outline:none}.sg-cell .size-input{color:var(--gray-900)}.sg-cell .ratio-input{color:var(--danger);font-weight:700;-moz-appearance:textfield}.sg-cell .ratio-input::-webkit-inner-spin-button,.sg-cell .ratio-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ratio-controls{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s;gap:2px;z-index:2}.sg-col:hover .ratio-controls,.sg-col:focus-within .ratio-controls,.ratio-controls.visible{opacity:1;pointer-events:auto}.ratio-controls button{background:var(--gray-200);border:2px solid var(--gray-300);cursor:pointer;font-size:14px;color:var(--gray-700);padding:4px 6px;line-height:1;transition:var(--transition);border-radius:6px;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.ratio-controls button:hover{color:var(--primary);background:var(--gray-100);border-color:var(--primary);box-shadow:0 2px 8px #00000026}.ratio-controls button:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}@media (hover: none){.sg-cell.ratio-cell{flex-direction:column;padding:4px 2px;gap:4px;justify-content:center}.sg-cell.ratio-cell .ratio-input{order:-1;width:100%;font-size:18px;padding:0 4px}.ratio-controls{position:static;opacity:1;pointer-events:auto;flex-direction:row;transform:none;gap:4px;width:100%;justify-content:center}.ratio-controls button{min-width:32px;min-height:32px;padding:6px 8px;flex:1;max-width:44px}}.scroll-indicator{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--gray-100);border-top:1px solid var(--gray-200);-webkit-user-select:none;user-select:none}.scroll-track{flex:1;height:6px;background:var(--gray-300);border-radius:10px;position:relative;overflow:hidden;cursor:pointer}.scroll-thumb{height:100%;width:20%;background:var(--primary);border-radius:10px;position:absolute;left:0;top:0;cursor:grab;transition:width .2s}.scroll-thumb:active{cursor:grabbing}.scroll-thumb:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px}.scroll-btn{width:36px;height:36px;border:none;border-radius:50%;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;font-size:16px}.scroll-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.scroll-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.scroll-btn:focus-visible{outline:3px solid var(--accent-light);outline-offset:3px}.btn-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.size-preset-wrap{position:relative}.btn.active-preset{background:var(--primary);color:#fff;border-color:var(--primary)}.size-preset-panel{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:2px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;min-width:320px;max-width:400px;max-height:400px;overflow-y:auto}.size-preset-group-header{position:sticky;top:0;background:var(--gray-700);color:#fff;font-family:Quicksand,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:7px 16px;z-index:1}.size-preset-option{display:flex;flex-direction:column;gap:8px;padding:12px 16px;width:100%;background:transparent;border:none;border-bottom:1px solid var(--gray-200);cursor:pointer;text-align:left;transition:var(--transition);font-family:Quicksand,sans-serif}.size-preset-option:last-child{border-bottom:none}.size-preset-option:hover{background:#fff8ed}.size-preset-name{font-size:13px;font-weight:700;color:var(--gray-900)}.size-preset-chips{display:flex;flex-wrap:wrap;gap:4px}.size-chip{background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;font-family:Quicksand,sans-serif;letter-spacing:.2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:14px;font-weight:600;font-size:15px;cursor:pointer;transition:var(--transition);color:#fff;background:var(--gray-500);flex:0 1 auto;min-height:48px;text-decoration:none;box-shadow:0 2px 6px #00000026;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:Quicksand,sans-serif}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid var(--accent-light);outline-offset:3px;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:8px 16px;font-size:13px;min-height:38px;border-radius:10px}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-dark) 100%)}.btn-accent{background:var(--accent)}.btn-accent:hover{background:#388e3c}.btn-success{background:var(--success)}.btn-success:hover{background:var(--success-dark)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b71c1c}.btn-outline{background:transparent;color:var(--gray-700);border:2px solid var(--gray-300);box-shadow:none}.btn-outline:hover{background:var(--gray-100);border-color:var(--gray-500);transform:none;box-shadow:none}.btn-outline-danger{background:transparent;color:var(--danger);border:2px solid var(--danger)}.btn-outline-danger:hover{background:var(--danger);color:#fff}.btn-block{flex:1;min-width:120px}.btn i{font-size:16px}.generate-row{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px;border-top:2px solid var(--gray-200);margin-top:4px}.generate-row .btn{flex:1;min-width:140px}.form-type-group{display:flex;border:2px solid var(--gray-200);border-radius:12px;overflow:hidden;flex:0 1 auto}.form-type-btn{flex:1;border:none;background:transparent;color:var(--gray-500);font-family:Quicksand,sans-serif;font-size:13px;font-weight:600;padding:10px 16px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;white-space:nowrap}.form-type-btn+.form-type-btn{border-left:2px solid var(--gray-200)}.form-type-btn:hover:not(.active){background:var(--gray-100);color:var(--primary-dark)}.form-type-btn.active{background:var(--primary);color:#fff}.form-type-btn:focus-visible{outline:3px solid var(--primary-light);outline-offset:-3px}.fill-sizes-cell{position:relative}.fill-sizes-trigger{width:100%;height:100%;padding:10px 12px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:Quicksand,sans-serif;font-size:14px;font-weight:600;color:var(--gray-900)}.fill-sizes-trigger:hover{background:#fff8ed}.fill-sizes-trigger.active{box-shadow:inset 0 0 0 2px var(--primary);background:#fff8ed}.fill-sizes-panel{background:var(--card);border:2px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);z-index:9000;max-height:360px;overflow-y:auto}.fill-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gray-500);padding:6px 12px 4px;background:var(--gray-100);position:sticky;top:0;z-index:1}.fill-shirt-header{background:var(--primary-dark);color:#fff;border-top:2px solid var(--gray-200)}.fill-option{display:block;width:100%;padding:9px 12px;background:transparent;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;text-align:left;font-family:Quicksand,sans-serif;font-size:13px;font-weight:600;color:var(--gray-900);transition:var(--transition)}.fill-option:last-of-type{border-bottom:none}.fill-option:hover{background:#fff8ed;color:var(--primary-dark)}.shirt-builder{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.shirt-builder select{width:100%;padding:7px 10px;border:1.5px solid var(--gray-200);border-radius:8px;font-family:Quicksand,sans-serif;font-size:13px;font-weight:600;color:var(--gray-900);background:var(--gray-100)}.shirt-builder select:focus{outline:none;border-color:var(--primary)}.shirt-builder-hint{font-size:11px;color:var(--gray-500);padding:2px 12px 10px;font-style:italic}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141499;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.result-overlay.active{display:flex}.result-card{background:var(--card);border-radius:var(--radius);max-width:920px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;border:1px solid var(--gray-200)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.result-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:2px solid var(--primary-dark);flex-shrink:0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius) var(--radius) 0 0}.result-header h2{font-size:20px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;white-space:nowrap}.result-header h2 i{color:#ffffffe6}.result-header .close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#fffc;transition:var(--transition);padding:0 8px;line-height:1;border-radius:8px}.result-header .close-btn:hover{color:#fff;transform:rotate(90deg)}.result-header .close-btn:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.result-body{flex:1;overflow-y:auto;overflow-x:auto;padding:20px 24px;-webkit-overflow-scrolling:touch}.result-body::-webkit-scrollbar{width:6px}.result-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}.result-footer{padding:16px 24px;border-top:2px solid var(--gray-200);display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;background:var(--gray-100);border-radius:0 0 var(--radius) var(--radius)}.result-footer .btn{flex:1;min-width:120px}.result-table{width:100%;min-width:500px;border-collapse:collapse;font-size:14px;table-layout:fixed}.result-table td{border:1px solid var(--gray-300);padding:8px 12px;text-align:center;vertical-align:middle;color:var(--gray-700);overflow:hidden;word-break:break-word;white-space:normal}text-align: center; vertical-align: middle; color: var(--gray-700); } .result-table .label-cell{background:var(--gray-100);font-weight:600;color:var(--gray-900);text-align:left;white-space:nowrap}.result-table .header-row td{background:var(--gray-700);color:#fff;font-weight:600;font-size:15px;border-color:var(--gray-900)}.result-table .header-row .label-cell{background:var(--gray-900)}.result-table .fabric-header td{background:var(--gray-100);color:var(--accent);font-weight:700;border-bottom:2px solid var(--accent)}.result-table .fabric-header .label-cell{background:var(--gray-100);color:var(--gray-900)}.result-table .total-row td{background:var(--gray-100);font-weight:700;font-size:14px;color:var(--gray-900)}.result-table .grand-total td{background:var(--success);color:#fff;font-weight:700;font-size:16px;border-color:var(--success-dark)}.result-table .size-label{font-weight:600;color:var(--gray-900);text-align:left}.result-table .ratio-val{color:var(--danger);font-weight:700}.result-table .size-val{font-weight:500;color:var(--gray-700)}.result-table .style-subtotal td{background:#e8f5e9;color:#2e7d32;font-weight:700;font-size:14px}.result-table .style-section-divider td{height:14px;background:var(--gray-100);border:none}.style-library{display:flex;flex-wrap:wrap;gap:8px}.style-lib-card{display:flex;align-items:stretch;border:2px solid var(--gray-200);border-radius:10px;overflow:hidden;background:var(--card);transition:var(--transition)}.style-lib-card:hover{border-color:var(--accent)}.style-lib-label{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:Quicksand,sans-serif}.style-lib-label strong{font-size:13px;font-weight:700;color:var(--gray-900)}.style-lib-label span{font-size:11px;color:var(--gray-500);font-weight:500}.style-lib-label:hover strong{color:var(--accent)}.style-lib-delete{background:transparent;border:none;border-left:1px solid var(--gray-200);color:var(--gray-500);padding:0 10px;cursor:pointer;font-size:12px;transition:var(--transition);display:flex;align-items:center}.style-lib-delete:hover{background:var(--danger);color:#fff}.result-table .fabric-divider td{border:none;height:6px;background:transparent}.result-table .brand-row td{text-align:center;font-size:14px;font-weight:700;color:var(--gray-500);padding:12px 8px;border:none;background:transparent}.result-table .brand-row td a{color:var(--success);text-decoration:underline}.result-table .yield-col-header td{background:var(--gray-200);color:var(--gray-900);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.4px;border-color:var(--gray-300)}.result-table .yield-data-row .yield-input-cell{background:#fafafa;min-height:34px;height:34px}.result-table .yield-notes-row td{height:40px;min-height:40px}.logo-upload-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logo-display{display:none;align-items:center;gap:10px}.logo-display.active{display:flex}.logo-display img{max-height:40px;max-width:140px;object-fit:contain;background:#fff;border:1px solid var(--gray-200);border-radius:6px;padding:3px 6px}.logo-remove-btn{background:var(--gray-200);border:none;color:var(--gray-700);width:26px;height:26px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;transition:var(--transition)}.logo-remove-btn:hover{background:var(--danger);color:#fff}.logo-upload-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gray-100);border:2px dashed var(--gray-300);color:var(--gray-700);padding:11px 16px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.logo-upload-btn:hover{background:var(--gray-200);border-color:var(--primary);color:var(--primary-dark)}.logo-upload-btn:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.result-logo-wrap{display:none;justify-content:center;margin-bottom:14px}.result-logo-wrap.active{display:flex}.result-logo-wrap img{max-height:60px;max-width:220px;object-fit:contain}.result-company-name{display:none;text-align:center;font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:10px}.result-company-name.active{display:block}.result-doc-title{text-align:center;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--primary-dark);margin-bottom:14px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141414b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;flex-direction:column;align-items:center;justify-content:center;z-index:99999;gap:20px;color:#fff;font-weight:500;font-size:18px}.loading-overlay.active{display:flex}.loading-overlay .spinner{width:52px;height:52px;border:5px solid rgba(255,255,255,.15);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141480;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:99998;padding:20px}.alert-overlay.active{display:flex}.alert-box{background:var(--card);border-radius:var(--radius);padding:28px 32px;max-width:440px;width:100%;box-shadow:0 20px 60px #00000040;animation:slideUp .25s ease;border:1px solid var(--gray-200)}.alert-box h4{font-size:18px;font-weight:700;margin-bottom:10px;color:var(--gray-900);display:flex;align-items:center;gap:10px}.alert-box h4 i{color:var(--primary-dark)}.alert-box p{font-size:15px;color:var(--gray-700);line-height:1.6;white-space:pre-line;margin-bottom:20px}.alert-box .btn{width:100%}@media (max-width: 768px){#root{padding:0;align-items:stretch;width:100%;max-width:100%;overflow-x:hidden}.app{width:100%;max-width:100%;min-height:100svh;min-height:100vh;border-radius:0;border:none;box-shadow:none}.header{padding:14px 16px}.header h1{font-size:17px}.body{padding:14px 14px 16px}.field select,.field input,.order-cell-input select,.order-cell-input input{font-size:16px}.btn{min-height:44px;font-size:14px;padding:10px 18px}.btn-sm{min-height:44px;font-size:13px;padding:10px 14px}.unit-toggle-btn,.fill-sizes-trigger{min-height:44px}.btn-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fill-sizes-cell{grid-column:span 1;display:flex}.fill-sizes-cell .btn{width:100%}.generate-row{flex-direction:column;gap:10px}.generate-row .btn,.generate-row .form-type-group{width:100%;flex:none}.form-type-group{display:flex}.form-type-btn{flex:1;justify-content:center}.result-overlay.active{padding:0;align-items:stretch}.result-card{width:100%;max-width:100%;max-height:100svh;max-height:100vh;border-radius:0}.header-branding-mobile{display:flex}.order-branding-row{display:none!important}.result-footer{flex-direction:column;gap:8px}.result-footer .btn{width:100%;min-width:0}.result-body{padding:14px}.result-table{font-size:12px}.result-table td{padding:5px 7px}.result-header{padding:14px 16px}.result-header h2{font-size:16px}.size-grid-body .sg-col{flex:0 0 90px;min-width:90px}.sg-cell{min-height:64px}.sg-cell input{font-size:16px}.ratio-controls button{min-width:34px;min-height:34px}.sg-row-labels{display:none}.fabric-badge{font-size:13px;padding:4px 14px}.scroll-btn{width:36px;height:36px}.logo-upload-btn{font-size:13px}.fill-sizes-panel{font-size:14px}.fill-option{padding:11px 14px;font-size:14px}.alert-box{padding:24px 20px;margin:8px}.alert-overlay{padding:8px}}@media (max-width: 480px){.header h1{font-size:15px}.header h1 i{display:none}.fabric-badge{font-size:12px;padding:4px 12px}.body{padding:10px 10px 16px}.btn{font-size:13px;padding:9px 12px;gap:5px}.btn i{font-size:13px}.sg-cell{min-height:76px}.sg-cell input{font-size:16px;padding:4px}.size-grid-body .sg-col{flex:0 0 80px;min-width:80px}.sg-row-label{font-size:11px}.scroll-indicator{padding:6px 10px;gap:8px}.scroll-btn{width:32px;height:32px;font-size:13px}.ratio-controls button{min-width:38px;min-height:38px;padding:7px 9px;font-size:13px}.order-cell-label{font-size:11px;padding:8px}.order-cell-input select,.order-cell-input input{padding:10px;font-size:16px}.section-title{font-size:12px}.section{margin-bottom:16px}.result-table{font-size:11px}.result-table td{padding:4px 5px}.result-header h2{font-size:14px}.alert-box h4{font-size:16px}.alert-box p{font-size:14px}.logo-upload-btn span{display:none}.logo-upload-btn{padding:10px 14px}}@media (orientation: landscape) and (max-height: 560px){.app{height:100svh;height:100vh}.body{overflow-y:auto;-webkit-overflow-scrolling:touch}.header{padding:8px 16px}.header h1{font-size:14px}.fabric-badge{font-size:11px;padding:3px 10px}.result-overlay.active{align-items:stretch;padding:0}.result-card{max-height:100svh;max-height:100vh;height:100svh;height:100vh;border-radius:0;display:flex;flex-direction:column}.result-header{padding:8px 16px;flex-shrink:0}.result-header h2{font-size:14px}.result-body{flex:1;overflow-y:auto;overflow-x:auto;padding:8px 12px;-webkit-overflow-scrolling:touch}.result-footer{flex-direction:row;flex-wrap:nowrap;padding:8px 12px;gap:8px;flex-shrink:0}.result-footer .btn{flex:1;min-width:0;font-size:13px;padding:8px 10px;min-height:40px}.result-table{font-size:11px}.result-table td{padding:4px 6px}.result-doc-title{font-size:14px;margin-bottom:8px}.result-company-name{font-size:16px;margin-bottom:6px}.result-logo-wrap img{max-height:40px}}@media print{body{padding:0;background:var(--bg);display:block}.app{max-height:none;box-shadow:none;border-radius:0;max-width:100%;border:none}.header{background:var(--primary)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:14px 20px}.header h1{color:#fff!important}.header h1 small{color:#ffffffbf!important}.body{overflow:visible;padding:16px 20px}.no-print{display:none!important}.size-grid-wrap{border:1px solid var(--gray-300);break-inside:avoid}.size-grid-header{background:var(--gray-100)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.size-grid-header .sg-cell,.size-grid-body .sg-col{border-right:1px solid var(--gray-200)}.sg-cell.size-cell{background:var(--gray-100)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.scroll-indicator,.btn-group,.generate-row,.result-overlay,.alert-overlay,.loading-overlay{display:none!important}.result-table{font-size:12px}.result-table td{padding:5px 8px}.result-table .header-row td{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-table .header-row .label-cell{background:#171717!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-doc-title{color:var(--primary-dark)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-table .fabric-header td{background:var(--gray-100)!important;color:var(--accent)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-table .grand-total td{background:var(--success)!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-table .total-row td{background:var(--gray-100)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:var(--gray-900)!important}.result-table .brand-row td{color:var(--gray-500)!important;background:transparent!important}.result-table .brand-row td a{color:#1e88e5!important;text-decoration:underline!important}.result-table .yield-col-header td{background:#e0e0e0!important;color:#171717!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.result-table .yield-data-row .yield-input-cell{background:#fafafa!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.fabric-divider td{height:4px!important}.section{break-inside:avoid}.result-body{overflow:visible;padding:10px 16px}.result-footer,.result-header .close-btn{display:none!important}.result-card{max-height:none;box-shadow:none;border-radius:0;border:none;animation:none!important;max-width:100%}.result-overlay.active{display:block!important;position:static!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important}.logo-upload-wrap{display:none!important}}
