:root{--container-max-width: 1200px;--container-max-width-tablet: 800px;--container-max-width-mobile: 420px;--container-padding: 24px;--border-radius: 12px;--border-radius-large: 24px;--font-size-base: 16px;--font-size-large: 1.1rem;--font-size-small: .9rem;--spacing-unit: 8px;--logo-size: 180px;--modal-max-width: 500px}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;background:#f8f8fa;font-family:SF Pro Display,Segoe UI,Roboto,Arial,sans-serif;color:#222;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);line-height:1.5}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:var(--container-max-width);min-height:100vh;background:#fff;box-shadow:0 4px 32px #00000014;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 3);box-sizing:border-box;transition:box-shadow .3s;margin:0 auto}.logo{width:var(--logo-size);max-width:80vw;height:auto;margin-bottom:calc(var(--spacing-unit) * 4);filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.tagline{font-size:1.4rem;font-weight:400;margin-bottom:calc(var(--spacing-unit) * 5);color:#444;letter-spacing:.02em;text-align:center}.primary-btn{background:linear-gradient(90deg,#e0e7ef,#f3f4f6);color:#222;font-size:var(--font-size-large);font-weight:600;padding:calc(var(--spacing-unit) * 2.25) calc(var(--spacing-unit) * 6);border:none;border-radius:32px;box-shadow:0 2px 12px #00000014;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;outline:none;min-height:48px;display:flex;align-items:center;justify-content:center}.primary-btn:hover,.primary-btn:focus{background:linear-gradient(90deg,#f3f4f6,#e0e7ef);box-shadow:0 4px 16px #0000001f;transform:translateY(-2px) scale(1.03)}.room-selection-container{max-width:var(--container-max-width);width:100%;margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100vh;background:#fff;border-radius:var(--border-radius);box-shadow:0 4px 32px #00000014;box-sizing:border-box;position:relative}.room-selection-container h2{font-size:1.4rem;font-weight:600;margin:calc(var(--spacing-unit) * 1.25) 0 calc(var(--spacing-unit) * .25) 0;text-align:center;width:100%}.room-selection-container .subtitle{font-size:1rem;color:#888;margin-bottom:var(--spacing-unit);margin-top:0;text-align:center;width:100%}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:calc(var(--spacing-unit) * 1.25);width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5)}.room-btn{background:#f8f8fa;border:none;border-radius:12px;padding:calc(var(--spacing-unit) * 1.5) 0 calc(var(--spacing-unit) * 1) 0;font-size:.98rem;font-weight:500;color:#222;box-shadow:0 1px 4px #00000008;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;outline:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70px;position:relative;aspect-ratio:1}.room-btn .room-icon{font-size:1.4rem;margin-bottom:calc(var(--spacing-unit) * .5)}.add-room-btn{background:#f0f0f3;color:#444;font-size:1.1rem;font-weight:500;border:none;border-radius:18px;padding:calc(var(--spacing-unit) * 2) 0;width:100%;margin-top:var(--spacing-unit);box-shadow:0 2px 8px #0000000a;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;min-height:48px}.add-room-btn:hover,.add-room-btn:focus{background:#eaeaea;transform:translateY(-1px) scale(1.01)}.back-btn{position:absolute;top:calc(var(--spacing-unit) * 2.25);left:calc(var(--spacing-unit) * 2.25);z-index:10}.back-btn:active,.back-btn:focus,.back-btn:hover{color:#174ea6;background:#e0e7ef}.scanner-container{position:relative;max-width:var(--container-max-width);width:100%;margin:0 auto;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 1) 0 calc(var(--spacing-unit) * 1);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100vh;background:#fff;border-radius:var(--border-radius);box-shadow:0 4px 32px #0000000a;box-sizing:border-box}.scanner-container .back-btn{position:absolute;top:calc(var(--spacing-unit) * 2.25);left:calc(var(--spacing-unit) * 2.25);z-index:10}.scanner-header{width:100%;display:flex;align-items:center;justify-content:flex-start;margin-bottom:var(--spacing-unit)}.room-badge{background:#e0e7ef;color:#2563eb;font-weight:600;border-radius:12px;padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 2);margin-left:calc(var(--spacing-unit) * 1.5);font-size:var(--font-size-small)}.camera-preview{position:relative;width:100%;max-width:340px;aspect-ratio:4/3;background:#222;border-radius:18px;overflow:hidden;margin-bottom:calc(var(--spacing-unit) * 2.25);box-shadow:0 2px 12px #0000001a;display:flex;align-items:center;justify-content:center;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}#scanner-video{width:100%;height:100%;object-fit:contain;border-radius:18px;transform:translateZ(0);backface-visibility:hidden}#scanner-viewport{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;touch-action:manipulation;user-select:none;-webkit-user-select:none}#scanner-viewport video{-webkit-transform:translateZ(0);transform:translateZ(0);width:100%!important;height:100%!important;object-fit:cover}#scanner-viewport canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}#scanner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.scan-area{position:absolute;top:20%;left:10%;right:10%;bottom:20%;border:2px solid #2563eb;border-radius:12px;box-sizing:border-box;z-index:2}.scan-line{position:absolute;left:12%;right:12%;top:40%;height:2px;background:linear-gradient(90deg,#2563eb,#e0e7ef);border-radius:1px;animation:scan-move 1.2s infinite alternate;z-index:3}@keyframes scan-move{0%{top:30%}to{top:60%}}.manual-entry{width:100%;margin:calc(var(--spacing-unit) * 2.25) 0 var(--spacing-unit) 0;display:flex;flex-direction:column;align-items:flex-start}.manual-entry label{font-size:.98rem;color:#666;margin-bottom:calc(var(--spacing-unit) * .5)}#manual-barcode{width:100%;font-size:1.1rem;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);border-radius:10px;border:1px solid #e0e0e0;margin-bottom:var(--spacing-unit);box-sizing:border-box}#manual-search-btn{align-self:flex-end;background:#e6f7ec;color:#1a7f4e;font-weight:600;border:none;border-radius:10px;padding:var(--spacing-unit) calc(var(--spacing-unit) * 2.25);font-size:1rem;cursor:pointer;transition:background .2s;min-height:40px}#manual-search-btn:hover,#manual-search-btn:focus{background:#d2f4e3}.scanner-actions{width:100%;display:flex;justify-content:flex-end;margin-top:calc(var(--spacing-unit) * 1.5)}#scanner-feedback{width:100%;min-height:calc(var(--spacing-unit) * 3);color:#1a7f4e;font-size:1.1rem;text-align:center;margin-top:var(--spacing-unit)}.product-details-container{max-width:var(--container-max-width);width:100%;margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;background:#fff;border-radius:var(--border-radius);box-shadow:0 4px 32px #00000014;box-sizing:border-box;position:relative}.product-image-wrap{width:200px;height:200px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;margin:4px auto!important;padding:0!important;background:none!important;border-radius:18px;box-shadow:none!important}#product-image{max-width:200px;max-height:200px;width:100%;height:auto;border-radius:12px;object-fit:contain;background:#fff;display:block;margin:0 auto}#product-name{font-size:1.3rem;font-weight:600;margin:var(--spacing-unit) 0 calc(var(--spacing-unit) * .5) 0;text-align:center;color:#222;width:100%}.product-meta{display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:8px;font-size:1rem;color:#888;margin-bottom:var(--spacing-unit)}#product-price-inline{text-align:right;color:#1a7f4e;font-weight:600;margin-bottom:var(--spacing-unit)}#product-code,#product-price-inline{flex:1 1 0;font-size:1rem;color:#888;text-align:left;font-weight:500}#product-price-inline{text-align:right;color:#1a7f4e;font-weight:600}.product-price{font-size:1.08rem;font-weight:600;color:#1a7f4e;margin-bottom:8px;text-align:center;margin-bottom:var(--spacing-unit)}.product-description{font-size:1rem;color:#444;margin-bottom:calc(var(--spacing-unit) * 1.5);text-align:left;width:100%}.product-links{display:flex;flex-direction:row;gap:8px;margin-bottom:calc(var(--spacing-unit) * 2);flex-wrap:nowrap;width:100%;justify-content:space-between}.product-links a{flex:1 1 0;min-width:0;text-align:center;width:auto;justify-content:center;margin:0;background:#f8f8fa;color:#2563eb;text-decoration:none;padding:10px 0;border-radius:10px;font-size:var(--font-size-small);font-weight:500;transition:background .2s,transform .1s;display:flex;align-items:center;gap:4px;border:none;box-shadow:none}.product-links a:hover{background:#e0e7ef;transform:translateY(-1px);text-decoration:none}.product-details-row{display:flex;flex-direction:row;gap:4px;width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5);align-items:flex-end;justify-content:space-between}.room-select-field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.quantity-field{flex:0 0 64px;width:64px;display:flex;flex-direction:column;align-items:flex-end}.room-select-field label,.room-select-field select{align-self:flex-start;text-align:left;margin-left:0}.quantity-field label,.quantity-field select{align-self:flex-end;text-align:right}.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);border-radius:10px;border:1px solid #e0e0e0;font-size:1rem;background:#fff;margin-bottom:calc(var(--spacing-unit) * 1.5);min-height:44px}#room-select:focus,#product-quantity:focus{outline:none;border-color:#2563eb}.annotation-field{width:100%;margin-bottom:calc(var(--spacing-unit) * 2)}.annotation-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * .5)}.annotation-char-count{font-size:var(--font-size-small);color:#888}#add-to-room-btn{background:linear-gradient(90deg,#e0e7ef,#f3f4f6);color:#222;font-size:1.2rem;font-weight:600;padding:18px 48px;border:none;border-radius:32px;box-shadow:0 2px 12px #00000014;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;outline:none;width:100%;margin-top:calc(var(--spacing-unit) * 1.5);min-height:48px}#add-to-room-btn:hover,#add-to-room-btn:focus{background:linear-gradient(90deg,#f3f4f6,#e0e7ef);box-shadow:0 4px 16px #0000001f;transform:translateY(-2px) scale(1.03)}.product-search{width:100%;margin-bottom:calc(var(--spacing-unit) * 1.5);position:relative}.product-search label{display:block;font-size:var(--font-size-small);color:#666;margin-bottom:calc(var(--spacing-unit) * .5)}#product-search-input{width:100%;padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);border-radius:10px;border:1px solid #e0e0e0;font-size:1rem;background:#fff;min-height:44px}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:1000;max-height:200px;overflow-y:auto;display:none;margin-top:calc(var(--spacing-unit) * .5)}.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);border-radius:10px;border:1px solid #e0e0e0;font-size:1rem;background:#fff;resize:vertical;min-height:80px;font-family:inherit}.top-bar{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative;margin-bottom:8px;min-height:48px}.top-bar .back-btn{position:absolute;left:0;top:0;min-width:44px;min-height:44px;width:44px;height:44px;font-size:2.2rem;display:flex;align-items:center;justify-content:center;z-index:2}.top-bar .page-logo{margin:0 auto;display:block;position:relative;left:0;right:0;height:22px;width:auto;opacity:.85}.review-container{max-width:var(--container-max-width);width:100%;margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100vh;background:#fff;border-radius:var(--border-radius);box-shadow:0 4px 32px #00000014;box-sizing:border-box;position:relative}.review-container h2{font-size:1.4rem;font-weight:600;margin:12px 0 2px;text-align:center}.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{font-size:1.05rem;font-weight:600;color:#2563eb;margin-bottom:2px;margin-top:8px;display:flex;align-items:center;gap:6px}.review-product-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000012;margin-bottom:4px;padding:20px 16px 16px;display:flex;flex-direction:row;align-items:flex-start;position:relative}.review-product-thumb-wrap{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:96px;position:relative}.review-product-thumb{width:96px;height:96px;border-radius:12px;object-fit:cover;background:#fff;margin-bottom:10px}.review-qty-pill{display:flex;align-items:center;background:none;border:1.5px solid #bbb;border-radius:999px;box-shadow:none;padding:0 8px;gap:2px;min-width:56px;min-height:28px;font-size:1.1rem;font-weight:500;margin:16px 0 0;position:static}.review-qty-btn{background:none;border:none;color:#111;font-size:1.5rem;font-weight:700;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.review-qty-btn.delete{color:#111;font-size:1.7rem}.review-qty-btn svg{width:22px;height:22px;display:block}.review-qty-value{min-width:16px;text-align:center;font-size:1.1rem;font-weight:500}.review-product-info{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;margin-left:18px}.review-product-title{font-size:.98rem;font-weight:600;color:#222;margin-bottom:2px}.review-product-meta{font-size:.96rem;color:#888;margin-bottom:2px;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;width:100%}.review-product-code{flex:1;text-align:left}.review-product-price{font-size:.96rem;color:#222;font-weight:500;text-align:right;min-width:70px;margin-left:8px}.review-product-notes{font-size:.98rem;color:#444;margin-bottom:2px}.review-actions{width:100%;display:flex;justify-content:space-between;gap:8px;margin-top:48px;margin-bottom:18px}.secondary-btn{background:#f3f4f6;color:#2563eb;font-size:1rem;font-weight:500;border:none;border-radius:14px;padding:10px 0;width:48%;box-shadow:0 1px 4px #00000008;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s}.secondary-btn:hover,.secondary-btn:focus{background:#e0e7ef;transform:translateY(-1px) scale(1.01)}.empty-state{color:#888;font-size:1rem;text-align:center;margin-top:18px}.review-product-description-full{display:none}.review-qty-pill{display:flex;align-items:center;background:none;border:1.5px solid #bbb;border-radius:999px;box-shadow:none;padding:0 6px;gap:2px;min-width:48px;min-height:24px;font-size:.98rem;font-weight:500;margin:4px 0 0;position:absolute;left:0;bottom:-10px}.review-qty-btn{background:none;border:none;color:#111;font-size:1.4rem;font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.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{min-width:16px;text-align:center;font-size:1rem;font-weight:500}.clear-selection-btn{font-size:1.05rem!important;padding:12px 32px!important;background:#fff0f0!important;color:#b91c1c!important;border-radius:32px!important;width:auto!important;min-width:120px!important;display:block!important;margin:32px auto 8px!important;border:none!important;box-shadow:none!important;font-weight:600;transition:background .2s,box-shadow .2s,transform .1s;cursor:pointer}.clear-selection-btn:hover,.clear-selection-btn:focus{background:#ffe5e5!important;color:#a00!important;transform:translateY(-2px) scale(1.03)}.logo,.page-logo{width:var(--logo-size);max-width:80vw;height:auto;margin-bottom:calc(var(--spacing-unit) * 4);filter:drop-shadow(0 2px 8px rgba(0,0,0,.06));display:block;opacity:.85;align-self:center}@media (max-width: 600px){html,body{width:100vw;min-height:100vh;height:auto;margin:0;padding:0;background:#f4f6f9;overflow-x:hidden;overflow-y:auto;scroll-padding-top:32px}.scanner-container{max-width:none;width:100vw;min-height:100vh;height:100vh;border-radius:0;box-shadow:none;padding:0 0 32px;background:#f4f6f9;display:flex;flex-direction:column;align-items:center}.scanner-header{width:100vw;padding:24px 18px 0;background:#f4f6f9;box-sizing:border-box}.camera-preview{max-width:none;width:94vw;height:60vw;min-height:240px;max-height:60vh;border-radius:18px;margin:24px 0 18px;box-shadow:0 4px 24px #0000001a;background:#fff;padding:0;display:flex;align-items:center;justify-content:center;position:relative}#scanner-viewport{width:100%!important;height:100%!important;min-height:240px;max-height:60vh;object-fit:contain;border-radius:18px!important;background:#222;display:block;transform:translateZ(0)!important;backface-visibility:hidden!important;perspective:1000px!important}#scanner-overlay{border-radius:18px;pointer-events:none}.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{max-width:none;width:100vw;min-height:100vh;height:100vh;border-radius:0;box-shadow:none;background:#fff;padding:0 0 24px;display:flex;flex-direction:column;align-items:stretch}.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{width:92vw;max-width:420px;margin-left:auto;margin-right:auto}.room-selection-container{max-width:none;width:100vw;min-height:100vh;height:100vh;border-radius:0;box-shadow:none;padding:0 0 32px;background:#fff;display:flex;flex-direction:column;align-items:center}.room-grid,.add-room-btn{width:94vw;margin-left:auto;margin-right:auto}.room-selection-container h2,.room-selection-container .subtitle{padding-left:18px;padding-right:18px;text-align:center}.review-container{max-width:none;width:100vw;min-height:unset;height:auto;border-radius:0;box-shadow:none;padding:0 8px 24px;background:#f4f6f9;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:visible;margin-top:0}.review-actions{width:100%;display:flex;justify-content:space-between;gap:8px;margin-top:24px;margin-bottom:12px;padding:0 12px}.secondary-btn{font-size:1rem;padding:10px 0;width:48%;border-radius:10px;min-width:0;max-width:100%;box-shadow:0 1px 4px #00000008}.back-btn{font-size:1.2rem;margin-top:8px;margin-bottom:8px;padding:0 0 0 2px;min-width:0;min-height:0;width:auto;height:auto}.review-container h2{margin-top:12px}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000052;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);max-width:var(--modal-max-width);width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 48px #0000001f}.page-logo{width:48px;height:auto;display:block;margin:24px auto 12px;opacity:.85;align-self:center}.product-details-container,.review-container,.scanner-container,.room-selection-container{align-items:flex-start!important;justify-content:flex-start!important}@media (min-width: 1200px){:root{--container-max-width: 1400px;--container-max-width-tablet: 1000px;--logo-size: 200px;--modal-max-width: 600px}.welcome-container{padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 4)}.room-selection-container,.product-details-container,.review-container,.product-lookup-container{padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 6)}.room-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (min-width: 768px) and (max-width: 1199px){:root{--container-max-width: var(--container-max-width-tablet);--logo-size: 160px;--modal-max-width: 500px}.welcome-container{padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 3)}.room-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.camera-preview{max-width:400px}.product-image-wrap{width:180px;height:180px}#product-image{max-width:180px;max-height:180px}}@media (min-width: 481px) and (max-width: 767px){:root{--container-max-width: var(--container-max-width-mobile);--logo-size: 140px}.welcome-container{padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 2)}.room-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 480px){:root{--container-max-width: var(--container-max-width-mobile);--logo-size: 120px}body{padding:calc(var(--spacing-unit) * 1)}.welcome-container{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 1.5);min-height:calc(100vh - 16px)}.room-selection-container,.product-details-container,.review-container,.product-lookup-container{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 1);min-height:calc(100vh - 16px)}.room-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.room-btn{min-height:80px;font-size:.9rem}.room-btn .room-icon{font-size:1.2rem}.camera-preview{max-width:100%;aspect-ratio:4/3;border-radius:12px}.product-image-wrap{width:140px;height:140px;margin-bottom:6px}#product-image{max-width:140px;max-height:140px}.product-details-row{flex-direction:row;gap:calc(var(--spacing-unit) * 1);flex-wrap:nowrap}.room-select-field,.quantity-field{max-width:50%}.product-links{flex-direction:row;gap:calc(var(--spacing-unit) * 1)}.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);font-size:1.8rem;min-width:40px;min-height:40px;width:40px;height:40px}.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{flex-direction:column;gap:calc(var(--spacing-unit) * 1)}.review-product-card{flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.review-product-thumb-wrap{align-self:center}.review-product-info{margin-left:0;text-align:center}}@media (max-width: 320px){:root{--spacing-unit: 5px;--logo-size: 150px}.welcome-container{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 1)}.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 (max-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{max-height:40vh;aspect-ratio:16/9}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.logo,#product-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!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;max-width:none;width:100%}}.row-actions-responsive{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;width:100%}.small-btn{font-size:1rem;padding:10px 22px;min-width:90px;min-height:38px;border-radius:10px;box-shadow:0 2px 8px #00000012;font-weight:600;letter-spacing:.01em}.left-btn{margin-right:auto}.right-btn{margin-left:auto}.secondary-btn.small-btn{background:#fff;color:#2563eb;border:2px solid #2563eb;transition:background .2s,color .2s}.secondary-btn.small-btn:hover,.secondary-btn.small-btn:focus{background:#2563eb;color:#fff}.primary-btn.small-btn{background:#2563eb;color:#fff;border:2px solid #2563eb;transition:background .2s,color .2s}.primary-btn.small-btn:hover,.primary-btn.small-btn:focus{background:#174ea6;color:#fff}@media (max-width: 600px){.row-actions-responsive{flex-direction:row;gap:8px;margin:0 0 6px}.small-btn{font-size:.98rem;padding:8px 10px;min-width:70px;min-height:34px;border-radius:8px}}.cancel-btn{min-width:70px;font-size:.98rem;padding:8px 0;border-radius:8px;margin-right:auto;color:#2563eb;background:#fff;border:none;box-shadow:none;text-align:left}.send-btn{min-width:120px;font-size:1.08rem;padding:10px 0;border-radius:10px;margin-left:auto;background:#2563eb;color:#fff;border:none;font-weight:600;box-shadow:0 2px 8px #00000012;text-align:center}@media (max-width: 600px){.cancel-btn{min-width:54px;font-size:.95rem;padding:7px 0}.send-btn{min-width:90px;font-size:1rem;padding:8px 0}}.product-lookup-container{max-width:var(--container-max-width);width:100%;margin:0 auto;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);display:flex;flex-direction:column;min-height:100vh;background:#fff;border-radius:var(--border-radius);box-shadow:0 4px 32px #00000014;box-sizing:border-box}.lookup-header-section{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 3);border-bottom:1px solid #e5e7eb}.lookup-header-section .back-btn{min-width:48px;min-height:48px;width:48px;height:48px;font-size:1.8rem;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f4f6;border:1px solid #e5e7eb;transition:all .2s ease}.lookup-header-section .back-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.header-content{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.header-content .page-logo{width:120px;height:auto;margin-bottom:calc(var(--spacing-unit) * 2);filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.page-title{font-size:2.2rem;font-weight:600;color:#1f2937;margin:0 0 calc(var(--spacing-unit) * 1) 0;letter-spacing:-.025em}.page-subtitle{font-size:1.1rem;color:#6b7280;margin:0;font-weight:400}.header-actions{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);flex-shrink:0;justify-content:flex-end}.search-section{width:100%;margin-bottom:calc(var(--spacing-unit) * 4)}.search-actions{display:flex;justify-content:center;margin-top:calc(var(--spacing-unit) * 3)}.search-input-container{position:relative;max-width:600px;margin:0 auto}.search-input-container input{width:100%;padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 3);font-size:1.1rem;border:2px solid #e5e7eb;border-radius:calc(var(--border-radius) * 2);background:#f9fafb;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.search-input-container input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a,0 1px 3px #0000001a}#product-search-dropdown{margin:calc(var(--spacing-unit) * 1) 0 0 0;padding:0;list-style:none;background:#fff;border:2px solid #e5e7eb;border-radius:calc(var(--border-radius) * 1.5);max-height:320px;overflow-y:auto;box-shadow:0 4px 16px #0000001a;position:relative;z-index:100}#product-search-dropdown li{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);cursor:pointer;transition:background .15s ease;border-bottom:1px solid #f3f4f6}#product-search-dropdown li:last-child{border-bottom:none}#product-search-dropdown li:hover,#product-search-dropdown li.active{background:#f0f9ff;color:#1e40af}.room-badge{font-size:1rem;color:#2563eb;font-weight:600;background:#eff6ff;padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) * .75);border:1px solid #bfdbfe}#lookup-feedback{margin-top:calc(var(--spacing-unit) * 2);color:#dc2626;font-size:1rem;text-align:center;display:none}#lookup-feedback:not(:empty){display:block;min-height:24px}@media (max-width: 1000px){.product-lookup-container{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3)}.page-title{font-size:1.8rem}.page-subtitle{font-size:1rem}}@media (max-width: 768px){.lookup-header-section{flex-direction:column;gap:calc(var(--spacing-unit) * 2);align-items:center}.lookup-header-section .back-btn{min-width:44px;min-height:44px;width:44px;height:44px;font-size:1.6rem;align-self:flex-start}.header-actions{width:auto;justify-content:center}.search-input-container{max-width:100%}.page-title{font-size:1.6rem}}.split-container{display:flex;width:100%;max-width:100vw;min-height:100vh;background:#f8f8fa;overflow:hidden}.left-panel{width:60%;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.right-panel{width:40%;background:#fff;display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#fafbfc;min-height:80px}.panel-header .header-content{flex:1;display:flex;flex-direction:column;align-items:center}.panel-header .header-content h2{margin:0 0 4px;font-size:1.3rem;font-weight:600;color:#1f2937}.panel-header .subtitle{margin:0;font-size:.9rem;color:#6b7280}.panel-logo{height:32px;width:auto;margin-bottom:8px}.selection-summary{font-size:.85rem;color:#374151;margin-top:4px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions .primary-btn,.header-actions .secondary-btn{padding:8px 16px;font-size:.9rem;min-height:auto;border-radius:8px}.review-table-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.review-table-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center;color:#6b7280}.review-table-container .empty-state p{margin:0 0 8px;font-size:1rem}.review-table-container .empty-state .subtitle{font-size:.9rem;color:#9ca3af}.review-table{display:flex;flex-direction:column;flex:1;overflow:hidden}.table-header{display:grid;grid-template-columns:60px 4fr 1.5fr 80px 80px 100px 30px;gap:12px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:.85rem;color:#374151;text-transform:uppercase;letter-spacing:.025em}.table-body{flex:1;overflow-y:auto}.table-row{display:grid;grid-template-columns:60px 4fr 1.5fr 80px 80px 100px 30px;gap:12px;padding:12px 16px;border-bottom:1px solid #f3f4f6;align-items:center;transition:background-color .2s}.table-row:hover{background:#f9fafb}.table-row .product-info{display:flex;flex-direction:column;gap:2px}.table-row .product-name{font-weight:500;color:#1f2937;font-size:.9rem;line-height:1.3}.table-row .product-code{font-size:.8rem;color:#6b7280}.table-row input,.table-row select{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;background:#fff}.table-row input:focus,.table-row select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.table-row .quantity-input{text-align:center}.table-row .price-display{font-weight:500;color:#059669;font-size:.9rem}.table-row .remove-btn{background:#fee2e2;color:#dc2626;border:none;border-radius:4px;padding:2px 4px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.table-row .remove-btn:hover{background:#fecaca}.table-product-image{width:50px;height:50px;object-fit:contain;border-radius:6px;border:1px solid #e5e7eb;background:#f9fafb}.search-section{flex:1;display:flex;flex-direction:column;padding:16px 20px;overflow:auto}.search-section .search-input-container{position:relative;margin-bottom:16px}.search-section .search-input-container input{width:100%;padding:12px 16px 12px 44px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff}.search-section .search-input-container input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-results{margin-bottom:16px}.loading-state,.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;height:240px;padding:40px 20px;text-align:center;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.results-list{overflow-y:auto;max-height:240px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.result-item{padding:12px 16px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s;background:#fff;font-size:.9rem;color:#1f2937;line-height:1.4;min-height:48px;display:flex;align-items:center}.result-item:last-child{border-bottom:none}.result-item:hover{background:#f9fafb}.result-item .result-code{font-weight:600;color:#2563eb}.product-details{padding:20px;background:#f9fafb;border-top:1px solid #e5e7eb;max-height:50%;overflow-y:auto}.product-header{display:flex;gap:16px;margin-bottom:20px;position:relative}.close-btn{position:absolute;top:-8px;right:-8px;background:#e5e7eb;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:1.2rem;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-btn:hover{background:#d1d5db}.product-image-container{flex-shrink:0;width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.product-details .product-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.product-details .product-info{flex:1}.product-details .product-name{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 4px;line-height:1.3}.product-details .product-code{font-size:.9rem;color:#6b7280;margin:0 0 4px}.product-details .product-price{font-size:1rem;color:#059669;font-weight:600;margin:0}.product-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:500;color:#374151}.room-select,.quantity-input,.notes-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.room-select:focus,.quantity-input:focus,.notes-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.notes-input{min-height:60px;resize:vertical}.form-actions{margin-top:8px}.form-actions .primary-btn{width:100%;padding:10px 16px;font-size:.95rem;min-height:auto;border-radius:6px}@media (max-width: 768px){body{align-items:stretch;justify-content:stretch}.split-container{flex-direction:column}.left-panel,.right-panel{width:100%}.left-panel{min-height:40vh;border-right:none;border-bottom:1px solid #e0e0e0}.right-panel{min-height:60vh}.panel-header{padding:12px 16px;min-height:60px}.panel-header .header-content h2{font-size:1.1rem}.table-header{grid-template-columns:40px 2fr 1fr 60px 60px;gap:8px;padding:8px 12px;font-size:.75rem}.table-row{grid-template-columns:40px 2fr 1fr 60px 60px;gap:8px;padding:8px 12px}.col-price-ea,.col-total,.col-actions{display:none}.table-product-image{width:35px;height:35px}.product-details{padding:16px}.product-header{flex-direction:column;gap:12px}.product-image-container{align-self:center}}.grid-container{width:100%;min-height:100vh;background:#fafbfc;display:flex;flex-direction:column}.grid-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}.header-top{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.header-left{display:flex;align-items:center;gap:12px}.header-center{flex:1;display:flex;justify-content:center}.header-right{display:flex;gap:8px;align-items:center}.header-bottom{padding:0 24px 12px}.grid-header .back-btn{min-width:44px;min-height:44px;width:44px;height:44px;font-size:1.8rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.grid-header .back-btn:hover{background:#e5e7eb;border-color:#9ca3af}.grid-header .panel-logo{height:32px;width:auto}.grid-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.grid-header .selection-summary{font-size:.875rem;color:#6b7280}.version-display{font-size:1rem;color:#222!important;font-weight:500;margin-top:12px;margin-right:0;padding:2px 8px;display:inline-block;background:#f5f5f5;border-radius:4px;letter-spacing:.5px}.btn-import-quote{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-import-quote:hover{background:#2563eb}.btn-clear-all{background:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-clear-all:hover{background:#dc2626}.btn-settings{background:#6b7280;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-settings:hover{background:#4b5563}.btn-create{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-create:hover{background:#059669}.sort-controls{display:flex;align-items:center;gap:8px;margin-right:16px}.sort-controls label{font-size:.875rem;color:#374151;font-weight:500}.sort-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;color:#374151;cursor:pointer;transition:all .15s ease}.sort-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.grid-content{flex:1;padding:24px;overflow:visible;min-height:calc(100vh - 120px)}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state p{font-size:1.125rem;margin:0 0 8px}.empty-state .subtitle{font-size:.875rem;color:#9ca3af}.grid-table-container{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;overflow:visible}.grid-table{width:100%;display:table;table-layout:fixed;overflow:visible!important}.grid-table.has-open-dropdown{table-layout:auto!important;overflow:visible!important}.grid-header-row{display:table-row;background:#f9fafb;border-bottom:2px solid #e5e7eb}.grid-header-row>div{display:table-cell;padding:12px;font-weight:600;font-size:.8rem;color:#374151;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid #e5e7eb}.col-image{width:8%}.col-product{width:30%}.col-room{width:12%}.col-qty{width:4%}.col-price,.col-total{width:6%}.col-notes{width:26%}.col-actions{width:8%}.grid-body{display:table-row-group}.grid-row{display:table-row;transition:background-color .15s ease;height:auto}.grid-row:nth-child(2n){background:#f9fafb}.grid-row:hover{background:#f0f9ff}.grid-row>div{display:table-cell;padding:4px 6px;vertical-align:middle;border-right:1px solid #e5e7eb;border-bottom:1px solid #f3f4f6;overflow:visible;position:relative;font-size:.85rem;height:auto}.col-notes{padding:2px 4px!important}.grid-search-input{width:100%;padding:3px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;background:#fff;transition:all .15s ease}.grid-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.grid-search-input.populated{background:#f0f9ff;border-color:#3b82f6}.grid-search-dropdown{position:absolute!important;top:100%!important;left:0!important;width:500px!important;min-width:500px!important;max-width:none!important;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 8px 25px -5px #00000026;max-height:300px;overflow-x:visible!important;overflow-y:auto;z-index:2000;display:none;margin-top:2px}.grid-search-dropdown.visible{display:block}.grid-search-dropdown li{padding:10px 14px;cursor:pointer;font-size:.875rem;line-height:1.4;border-bottom:1px solid #f3f4f6;white-space:nowrap!important;word-wrap:normal!important;overflow:visible!important;text-overflow:clip!important;min-width:450px}.grid-search-dropdown li:last-child{border-bottom:none}.grid-search-dropdown li:hover,.grid-search-dropdown li.active{background:#f0f9ff;color:#1e40af}.col-price .grid-search-dropdown,.col-notes .grid-search-dropdown,.col-actions .grid-search-dropdown{left:auto!important;right:0!important;width:500px!important}.grid-table-container .grid-search-dropdown{position:absolute!important;width:500px!important;max-width:none!important;overflow-x:visible!important;z-index:9999!important}.grid-image-cell{text-align:center;padding:2px 4px!important;vertical-align:middle}.grid-product-image{height:100%;width:auto;max-width:100%;max-height:60px;object-fit:contain;border-radius:4px;border:1px solid #e5e7eb;display:block;margin:0 auto}.grid-product-cell{padding:2px 6px!important;position:relative}.grid-product-cell.has-product .grid-product-display{display:block;padding:2px}.grid-product-cell.empty-product .grid-search-input{display:block}.grid-product-name{font-weight:400;font-size:.8rem;color:#1f2937;line-height:1.2}.grid-product-name strong{font-weight:600;color:#374151;margin-right:6px}.grid-product-code{font-size:.75rem;color:#6b7280;font-family:Monaco,Menlo,monospace}.grid-select,.grid-input,.grid-textarea{width:100%;padding:2px 4px;border:1px solid #d1d5db;border-radius:4px;font-size:.8rem;background:#fff;transition:all .15s ease}.grid-select:focus,.grid-input:focus,.grid-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.grid-textarea{resize:vertical;min-height:16px;max-height:40px}.grid-input[type=number]{text-align:center}.grid-price-cell{font-weight:500;color:#059669}.grid-total-display{font-weight:600;color:#1f2937;text-align:right;padding:4px 8px;font-size:.85rem;background-color:#f9fafb;border-radius:4px}.grid-actions-cell{text-align:center;padding:2px 4px!important}.grid-actions-group{display:flex;align-items:center;gap:4px;justify-content:center}.grid-move-btn{width:24px;height:24px;border:none;background:#e5e7eb;color:#374151;border-radius:4px;font-size:12px;line-height:1;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-move-btn:hover{background:#d1d5db;transform:scale(1.1)}.grid-move-btn:disabled{opacity:.5;cursor:not-allowed}.grid-drag-handle{width:24px;height:24px;background:#f3f4f6;color:#6b7280;border-radius:4px;font-size:12px;line-height:1;cursor:grab;transition:all .15s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;font-weight:700}.grid-drag-handle:hover{background:#e5e7eb;color:#374151}.grid-remove-btn{width:24px;height:24px;border:none;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:14px;line-height:1;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-remove-btn:hover{background:#fecaca;transform:scale(1.1)}.grid-footer{padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e7eb}.add-row-btn{background:#f0f9ff;border:1px dashed #3b82f6;color:#1d4ed8;padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:8px}.add-row-btn:hover{background:#dbeafe;border-color:#1d4ed8}.room-group{margin-bottom:8px;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.room-group-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:12px 20px;font-weight:600;font-size:.95rem;border-bottom:none;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between}.room-group-header .room-name{display:flex;align-items:center;gap:8px}.room-group-header .room-icon{font-size:1.1rem}.room-group-header .room-count{background:#fff3;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.room-group-header.blank-room{background:linear-gradient(135deg,#6b7280,#4b5563)}.room-group-header.bath-room{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.room-group-header.kitchen-room{background:linear-gradient(135deg,#f59e0b,#d97706)}.room-group-header.laundry-room{background:linear-gradient(135deg,#10b981,#059669)}.room-header-row{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border-bottom:2px solid #1e40af!important;font-weight:600}.room-header-row:hover{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important}.room-header-row:nth-child(2n){background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important}.room-header-row .room-header-cell{padding:10px 12px!important;border-right:none!important}.room-header-content{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff}.room-header-content .room-icon{font-size:1.1rem}.room-header-content .room-count{background:#fff3;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500;margin-left:auto}.room-header-row.blank-room{background:linear-gradient(135deg,#6b7280,#4b5563)!important}.room-header-row.bath-room{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important}.room-header-row.kitchen-room{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.room-header-row.laundry-room{background:linear-gradient(135deg,#10b981,#059669)!important}.grid-row.dragging{opacity:.5}.grid-row.drag-over{background:#dbeafe!important;border-top:2px solid #3b82f6}@media (max-width: 1200px){.col-product{width:28%}.col-notes{width:24%}}@media (max-width: 900px){.grid-header{padding:12px 16px}.grid-header .header-content{margin:0 16px}.grid-header h2{font-size:1.25rem}.grid-content{padding:16px}.col-image{width:8%}.col-product{width:32%}.col-notes{width:22%}.grid-header-row>div,.grid-row>div{padding:4px 6px;font-size:.8rem}.grid-search-input,.grid-select,.grid-input,.grid-textarea{font-size:.8rem;padding:2px 4px}.grid-product-image{height:100%;width:auto;max-width:100%;max-height:60px}}@media (max-width: 768px){.header-top{flex-direction:column;gap:12px;padding:12px 16px}.header-left,.header-center{justify-content:center}.header-right{justify-content:center;flex-wrap:wrap;gap:6px}.header-bottom{padding:0 16px 8px;text-align:center}.btn-import-quote,.btn-clear-all,.btn-settings,.btn-create{font-size:.8rem;padding:6px 12px}.grid-header h2{font-size:1.25rem}.grid-header .panel-logo{height:28px}.col-notes{display:none}.col-product{width:40%}.col-room{width:16%}.col-qty{width:8%}.col-price,.col-total{width:10%}.col-actions{width:8%}}.grid-row.loading{opacity:.6;pointer-events:none}.grid-row.loading .grid-search-input{background:#f3f4f6}.grid-row.success{background:#f0fdf4!important;border-left:3px solid #10b981}.grid-row.error{background:#fef2f2!important;border-left:3px solid #ef4444}.grid-search-input.error{border-color:#ef4444;background:#fef2f2}.grid-row.selected{background:#dbeafe!important;border-left:3px solid #3b82f6}.bulk-actions{display:none;padding:12px 24px;background:#f0f9ff;border-bottom:1px solid #bfdbfe;align-items:center;gap:12px}.bulk-actions.visible{display:flex}.bulk-actions-text{font-size:.875rem;color:#1e40af;font-weight:500}.bulk-action-btn{font-size:.8rem;padding:6px 12px;border-radius:6px;border:1px solid #3b82f6;background:#fff;color:#3b82f6;cursor:pointer;transition:all .15s ease}.bulk-action-btn:hover{background:#3b82f6;color:#fff}.global-search-dropdown{scrollbar-width:thin;scrollbar-color:#2563eb #f3f4f6}.global-search-dropdown::-webkit-scrollbar{width:8px;background:#f3f4f6}.global-search-dropdown::-webkit-scrollbar-thumb{background:#2563eb;border-radius:4px}.global-search-dropdown li{transition:background .15s,border-left .15s,padding-left .15s;background:#fff;cursor:pointer}.global-search-dropdown li.active,.global-search-dropdown li:active{background:#e0f2fe!important;border-left:3px solid #2563eb;padding-left:13px}.global-search-dropdown li:hover{background:#f0f9ff!important;border-left:3px solid #3b82f6;padding-left:13px}.global-search-dropdown{box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;border:1px solid #d1d5db;border-radius:8px;background:#fff;max-height:300px;overflow-y:auto;overflow-x:hidden;z-index:10010;position:fixed!important;padding:4px 0;margin:0;list-style:none;width:auto;min-width:200px;font-size:14px;transition:box-shadow .2s}.global-search-dropdown li{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;background:#fff;color:#374151;font-size:14px;line-height:1.5;margin:0;display:block;width:100%;white-space:normal;word-wrap:break-word;overflow:visible;transition:background .15s,color .15s}.global-search-dropdown li.active{background:#2563eb!important;color:#fff!important;font-weight:700}.global-search-dropdown li.hover:not(.active){background:#e0e7ff!important;color:#1e293b!important}.global-search-dropdown::-webkit-scrollbar{width:8px}.global-search-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.global-search-dropdown::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}body{display:block!important;align-items:initial!important;justify-content:initial!important}.grid-container{opacity:1}.app-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#fafafad9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .3s ease}.app-loading-overlay.fade-out{opacity:0;pointer-events:none}.app-loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px}.app-loading-spinner .spinner-ring{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#b87333;border-radius:50%;animation:spin .8s linear infinite}.app-loading-spinner .spinner-text{font-family:var(--font-primary, "DM Sans", sans-serif);font-size:14px;color:#6b7280;letter-spacing:.02em}@keyframes spin{to{transform:rotate(360deg)}}.grid-container{font-family:var(--font-primary, "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif);background:var(--bg-secondary, #fafafa);min-height:100vh;display:flex;flex-direction:column}.app-navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--color-charcoal, #1a1a1a);color:#fff}.navbar-brand{display:flex;align-items:center;gap:16px}.navbar-logo{height:28px;width:auto;filter:brightness(10)}.navbar-divider{width:1px;height:20px;background:#fff3}.navbar-title{font-size:.9375rem;font-weight:500;color:#ffffffe6;letter-spacing:-.01em}.navbar-actions{display:flex;align-items:center;gap:16px}.navbar-btn{width:36px;height:36px;border:none;background:#ffffff1a;color:#fffc;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.navbar-btn:hover{background:#fff3;color:#fff}.navbar-actions .navbar-link{font-size:.75rem;font-family:inherit;color:#fff9;background:transparent;padding:6px 12px;border-radius:4px;border:none;cursor:pointer;transition:all .15s ease}.navbar-actions .navbar-link:hover{color:#ffffffe6;background:#ffffff1a}.navbar-actions .navbar-link--staff{color:var(--color-copper-light, #d4915a);border:1px solid rgba(184,115,51,.4);background:#b8733314}.navbar-actions .navbar-link--staff:hover{color:#fff;border-color:var(--color-copper, #b87333);background:#b8733333}.navbar-actions .navbar-divider{margin:0 4px}.context-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:linear-gradient(180deg,var(--bg-secondary, #f9fafb) 0%,var(--bg-primary, #ffffff) 100%);border-bottom:1px solid var(--border-light, #e5e5e5)}.context-left{display:flex;align-items:center;gap:12px}.context-label{font-size:.75rem;font-weight:500;color:var(--text-muted, #a3a3a3);text-transform:uppercase;letter-spacing:.05em}.selection-status{display:flex;align-items:center;gap:10px}.status-icon{font-size:.875rem;color:var(--color-sage, #7c9082)}.status-icon.saved{color:var(--color-sage, #7c9082)}.status-icon.unsaved{color:var(--color-copper, #b87333)}.selection-name{font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.9375rem;font-weight:600;color:var(--text-primary, #1a1a1a);max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-indicator{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-copper, #b87333);background:#b873331a;padding:4px 10px;border-radius:12px;animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.dot-unsaved{width:6px;height:6px;border-radius:50%;background:var(--color-copper, #b87333)}.context-right{display:flex;align-items:center;gap:8px}.context-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:transparent;border:1px solid var(--border-light, #e5e5e5);border-radius:6px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.8125rem;font-weight:500;color:var(--text-secondary, #404040);cursor:pointer;transition:all .15s ease}.context-btn:hover{background:var(--bg-tertiary, #f5f5f5);border-color:var(--border-medium, #d4d4d4)}.context-btn-primary{background:var(--color-charcoal, #1a1a1a);border-color:var(--color-charcoal, #1a1a1a);color:#fff}.context-btn-primary:hover{background:var(--color-graphite, #2d2d2d);border-color:var(--color-graphite, #2d2d2d)}.app-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-light, #e5e5e5);gap:24px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:12px}.tender-import-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;color:#1e40af;animation:fadeIn .3s ease-out;white-space:nowrap}.tender-banner-close{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.tender-banner-close:hover{color:#1e40af}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-center{flex:1;display:flex;justify-content:center}.toolbar-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border-light, #e5e5e5);background:var(--bg-primary, #ffffff);border-radius:8px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.8125rem;font-weight:500;color:var(--text-secondary, #404040);cursor:pointer;transition:all .15s ease}.toolbar-btn:hover{background:var(--bg-tertiary, #f5f5f5);border-color:var(--border-medium, #d4d4d4)}.toolbar-btn-primary{background:var(--color-charcoal, #1a1a1a);border-color:var(--color-charcoal, #1a1a1a);color:#fff}.toolbar-btn-primary:hover{background:var(--color-graphite, #2d2d2d)}.toolbar-btn-danger{color:var(--color-error, #c44536);border-color:var(--color-error-light, #fbeae8);background:var(--color-error-light, #fbeae8)}.toolbar-btn-danger:hover{background:var(--color-error, #c44536);color:#fff;border-color:var(--color-error, #c44536)}.toolbar-btn-accent{background:var(--color-copper, #b87333);border-color:var(--color-copper, #b87333);color:#fff}.toolbar-btn-accent:hover{background:var(--color-copper-dark, #8b5a2b);border-color:var(--color-copper-dark, #8b5a2b)}.stats-bar{display:flex;align-items:center;gap:20px;padding:8px 24px;background:var(--bg-tertiary, #f5f5f5);border-radius:24px}.stat-item{display:flex;align-items:baseline;gap:6px}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.stat-label{font-size:.75rem;color:var(--text-muted, #a3a3a3);text-transform:lowercase}.stat-total .stat-value{color:var(--color-copper, #b87333)}.stat-divider{width:1px;height:20px;background:var(--border-light, #e5e5e5)}.empty-state-hero{flex:1;display:none;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:48px 24px}.empty-state-hero[style*="display: block"],.empty-state-hero[style*="display:block"]{display:flex!important}.empty-hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 20%,rgba(184,115,51,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(124,144,130,.08) 0%,transparent 50%);pointer-events:none}.empty-hero-content{position:relative;text-align:center;max-width:540px}.empty-hero-logo{height:48px;margin-bottom:32px;opacity:.15}.empty-hero-title{font-family:var(--font-display, "Fraunces", Georgia, serif);font-size:2rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 16px;letter-spacing:-.02em}.empty-hero-text{font-size:1.0625rem;color:var(--text-tertiary, #737373);margin:0 0 32px;line-height:1.6}.empty-hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:48px}.hero-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;border-radius:10px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.hero-btn-primary{background:var(--color-charcoal, #1a1a1a);color:#fff;box-shadow:0 4px 12px #1a1a1a33}.hero-btn-primary:hover{background:var(--color-graphite, #2d2d2d);transform:translateY(-2px);box-shadow:0 6px 16px #1a1a1a40}.hero-btn-secondary{background:var(--bg-primary, #ffffff);color:var(--text-secondary, #404040);border:1px solid var(--border-medium, #d4d4d4)}.hero-btn-secondary:hover{background:var(--bg-tertiary, #f5f5f5);border-color:var(--text-tertiary, #737373)}.hero-divider{color:var(--text-muted, #a3a3a3);font-size:.875rem}.entry-options{width:100%;max-width:500px;margin-bottom:32px}.entry-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e5e5e5);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.entry-card:hover{border-color:var(--color-copper, #b87333);box-shadow:0 4px 12px #b8733326;transform:translateY(-2px)}.entry-card-primary{background:linear-gradient(135deg,#b8733314,#b8733305);border-color:var(--color-copper, #b87333)}.entry-icon{font-size:1.5rem;flex-shrink:0}.entry-content{flex:1;min-width:0}.entry-title{font-weight:600;color:var(--text-primary, #1a1a1a);font-size:.9375rem;margin-bottom:2px}.entry-subtitle{font-size:.8125rem;color:var(--text-tertiary, #737373);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.entry-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-medium, #d4d4d4);border-radius:10px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.875rem;font-weight:500;color:var(--text-secondary, #404040);cursor:pointer;transition:all .15s ease}.entry-btn:hover{background:var(--bg-tertiary, #f5f5f5);border-color:var(--text-tertiary, #737373);transform:translateY(-1px)}.entry-btn-primary{background:var(--color-charcoal, #1a1a1a);border-color:var(--color-charcoal, #1a1a1a);color:#fff;box-shadow:0 4px 12px #1a1a1a33}.entry-btn-primary:hover{background:var(--color-graphite, #2d2d2d);transform:translateY(-2px);box-shadow:0 6px 16px #1a1a1a40}.empty-hero-hints{display:flex;gap:24px;justify-content:center}.empty-hero-hints .hint{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted, #a3a3a3)}.empty-hero-hints kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;font-size:.6875rem;font-weight:500;color:var(--text-secondary, #404040);background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e5e5e5);border-radius:4px;box-shadow:0 1px 0 var(--border-medium, #d4d4d4)}.grid-header{display:none!important}.grid-header{background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-light, #e5e5e5);box-shadow:0 1px 3px #0000000a}.header-top{padding:16px 32px}.header-left h2{font-family:var(--font-display, "Fraunces", Georgia, serif);font-weight:600;font-size:1.5rem;color:var(--text-primary, #1a1a1a);letter-spacing:-.02em}.panel-logo{height:36px;width:auto}.btn-import-quote,.btn-clear-all,.btn-settings,.btn-create{font-family:var(--font-primary, "DM Sans", sans-serif);font-weight:500;padding:10px 20px;border-radius:8px;font-size:.875rem;transition:all .15s ease;border:none;cursor:pointer}.btn-import-quote{background:var(--color-charcoal, #1a1a1a);color:#fff}.btn-import-quote:hover{background:var(--color-graphite, #2d2d2d);transform:translateY(-1px)}.btn-clear-all{background:var(--color-error-light, #fbeae8);color:var(--color-error, #c44536);border:1px solid var(--color-error, #c44536)}.btn-clear-all:hover{background:var(--color-error, #c44536);color:#fff}.btn-settings{background:var(--bg-tertiary, #f5f5f5);color:var(--text-secondary, #404040);border:1px solid var(--border-medium, #d4d4d4)}.btn-settings:hover{background:var(--bg-primary, #ffffff);border-color:var(--text-secondary, #404040)}.btn-create{background:var(--color-copper, #b87333);color:#fff}.btn-create:hover{background:var(--color-copper-dark, #8b5a2b);transform:translateY(-1px);box-shadow:0 4px 12px #b873334d}.sort-controls{display:flex;align-items:center;gap:10px}.sort-controls label{font-size:.875rem;color:var(--text-tertiary, #737373);font-weight:500}.sort-select{font-family:var(--font-primary, "DM Sans", sans-serif);padding:8px 12px;border:1px solid var(--border-light, #e5e5e5);border-radius:6px;font-size:.875rem;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1a1a1a);cursor:pointer;transition:all .15s ease}.sort-select:hover{border-color:var(--border-medium, #d4d4d4)}.sort-select:focus{outline:none;border-color:var(--color-copper, #b87333);box-shadow:0 0 0 3px #b8733326}.selection-summary{font-size:.875rem;color:var(--text-secondary, #404040);padding:8px 0}#app-version{color:var(--text-muted, #a3a3a3)!important;text-decoration:none!important;font-weight:500}.grid-table-container{background:var(--bg-primary, #ffffff);border-radius:12px;border:1px solid var(--border-light, #e5e5e5);box-shadow:0 1px 3px #0000000a;overflow:hidden}.grid-header-row{background:var(--bg-tertiary, #f5f5f5);border-bottom:2px solid var(--border-light, #e5e5e5)}.grid-header-row>div{font-family:var(--font-primary, "DM Sans", sans-serif);font-weight:600;font-size:.75rem;color:var(--text-tertiary, #737373);text-transform:uppercase;letter-spacing:.05em;padding:14px 12px;border-right:1px solid var(--border-light, #e5e5e5)}.grid-header-row>div:last-child{border-right:none}.grid-row{transition:background-color .1s ease}.grid-row:nth-child(2n){background:var(--bg-secondary, #fafafa)}.grid-row:hover{background:#b873330a}.grid-row.dragging{opacity:.5;background:var(--bg-secondary, #f5f5f5)!important}.grid-row.drag-over-above{position:relative}.grid-row.drag-over-above:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-copper, #b87333);z-index:10;box-shadow:0 0 8px #b8733380}.grid-row.drag-over-below{position:relative}.grid-row.drag-over-below:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-copper, #b87333);z-index:10;box-shadow:0 0 8px #b8733380}.grid-drag-handle{cursor:grab}.grid-drag-handle:active{cursor:grabbing}.grid-row>div{font-family:var(--font-primary, "DM Sans", sans-serif);padding:4px 6px;border-right:1px solid var(--border-light, #e5e5e5);border-bottom:1px solid var(--border-light, #e5e5e5);font-size:.875rem;color:var(--text-primary, #1a1a1a)}.grid-row>div:last-child{border-right:none}.grid-product-name{font-weight:500;color:var(--text-primary, #1a1a1a);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.grid-product-name strong{font-weight:600;color:var(--color-copper, #b87333)}.grid-product-code{font-size:.75rem;color:var(--text-muted, #a3a3a3);font-family:SF Mono,Monaco,Menlo,monospace}.grid-search-input,.grid-select,.grid-input,.grid-textarea{font-family:var(--font-primary, "DM Sans", sans-serif);border:1px solid var(--border-light, #e5e5e5);border-radius:6px;padding:4px 6px;font-size:.8125rem;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1a1a1a);transition:all .15s ease}.grid-search-input:hover,.grid-select:hover,.grid-input:hover,.grid-textarea:hover{border-color:var(--border-medium, #d4d4d4)}.grid-search-input:focus,.grid-select:focus,.grid-input:focus,.grid-textarea:focus{outline:none;border-color:var(--color-copper, #b87333);box-shadow:0 0 0 3px #b8733326}.col-notes{padding:1px 2px!important}.col-notes .grid-textarea{min-height:2.8em;resize:vertical;padding:2px 4px;border:1px solid var(--border-light, #e5e5e5);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;line-height:1.35;font-size:.78rem}.grid-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.grid-input[type=number]::-webkit-outer-spin-button,.grid-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grid-search-input::placeholder{color:var(--text-muted, #a3a3a3)}.grid-placeholder-hint{font-size:11px;color:#6b21a8;background:#faf5ff;border:1px dashed #d8b4fe;border-radius:4px;padding:4px 8px;margin-bottom:4px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.grid-seima-match-wrap{margin-top:4px}.grid-seima-match-btn{display:inline-block;font-size:.75rem;padding:2px 8px;background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd;border-radius:4px;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.grid-seima-match-btn:hover{background:#dbeafe;border-color:#3b82f6}.grid-placeholder-hint .grid-competitor-code-link{color:#5b21b6;font-weight:600;text-decoration:underline;text-underline-offset:2px}.grid-placeholder-hint .grid-competitor-code-link:hover{color:#3730a3}.grid-validator-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a26;z-index:9000}.grid-validator-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:760px;max-width:92vw;max-height:88vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;z-index:9001;display:flex;flex-direction:column;animation:gvm-fade-in .15s ease-out}@keyframes gvm-fade-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.gvm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.gvm-title{font-size:1rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gvm-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:18px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gvm-close:hover{background:#e5e7eb;color:#111}.gvm-body{flex:1;overflow-y:auto;padding:20px}.gvm-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.gvm-product-detail{display:flex;flex-direction:column;gap:8px}.gvm-product-img{width:100%;max-height:160px;object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.gvm-product-table{font-size:.8rem;width:100%;border-collapse:collapse}.gvm-product-table td{padding:3px 0;vertical-align:top}.gvm-product-table td:first-child{color:#9ca3af;font-size:.7rem;font-weight:600;width:70px;padding-right:6px;text-transform:uppercase}.gvm-matches-panel{display:flex;flex-direction:column;gap:6px}.gvm-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:4px}.gvm-match-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:4px}.gvm-match-card.status-verified{border-left:3px solid #22c55e;background:#f0fdf4}.gvm-match-card.status-rejected{border-left:3px solid #ef4444;opacity:.5}.gvm-match-card.status-pending-user{border-left:3px solid #f59e0b;background:#fffbeb}.gvm-match-card.status-pending-dispute{border-left:3px solid #ef4444;background:#fffbeb}.gvm-match-img{width:44px;height:44px;object-fit:contain;background:#f3f4f6;border-radius:6px;flex-shrink:0}.gvm-match-img-placeholder{width:44px;height:44px;background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#d1d5db;font-size:9px;flex-shrink:0}.gvm-match-info{flex:1;min-width:0}.gvm-match-name{font-size:.8rem;font-weight:600}.gvm-match-sku{font-size:.7rem;color:#9ca3af}.gvm-match-reason{font-size:.65rem;color:#9ca3af;font-style:italic;margin-top:2px}.gvm-match-price{font-size:.8rem;font-weight:500;min-width:55px;text-align:right;flex-shrink:0}.gvm-match-actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.gvm-btn{font-size:.7rem;padding:3px 10px;border-radius:4px;cursor:pointer;border:1px solid #d1d5db;background:#fff;transition:all .15s}.gvm-btn:disabled{opacity:.5;cursor:not-allowed}.gvm-btn-verify{color:#15803d;border-color:#86efac;background:#f0fdf4}.gvm-btn-verify:hover{background:#dcfce7}.gvm-btn-reject{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.gvm-btn-reject:hover{background:#fee2e2}.gvm-btn-undo{color:#6b7280;font-size:.65rem;border:none;background:none;text-decoration:underline}.gvm-status-label{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:8px}.gvm-status-verified{background:#dcfce7;color:#15803d}.gvm-status-rejected{background:#fee2e2;color:#b91c1c}.gvm-status-pending-user,.gvm-status-pending-dispute{background:#fef3c7;color:#92400e}.gvm-no-matches{padding:20px;text-align:center;color:#9ca3af;font-size:.8rem;font-style:italic}.gvm-search-add{margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb}.gvm-search-add-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:6px}.gvm-search-add-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.8rem}.gvm-search-add-input:focus{outline:none;border-color:#b87333;box-shadow:0 0 0 2px #b8733326}.gvm-search-results{max-height:220px;overflow-y:auto;margin-top:6px}.gvm-search-result{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:4px;background:#fff;cursor:pointer}.gvm-search-result:hover{border-color:#b87333}.gvm-badge{display:inline-block;font-size:.6rem;font-weight:600;padding:1px 5px;border-radius:8px;margin-left:4px}.gvm-badge-high{background:#dcfce7;color:#15803d}.gvm-badge-med{background:#fef3c7;color:#92400e}.gvm-badge-low{background:#fee2e2;color:#b91c1c}@media (max-width: 700px){.gvm-layout{grid-template-columns:1fr}.grid-validator-modal{width:96vw}}.gvm-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000014;z-index:9010}.gvm-detail-panel{position:fixed;top:0;right:0;width:420px;max-width:50vw;height:100vh;background:#fff;box-shadow:-8px 0 32px #00000026;z-index:9011;display:flex;flex-direction:column;animation:gvm-slide-in .2s ease-out}@keyframes gvm-slide-in{0%{transform:translate(100%);opacity:.8}to{transform:translate(0);opacity:1}}.gvm-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.gvm-detail-title{font-size:1rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gvm-detail-body{flex:1;overflow-y:auto;padding:20px}.gvm-detail-img{width:100%;max-height:280px;object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px}.gvm-detail-table{width:100%;font-size:.8rem;border-collapse:collapse}.gvm-detail-table tr{border-bottom:1px solid #f3f4f6}.gvm-detail-table td{padding:6px 0;vertical-align:top}.gvm-detail-table td:first-child{color:#9ca3af;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;width:100px;padding-right:10px}.grid-search-input.populated{background:#b873330d;border-color:var(--color-copper, #b87333)}.grid-price-cell{font-weight:500;color:var(--color-sage, #7c9082)}.grid-total-display{font-weight:600;color:var(--text-primary, #1a1a1a);background:var(--bg-tertiary, #f5f5f5);border-radius:4px;padding:6px 10px;text-align:right}.grid-move-btn{width:28px;height:28px;border:none;background:var(--bg-tertiary, #f5f5f5);color:var(--text-tertiary, #737373);border-radius:6px;font-size:14px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-move-btn:hover{background:var(--border-medium, #d4d4d4);color:var(--text-primary, #1a1a1a)}.grid-drag-handle{width:28px;height:28px;background:var(--bg-tertiary, #f5f5f5);color:var(--text-muted, #a3a3a3);border-radius:6px;cursor:grab;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-drag-handle:hover{background:var(--border-medium, #d4d4d4);color:var(--text-secondary, #404040)}.grid-remove-btn{width:28px;height:28px;border:none;background:var(--color-error-light, #fbeae8);color:var(--color-error, #c44536);border-radius:6px;font-size:16px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-remove-btn:hover{background:var(--color-error, #c44536);color:#fff}.add-row-btn{font-family:var(--font-primary, "DM Sans", sans-serif);background:var(--bg-primary, #ffffff);border:2px dashed var(--border-medium, #d4d4d4);color:var(--text-tertiary, #737373);padding:14px 24px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.add-row-btn:hover{border-color:var(--color-copper, #b87333);color:var(--color-copper, #b87333);background:#b873330a}.room-header-row{background:var(--color-charcoal, #1a1a1a)!important}.room-header-content{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;white-space:nowrap}.room-header-content .room-name{white-space:nowrap}.room-header-content .room-drag-handle{cursor:grab;opacity:.6;font-size:14px;letter-spacing:-2px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px;transition:opacity .15s ease,background .15s ease}.room-header-content .room-drag-handle:hover{opacity:1;background:#fff3}.room-header-content .room-drag-handle:active{cursor:grabbing}.room-header-row[draggable=true]{cursor:grab}.room-header-row[draggable=true]:active{cursor:grabbing}.room-header-row.dragging{opacity:.5}.room-header-content .room-count{background:#ffffff26;padding:2px 10px;border-radius:12px;font-size:.75rem}.room-header-row.blank-room{background:var(--color-slate, #404040)!important}.room-header-row.bath-room{background:#4a7c8c!important}.room-header-row.kitchen-room{background:var(--color-copper, #b87333)!important}.room-header-row.laundry-room{background:var(--color-sage, #7c9082)!important}.room-header-row.alfresco-room{background:#6b8e6b!important}.room-header-row.butlers-room{background:#8b7355!important}.room-header-row.standard-room{background:#5a6f7a!important}.room-header-row.upgrade-room{background:#9b7b3b!important}.room-header-row.other-room{background:#7a7a7a!important}.grid-row[data-room=bath]>div:first-child,.grid-row.bath-room-row>div:first-child{border-left:3px solid #4a7c8c}.grid-row[data-room=kitchen]>div:first-child,.grid-row.kitchen-room-row>div:first-child{border-left:3px solid var(--color-copper, #b87333)}.grid-row[data-room=laundry]>div:first-child,.grid-row.laundry-room-row>div:first-child{border-left:3px solid var(--color-sage, #7c9082)}.grid-row[data-room=alfresco]>div:first-child,.grid-row.alfresco-room-row>div:first-child{border-left:3px solid #6b8e6b}.grid-row[data-room=butlers]>div:first-child,.grid-row.butlers-room-row>div:first-child{border-left:3px solid #8b7355}.grid-row[data-room=standard]>div:first-child,.grid-row.standard-room-row>div:first-child{border-left:3px solid #5a6f7a}.grid-row[data-room=upgrade]>div:first-child,.grid-row.upgrade-room-row>div:first-child{border-left:3px solid #9b7b3b}.global-search-dropdown{font-family:var(--font-primary, "DM Sans", sans-serif);background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e5e5e5);border-radius:8px;box-shadow:0 8px 24px #0000001f}.global-search-dropdown li{padding:12px 16px;font-size:.875rem;color:var(--text-primary, #1a1a1a);border-bottom:1px solid var(--border-light, #e5e5e5);transition:background-color .1s ease}.global-search-dropdown li:last-child{border-bottom:none}.global-search-dropdown li:hover{background:var(--bg-secondary, #fafafa)}.global-search-dropdown li.active{background:#b873331f!important;outline:2px solid var(--color-copper, #b87333);outline-offset:-2px;border-radius:6px}.modal{background:#1a1a1a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{font-family:var(--font-primary, "DM Sans", sans-serif);background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 24px 48px #0003;border:1px solid var(--border-light, #e5e5e5);padding:32px;max-width:480px}.modal-content h3{font-family:var(--font-display, "Fraunces", Georgia, serif);font-weight:600;font-size:1.5rem;color:var(--text-primary, #1a1a1a);margin-bottom:24px}.modal-content label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #404040);display:block;margin-bottom:6px}.modal-content input[type=text],.modal-content input[type=email],.modal-content input[type=tel],.modal-content select,.modal-content textarea{font-family:var(--font-primary, "DM Sans", sans-serif);width:100%;padding:12px 14px;border:1px solid var(--border-light, #e5e5e5);border-radius:8px;font-size:1rem;color:var(--text-primary, #1a1a1a);background:var(--bg-primary, #ffffff);transition:all .15s ease;margin-bottom:16px}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{outline:none;border-color:var(--color-copper, #b87333);box-shadow:0 0 0 3px #b8733326}.modal-content .primary-btn{background:var(--color-charcoal, #1a1a1a);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .15s ease}.modal-content .primary-btn:hover{background:var(--color-graphite, #2d2d2d);transform:translateY(-1px)}.modal-content .secondary-btn{background:var(--bg-tertiary, #f5f5f5);color:var(--text-secondary, #404040);border:1px solid var(--border-medium, #d4d4d4);padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .15s ease}.modal-content .secondary-btn:hover{background:var(--bg-primary, #ffffff);border-color:var(--text-tertiary, #737373)}.empty-state{text-align:center;padding:80px 40px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-state-icon{color:var(--border-medium, #d4d4d4);margin-bottom:8px}.empty-state-title{font-family:var(--font-display, "Fraunces", Georgia, serif);font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0}.empty-state-text{font-size:1rem;color:var(--text-tertiary, #737373);margin:0;max-width:400px}.empty-state-hints{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap;justify-content:center}.empty-state-hints .hint{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-muted, #a3a3a3)}.empty-state-hints kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.75rem;font-weight:500;color:var(--text-secondary, #404040);background:var(--bg-tertiary, #f5f5f5);border:1px solid var(--border-light, #e5e5e5);border-radius:4px;box-shadow:0 1px 0 var(--border-medium, #d4d4d4)}#pdf-spinner{background:#1a1a1ab3!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#pdf-spinner>div{background:var(--bg-primary, #ffffff)!important;border-radius:16px!important;padding:40px!important;box-shadow:0 24px 48px #0003!important}#pdf-spinner div[style*=border-top]{border-color:var(--border-light, #e5e5e5)!important;border-top-color:var(--color-copper, #b87333)!important}.grid-product-image{border-radius:8px;border:1px solid var(--border-light, #e5e5e5);background:var(--bg-primary, #ffffff);cursor:pointer;transition:box-shadow .15s,border-color .15s}.grid-product-image:hover{border-color:var(--color-copper, #b87333);box-shadow:0 2px 8px #b8733333}.grid-product-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a80;display:flex;align-items:center;justify-content:center;z-index:10000;animation:gridPdmFadeIn .15s ease}@keyframes gridPdmFadeIn{0%{opacity:0}to{opacity:1}}.grid-product-modal{background:var(--color-white, #ffffff);border-radius:16px;box-shadow:0 24px 48px #0003;width:min(440px,92vw);max-height:85vh;overflow-y:auto;animation:gridPdmSlideUp .2s ease}@keyframes gridPdmSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.grid-pdm-header{display:flex;justify-content:flex-end;padding:12px 16px 0}.grid-pdm-close{background:transparent;border:none;cursor:pointer;font-size:24px;color:var(--color-stone, #737373);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.grid-pdm-close:hover{color:var(--color-charcoal, #1a1a1a);background:var(--color-cloud, #f5f5f5)}.grid-pdm-body{padding:0 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.grid-pdm-img{width:220px;height:220px;object-fit:contain;border-radius:12px}.grid-pdm-title{font-size:17px;font-weight:700;color:var(--color-charcoal, #1a1a1a);text-align:center;line-height:1.4;margin:0}.grid-pdm-code{color:var(--color-copper, #b87333)}.grid-pdm-specs{width:100%;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;line-height:1.5;margin:0}.grid-pdm-specs dt{color:var(--color-stone, #737373);font-weight:500;white-space:nowrap}.grid-pdm-specs dd{color:var(--color-charcoal, #1a1a1a);margin:0}.grid-pdm-desc{font-size:13px;color:var(--color-slate, #404040);line-height:1.55;border-top:1px solid var(--border-light, #e5e5e5);padding-top:12px;width:100%}.grid-pdm-price{font-size:20px;font-weight:700;color:var(--color-charcoal, #1a1a1a)}.grid-pdm-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.grid-pdm-link{font-size:13px;color:var(--color-copper, #b87333);text-decoration:none;font-weight:500;transition:color .15s}.grid-pdm-link:hover{color:var(--color-charcoal, #1a1a1a);text-decoration:underline}.grid-content::-webkit-scrollbar,.modal-content::-webkit-scrollbar{width:8px;height:8px}.grid-content::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:var(--bg-tertiary, #f5f5f5);border-radius:4px}.grid-content::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:var(--border-medium, #d4d4d4);border-radius:4px}.grid-content::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #a3a3a3)}.modal-content input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-copper, #b87333);cursor:pointer;margin-right:10px}.modal-content input[type=file]{font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.875rem;color:var(--text-secondary, #404040)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:fadeIn .2s ease-out}.modal-content{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-section-title{font-family:var(--font-primary, "DM Sans", sans-serif);font-weight:600;font-size:.875rem;color:var(--text-secondary, #404040);margin:24px 0 12px;padding-top:16px;border-top:1px solid var(--border-light, #e5e5e5)}.form-section-title:first-of-type{margin-top:0;padding-top:0;border-top:none}.label-optional{font-weight:400;color:var(--text-muted, #a3a3a3);font-size:.875em}.checkbox-group{display:flex;flex-direction:column;gap:12px;margin:16px 0;padding:16px;background:var(--bg-secondary, #fafafa);border-radius:8px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.875rem;color:var(--text-secondary, #404040)}.checkbox-label input[type=checkbox]{margin:0}.checkbox-label span{-webkit-user-select:none;user-select:none}.logo-preview{min-height:60px;max-height:120px;width:auto;max-width:200px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e5e5e5);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:12px 0;padding:8px}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.tip-tail-section{margin-bottom:16px;padding:16px;background:var(--bg-secondary, #fafafa);border-radius:8px}.tip-tail-section label,.tip-tail-section select{margin-bottom:8px}.tip-tail-section input[type=file]{margin-bottom:8px;font-size:.875rem}.file-status{font-size:.875rem;color:var(--color-sage, #7c9082);margin-top:4px}.btn-sm{padding:6px 12px!important;font-size:.75rem!important;margin-bottom:8px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-light, #e5e5e5)}.modal-actions .primary-btn,.modal-actions .secondary-btn{min-width:100px}.modal-wide{max-width:600px!important}.file-drop-zone{border:2px dashed var(--border-medium, #d4d4d4);padding:48px 24px;text-align:center;margin:20px 0;border-radius:12px;background:var(--bg-secondary, #fafafa);cursor:pointer;transition:all .2s ease}.file-drop-zone:hover{border-color:var(--color-copper, #b87333);background:#b873330a}.file-drop-zone.drag-over{border-color:var(--color-copper, #b87333);background:#b8733314}.drop-zone-text{margin:0 0 8px;color:var(--text-secondary, #404040);font-size:1rem;font-weight:500}.drop-zone-formats{margin:0;color:var(--text-muted, #a3a3a3);font-size:.875rem}.file-selected-info{margin:16px 0;padding:12px 16px;background:#7c90821f;border:1px solid var(--color-sage, #7c9082);border-radius:8px;color:var(--color-sage-dark, #5a6b5e)}.step-description{margin-bottom:20px;color:var(--text-secondary, #404040);font-size:1rem}.import-mode-options{margin:24px 0}.radio-label{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;cursor:pointer;padding:16px;background:var(--bg-secondary, #fafafa);border:1px solid var(--border-light, #e5e5e5);border-radius:8px;transition:all .15s ease}.radio-label:hover{border-color:var(--border-medium, #d4d4d4);background:var(--bg-primary, #ffffff)}.radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--color-copper, #b87333);margin-top:2px;flex-shrink:0}.radio-label span{flex:1;-webkit-user-select:none;user-select:none}.radio-label strong{color:var(--text-primary, #1a1a1a)}.warning-box{margin:16px 0;padding:16px;background:var(--color-error-light, #fbeae8);border:1px solid var(--color-error, #c44536);border-radius:8px;color:var(--color-error, #c44536);font-size:.875rem}.processing-step{text-align:center;padding:48px 24px}.spinner{border:4px solid var(--border-light, #e5e5e5);border-top:4px solid var(--color-copper, #b87333);border-radius:50%;width:48px;height:48px;animation:spin .8s linear infinite;margin:0 auto 20px}.processing-step p{margin:0;color:var(--text-secondary, #404040);font-size:1rem}.success-title{margin:0 0 16px;color:var(--color-sage, #7c9082);font-size:1.25rem;font-weight:600}.import-summary{margin-bottom:20px;padding:16px;background:var(--bg-secondary, #fafafa);border-radius:8px;font-size:.9375rem;line-height:1.6}.not-found-section{margin-top:24px}.not-found-title{margin:0 0 12px;color:var(--color-error, #c44536);font-size:.875rem;font-weight:600}.not-found-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-light, #e5e5e5);padding:12px 16px;border-radius:8px;background:var(--bg-secondary, #fafafa);font-size:.875rem}.modal-confirm{max-width:420px!important}.confirm-text{margin-bottom:16px;color:var(--text-secondary, #404040);line-height:1.6}.clear-options{margin-bottom:24px;padding:12px 16px;background:var(--bg-tertiary, #f5f5f5);border-radius:8px}.clear-options .checkbox-label{margin:0;font-size:.875rem}.settings-section{margin-bottom:24px}.section-description{margin:0 0 20px;color:var(--text-muted, #a3a3a3);font-size:.875rem}.btn-refresh{width:100%;padding:12px 20px;margin-top:16px;background:var(--bg-tertiary, #f5f5f5);color:var(--color-copper, #b87333);border:1px solid var(--color-copper, #b87333);border-radius:8px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-refresh:hover{background:#b8733314}.changelog-title{display:flex;align-items:center;gap:8px}.version-highlight{color:var(--color-copper, #b87333);font-weight:700}.changelog-content{max-height:400px;overflow-y:auto;line-height:1.7;color:var(--text-secondary, #404040);padding-right:8px}.changelog-content h4{color:var(--text-primary, #1a1a1a);margin:20px 0 10px;font-size:1rem}.changelog-content ul{margin:0 0 16px;padding-left:20px}.changelog-content li{margin-bottom:6px}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#1a1a1ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center}.spinner-content{background:var(--bg-primary, #ffffff);padding:40px 48px;border-radius:16px;text-align:center;max-width:320px;box-shadow:0 24px 48px #0003}.spinner-content .spinner{width:48px;height:48px;margin:0 auto 20px}.spinner-content p{margin:0;color:var(--text-secondary, #404040);font-size:1rem;font-weight:500}#sort-refresh-btn{margin-left:8px;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--color-copper, #b87333);padding:4px;border-radius:4px;transition:all .15s ease}#sort-refresh-btn:hover{background:#b873331a}.header-bottom{display:flex;justify-content:space-between;align-items:center;padding:8px 32px;background:var(--bg-secondary, #fafafa);border-top:1px solid var(--border-light, #e5e5e5)}.header-meta{display:flex;align-items:center;gap:12px}.version-badge{font-size:.75rem;color:var(--text-muted, #a3a3a3);background:var(--bg-tertiary, #f5f5f5);padding:4px 10px;border-radius:12px;cursor:pointer;transition:all .15s ease}.version-badge:hover{background:var(--border-light, #e5e5e5);color:var(--text-secondary, #404040)}.selection-summary{font-size:.875rem;color:var(--text-secondary, #404040)}.selection-summary #total-value{font-weight:600;color:var(--color-copper, #b87333)}.header-left h2{font-family:var(--font-primary, "DM Sans", sans-serif);font-size:1.125rem;font-weight:500;color:var(--text-secondary, #404040);margin:0}.panel-logo{height:28px;width:auto}.modal-fullscreen{width:90vw;max-width:1000px;height:85vh;max-height:85vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.modal-fullscreen>h3{padding:20px 24px 0;margin:0}.modal-fullscreen #import-spec-results-step{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 24px;overflow:hidden}.modal-fullscreen #import-spec-results-step .modal-actions{flex-shrink:0}.modal-fullscreen #spec-results-content{flex:1;min-height:0;overflow-y:auto}.user-guide-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:var(--color-charcoal, #1a1a1a);color:#fff;flex-shrink:0}.user-guide-header h2{margin:0;font-size:1.25rem;font-weight:600;font-family:var(--font-primary, "DM Sans", sans-serif)}.modal-close-btn{width:40px;height:40px;border:none;background:#ffffff1a;color:#fffc;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close-btn:hover{background:#fff3;color:#fff}.user-guide-content{flex:1;overflow-y:auto;padding:32px;background:var(--bg-primary, #ffffff)}.user-guide-content h3{font-family:var(--font-display, "Fraunces", serif);font-size:1.5rem;font-weight:500;color:var(--color-charcoal, #1a1a1a);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--color-copper, #b87333)}.user-guide-content h4{font-family:var(--font-primary, "DM Sans", sans-serif);font-size:1.125rem;font-weight:600;color:var(--color-charcoal, #1a1a1a);margin:28px 0 12px}.user-guide-content p{font-size:.9375rem;line-height:1.7;color:var(--text-secondary, #404040);margin:0 0 16px}.user-guide-content ul,.user-guide-content ol{margin:0 0 20px;padding-left:24px}.user-guide-content li{font-size:.9375rem;line-height:1.7;color:var(--text-secondary, #404040);margin-bottom:8px}.user-guide-content .guide-header{display:flex;align-items:center;gap:20px;padding:32px 0;margin-bottom:32px;border-bottom:1px solid var(--border-light, #e5e5e5)}.user-guide-content .guide-logo{height:44px;width:auto}.user-guide-content .guide-header-text{display:flex;flex-direction:column;gap:2px}.user-guide-content .guide-header-title{font-family:var(--font-display, "Fraunces", serif);font-size:1.5rem;font-weight:600;color:var(--color-charcoal, #1a1a1a);margin:0;line-height:1.2}.user-guide-content .guide-header-subtitle{font-size:.875rem;color:var(--color-copper, #b87333);font-weight:500;margin:0;text-transform:uppercase;letter-spacing:.05em}.user-guide-content .guide-section{margin-bottom:36px}.user-guide-content .guide-tip{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-left:4px solid var(--color-copper, #b87333);padding:16px 20px;border-radius:0 8px 8px 0;margin:20px 0}.user-guide-content .guide-tip strong{color:#92400e}.user-guide-content .guide-tip p{margin:0;color:#78350f}.user-guide-content .shortcut-table{width:100%;border-collapse:collapse;margin:16px 0 24px}.user-guide-content .shortcut-table th,.user-guide-content .shortcut-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-light, #e5e5e5)}.user-guide-content .shortcut-table th{background:var(--bg-tertiary, #f5f5f5);font-weight:600;color:var(--color-charcoal, #1a1a1a);font-size:.875rem}.user-guide-content .shortcut-table td{font-size:.875rem;color:var(--text-secondary, #404040)}.user-guide-content .shortcut-table kbd{display:inline-block;padding:4px 8px;background:var(--color-charcoal, #1a1a1a);color:#fff;border-radius:4px;font-family:SF Mono,Consolas,monospace;font-size:.75rem;font-weight:500}.user-guide-content .guide-img{max-width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:16px 0}.user-guide-content .step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-copper, #b87333);color:#fff;border-radius:50%;font-weight:600;font-size:.875rem;margin-right:12px}.user-guide-content .guide-footer{margin-top:48px;padding-top:32px;border-top:1px solid var(--border-light, #e5e5e5);text-align:center}.user-guide-content .guide-footer-brand{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.user-guide-content .guide-footer-logo{height:32px;width:auto;opacity:.7}.user-guide-content .guide-footer-tagline{font-size:.875rem;color:var(--text-muted, #a3a3a3);font-style:italic}.user-guide-content .guide-footer-copyright{font-size:.75rem;color:var(--text-muted, #a3a3a3);margin:0}.spec-summary-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.spec-stat{font-size:13px;padding:4px 12px;border-radius:16px;white-space:nowrap}.spec-stat strong{font-weight:700}.spec-stat-verified{background:#dcfce7;color:#166534}.spec-stat-alt{background:#dbeafe;color:#1e40af}.spec-stat-ai{background:#fef3c7;color:#92400e}.spec-stat-none{background:#fee2e2;color:#991b1b}.spec-table-wrap{max-height:360px;overflow-y:auto;border:1px solid var(--border-light, #e5e5e5)}.modal-fullscreen .spec-table-wrap{max-height:none;overflow-y:visible;border-radius:8px}.spec-table{width:100%;border-collapse:collapse;font-size:13px}.spec-table thead{position:sticky;top:0;z-index:1}.spec-table th{background:var(--bg-header, #f5f5f5);padding:8px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, #737373);border-bottom:1px solid var(--border-light, #e5e5e5)}.spec-table td{padding:8px 10px;border-bottom:1px solid var(--border-light, #e5e5e5);vertical-align:top}.spec-row:last-child td{border-bottom:none}.spec-row-verified,.spec-row-seima-own{background:#f0fdf4}.spec-row-alternative{background:#eff6ff}.spec-row-catalog-suggestion{background:#faf5ff}.spec-row-ai-suggested{background:#fffbeb}.spec-row-unmatched{background:#fef2f2}.spec-section-header td{background:#1a1a2e;color:#fff;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:6px 10px}.spec-row-check{cursor:pointer;width:16px;height:16px}.spec-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.spec-badge-seima,.spec-badge-verified{background:#dcfce7;color:#166534}.spec-badge-alt{background:#dbeafe;color:#1e40af}.spec-badge-suggest{background:#f3e8ff;color:#6b21a8}.spec-badge-ai{background:#fef3c7;color:#92400e}.spec-badge-none{background:#fee2e2;color:#991b1b}.spec-action-btn{padding:4px 12px;border-radius:6px;border:1px solid #2d8a56;color:#2d8a56;background:#fff;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.spec-action-btn:hover:not(:disabled){background:#2d8a56;color:#fff}.spec-add-done,.spec-action-btn:disabled{background:#dcfce7;border-color:#2d8a56;color:#166534;cursor:default}.toast-container{position:fixed;bottom:24px;right:24px;z-index:100000;display:flex;flex-direction:column-reverse;gap:12px;pointer-events:none;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-primary, #ffffff);border-radius:10px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;pointer-events:auto;opacity:0;transform:translate(100%);transition:opacity .2s,transform .3s cubic-bezier(.4,0,.2,1)}.toast-enter{opacity:1;transform:translate(0)}.toast-exit{animation:toast-slide-out .2s ease-in forwards}@keyframes toast-slide-out{to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.toast-success .toast-icon{background:var(--color-sage, #7c9082)}.toast-error .toast-icon{background:var(--color-error, #c44536)}.toast-warning .toast-icon{background:var(--color-warning, #d4915a)}.toast-info .toast-icon{background:var(--color-copper, #b87333)}.toast-content{flex:1;min-width:0}.toast-message{display:block;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.9375rem;font-weight:500;color:var(--text-primary, #1a1a1a);line-height:1.4}.toast-action{display:inline-block;margin-top:8px;padding:6px 14px;font-family:var(--font-primary, "DM Sans", sans-serif);font-size:.8125rem;font-weight:600;color:var(--color-copper, #b87333);background:#b873331a;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.toast-action:hover{background:#b8733333;color:var(--color-copper-dark, #8b5a2b)}.toast-close{flex-shrink:0;width:24px;height:24px;padding:0;font-size:18px;font-weight:300;color:var(--text-muted, #a3a3a3);background:none;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.toast-close:hover{color:var(--text-primary, #1a1a1a);background:var(--bg-tertiary, #f5f5f5)}.toast-success{border-left:3px solid var(--color-sage, #7c9082)}.toast-error{border-left:3px solid var(--color-error, #c44536)}.toast-warning{border-left:3px solid var(--color-warning, #d4915a)}.toast-info{border-left:3px solid var(--color-copper, #b87333)}@media (max-width: 480px){.toast-container{left:16px;right:16px;bottom:16px;max-width:none}.toast{transform:translateY(100%)}.toast-enter{transform:translateY(0)}@keyframes toast-slide-out{to{opacity:0;transform:translateY(100%)}}}@media (max-width: 1024px){.grid-header-row>div,.grid-row>div{padding:8px 10px}.col-notes{display:none}#pdf-wizard .wizard-sidebar{width:320px;min-width:320px;padding:24px}.header-right{gap:8px}.header-right .btn-import-quote,.header-right .btn-clear-all,.header-right .btn-settings{padding:8px 12px;font-size:.8125rem}}@media (max-width: 768px){.header-top{flex-direction:column;gap:16px;padding:16px}.header-left{width:100%;text-align:center}.header-right{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.header-right button,.sort-controls{width:100%;justify-content:center}.grid-table-container{border:none;background:none;box-shadow:none}.grid-header-row{display:none!important}.grid-row{display:grid!important;grid-template-columns:80px 1fr;grid-template-rows:auto auto auto;gap:8px;padding:16px;margin-bottom:12px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e5e5e5);border-radius:12px;box-shadow:0 1px 3px #0000000a}.grid-row.room-header-row{grid-template-columns:1fr;padding:12px 16px;margin-bottom:8px;border-radius:8px}.grid-row>div{border:none!important;padding:0!important}.grid-row .col-image{grid-row:1 / 3;align-self:start}.grid-row .grid-product-image{width:80px;height:80px;object-fit:contain}.grid-row .col-product{grid-column:2;grid-row:1}.grid-row .col-product .grid-product-name{font-size:.9375rem;line-height:1.4}.grid-row .col-room,.grid-row .col-qty,.grid-row .col-price,.grid-row .col-total{grid-column:2}.grid-row .col-room{grid-row:2}.grid-row .col-room select{width:100%;padding:10px 12px;font-size:1rem}.grid-row .col-qty,.grid-row .col-price{display:inline-block!important;width:auto!important}.grid-row .col-total{grid-column:1 / -1;grid-row:3;display:flex!important;justify-content:space-between;align-items:center;padding-top:12px!important;margin-top:8px;border-top:1px solid var(--border-light, #e5e5e5)!important}.grid-row .col-total:before{content:"Total";font-weight:500;color:var(--text-tertiary, #737373)}.grid-row .col-actions{grid-column:1 / -1;grid-row:4;display:flex!important;justify-content:flex-end;gap:8px;padding-top:12px!important}.grid-row .grid-actions-group{display:flex;gap:8px}.grid-row .grid-move-btn,.grid-row .grid-drag-handle,.grid-row .grid-remove-btn{width:36px;height:36px;font-size:16px}.grid-row .col-notes{display:none!important}.add-row-btn{width:100%}#pdf-wizard .wizard-content{flex-direction:column}#pdf-wizard .wizard-sidebar{width:100%;min-width:100%;order:-1;max-height:200px;overflow-y:auto}#pdf-wizard .wizard-main{padding:20px}.wizard-progress{padding:12px 16px;overflow-x:auto}.wizard-step-label{font-size:.75rem}.wizard-step-indicator{width:28px;height:28px;font-size:.75rem}.modal-content{max-width:100%!important;max-height:100vh;margin:0;border-radius:0}.empty-state{padding:48px 24px}.empty-state-icon svg{width:60px;height:60px}.empty-state-title{font-size:1.25rem}.empty-state-hints{flex-direction:column;gap:12px}}@media (max-width: 480px){.header-right{grid-template-columns:1fr}.grid-row{grid-template-columns:60px 1fr;padding:12px}.grid-row .grid-product-image{width:60px;height:60px}.wizard-step-label{display:none}.wizard-step{flex-direction:column;gap:4px}}@media (hover: none) and (pointer: coarse){.btn-import-quote,.btn-clear-all,.btn-settings,.btn-create{min-height:44px}.grid-move-btn,.grid-drag-handle,.grid-remove-btn{min-width:44px;min-height:44px}.grid-row:hover{background:inherit}.btn-import-quote:active,.btn-clear-all:active,.btn-settings:active,.btn-create:active{transform:scale(.98)}}@media print{.grid-header,.grid-footer,.header-right,.col-actions,.toast-container{display:none!important}.grid-row{break-inside:avoid}}.ai-chat-trigger{position:fixed;bottom:24px;right:24px;z-index:9990;width:52px;height:52px;border-radius:50%;border:none;background:var(--color-charcoal, #1a1a1a);color:#fff;cursor:pointer;box-shadow:0 4px 16px #0003,0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.ai-chat-trigger:hover{transform:scale(1.08);box-shadow:0 6px 24px #00000040,0 3px 6px #00000026;background:var(--color-graphite, #2d2d2d)}.ai-chat-trigger:active{transform:scale(.96)}.ai-chat-panel{position:fixed;top:0;right:-640px;width:620px;min-width:380px;max-width:90vw;height:100vh;z-index:9995;background:var(--color-white, #ffffff);box-shadow:-4px 0 24px #0000001f,-1px 0 4px #0000000f;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-primary, "DM Sans", sans-serif);overflow:hidden}.ai-chat-panel.open{right:0}.ai-chat-resize-handle{position:absolute;left:0;top:0;width:6px;height:100%;cursor:ew-resize;z-index:10;background:transparent;transition:background .15s}.ai-chat-resize-handle:hover,.ai-chat-resize-handle.active{background:var(--color-ocean, #0077b6);opacity:.4}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-charcoal, #1a1a1a);color:#fff;flex-shrink:0}.ai-chat-header-left{display:flex;align-items:center;gap:12px}.ai-chat-avatar{width:36px;height:36px;border-radius:10px;background:var(--color-copper, #b87333);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:.5px}.ai-chat-title{font-weight:600;font-size:15px;line-height:1.2}.ai-chat-subtitle{font-size:12px;opacity:.6;line-height:1.2}.ai-chat-header-actions{display:flex;gap:4px}.ai-chat-clear-btn,.ai-chat-close-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;opacity:.7;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.ai-chat-clear-btn:hover,.ai-chat-close-btn:hover{opacity:1;background:#ffffff1a}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--color-ivory, #fafafa)}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;flex:1}.ai-chat-welcome-icon{width:56px;height:56px;border-radius:16px;background:var(--color-cloud, #f5f5f5);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--color-stone, #737373)}.ai-chat-welcome h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-charcoal, #1a1a1a)}.ai-chat-welcome p{margin:0 0 24px;font-size:14px;color:var(--color-stone, #737373);line-height:1.5;max-width:300px}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-suggestion-btn{padding:8px 14px;border-radius:20px;border:1px solid var(--color-mist, #e5e5e5);background:var(--color-white, #ffffff);color:var(--color-slate, #404040);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s ease;line-height:1.3}.ai-suggestion-btn:hover{border-color:var(--color-copper, #b87333);color:var(--color-copper, #b87333);background:var(--color-warning-light, #fef3e8)}.ai-msg{display:flex;flex-direction:column;max-width:100%}.ai-msg-user{align-items:flex-end}.ai-msg-user .ai-msg-bubble{background:var(--color-charcoal, #1a1a1a);color:#fff;border-radius:16px 16px 4px;max-width:85%}.ai-msg-assistant .ai-msg-bubble{background:var(--color-white, #ffffff);color:var(--color-charcoal, #1a1a1a);border-radius:16px 16px 16px 4px;max-width:90%;border:1px solid var(--color-mist, #e5e5e5)}.ai-msg-error .ai-msg-bubble{background:var(--color-error-light, #fbeae8);border-radius:16px 16px 16px 4px;max-width:90%;border:1px solid var(--color-error, #c44536)}.ai-msg-bubble{padding:12px 16px;font-size:14px;line-height:1.55;word-break:break-word}.ai-msg-bubble p{margin:0 0 8px}.ai-msg-bubble p:last-child{margin-bottom:0}.ai-msg-bubble h3,.ai-msg-bubble h4{margin:12px 0 6px;font-size:14px;font-weight:600;color:var(--color-charcoal, #1a1a1a)}.ai-msg-bubble h3:first-child,.ai-msg-bubble h4:first-child{margin-top:0}.ai-msg-bubble ul{margin:6px 0;padding-left:18px}.ai-msg-bubble li{margin-bottom:4px}.ai-msg-bubble code{background:var(--color-cloud, #f5f5f5);padding:2px 6px;border-radius:4px;font-size:13px;font-family:SF Mono,Consolas,monospace}.ai-msg-bubble strong{font-weight:600}.ai-msg-error{color:var(--color-error, #c44536);font-size:13px}.ai-msg-streaming{white-space:pre-wrap}.ai-msg-streaming:after{content:"";display:inline-block;width:2px;height:1em;background:var(--color-copper, #b87333);margin-left:2px;animation:ai-cursor-blink .8s infinite;vertical-align:text-bottom}@keyframes ai-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.ai-msg-thinking{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 20px}.ai-thinking-spinner{font-size:18px;color:var(--color-copper, #b87333);line-height:1}.ai-thinking-status{font-size:12px;color:var(--color-pewter, #a3a3a3);letter-spacing:.01em;transition:opacity .2s ease;min-height:16px}.ai-chat-input-area{padding:16px 20px;border-top:1px solid var(--color-mist, #e5e5e5);background:var(--color-white, #ffffff);flex-shrink:0}.ai-chat-input-wrapper{display:flex;align-items:flex-end;gap:8px;background:var(--color-cloud, #f5f5f5);border-radius:12px;padding:4px 4px 4px 16px;border:1px solid var(--color-mist, #e5e5e5);transition:border-color .15s}.ai-chat-input-wrapper:focus-within{border-color:var(--color-copper, #b87333)}.ai-chat-input{flex:1;border:none;background:transparent;font-size:14px;font-family:inherit;line-height:1.5;padding:8px 0;resize:none;outline:none;color:var(--color-charcoal, #1a1a1a);max-height:120px}.ai-chat-input::placeholder{color:var(--color-pewter, #a3a3a3)}.ai-chat-send-btn{width:36px;height:36px;border-radius:10px;border:none;background:var(--color-charcoal, #1a1a1a);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s,transform .1s}.ai-chat-send-btn:hover:not(:disabled){background:var(--color-copper, #b87333)}.ai-chat-send-btn:active:not(:disabled){transform:scale(.92)}.ai-chat-send-btn:disabled{opacity:.3;cursor:default}.ai-chat-footer{text-align:center;font-size:11px;color:var(--color-pewter, #a3a3a3);margin-top:8px}.ai-comparison-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0;border-radius:8px;overflow:hidden;border:1px solid var(--color-mist, #e5e5e5)}.ai-comparison-table th{background:var(--color-cloud, #f5f5f5);font-weight:600;text-align:left;padding:8px 10px;border-bottom:2px solid var(--color-mist, #e5e5e5);color:var(--color-charcoal, #1a1a1a);white-space:nowrap}.ai-comparison-table td{padding:6px 10px;border-bottom:1px solid var(--color-mist, #e5e5e5);color:var(--color-slate, #404040);vertical-align:top}.ai-comparison-table tr:last-child td{border-bottom:none}.ai-comparison-table tr:hover td{background:var(--color-cloud, #f5f5f5)}.ai-table-image-row td{text-align:center;padding:10px 8px;border-bottom:1px solid var(--color-mist, #e5e5e5)}.ai-table-product-img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--color-mist, #e5e5e5)}.ai-chat-image-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--color-pewter, #a3a3a3);transition:color .15s,background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-image-btn:hover{color:var(--color-copper, #b87333);background:var(--color-cloud, #f5f5f5)}.ai-chat-image-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:var(--color-cloud, #f5f5f5);border-radius:10px;border:1px solid var(--color-mist, #e5e5e5)}.ai-chat-image-preview img{width:48px;height:48px;object-fit:cover;border-radius:6px}.ai-chat-image-remove{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--color-pewter, #a3a3a3);transition:color .15s;display:flex;margin-left:auto}.ai-chat-image-remove:hover{color:var(--color-error, #c44536)}.ai-product-card{display:flex;gap:14px;padding:10px 12px;border:1px solid var(--color-mist, #e5e5e5);border-radius:10px;background:var(--color-white, #ffffff);margin:6px 0;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.ai-product-card:hover{border-color:var(--color-copper, #b87333);box-shadow:0 3px 12px #00000014;transform:translateY(-1px)}.ai-product-card-img{width:72px;height:72px;border-radius:8px;object-fit:contain;flex-shrink:0}.ai-product-card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.ai-product-card-name{font-size:13.5px;font-weight:600;color:var(--color-charcoal, #1a1a1a);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-product-card-meta{font-size:12px;color:var(--color-stone, #737373);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.ai-product-card-price{font-size:14px;font-weight:700;color:var(--color-charcoal, #1a1a1a)}.ai-card-add-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:6px;border:1px solid var(--color-copper, #b87333);background:var(--color-white, #ffffff);color:var(--color-copper, #b87333);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1.4;white-space:nowrap;flex-shrink:0}.ai-card-add-btn:hover{background:var(--color-copper, #b87333);color:var(--color-white, #ffffff)}.ai-card-add-btn.added{border-color:var(--color-sage, #7c9082);background:var(--color-success-light, #e8f0ea);color:var(--color-sage, #7c9082);pointer-events:none}.ai-show-more-btn{display:block;width:100%;padding:10px;margin:6px 0;border:1px dashed var(--color-mist, #e5e5e5);border-radius:10px;background:transparent;color:var(--color-copper, #b87333);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.ai-show-more-btn:hover{background:var(--color-cloud, #f5f5f5);border-color:var(--color-copper, #b87333)}.ai-product-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:aiModalFadeIn .15s ease}@keyframes aiModalFadeIn{0%{opacity:0}to{opacity:1}}.ai-product-modal{background:var(--color-white, #ffffff);border-radius:16px;box-shadow:0 24px 48px #0003;width:440px;max-width:92vw;max-height:85vh;overflow-y:auto;animation:aiModalSlideUp .2s ease}@keyframes aiModalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-product-modal-header{display:flex;justify-content:flex-end;padding:12px 16px 0}.ai-product-modal-close{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:6px;color:var(--color-pewter, #a3a3a3);transition:color .15s,background .15s;display:flex;align-items:center;justify-content:center}.ai-product-modal-close:hover{color:var(--color-charcoal, #1a1a1a);background:var(--color-cloud, #f5f5f5)}.ai-product-modal-body{padding:0 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.ai-product-modal-img{width:200px;height:200px;object-fit:contain;border-radius:12px}.ai-product-modal-title{font-size:17px;font-weight:700;color:var(--color-charcoal, #1a1a1a);text-align:center;line-height:1.35;margin:0}.ai-product-modal-specs{width:100%;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;line-height:1.5}.ai-product-modal-specs dt{color:var(--color-stone, #737373);font-weight:500;white-space:nowrap}.ai-product-modal-specs dd{color:var(--color-charcoal, #1a1a1a);margin:0}.ai-product-modal-desc{font-size:13px;color:var(--color-slate, #404040);line-height:1.55;width:100%;border-top:1px solid var(--color-mist, #e5e5e5);padding-top:12px}.ai-product-modal-price{font-size:22px;font-weight:700;color:var(--color-charcoal, #1a1a1a)}.ai-product-modal-add{width:100%;padding:12px;border-radius:10px;border:none;background:var(--color-charcoal, #1a1a1a);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.ai-product-modal-add:hover:not(:disabled){background:var(--color-copper, #b87333)}.ai-product-modal-add:active:not(:disabled){transform:scale(.98)}.ai-product-modal-add.added{background:var(--color-sage, #7c9082);cursor:default}.ai-add-product-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;border:1px solid var(--color-copper, #b87333);background:var(--color-white, #ffffff);color:var(--color-copper, #b87333);font-size:12px;font-weight:600;font-family:SF Mono,Consolas,monospace;cursor:pointer;transition:all .15s ease;line-height:1.4;white-space:nowrap}.ai-add-product-btn:hover:not(:disabled){background:var(--color-copper, #b87333);color:var(--color-white, #ffffff)}.ai-add-icon{font-size:13px;font-weight:700;line-height:1}.ai-add-product-btn.ai-add-success{border-color:var(--color-sage, #7c9082);background:var(--color-success-light, #e8f0ea);color:var(--color-sage, #7c9082);cursor:default}.ai-add-product-btn.ai-add-error{border-color:var(--color-error, #c44536);color:var(--color-error, #c44536);cursor:not-allowed}.ai-comp-card{border-color:#e8a94f;position:relative}.ai-comp-card:hover{border-color:#d4912a;box-shadow:0 3px 12px #d4912a26}.ai-comp-card-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fdf0d5;color:#9a6b1e;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.4;white-space:nowrap}.ai-comp-card-name{color:var(--color-charcoal, #1a1a1a)}.ai-comp-card-code{font-size:11px;font-family:SF Mono,Consolas,monospace;color:var(--color-stone, #737373)}.ai-comp-product-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;border:1px solid #e8a94f;background:#fdf8ef;color:#9a6b1e;font-size:12px;font-weight:600;font-family:SF Mono,Consolas,monospace;cursor:pointer;transition:all .15s ease;line-height:1.4;white-space:nowrap}.ai-comp-product-btn:hover{background:#e8a94f;color:#fff}.ai-comp-modal .ai-product-modal-header{justify-content:space-between;align-items:center}.ai-comp-modal-badge{padding:4px 12px;border-radius:6px;background:#fdf0d5;color:#9a6b1e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.ai-comp-modal-price small{font-size:12px;font-weight:400;color:var(--color-stone, #737373)}.ai-comp-modal-link{display:inline-block;padding:10px 20px;border-radius:8px;background:#fdf0d5;color:#9a6b1e;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s;text-align:center;width:100%}.ai-comp-modal-link:hover{background:#f5e0b5}.ai-comp-modal-loading{padding:32px;text-align:center;color:var(--color-stone, #737373);font-size:13px}.ai-chat-history-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;opacity:.7;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.ai-chat-history-btn:hover{opacity:1;background:#ffffff1a}.ai-chat-history-panel{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-white, #ffffff);z-index:10;display:none;flex-direction:column}.ai-chat-history-panel.open{display:flex}.ai-chat-history-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-charcoal, #1a1a1a);color:#fff;flex-shrink:0}.ai-chat-history-header h3{margin:0;font-size:15px;font-weight:600}.ai-chat-history-close{background:transparent;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;opacity:.7;transition:opacity .15s;display:flex}.ai-chat-history-close:hover{opacity:1}.ai-chat-history-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}.ai-chat-history-item{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--color-mist, #e5e5e5);border-radius:10px;background:var(--color-white, #ffffff);cursor:pointer;transition:border-color .15s,background .15s;font-family:inherit}.ai-chat-history-item:hover{border-color:var(--color-copper, #b87333);background:var(--color-cloud, #f5f5f5)}.ai-chat-history-title{font-size:13px;font-weight:600;color:var(--color-charcoal, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-history-meta{font-size:11px;color:var(--color-stone, #737373);margin-top:3px}.ai-chat-history-empty{text-align:center;color:var(--color-pewter, #a3a3a3);font-size:13px;padding:40px 20px}.ai-chat-restored{text-align:center;font-size:11px;color:var(--color-pewter, #a3a3a3);padding:6px 12px;background:var(--color-cloud, #f5f5f5);border-radius:12px;align-self:center}.ai-feedback-row{display:flex;gap:2px;padding:4px 0 0 4px}.ai-feedback-btn{background:transparent;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;color:var(--color-pewter, #a3a3a3);transition:color .15s,background .15s;display:flex;align-items:center;justify-content:center}.ai-feedback-btn:hover{background:var(--color-cloud, #f5f5f5);color:var(--color-slate, #404040)}.ai-feedback-btn.active.ai-feedback-up{color:var(--color-sage, #7c9082);background:var(--color-success-light, #e8f0ea)}.ai-feedback-btn.active.ai-feedback-down{color:var(--color-error, #c44536);background:var(--color-error-light, #fbeae8)}@media (max-width: 580px){.ai-chat-panel{width:100vw;right:-100vw}.ai-chat-trigger{bottom:16px;right:16px;width:48px;height:48px}.ai-product-modal{width:95vw}}.uv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9000;display:flex;align-items:center;justify-content:center;padding:1rem}.uv-modal{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000038;width:100%;max-width:1000px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:uv-fade-in .15s ease-out}@keyframes uv-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.uv-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.uv-header h2{font-size:1.1rem;font-weight:600;margin:0;color:#111;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uv-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:18px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0}.uv-close:hover{background:#e5e7eb;color:#111}.uv-body{flex:1;overflow-y:auto;padding:20px;min-height:0}.uv-search-prompt{max-width:500px;margin:3rem auto}.uv-search-prompt-label{font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.75rem;text-align:center}.uv-search-wrap{position:relative;margin-bottom:.5rem}.uv-search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;outline:none;box-sizing:border-box}.uv-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.uv-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;font-size:.9rem}.uv-search-results{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;margin-top:4px}.uv-search-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;cursor:pointer;border-bottom:1px solid #f3f4f6;font-size:.85rem}.uv-search-item:last-child{border-bottom:none}.uv-search-item:hover{background:#f9fafb}.uv-search-item img{width:36px;height:36px;object-fit:contain;border-radius:4px;flex-shrink:0;background:#f9fafb}.uv-search-item-info{flex:1;min-width:0}.uv-search-item-code{font-weight:600;color:#111;display:block}.uv-search-item-name{color:#6b7280;display:block;font-size:.8rem}.uv-search-item-type{color:#9ca3af;display:block;font-size:.75rem}.uv-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:400px}.uv-product-detail{display:flex;flex-direction:column;gap:12px;position:sticky;top:0;align-self:start;max-height:calc(88vh - 120px);overflow-y:auto}.uv-product-img{width:100%;max-height:220px;object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.uv-product-img-placeholder{width:100%;height:140px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#d1d5db;font-size:.85rem}.uv-product-table{font-size:.8rem;width:100%;border-collapse:collapse}.uv-product-table td{padding:4px 0;vertical-align:top}.uv-product-table td:first-child{color:#9ca3af;font-size:.7rem;font-weight:600;width:80px;padding-right:8px;text-transform:uppercase;letter-spacing:.3px}.uv-features-cell{font-size:.75rem;line-height:1.5;color:#374151}.uv-matches-panel{display:flex;flex-direction:column;min-width:0}.uv-matches-heading{font-size:.95rem;font-weight:600;color:#111;margin-bottom:10px}.uv-matches-panel .uv-search-wrap{margin-bottom:12px}.uv-matches-panel .uv-seima-search{font-size:.85rem;padding:9px 12px 9px 36px}.uv-results-area{flex:1;overflow-y:auto;min-height:0}.uv-section-divider{border-top:1px dashed #e5e7eb;margin:4px 0 8px}.uv-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:8px}.uv-match-card{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px;flex-wrap:wrap;transition:border-color .15s}.uv-match-card:hover{border-color:#93c5fd}.uv-card-expanded{border-color:#93c5fd;border-width:2px}.uv-card-expanded>.uv-match-img,.uv-card-expanded .uv-match-desc-preview,.uv-card-expanded .uv-match-spec,.uv-card-expanded .uv-match-reasons,.uv-card-expanded .uv-match-right{display:none}.uv-match-img{width:90px;height:90px;object-fit:contain;background:#f9fafb;border-radius:6px;flex-shrink:0;cursor:pointer;border:1px solid #e5e7eb;transition:box-shadow .15s,border-color .15s}.uv-match-img:hover{box-shadow:0 2px 8px #0000001f;border-color:#93c5fd;transform:scale(1.05)}.uv-match-body{flex:1;min-width:0}.uv-match-name{font-size:.85rem;font-weight:600;color:#111}.uv-match-meta{font-size:.75rem;color:#9ca3af;margin-top:2px}.uv-match-spec{font-size:.75rem;color:#6b7280;margin-top:2px}.uv-match-desc-preview{font-size:.73rem;color:#9ca3af;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.uv-match-reasons{font-size:.7rem;color:#9ca3af;font-style:italic;margin-top:2px}.uv-match-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.uv-match-price{font-size:.85rem;font-weight:600;color:#111;white-space:nowrap}.uv-btn-match{padding:5px 12px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid #1d4ed8;background:#2563eb;color:#fff;white-space:nowrap;transition:background .15s}.uv-btn-match:hover{background:#1d4ed8}.uv-btn-match:disabled{opacity:.5;cursor:not-allowed}.uv-match-expanded{width:100%;display:flex;gap:16px;padding-top:12px;border-top:1px solid #f3f4f6;margin-top:8px;animation:uv-expand-in .2s ease-out}@keyframes uv-expand-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.uv-expanded-img{width:240px;height:200px;object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0}.uv-expanded-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.uv-expanded-specs{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:.8rem;color:#374151}.uv-expanded-label{font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;margin-right:6px}.uv-expanded-desc{font-size:.78rem;color:#6b7280;line-height:1.5;margin-top:4px}.uv-btn-match-expanded{align-self:flex-end;margin-top:auto;padding:7px 16px;font-size:.8rem}.uv-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:8px;margin-left:4px;vertical-align:middle}.uv-badge-high{background:#dcfce7;color:#15803d}.uv-badge-med{background:#fef3c7;color:#92400e}.uv-badge-low{background:#fee2e2;color:#b91c1c}.uv-no-equivalent{margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb;text-align:center}.uv-no-equivalent-btn{background:none;border:none;color:#9ca3af;font-size:.8rem;cursor:pointer;padding:4px 8px;text-decoration:underline;text-underline-offset:2px}.uv-no-equivalent-btn:hover{color:#6b7280}.uv-footer{padding:.75rem 1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0}.uv-notice{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#fef3c7;border-radius:8px;font-size:.8rem;color:#92400e}.uv-notice-icon{font-size:1rem;flex-shrink:0}.uv-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px;animation:uv-fade-in .12s ease-out}.uv-confirm-box{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0000002e;padding:28px 32px;max-width:380px;text-align:center}.uv-confirm-message{font-size:.95rem;color:#111;line-height:1.5;margin-bottom:8px}.uv-confirm-product{font-size:.85rem;font-weight:600;color:#2563eb;margin-bottom:20px}.uv-confirm-actions{display:flex;gap:10px;justify-content:center}.uv-confirm-cancel{padding:8px 20px;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#374151;transition:background .15s}.uv-confirm-cancel:hover{background:#f3f4f6}.uv-confirm-done{padding:8px 20px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid #1d4ed8;background:#2563eb;color:#fff;transition:background .15s}.uv-confirm-done:hover{background:#1d4ed8}.uv-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);padding:12px 24px;border-radius:10px;font-size:.9rem;font-weight:500;z-index:9999;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;max-width:500px;text-align:center}.uv-toast-success{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.uv-toast-error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.uv-toast-visible{opacity:1;transform:translate(-50%) translateY(0)}.uv-empty{text-align:center;padding:1.5rem;color:#9ca3af;font-size:.85rem}.uv-login-prompt{text-align:center;padding:3rem 1rem}.uv-login-prompt p{color:#6b7280;margin-bottom:1rem}.uv-login-btn{padding:.5rem 1.25rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.uv-login-btn:hover{background:#1d4ed8}@media (max-width: 700px){.uv-layout{grid-template-columns:1fr}.uv-modal{max-width:96vw;max-height:94vh}.uv-expanded-img{width:160px;height:140px}}
