:root{--container-max-width:420px;--container-padding:24px;--border-radius:24px;--font-size-base:16px;--font-size-large:1.2rem;--font-size-small:.9rem;--spacing-unit:8px;--logo-size:220px;--color-primary:#2563eb;--color-primary-dark:#174ea6;--color-neutral:#f3f4f6;--color-neutral-strong:#e0e7ef;--color-success:#10b981;--color-success-dark:#059669;--color-danger:#ef4444;--color-danger-dark:#dc2626;--shadow-1:0 2px 12px 0 #00000014;--shadow-2:0 4px 16px 0 #0000001f}*{box-sizing:border-box}body{color:#222;min-height:100vh;font-family:SF Pro Display,Segoe UI,Roboto,Arial,sans-serif;font-size:var(--font-size-base);background:#f8f8fa;justify-content:center;align-items:center;margin:0;padding:0;line-height:1.5;display:flex}.welcome-container{border-radius:var(--border-radius);width:100vw;min-height:100dvh;padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 2);box-sizing:border-box;background:#fff;flex-direction:column;justify-content:space-between;align-items:center;padding-bottom:70px;transition:box-shadow .3s;display:flex;position:relative;box-shadow:0 4px 32px #0000000a}.home-main-content{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:400px;display:flex}.home-buttons{flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:10px;display:flex}.home-footer-buttons{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:100%;padding-top:20px;display:flex}.logo{width:var(--logo-size);max-width:80vw;height:auto;margin-bottom:calc(var(--spacing-unit) * 4);filter:drop-shadow(0 2px 8px #0000000f)}.tagline{margin-bottom:calc(var(--spacing-unit) * 5);color:#444;letter-spacing:.02em;text-align:center;font-size:1.4rem;font-weight:400}.primary-btn{background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;font-size:var(--font-size-large);padding:calc(var(--spacing-unit) * 2.25) calc(var(--spacing-unit) * 6);box-shadow:var(--shadow-1);cursor:pointer;border:none;border-radius:32px;outline:none;justify-content:center;align-items:center;min-height:48px;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;display:flex}#ocr-capture-btn.primary-btn{background:linear-gradient(90deg, var(--color-success) 0%, var(--color-success-dark) 100%);color:#fff;box-shadow:0 2px 12px #10b9814d}#ocr-capture-btn.primary-btn:hover,#ocr-capture-btn.primary-btn:focus{background:linear-gradient(90deg, var(--color-success-dark) 0%, #047857 100%);transform:translateY(-2px)scale(1.03);box-shadow:0 4px 16px #10b98166}.primary-btn:hover,.primary-btn:focus{background:linear-gradient(90deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);box-shadow:var(--shadow-2);transform:translateY(-2px)scale(1.03)}.primary-btn.btn-invalid{opacity:.6;cursor:pointer}.room-selection-container{max-width:var(--container-max-width);width:100%;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * .5) 0 calc(var(--spacing-unit) * .5);box-sizing:border-box;background:#fff;border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 2px 16px #00000008}.room-selection-container h2{margin:calc(var(--spacing-unit) * 1.25) 0 calc(var(--spacing-unit) * .25) 0;text-align:center;width:100%;font-size:1.4rem;font-weight:600}.room-selection-container .subtitle{color:#888;margin-bottom:var(--spacing-unit);text-align:center;width:100%;margin-top:0;font-size:1rem}.room-grid{gap:calc(var(--spacing-unit) * 1.25);width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.room-btn{padding:calc(var(--spacing-unit) * 1.5) 0 calc(var(--spacing-unit) * 1) 0;color:#222;cursor:pointer;aspect-ratio:1;background:#f8f8fa;border:none;border-radius:12px;outline:none;flex-direction:column;justify-content:center;align-items:center;min-height:70px;font-size:.98rem;font-weight:500;transition:background .2s,box-shadow .2s,transform .1s;display:flex;position:relative;box-shadow:0 1px 4px #00000008}.room-btn .room-icon{margin-bottom:calc(var(--spacing-unit) * .5);font-size:1.4rem}.add-room-btn{color:#444;padding:calc(var(--spacing-unit) * 2) 0;width:100%;margin-top:var(--spacing-unit);cursor:pointer;background:#f0f0f3;border:none;border-radius:18px;min-height:48px;font-size:1.1rem;font-weight:500;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #0000000a}.add-room-btn:hover,.add-room-btn:focus{background:#eaeaea;transform:translateY(-1px)scale(1.01)}.back-btn{top:calc(var(--spacing-unit) * 2.25);left:calc(var(--spacing-unit) * 2.25);z-index:10;position:absolute}.back-btn:active,.back-btn:focus,.back-btn:hover{color:#174ea6;background:#e0e7ef}.scanner-container{max-width:var(--container-max-width);width:100%;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 1) 0 calc(var(--spacing-unit) * 1);border-radius:var(--border-radius);box-sizing:border-box;background:#fff;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 4px 32px #0000000a}.scanner-container .back-btn{top:calc(var(--spacing-unit) * 2.25);left:calc(var(--spacing-unit) * 2.25);z-index:10;position:absolute}.scanner-header{width:100%;margin-bottom:var(--spacing-unit);justify-content:flex-start;align-items:center;display:flex}.room-badge{color:#2563eb;padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 2);margin-left:calc(var(--spacing-unit) * 1.5);font-weight:600;font-size:var(--font-size-small);background:#e0e7ef;border-radius:12px}.camera-preview{aspect-ratio:4/3;width:100%;max-width:340px;margin-bottom:calc(var(--spacing-unit) * 2.25);backface-visibility:hidden;perspective:1000px;background:#222;border-radius:18px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 2px 12px #0000001a}#scanner-video{object-fit:contain;backface-visibility:hidden;border-radius:18px;width:100%;height:100%;transform:translateZ(0)}#scanner-viewport{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}#scanner-viewport canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}#scanner-overlay{pointer-events:none;position:absolute;inset:0}.scan-area{box-sizing:border-box;z-index:2;border:2px solid #2563eb;border-radius:12px;position:absolute;inset:20% 10%}.scan-line{z-index:3;background:linear-gradient(90deg,#2563eb 0%,#e0e7ef 100%);border-radius:1px;height:2px;animation:1.2s infinite alternate scan-move;position:absolute;top:40%;left:12%;right:12%}@keyframes scan-move{0%{top:30%}to{top:60%}}.text-capture-area{box-sizing:border-box;z-index:2;background:#10b9810d;border:3px dashed #10b981;border-radius:16px;display:none;position:absolute;inset:15% 8%}.text-capture-area:before{content:"";border-top:3px solid #10b981;border-left:3px solid #10b981;border-top-left-radius:16px;width:30px;height:30px;position:absolute;top:-3px;left:-3px}.text-capture-area:after{content:"";border-bottom:3px solid #10b981;border-right:3px solid #10b981;border-bottom-right-radius:16px;width:30px;height:30px;position:absolute;bottom:-3px;right:-3px}.text-capture-corners{z-index:3;pointer-events:none;display:none;position:absolute;inset:15% 8%}.text-capture-corners:before{content:"";border-top:3px solid #10b981;border-right:3px solid #10b981;border-top-right-radius:16px;width:30px;height:30px;position:absolute;top:-3px;right:-3px}.text-capture-corners:after{content:"";border-bottom:3px solid #10b981;border-left:3px solid #10b981;border-bottom-left-radius:16px;width:30px;height:30px;position:absolute;bottom:-3px;left:-3px}.text-capture-instruction{color:#fff;z-index:4;white-space:nowrap;background:#10b981e6;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;display:none;position:absolute;top:10%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}.manual-entry{width:100%;margin:calc(var(--spacing-unit) * 2.25) 0 var(--spacing-unit) 0;flex-direction:column;align-items:flex-start;display:flex}.manual-entry label{color:#666;margin-bottom:calc(var(--spacing-unit) * .5);font-size:.98rem}#manual-barcode{width:100%;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);margin-bottom:var(--spacing-unit);box-sizing:border-box;border:1px solid #e0e0e0;border-radius:10px;font-size:1.1rem}#manual-search-btn{color:#1a7f4e;padding:var(--spacing-unit) calc(var(--spacing-unit) * 2.25);cursor:pointer;background:#e6f7ec;border:none;border-radius:10px;align-self:flex-end;min-height:40px;font-size:1rem;font-weight:600;transition:background .2s}#manual-search-btn:hover,#manual-search-btn:focus{background:#d2f4e3}.scanner-actions{width:100%;margin-top:calc(var(--spacing-unit) * 1.5);justify-content:flex-end;display:flex}#scanner-feedback{width:100%;min-height:calc(var(--spacing-unit) * 3);color:#1a7f4e;text-align:center;margin-top:var(--spacing-unit);font-size:1.1rem}.product-details-container{box-sizing:border-box;max-width:var(--container-max-width);border-radius:var(--border-radius);flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;min-height:100vh;margin:0 auto;display:flex;box-shadow:0 4px 32px #0000000a;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 2.5) 0 calc(var(--spacing-unit) * 2.5)!important;background:#fff!important}.product-image-wrap{border-radius:18px;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 8px;display:flex;box-shadow:none!important;background:0 0!important;margin:4px auto!important;padding:0!important}#product-image{object-fit:contain;background:#fff;border-radius:12px;width:100%;max-width:200px;height:auto;max-height:200px;margin:0 auto;display:block}#product-name{margin:var(--spacing-unit) 0 calc(var(--spacing-unit) * .5) 0;text-align:center;color:#222;width:100%;font-size:1.3rem;font-weight:600}.product-meta{color:#888;width:100%;margin-bottom:var(--spacing-unit);flex-direction:row;justify-content:space-between;gap:8px;font-size:1rem;display:flex}#product-code,#product-price-inline{color:#888;text-align:left;flex:1 1 0;font-size:1rem;font-weight:500}#product-price-inline{text-align:right;color:#1a7f4e;font-weight:600}.product-price{color:#1a7f4e;text-align:center;margin-bottom:8px;margin-bottom:var(--spacing-unit);font-size:1.08rem;font-weight:600}.product-description{color:#444;margin-bottom:calc(var(--spacing-unit) * 1.5);text-align:left;width:100%;font-size:1rem}.product-links{margin-bottom:calc(var(--spacing-unit) * 2);flex-flow:row;justify-content:space-between;gap:8px;width:100%;display:flex}.product-links a{text-align:center;color:#2563eb;width:auto;min-width:0;font-size:var(--font-size-small);box-shadow:none;background:#f8f8fa;border:none;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;margin:0;padding:10px 0;font-weight:500;text-decoration:none;transition:background .2s,transform .1s;display:flex}.product-links a:hover{background:#e0e7ef;text-decoration:none;transform:translateY(-1px)}.product-details-row{width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5);flex-direction:row;justify-content:space-between;align-items:flex-end;gap:4px;display:flex}.room-select-field{flex-direction:column;flex:1 1 0;align-items:flex-start;min-width:0;display:flex}.quantity-field{flex-direction:column;flex:0 0 64px;align-items:flex-end;width:64px;display:flex}.room-select-field label,.room-select-field select{text-align:left;align-self:flex-start;margin-left:0}.quantity-field label,.quantity-field select,.quantity-field input{text-align:right;align-self:flex-end}#product-quantity{text-align:center;-moz-appearance:textfield}#product-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#product-quantity::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.variant-select-row label{font-size:var(--font-size-small);color:#666;margin-bottom:calc(var(--spacing-unit) * .5)}#room-select,#product-quantity{width:100%;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1.5);background:#fff;border:1px solid #e0e0e0;border-radius:10px;min-height:44px;font-size:1rem}#room-select:focus,#product-quantity:focus{border-color:#2563eb;outline:none}.annotation-field{width:100%;margin-bottom:calc(var(--spacing-unit) * 2)}.annotation-label-row{margin-bottom:calc(var(--spacing-unit) * .5);justify-content:space-between;align-items:center;display:flex}.annotation-char-count{font-size:var(--font-size-small);color:#888}#add-to-room-btn{color:#222;cursor:pointer;width:auto;margin-top:calc(var(--spacing-unit) * 1.5);background:linear-gradient(90deg,#e0e7ef 0%,#f3f4f6 100%);border:none;border-radius:32px;outline:none;min-height:48px;padding:18px 48px;font-size:1.2rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 12px #00000014}#add-to-room-btn:hover,#add-to-room-btn:focus{background:linear-gradient(90deg,#f3f4f6 0%,#e0e7ef 100%);transform:translateY(-2px)scale(1.03);box-shadow:0 4px 16px #0000001f}.product-search{width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5);position:relative}.product-search label{font-size:var(--font-size-small);color:#666;margin-bottom:calc(var(--spacing-unit) * .5);display:block}#product-search-input{width:100%;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);background:#fff;border:1px solid #e0e0e0;border-radius:10px;min-height:44px;font-size:1rem}.search-dropdown{z-index:1000;max-height:300px;margin-top:calc(var(--spacing-unit) * .5);background:#fff;border:1px solid #e0e0e0;border-radius:10px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001a}.search-dropdown.visible{display:block}.search-dropdown li{padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);cursor:pointer;border-bottom:1px solid #f0f0f0;font-size:1rem;transition:background .2s}.search-dropdown li:last-child{border-bottom:none}.search-dropdown li:hover,.search-dropdown li.active{background:#f8f8fa}#product-annotation{width:100%;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);resize:vertical;background:#fff;border:1px solid #e0e0e0;border-radius:10px;min-height:80px;font-family:inherit;font-size:1rem}.top-bar{flex-direction:row;justify-content:center;align-items:center;width:100%;min-height:48px;margin-bottom:8px;display:flex;position:relative}.top-bar .back-btn{z-index:2;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:2.2rem;display:flex;position:absolute;top:0;left:0}.top-bar .page-logo{opacity:.85;width:auto;height:28px;margin:0 auto;display:block;position:relative;left:0;right:0}.review-container{box-sizing:border-box;background:#f5f5f5;border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:flex-start;max-width:420px;min-height:100vh;margin:0 auto;padding:0 4px;display:flex;position:relative;box-shadow:0 2px 16px #00000008}.review-container .top-bar{width:100%;padding-top:12px}.review-container h2{text-align:center;margin:8px 0 2px;font-size:1.4rem;font-weight:600}.review-container .subtitle{display:none}#review-list{width:100%;margin-bottom:12px}.review-room-group{margin-bottom:8px}.review-room-group+.review-room-group{border-top:1px solid #e0e0e0;margin-top:8px}.review-room-header{color:#2563eb;align-items:center;gap:6px;margin-top:8px;margin-bottom:2px;font-size:1.05rem;font-weight:600;display:flex}.review-room-items{flex-direction:column;gap:6px;min-height:24px;display:flex;position:relative}.review-room-items.is-empty{background:#f9fafb;border:1.5px dashed #d4d4d4;border-radius:14px;padding:18px 14px}.review-room-items.is-empty:after{content:"Hold and drag items here";text-align:center;color:#6b7280;width:100%;font-size:.92rem;display:block}.review-product-card{background:#fff;border-radius:16px;margin-bottom:4px;padding:0;transition:transform .12s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000012}.review-product-thumb-wrap{flex-direction:column;grid-area:1/1/-1;justify-content:flex-start;align-items:flex-start;min-width:80px;display:flex;position:relative}.review-product-thumb{object-fit:cover;background:#f8f8f8;border-radius:12px;width:96px;height:96px}.review-product-info{flex-direction:column;grid-column:2;align-items:flex-start;gap:0;display:flex}.review-product-title{color:#111827;margin-bottom:0;font-size:.94rem;font-weight:600;line-height:1.3}.review-product-meta{color:#374151;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:16px;width:100%;margin-top:2px;font-size:.85rem;display:grid}.review-product-code{white-space:normal;word-break:break-all;font-weight:500;line-height:1.3;overflow:visible}.review-product-qty{color:#111827;white-space:nowrap;justify-self:end;font-size:.88rem;font-weight:600}.review-product-price{color:#1f2937;white-space:nowrap;justify-self:end;font-size:.88rem;font-weight:600}.review-product-notes{color:#4b5563;word-break:break-word;grid-column:1/-1;margin-top:8px;padding-right:48px;font-size:.88rem;line-height:1.4}.review-edit-btn{color:#4b5563;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s,box-shadow .15s,background .15s,color .15s;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 6px #0f172a14}.review-edit-btn svg{fill:currentColor;width:18px;height:18px}.review-edit-btn:active{background:#e5e7eb;transform:scale(.97);box-shadow:0 1px 4px #0f172a1a}.review-card-ghost{opacity:.22}.review-card-chosen{box-shadow:0 6px 18px #0f172a29}.review-card-dragging{opacity:.9}.product-actions-row{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.product-actions-row .destructive-secondary{min-height:48px;color:var(--color-danger-dark);background:#fff;border-color:#fecaca;border-radius:14px;justify-content:center;align-items:center;padding:12px 18px;font-size:.92rem}.product-actions-row .destructive-secondary[style*="display: block"],.product-actions-row .destructive-secondary:not([style*="display: none"]){margin-right:auto;display:inline-flex}.product-actions-row .primary-btn{white-space:nowrap;flex:none;min-height:48px;padding:12px 34px}.destructive-secondary{color:var(--color-danger-dark);border:2px solid var(--color-danger);background:#fef2f2;font-weight:600;transition:all .2s}.destructive-secondary:hover,.destructive-secondary:focus{border-color:var(--color-danger-dark);color:#991b1b;background:#fee2e2;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.destructive-primary{background:var(--color-danger);color:#fff;border:2px solid var(--color-danger);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 24px;font-weight:600;transition:all .2s}.destructive-primary:hover,.destructive-primary:focus{background:var(--color-danger-dark);border-color:var(--color-danger-dark);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.delete-modal-content{flex-direction:column;gap:24px;max-width:360px;padding:32px 28px 24px;display:flex}.delete-modal-title{color:#111827;margin:0;font-size:1.2rem}.delete-modal-actions{justify-content:flex-end;gap:12px;display:flex}.review-actions{flex-direction:row;justify-content:space-between;align-items:stretch;gap:12px;width:100%;margin-top:48px;margin-bottom:18px;padding:0 8px;display:flex}.secondary-btn{color:var(--color-primary);border:2px solid var(--color-primary);cursor:pointer;background:#fff;border-radius:10px;min-height:44px;padding:10px 24px;font-size:1rem;font-weight:500;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 1px 4px #00000008}.secondary-btn:hover,.secondary-btn:focus{background:var(--color-neutral-strong);transform:translateY(-1px)}.empty-state{color:#888;text-align:center;margin-top:18px;font-size:1rem}.review-product-description-full{display:none}.review-qty-pill{box-shadow:none;background:0 0;border:1.5px solid #bbb;border-radius:999px;align-items:center;gap:2px;min-width:48px;min-height:24px;margin:4px 0 0;padding:0 6px;font-size:.98rem;font-weight:500;display:flex;position:absolute;bottom:-10px;left:0}.review-qty-btn{color:#111;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.4rem;font-weight:700;transition:background .15s;display:flex}.review-qty-btn:active{background:#ededed}.review-qty-btn.delete{color:#111;font-size:1.6rem}.review-qty-btn svg{width:20px;height:20px;display:block}.review-qty-value{text-align:center;min-width:16px;font-size:1rem;font-weight:500}.clear-selection-btn{color:#b91c1c;width:auto;min-width:120px;box-shadow:none;cursor:pointer;background:#fff0f0;border:none;border-radius:32px;padding:10px 20px;font-size:14pt;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s}.clear-selection-btn:hover,.clear-selection-btn:focus{color:#a00;background:#ffe5e5;transform:translateY(-2px)scale(1.03)}.seima-contact-btn{color:#fff;cursor:pointer;background:#a09484;border:none;border-radius:32px;min-width:120px;padding:10px 20px;font-size:14pt;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 12px #00000014}.seima-contact-btn:hover,.seima-contact-btn:focus{background:#8f8373;transform:translateY(-2px)scale(1.03);box-shadow:0 4px 16px #0000001f}.logo{width:var(--logo-size);max-width:80vw;height:auto;margin-bottom:calc(var(--spacing-unit) * 4);filter:drop-shadow(0 2px 8px #0000000f);opacity:.85;align-self:center;display:block}.scanner-container .page-logo,.room-selection-container .page-logo{width:auto;height:32px;margin:24px auto 12px}.modal{z-index:1000;background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#lead-wizard-modal.modal{justify-content:flex-start!important;align-items:stretch!important;padding:0!important}.modal-content{text-align:left;background:#fff;border-radius:16px;min-width:260px;max-width:90vw;padding:32px 24px 24px;box-shadow:0 8px 32px #0000002e}.modal-content.modal-medium{max-width:600px;max-height:80vh;overflow-y:auto}.modal-content.lead-wizard-content{width:100%!important;min-width:auto!important;max-width:100%!important;height:100%!important;box-shadow:none!important;border-radius:0!important;align-self:stretch!important;margin:0!important;padding:0!important}.modal-actions{justify-content:flex-end;gap:16px;margin-top:20px;display:flex}.add-room-modal-content{width:90vw;max-width:380px}.add-room-input{box-sizing:border-box;background:#f9f9f9;border:1.5px solid #ddd;border-radius:12px;width:100%;padding:14px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.add-room-input:focus{background:#fff;border-color:#a67c26;outline:none;box-shadow:0 0 0 3px #a67c261a}.add-room-input::placeholder{color:#aaa}.form-field{margin-bottom:8px;box-sizing:border-box!important;width:100%!important;padding-left:0!important;padding-right:0!important}.form-label{color:#333;margin-bottom:4px;font-size:.95rem;font-weight:700;display:block}.field-note{color:#666;font-size:.85rem;font-style:italic;font-weight:400}.form-input{border:1px solid #ddd;border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px;box-sizing:border-box!important;width:100%!important;max-width:100%!important}.form-options{flex-wrap:wrap;align-items:center;gap:16px;margin:8px 0 0;display:flex}.checkbox-label{cursor:pointer;align-items:center;display:flex}.checkbox-label input{margin-right:8px}.checkbox-label span{color:#222;font-size:1.05rem}.status-message{border-radius:4px;margin-bottom:15px;padding:10px}.file-drop-zone{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #ccc;border-radius:8px;margin:20px 0;padding:40px;transition:border-color .2s,background .2s}.file-drop-zone:hover{background:#f0f7ff;border-color:#2563eb}.file-info{background:#e8f5e8;border-radius:4px;margin:10px 0;padding:10px}.import-options{margin:20px 0}.import-option{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:12px;transition:background .2s;display:block}.import-option:hover{background:#f8f8fa}.import-option input{margin-right:8px}.warning-message{color:#c33;background:#fee;border:1px solid #fcc;border-radius:4px;margin:15px 0;padding:15px}.processing-step{text-align:center;padding:40px 20px}.pdf-spinner{z-index:9999;background:#ffffffb3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.spinner{border:6px solid #e0e0e0;border-top-color:#059669;border-radius:50%;width:54px;height:54px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.not-found-list{background:#fafafa;border:1px solid #ddd;border-radius:4px;max-height:200px;padding:10px;overflow-y:auto}.page-logo{opacity:.85;align-self:center;width:auto;height:28px;margin:0 auto;display:block}.product-details-container,.review-container,.scanner-container,.room-selection-container{justify-content:flex-start!important;align-items:flex-start!important}.row-actions-responsive{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0 0 8px;padding:0 8px;display:flex}.small-btn{letter-spacing:.01em;border-radius:10px;flex:1 1 0;min-width:0;min-height:44px;padding:10px 22px;font-size:1rem;font-weight:600;box-shadow:0 2px 8px #00000012}.left-btn{margin-right:0}.right-btn{margin-left:0}.secondary-btn.small-btn{color:#2563eb;background:#fff;border:2px solid #2563eb;transition:background .2s,color .2s}.secondary-btn.small-btn:hover,.secondary-btn.small-btn:focus{color:#fff;background:#2563eb}.primary-btn.small-btn{color:#fff;background:#2563eb;border:2px solid #2563eb;transition:background .2s,color .2s}.primary-btn.small-btn:hover,.primary-btn.small-btn:focus{color:#fff;background:#174ea6}.cancel-btn{color:#2563eb;min-width:70px;box-shadow:none;text-align:left;background:#fff;border:none;border-radius:8px;margin-right:auto;padding:8px 0;font-size:.98rem}.send-btn{color:#fff;text-align:center;background:#2563eb;border:none;border-radius:10px;min-width:120px;margin-left:auto;padding:10px 0;font-size:1.08rem;font-weight:600;box-shadow:0 2px 8px #00000012}@media (width>=1200px){:root{--container-max-width:600px;--container-padding:32px;--border-radius:32px;--font-size-base:18px;--font-size-large:1.3rem;--font-size-small:1rem;--spacing-unit:10px;--logo-size:280px}.welcome-container{max-width:800px;padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 4)}.room-selection-container,.scanner-container,.product-details-container,.review-container{max-width:var(--container-max-width)}.room-grid{gap:calc(var(--spacing-unit) * 2);grid-template-columns:repeat(4,1fr)}.camera-preview{aspect-ratio:16/9;max-width:500px}.product-image-wrap{width:200px;height:200px}#product-image{max-width:200px;max-height:200px}}@media (width>=768px) and (width<=1199px){:root{--container-max-width:500px;--container-padding:28px;--border-radius:28px;--font-size-base:17px;--font-size-large:1.25rem;--font-size-small:.95rem;--spacing-unit:9px;--logo-size:250px}.welcome-container{max-width:600px;padding:calc(var(--spacing-unit) * 5) calc(var(--spacing-unit) * 3)}.room-grid{gap:calc(var(--spacing-unit) * 1.5);grid-template-columns:repeat(3,1fr)}.camera-preview{max-width:400px}.product-image-wrap{width:180px;height:180px}#product-image{max-width:180px;max-height:180px}}@media (width>=481px) and (width<=767px){:root{--container-max-width:450px;--container-padding:24px;--border-radius:24px;--font-size-base:16px;--font-size-large:1.2rem;--font-size-small:.9rem;--spacing-unit:8px;--logo-size:220px}.welcome-container{max-width:500px;padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 2)}.room-grid{gap:calc(var(--spacing-unit) * 1.25);grid-template-columns:repeat(3,1fr)}.camera-preview{max-width:360px}.product-details-row{gap:calc(var(--spacing-unit) * 1.5);flex-direction:column}.room-select-field,.quantity-field{min-width:100%}}@media (width<=600px){html,body{background:#f4f6f9;justify-content:flex-start;align-items:flex-start;width:100vw;height:auto;min-height:100vh;margin:0;padding:0;scroll-padding-top:32px;overflow:hidden auto}.scanner-container{width:100vw;max-width:none;height:100vh;min-height:100vh;box-shadow:none;background:#f4f6f9;border-radius:0;flex-direction:column;align-items:center;padding:0 0 32px;display:flex}.scanner-header{box-sizing:border-box;background:#f4f6f9;width:100vw;padding:24px 18px 0}.camera-preview{background:#fff;border-radius:18px;justify-content:center;align-items:center;width:94vw;max-width:none;height:60vw;min-height:240px;max-height:60vh;margin:24px 0 18px;padding:0;display:flex;position:relative;box-shadow:0 4px 24px #0000001a}#scanner-viewport{object-fit:contain;background:#222;min-height:240px;max-height:60vh;display:block;backface-visibility:hidden!important;perspective:1000px!important;border-radius:18px!important;width:100%!important;height:100%!important;transform:translateZ(0)!important}#scanner-overlay{pointer-events:none;border-radius:18px}.product-search,.scanner-actions,#scanner-feedback{padding-left:18px;padding-right:18px}.product-search,.scanner-actions{margin-top:18px}#scanner-feedback{margin-top:12px}.product-details-container{width:100vw;max-width:none;height:100vh;min-height:100vh;box-shadow:none;background:#fff;border-radius:0;flex-direction:column;align-items:stretch;padding:0 0 24px;display:flex}.product-image-wrap{width:140px;height:140px;margin-bottom:6px}#product-image{max-width:140px;max-height:140px}.annotation-field,.room-select-field,.quantity-field,.product-links,.product-actions-row{width:92vw;max-width:420px;margin-left:auto;margin-right:auto}.room-selection-container{width:100vw;max-width:none;height:100vh;min-height:100vh;box-shadow:none;background:#fff;border-radius:0;flex-direction:column;align-items:center;padding:0 0 32px;display:flex}.room-grid,.add-room-btn{width:94vw;margin-left:auto;margin-right:auto}.room-selection-container h2,.room-selection-container .subtitle{text-align:center;padding-left:18px;padding-right:18px}.review-container{width:100vw;max-width:none;min-height:unset;height:auto;box-shadow:none;background:#f4f6f9;border-radius:0;flex-direction:column;align-items:center;margin-top:0;padding:0 8px 24px;display:flex;overflow:hidden visible}.review-actions{justify-content:space-between;gap:8px;width:100%;margin-top:24px;margin-bottom:12px;padding:0 8px;display:flex;flex-direction:row!important}.back-btn{width:auto;min-width:0;height:auto;min-height:0;margin-top:8px;margin-bottom:8px;padding:0 0 0 2px;font-size:1.2rem}.review-container h2{margin-top:12px}.row-actions-responsive{gap:8px;margin:0 0 6px;padding:0 8px;flex-direction:row!important}.small-btn{border-radius:10px;min-width:0;max-width:none;min-height:44px;padding:10px 16px;font-size:1rem;flex:1 1 0!important}.cancel-btn{min-width:54px;padding:7px 0;font-size:.95rem}.send-btn{min-width:90px;padding:8px 0;font-size:1rem}}@media (width<=480px){:root{--container-max-width:100vw;--container-padding:16px;--border-radius:0;--font-size-base:15px;--font-size-large:1.1rem;--font-size-small:.85rem;--spacing-unit:6px;--logo-size:180px}body{font-size:var(--font-size-base)}.welcome-container{max-width:100vw;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 2);border-radius:0;min-height:100dvh;padding-bottom:60px}.home-buttons{gap:14px}.home-footer-buttons{gap:8px;padding-top:16px}.room-selection-container,.scanner-container,.product-details-container,.review-container{max-width:100vw;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 1.5);border-radius:0}.room-grid{gap:calc(var(--spacing-unit) * 1.25);grid-template-columns:repeat(3,1fr)}.room-btn{min-height:80px;font-size:.9rem}.room-btn .room-icon{font-size:1.2rem}.camera-preview{aspect-ratio:4/3;border-radius:12px;max-width:100%}.product-image-wrap{width:140px;height:140px;margin-bottom:6px}#product-image{max-width:140px;max-height:140px}.product-details-row{gap:calc(var(--spacing-unit) * 1);flex-flow:row}.room-select-field,.quantity-field{max-width:50%}.product-links{gap:calc(var(--spacing-unit) * 1);flex-direction:row}.product-links a{width:auto;min-width:60px;font-size:var(--font-size-small)}.back-btn{top:calc(var(--spacing-unit) * 1.5);left:calc(var(--spacing-unit) * 1.5);width:40px;min-width:40px;height:40px;min-height:40px;font-size:1.8rem}.primary-btn,.secondary-btn{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);font-size:var(--font-size-large);min-height:44px}.scanner-actions,.review-actions{gap:calc(var(--spacing-unit) * 1);flex-direction:column}.review-card-content{grid-template-columns:72px 1fr;column-gap:10px;padding:10px}.review-product-thumb{width:72px;height:72px}.review-drag-handle{padding:5px 7px;top:5px;right:5px}.review-product-card .review-product-info{padding-right:28px}.review-product-info{text-align:left}}@media (width<=320px){:root{--spacing-unit:5px;--logo-size:150px}.welcome-container{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 1);padding-bottom:55px}.home-buttons{gap:12px}.home-footer-buttons{gap:6px;padding-top:12px}.room-selection-container,.scanner-container,.product-details-container,.review-container{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 1)}.room-grid{grid-template-columns:repeat(2,1fr)}.room-btn{min-height:60px;font-size:.85rem}.primary-btn,.secondary-btn{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);font-size:1rem}}@media (orientation:landscape) and (height<=600px){.welcome-container{min-height:100vh;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3)}.room-selection-container,.scanner-container,.product-details-container,.review-container{min-height:100vh;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2)}.logo,.tagline{margin-bottom:calc(var(--spacing-unit) * 2)}.camera-preview{aspect-ratio:16/9;max-height:40vh}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){.logo,#product-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scan-line{animation:none}}@media (prefers-contrast:high){:root{--border-radius:0}.primary-btn,.secondary-btn,.room-btn{border:2px solid #000}.product-links a{border:1px solid #000}}@media print{.back-btn,.scanner-actions,.review-actions,.product-search{display:none!important}.welcome-container,.room-selection-container,.scanner-container,.product-details-container,.review-container{box-shadow:none;border-radius:0;width:100%;max-width:none}}.modal-content.lead-wizard-content,.lead-wizard-content{flex-direction:column;overflow:hidden;width:100vw!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;border-radius:0!important;min-width:auto!important;padding:0!important;display:flex!important}@media (width<=768px){.modal-content.lead-wizard-content,.lead-wizard-content{border-radius:0!important;width:100vw!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:0!important}}.lead-wizard-header{background:#fff;border-bottom:1px solid #eee;flex-shrink:0;box-sizing:border-box!important;width:100%!important;padding:12px 4px 8px!important}.lead-wizard-header h3{color:#333;margin:0 0 16px;font-size:1.5rem;font-weight:600}.wizard-progress{margin-bottom:8px}@media (width<=768px){.wizard-progress{margin-bottom:6px}.progress-bar{height:3px;margin-top:8px}}.progress-steps{justify-content:space-between;margin-bottom:12px;display:flex}.progress-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.progress-step:not(:last-child):after{content:"";z-index:1;background:#ddd;height:2px;position:absolute;top:15px;left:60%;right:-40%}.progress-step.active:not(:last-child):after,.progress-step.completed:not(:last-child):after{background:#a67c26}.step-number{color:#666;z-index:2;background:#ddd;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex;position:relative}.progress-step.active .step-number{color:#fff;background:#a67c26}.progress-step.completed .step-number{color:#fff;background:#28a745}.step-label{color:#666;text-align:center;font-size:12px;font-weight:500}.progress-step.active .step-label{color:#a67c26;font-weight:600}.progress-bar{background:#eee;border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:#a67c26;height:100%;transition:width .3s}.lead-wizard-body{flex-direction:column;flex:1;justify-content:flex-start;max-height:calc(100dvh - 200px);display:flex;overflow-y:auto;box-sizing:border-box!important;width:100%!important;padding:12px 4px!important}.wizard-step-content h4{color:#333;margin:0 0 8px;font-size:1.3rem;font-weight:600}.step-description{color:#666;margin:0 0 16px;font-size:14px;line-height:1.4}.wizard-step-content h4,.wizard-step-content .step-description{display:none}.wizard-step-content{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:0!important}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-bottom:12px;display:grid}.checkbox-item-wrapper{flex-direction:column;display:flex}@media (width<=767px){.checkbox-grid{flex-direction:column;gap:8px;display:flex}}@media (width<=768px){.form-input{border-radius:8px;padding:14px 16px;font-size:16px}.form-label{margin-bottom:8px;font-size:1rem}.checkbox-label{padding:12px 0;font-size:1rem}.checkbox-label input[type=checkbox]{margin-right:12px;transform:scale(1.3)}}.checkbox-item{cursor:pointer;background:#fff;border:2px solid #eee;border-radius:8px;align-items:center;min-height:40px;padding:8px 12px;transition:all .2s;display:flex}.checkbox-item:hover{background:#fefefe;border-color:#a67c26}.checkbox-item input[type=checkbox]{margin:0 8px 0 0;transform:scale(1.1)}.checkbox-item input[type=checkbox]:checked+.checkbox-label{color:#a67c26;font-weight:600}.checkbox-item:has(input:checked){background:#fef9f0;border-color:#a67c26}.checkbox-label{color:#333;-webkit-user-select:none;user-select:none;padding:0;font-size:14px}.conditional-field{background:#f8f9fa;border-left:4px solid #a67c26;border-radius:8px;margin-top:8px;padding:10px 12px}.form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.form-help{color:#666;margin-top:4px;font-size:12px;font-style:italic;display:block}.lead-wizard-footer{background:#f8f9fa;border-top:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;min-height:80px;margin-top:auto;padding:16px 8px;display:flex}.wizard-footer-right{gap:12px;display:flex}.lead-wizard-footer .primary-btn,.lead-wizard-footer .secondary-btn{min-height:44px;padding:12px 24px;font-size:1rem}.wizard-error{animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.select-with-add{align-items:center;gap:8px;display:flex}.select-with-add select{flex:1}.add-btn{color:#a67c26;cursor:pointer;background:#fff;border:2px solid #a67c26;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;transition:all .2s;display:flex}.add-btn:hover{color:#fff;background:#a67c26;transform:scale(1.05)}.add-btn:active{transform:scale(.95)}.required-asterisk{color:#dc2626;font-weight:600}.required-note{color:#666;margin-bottom:12px;padding:0 4px;font-size:.85rem}.lead-form-single{flex-direction:column!important;height:100%!important;max-height:100dvh!important;display:flex!important;overflow:hidden!important}.staff-mode [data-staff-only]{display:block!important}.lead-form-single:not(.staff-mode) [data-staff-only]{display:none!important}.form-section{background:#fafafa;border:1px solid #eee;border-radius:8px;margin-bottom:16px;padding:12px}.form-section:last-of-type{margin-bottom:0}.form-section-options{background:0 0;border:none;padding:8px 12px}.section-title{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.9rem;font-weight:600}.form-row-2col{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}@media (width<=500px){.form-row-2col{grid-template-columns:1fr;gap:8px}}.lead-form-single .form-field{margin-bottom:8px}.lead-form-single .form-label{margin-bottom:4px;font-size:.85rem}.lead-form-single .form-input{min-height:42px;padding:10px 12px;font-size:16px}.lead-form-single textarea.form-input{resize:vertical;min-height:60px}.optional{color:#999;font-size:.85em;font-weight:400}.radio-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}@media (width<=500px){.radio-grid{grid-template-columns:repeat(2,1fr)}}.radio-item{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;align-items:center;padding:8px 10px;font-size:.85rem;transition:all .15s;display:flex}.radio-item:hover{background:#fffcf5;border-color:#a67c26}.radio-item:has(input:checked){background:#fef9f0;border-color:#a67c26}.radio-item input[type=radio]{accent-color:#a67c26;margin:0 8px 0 0;transform:scale(1.1)}.radio-item span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.checkbox-grid-compact{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}@media (width<=400px){.checkbox-grid-compact{grid-template-columns:1fr}}.checkbox-item-compact{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;align-items:center;padding:8px 10px;font-size:.85rem;transition:all .15s;display:flex}.checkbox-item-compact:hover{background:#fffcf5;border-color:#a67c26}.checkbox-item-compact:has(input:checked){background:#fef9f0;border-color:#a67c26}.checkbox-item-compact input[type=checkbox]{accent-color:#a67c26;margin:0 8px 0 0;transform:scale(1.1)}.checkbox-item-compact span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.conditional-fields{margin-top:10px}.options-row{flex-wrap:wrap;gap:20px;display:flex}.checkbox-label-inline{cursor:pointer;color:#444;align-items:center;font-size:.9rem;display:flex}.checkbox-label-inline input[type=checkbox]{accent-color:#a67c26;margin-right:8px;transform:scale(1.2)}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:12px;padding:10px 14px;font-size:.9rem}.lead-form-single .lead-wizard-footer{background:#f8f9fa;border-top:1px solid #eee;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex!important}.lead-form-single .lead-wizard-footer button{cursor:pointer;pointer-events:auto;z-index:100;min-height:44px;padding:10px 20px;font-size:.95rem;position:relative}.lead-form-single .lead-wizard-header{text-align:center;border-bottom:1px solid #eee;flex-shrink:0;padding:16px 16px 12px;position:static!important}.wizard-logo-container{justify-content:center;margin-bottom:8px;display:flex}.wizard-logo{width:auto;height:40px}.wizard-subtitle{color:#333;margin:0 0 4px;font-size:.95rem;font-weight:500}.lead-wizard-header .required-note{color:#666;margin:0;font-size:.8rem}.lead-wizard-scroll-area{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-x:hidden;overflow-y:auto!important}.lead-form-single .lead-wizard-body{padding:12px 16px;flex:none!important;max-height:none!important;overflow:visible!important}@media (width<=768px){.lead-form-single .lead-wizard-body{padding:8px 12px;max-height:none!important;overflow:visible!important}.form-section{margin-bottom:12px;padding:10px}.section-title{margin-bottom:10px;font-size:.85rem}.radio-item,.checkbox-item-compact{padding:10px 12px;font-size:.9rem}.radio-item input[type=radio],.checkbox-item-compact input[type=checkbox]{transform:scale(1.3)}.modal-content.lead-wizard-content,.lead-wizard-content{width:100vw!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:0!important}.lead-wizard-header{min-height:100px;width:100%!important;padding:12px 2px 8px!important}.lead-wizard-header h3{margin-bottom:12px;font-size:1.3rem}.lead-wizard-body{justify-content:space-between;max-height:calc(100dvh - 170px);width:100%!important;padding:10px 2px!important}.lead-wizard-footer{z-index:10;min-height:70px;padding:16px 6px;position:sticky;bottom:0}.form-field{margin-bottom:8px}.wizard-step-content{flex-direction:column;flex:1;justify-content:flex-start;min-height:0;display:flex}.form-options{border-top:1px solid #eee;margin-top:auto;padding-top:20px}.checkbox-grid{flex-direction:column;gap:6px;display:flex}.checkbox-item{min-height:48px;padding:12px 14px}.checkbox-item input[type=checkbox]{margin-right:12px;transform:scale(1.3)}.checkbox-item .checkbox-label{font-size:15px}.form-row{grid-template-columns:1fr}.progress-steps{justify-content:space-around;margin-bottom:8px}.progress-step{flex:0 auto;min-width:0}.step-number{width:28px;height:28px;margin-bottom:2px;font-size:12px}.step-label{word-wrap:break-word;max-width:80px;font-size:10px;line-height:1.2}.progress-step:not(:last-child):after{top:14px;left:50%;right:-50%}.add-btn{width:44px;height:44px;font-size:16px}@media (width<=480px){.progress-step .step-label{display:none}.progress-steps{justify-content:center;gap:20px}.step-number{width:32px;height:32px;font-size:14px}.step-description{margin-bottom:16px;font-size:.9rem}.wizard-step-content h4{font-size:1.2rem}}}.modal[id*=duplicate-] .modal-content{border:2px solid #ff9800;animation:.3s ease-out duplicateModalSlide}@keyframes duplicateModalSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-suggestions{font-family:inherit;font-size:14px}.suggestion-item{cursor:pointer;border-bottom:1px solid #eee;padding:8px 12px;transition:background-color .2s}.suggestion-item.exact-match{border-left:4px solid #4caf50;font-weight:700}.suggestion-item:hover{background-color:#f5f5f5!important}.add-modal-suggestions{z-index:1000;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:150px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 4px #0000001a}.similarity-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;align-items:flex-start;gap:10px;margin:10px 0;padding:12px;display:flex}.warning-icon{flex-shrink:0;font-size:20px}.warning-text{color:#856404;flex:1;font-size:14px}.warning-text strong{color:#533f03;margin-bottom:5px;display:block}.warning-text small{opacity:.8;margin-top:5px;font-style:italic;display:block}.similar-entry{background:#e9ecef;border-radius:3px;margin:0 2px;padding:2px 6px;font-family:monospace;font-size:13px}.selection-picker-fullpage{padding:0!important}.selection-picker-fullpage .selection-picker-content{border-radius:0;flex-direction:column;width:100%;max-width:100%;height:100vh;max-height:100vh;padding:0;display:flex;overflow:hidden}.selection-picker-header{background:#fff;border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.selection-picker-header h3{color:#333;margin:0;font-size:1.15rem}.modal-close-btn{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:28px;line-height:1;transition:color .2s}.modal-close-btn:hover{color:#333}.selection-picker-filters{background:#f8f9fa;border-bottom:1px solid #eee;flex-shrink:0;gap:12px;padding:12px 20px;display:flex}.selection-picker-search{flex:1;position:relative}.selection-picker-search .form-input{width:100%;padding-left:36px;font-size:.9rem}.selection-search-icon{opacity:.5;pointer-events:none;font-size:14px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.selection-picker-staff-filter{flex-shrink:0;min-width:140px}.selection-picker-staff-filter .form-input{font-size:.9rem}.selection-picker-info{color:#666;background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 20px;font-size:.8rem;display:flex}.selection-picker-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.selection-picker-loading{color:#666;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.selection-picker-loading p{margin:16px 0 0}.selection-picker-error{text-align:center;color:#dc2626;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.selection-picker-error p{margin:0 0 16px}.selection-picker-empty{text-align:center;color:#888;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.selection-picker-empty p{margin:0}.selection-picker-table-container{-webkit-overflow-scrolling:touch;flex:1;padding:0;overflow-y:auto}.selection-picker-table{border-collapse:collapse;width:100%;font-size:.9rem}.selection-picker-table thead{z-index:1;background:#fff;position:sticky;top:0}.selection-picker-table th{text-align:left;color:#555;white-space:nowrap;border-bottom:2px solid #e5e7eb;padding:10px 20px;font-size:.8rem;font-weight:600}.selection-picker-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:14px 20px}.selection-row{cursor:pointer;transition:background-color .15s}.selection-row:hover{background-color:#f0f4ff}.selection-row:active{background-color:#e0e8ff}.selection-picker-table .col-datetime{white-space:nowrap;color:#666;vertical-align:top;width:110px;padding-top:16px;font-size:.8rem}.selection-picker-table .col-customer-project{flex:1}.selection-picker-table .customer-name{color:#333;font-size:.95rem;font-weight:500}.selection-picker-table .project-name{color:#888;margin-top:3px;font-size:.8rem}.selection-picker-footer{background:#fff;border-top:1px solid #eee;flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:flex}.selection-picker-footer .secondary-btn{padding:8px 16px;font-size:14px}.selection-picker-footer .primary-btn{padding:8px 20px;font-size:14px}.selection-picker-footer .primary-btn:disabled{cursor:not-allowed;box-shadow:none;background:#d1d5db;transform:none}.selection-picker-table .col-checkbox{text-align:center;width:44px;padding-left:16px;padding-right:8px}.selection-picker-table .col-checkbox input[type=checkbox]{cursor:pointer;accent-color:#a09484;width:18px;height:18px}.selection-picker-table thead .col-checkbox input[type=checkbox]{margin:0}.selection-picker-table .selection-row.selected-for-deletion{background-color:#fef2f2}.selection-picker-table .selection-row.selected-for-deletion:hover{background-color:#fee2e2}.selection-picker-table .selection-row.selected-for-load{background-color:#dcfce7}.selection-picker-table .selection-row.selected-for-load:hover{background-color:#bbf7d0}.danger-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;display:inline-flex}.danger-btn:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.danger-btn:active{background:#991b1b;transform:translateY(0)}.danger-btn:disabled{cursor:not-allowed;box-shadow:none;background:#f87171;transform:none}.danger-btn-text{color:#dc2626;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #fecaca;border-radius:20px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.danger-btn-text:hover{color:#b91c1c;background:#fef2f2;border-color:#f87171}.danger-btn-text:active{background:#fee2e2}.restore-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;display:inline-flex}.restore-btn:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.restore-btn:active{background:#166534;transform:translateY(0)}.restore-btn:disabled{cursor:not-allowed;box-shadow:none;background:#86efac;transform:none}.show-deleted-toggle{color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:flex}.show-deleted-toggle input[type=checkbox]{cursor:pointer;accent-color:#a09484;width:16px;height:16px}.show-deleted-toggle span{white-space:nowrap}.selection-picker-content.showing-deleted .selection-picker-header{background:#fef2f2;border-bottom-color:#fecaca}.selection-picker-content.showing-deleted .selection-picker-header h3{color:#991b1b}.selection-picker-table .selection-row.deleted-item{opacity:.85}.selection-picker-table .selection-row.deleted-item .customer-name{color:#6b7280}.selection-picker-table .selection-row.deleted-item:hover{cursor:default;background-color:#f3f4f6}.selection-picker-table .selection-row.selected-for-restore{background-color:#dcfce7}.selection-picker-table .selection-row.selected-for-restore:hover{background-color:#bbf7d0}.selection-picker-info{justify-content:space-between;align-items:center;display:flex}.load-selection-btn{color:#fff;cursor:pointer;background:#a09484;border:none;border-radius:32px;margin-top:24px;padding:10px 20px;font-size:14pt;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;display:none;box-shadow:0 2px 12px #00000014}.load-selection-btn:hover{background:#8f8373;transform:translateY(-2px)scale(1.03);box-shadow:0 4px 16px #0000001f}.load-selection-btn:active{transform:translateY(0)}body.staff-mode .load-selection-btn{display:inline-flex}.settings-icon-btn{cursor:pointer;color:#6b7280;z-index:10;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 2px 8px #0000001a}.settings-icon-btn:hover{color:#374151;background:#fff;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.settings-icon-btn:active{transform:scale(.95)}.settings-icon-btn svg{width:22px;height:22px}.settings-lock-container{border-top:1px solid #f0f0f0;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.staff-mode-lock{cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:all .2s;display:flex}.staff-mode-lock:hover{opacity:.7;background:#f5f5f5}.staff-mode-lock.unlocked{opacity:.8;background:#f0fdf4}.staff-mode-lock.unlocked:hover{background:#dcfce7}.staff-code-input-container{align-items:center;gap:6px;display:flex}.staff-code-input{border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100px;padding:8px 12px;font-size:14px;transition:border-color .2s}.staff-code-input:focus{border-color:#a09484}.staff-code-submit{color:#fff;cursor:pointer;background:#a09484;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .2s;display:flex}.staff-code-submit:hover{background:#8f8373}@media (width<=480px){.selection-picker-filters{flex-direction:column;gap:8px;padding:10px 16px}.selection-picker-staff-filter{min-width:100%}.selection-picker-header{padding:14px 16px}.selection-picker-info{padding:6px 16px}.selection-picker-table th,.selection-picker-table td{padding:12px 16px}.selection-picker-table .col-checkbox{width:36px;padding-left:12px;padding-right:4px}.selection-picker-table .col-datetime{width:90px;font-size:.75rem}.selection-picker-table .customer-name{font-size:.9rem}.selection-picker-footer{gap:8px;padding:10px 12px}.selection-picker-footer .secondary-btn,.selection-picker-footer .danger-btn-text,.selection-picker-footer .primary-btn{padding:7px 12px;font-size:12px}}.review-drag-handle{cursor:grab;touch-action:none;z-index:5;background:#f5f5f5f2;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:3px;padding:8px 10px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #00000014}.review-drag-handle:hover{background:#ebebebfa;box-shadow:0 2px 6px #0000001f}.review-drag-handle:active{cursor:grabbing;background:#e1e1e1;transform:scale(.96)}.drag-dot{pointer-events:none;background:#999;border-radius:50%;width:4px;height:4px}.review-drag-handle:hover .drag-dot{background:#666}.review-card-content{cursor:pointer;grid-template-columns:96px 1fr;grid-auto-rows:auto;column-gap:14px;min-width:0;padding:14px;display:grid}.review-card-content:active{background:#fafafa}.review-product-card .review-product-thumb-wrap{grid-area:1/1/-1;position:relative}.review-product-card .review-product-info{grid-column:2;min-width:0;padding-right:36px}.review-product-card .review-product-notes{color:#a67c26;margin-top:6px;font-size:.82rem;line-height:1.35}.quick-view-content{border-radius:20px;width:92vw;max-width:420px;max-height:90vh;padding:0;position:relative;overflow-y:auto}.quick-view-close{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;display:flex;position:absolute;top:12px;right:12px}.quick-view-close:hover{background:#000000b3}.quick-view-image-section{background:#f8f8f8;border-radius:20px 20px 0 0;justify-content:center;align-items:center;width:100%;padding:24px;display:flex}.quick-view-product-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:220px}.quick-view-details{padding:20px 20px 16px}.quick-view-title{color:#222;margin:0 0 10px;font-size:1.15rem;font-weight:600;line-height:1.3}.quick-view-meta{color:#666;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.92rem;display:flex}.quick-view-code{color:#888}.quick-view-price{color:#a67c26;font-weight:600}.quick-view-selection-info{color:#555;background:#f5f5f5;border-radius:10px;gap:20px;margin-bottom:8px;padding:10px 12px;font-size:.9rem;display:flex}.quick-view-notes{color:#666;background:#fffbf0;border-left:3px solid #a67c26;border-radius:0 8px 8px 0;margin-top:8px;padding:10px 12px;font-size:.88rem}.quick-view-actions{border-bottom:1px solid #eee;flex-wrap:wrap;gap:10px;padding:0 20px 16px;display:flex}.quick-view-btn{cursor:pointer;color:#444;background:#fff;border:1.5px solid #ddd;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.quick-view-btn:hover{background:#f5f5f5;border-color:#ccc}.quick-view-btn.diagram-btn{color:#a67c26;border-color:#a67c26}.quick-view-btn.diagram-btn:hover{color:#fff;background:#a67c26}.quick-view-btn svg{flex-shrink:0}.quick-view-footer{flex-direction:column;align-items:center;gap:10px;padding:16px 20px 20px;display:flex}.quick-view-edit-btn{width:100%;padding:14px 24px;font-size:1rem}.quick-view-back-btn{color:#555;cursor:pointer;background:#f5f5f5;border:1.5px solid #ddd;border-radius:12px;width:100%;padding:14px 24px;font-size:.95rem;font-weight:500;transition:all .15s}.quick-view-back-btn:hover{color:#333;background:#eee;border-color:#ccc}.diagram-lightbox{z-index:2000;background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.diagram-lightbox-content{flex-direction:column;width:100%;max-width:100vw;height:100%;max-height:100vh;display:flex}.diagram-lightbox-header{background:#0009;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.diagram-lightbox-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 50px);font-size:1rem;font-weight:500;overflow:hidden}.diagram-lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;display:flex}.diagram-lightbox-close:hover{background:#ffffff26}.diagram-lightbox-body{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.diagram-lightbox-image{object-fit:contain;opacity:0;max-width:100%;max-height:100%;transition:opacity .2s}.diagram-lightbox-image[src]{opacity:1}.diagram-error{color:#fff;text-align:center;padding:40px;font-size:1rem}.diagram-lightbox-footer{background:#0009;flex-shrink:0;justify-content:center;padding:12px 16px 20px;display:flex}.diagram-lightbox-footer .secondary-btn{color:#fff;background:0 0;border:1.5px solid #fff}.diagram-lightbox-footer .secondary-btn:hover{background:#ffffff26}@media (width<=480px){.quick-view-content{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}.quick-view-image-section{border-radius:0;padding:16px}.quick-view-product-image{max-height:180px}.quick-view-actions{justify-content:center}.review-drag-handle{gap:2px;padding:6px 8px;top:6px;right:6px}.drag-dot{width:3px;height:3px}.review-card-content{grid-template-columns:84px 1fr;column-gap:12px;padding:12px}.review-product-card .review-product-info{padding-right:32px}.review-product-thumb{width:84px;height:84px}}.user-guide-btn{color:#666;width:auto;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:20px;justify-content:center;align-items:center;padding:8px 16px;font-size:12pt;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.user-guide-btn:hover,.user-guide-btn:focus{color:#333;background:#f5f5f5;border-color:#bbb}.user-guide-btn svg{opacity:.7;flex-shrink:0}.user-guide-modal-content{flex-direction:column;width:95%;max-width:600px;max-height:85vh;padding:0;display:flex;overflow:hidden}.user-guide-header{color:#fff;background:linear-gradient(135deg,#b87333 0%,#a09484 100%);border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.user-guide-header h2{margin:0;font-size:1.3rem;font-weight:600}.user-guide-header .close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:background .2s;display:flex}.user-guide-header .close-btn:hover{background:#ffffff4d}.user-guide-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;padding:24px;overflow-y:auto}.user-guide-footer{text-align:center;background:#fafafa;border-top:1px solid #eee;flex-shrink:0;padding:16px 24px}.guide-footer-tagline{color:#b87333;margin:0 0 12px;font-size:.9rem;font-style:italic;font-weight:500}.guide-section{border-bottom:1px solid #f0f0f0;margin-bottom:24px;padding-bottom:20px}.guide-section:last-child{border-bottom:none;margin-bottom:0}.guide-section h3{color:#333;margin:0 0 12px;font-size:1.1rem}.guide-section p{color:#555;margin:0 0 12px;line-height:1.5}.guide-section ul,.guide-section ol{color:#555;margin:0 0 12px;padding-left:24px}.guide-section li{margin-bottom:6px;line-height:1.5}.guide-section a{color:#b87333;text-decoration:none}.guide-section a:hover{text-decoration:underline}
