.language-selector{margin:0 8px}.language-selector__select{font-size:1rem;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.language-selector__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0070f333}.alert-stack{position:fixed;bottom:1rem;margin-bottom:85px;right:1rem;display:flex;flex-direction:column-reverse;gap:.5rem;max-width:20rem;z-index:1000}.floating-alert{position:relative;padding:12px 20px;border-radius:var(--radius-md);font-weight:500;color:var(--color-text-on-primary);font-size:.85rem;animation:fadeInUp .25s ease-out;box-shadow:var(--shadow-md);min-width:220px}.floating-success{background-color:var(--color-success)}.floating-error{background-color:var(--color-danger)}.floating-warning{background-color:var(--color-warning)}.floating-info{background-color:var(--color-border-focus)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floating-hint{position:absolute;right:0%;transform:translate(-50%,6px);background:var(--color-info);color:#fff;padding:4px 10px;border-radius:var(--radius-md);font-size:.85rem;white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;animation:fadeIn .25s ease forwards,fadeOut .25s ease forwards 2.75s;pointer-events:none}@keyframes fadeIn{to{opacity:1}}@keyframes fadeOut{to{opacity:0}}.unified-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg);width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--color-border);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;box-shadow:var(--shadow-sm)}.header-left-section{display:flex;align-items:center;justify-content:left;flex:1}.header-logo{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:5px 10px;gap:10px}.header-logo .logo-image{color:var(--color-text);height:50px}.header-logo .logo-text{display:inline-block;height:40px;width:170px;background-color:var(--color-text);-webkit-mask-image:var(--logo-text-url);mask-image:var(--logo-text-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.header-right-section{display:flex;align-items:center;gap:15px}.context-indicators{display:flex;align-items:center;gap:15px;font-size:.85rem;color:var(--color-text)}.context-item{display:flex;align-items:center;gap:4px;white-space:nowrap}.context-item strong{margin-right:4px}.context-item.clickable{cursor:pointer;transition:color .2s ease}.context-item.clickable:hover{color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:10px}.action-btn-header{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:background-color .2s ease,color .2s ease}.action-btn-header:hover{background-color:var(--color-overlay-light);color:var(--color-primary)}.logout-btn:hover{color:var(--color-danger)}.user-profile{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background-color .2s ease}.user-profile:hover{background-color:var(--color-overlay-light)}.user-avatar{width:30px;height:30px;background:var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center}.user-name{font-weight:500;font-size:.9rem;color:var(--color-text)}@media (max-width: 1600px){.unified-header{padding:8px 15px}.header-left-section{gap:15px}}@media (max-width: 640px){.unified-header{flex-direction:column;gap:10px;padding:10px}.header-left-section{width:100%;justify-content:space-between}.header-right-section{width:100%;justify-content:flex-end}.header-logo .logo-image{height:38px}.header-logo .logo-text{height:30px;width:130px}.user-name{display:none}}.bottom-nav{display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;background-color:var(--color-bg);border-top:1px solid var(--color-border);position:fixed;bottom:0;left:0;right:0;z-index:100;box-shadow:var(--shadow-sm);height:40px;overflow:hidden}.nav-btn{flex:1;text-align:center;padding:.75rem .5rem;border:none;background-color:transparent;font-size:.85rem;font-weight:500;color:var(--color-text);display:flex;flex-direction:column;align-items:center;gap:.25rem;font-weight:300;cursor:pointer}.nav-btn svg{color:var(--color-text)}.nav-btn:hover:not(:disabled) svg,.nav-btn.active svg{color:var(--color-primary)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn.active,.nav-btn:hover:not(:disabled){color:var(--color-primary);font-weight:600}.nav-btn.active:after,.nav-btn:hover:not(:disabled):after{content:"";display:block;height:3px;width:100%;background:var(--color-primary);border-radius:3px 3px 0 0;margin-top:3px}.error-display{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:2rem;text-align:center}.error-display__icon{color:var(--color-danger);margin-bottom:1.5rem}.error-display__title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:.75rem}.error-display__message{font-size:1rem;color:var(--color-text-secondary);margin-bottom:2rem;max-width:400px}.error-display__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.login-container{position:relative;max-width:400px;margin:4rem auto;padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.login-title{font-size:1.75rem;font-weight:600;color:var(--color-text);margin-bottom:1rem}.login-error{color:var(--color-danger);margin-bottom:1rem;font-weight:500}.login-form{display:flex;flex-direction:column;gap:1rem}.login-input{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background-color:var(--color-surface);color:var(--color-text)}.new-company-form{max-width:960px;margin:3rem auto;padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.form-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:1.5rem;text-align:center}.form-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem}.form-button{width:100%;padding:.75rem;background-color:var(--color-border-focus);color:#fff;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.error-message{color:var(--color-danger);font-size:.875rem;margin-top:.25rem}.new-client-form{max-width:960px;margin:3rem auto;padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.error-message{color:var(--color-danger);font-size:.875rem}.invalid{border-color:var(--color-danger)}.order-summary-page{position:relative;margin-bottom:90px;display:flex;flex-direction:column;padding:2rem}.section-title{font-size:1.2rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.seach-and-new-btn-container-orders{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem}.search-input-orders{flex-grow:1;padding:.6rem 1rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-alt);color:var(--color-text)}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;grid-auto-rows:auto;width:100%;box-sizing:border-box}.order-box{width:100%;min-width:0;box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;position:relative}.order-box:hover{box-shadow:0 4px 12px #00000014}.order-box.selected-order{border:2px solid var(--color-border-focus);transform:scale(1.02)}.order-id{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.order-client,.order-clientid,.order-date{font-size:.85rem;color:var(--color-text-secondary)}.order-footer{display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:.9rem;margin-top:.5rem}.order-label{padding:.3rem .6rem;font-size:.75rem;font-weight:600;color:var(--color-text-on-primary);border-radius:var(--radius-md)}.order-total{font-weight:700;font-size:1rem}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.select-btn{background-color:var(--color-text-muted);color:var(--color-text-on-primary);border:none;align-items:left;border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.85rem;cursor:pointer;position:static}.select-btn:hover{background-color:var(--color-text-secondary)}.select-btn:focus{outline:2px solid var(--color-primary-hover);outline-offset:2px}.blue .order-label{background-color:var(--color-border-focus)}.gray .order-label{background-color:var(--color-text-muted)}.green .order-label{background-color:var(--color-success)}.yellow .order-label{background-color:var(--color-warning-hover)}@media (max-width: 640px){.order-grid{grid-template-columns:1fr}.seach-and-new-btn-container-orders{flex-direction:column;align-items:stretch}.search-input-orders{width:100%}}.tip{display:flex;gap:.5rem;align-items:flex-start;background:var(--color-tip-bg);border-left:4px solid var(--color-warning);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;font-size:.95rem;position:relative;z-index:1001;box-shadow:var(--shadow-md);animation:tipSlideIn .3s ease-out}.tip-icon{flex-shrink:0;color:var(--color-warning);margin-top:2px}.tip-overlay{position:absolute;margin-top:105px;inset:0;background:#0000001f;backdrop-filter:blur(1px);z-index:1000;pointer-events:none}.spotlight-target{position:relative;z-index:1001;animation:pulse 1.2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--color-tip-pulse)}70%{box-shadow:0 0 0 14px var(--color-tip-pulse-end)}to{box-shadow:0 0 0 0 var(--color-tip-pulse-end)}}@keyframes tipSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.order-detail-page{position:relative;max-width:960px;margin:2rem auto;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);line-height:1.4}.order-detail-page h2,.order-detail-page h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.order-detail-page strong{font-weight:600;color:var(--color-text)}.order-detail-page .input{width:90%}.order-detail-page .select{width:93%}.order-detail-page .input,.order-detail-page .select{margin-bottom:1%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;outline:0;transition:border-color .15s ease-in-out}.order-detail-page .input:focus,.order-detail-page .select:focus{border-color:var(--color-border-focus)}.order-detail-page .btn{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem 1.1rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;border:none;transition:background-color .2s ease-in-out,box-shadow .15s}.btn-secondary{background-color:var(--color-border);color:var(--color-text-secondary)}.action-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}.action-btn{background:var(--color-bg);color:var(--color-text-secondary)}.action-btn:hover{filter:brightness(.9)}.add-product-container{display:flex;gap:1em}@media (max-width: 680px){.order-detail-page form{grid-template-columns:1fr 1fr}}.order-detail-page input[list]{appearance:none}.order-detail-page table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.95rem;table-layout:fixed}.order-detail-page table td input{width:100%;box-sizing:border-box}.order-detail-page th,.order-detail-page td{border:1px solid var(--color-border);padding:.75rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-detail-page thead{background-color:var(--color-bg)}.order-detail-page .input.w-20,.order-detail-page .input.w-24{width:5rem}.text-red-600{color:var(--color-danger);font-weight:500;cursor:pointer}.text-red-600:hover{text-decoration:underline}@media (max-width: 560px){.order-detail-page table{display:block;overflow-x:auto}}.order-summary{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;padding:1rem;background-color:var(--color-bg);border-top:1px solid var(--color-border)}.order-summary>div{min-width:160px}.order-summary p{margin:.2rem 0}.pdf-generating-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;gap:.5rem;z-index:10}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.autocomplete-wrapper{position:relative}.autocomplete-list{position:absolute;top:100%;left:0;right:0;max-height:200px;width:550px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);margin:0;padding:0;list-style:none;z-index:10}.autocomplete-list li{padding:8px;cursor:pointer}.autocomplete-list li:hover{background:var(--color-bg)}.dropdown-btn-wrapper{position:relative;display:inline-flex}.dropdown-btn-menu{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;box-shadow:var(--shadow-md);z-index:20;min-width:100%;overflow:hidden}.dropdown-btn-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-size:.875rem;white-space:nowrap;color:var(--color-text-secondary)}.dropdown-btn-item:hover{background-color:var(--color-bg)}.dropdown-btn-item+.dropdown-btn-item{border-top:1px solid var(--color-border)}.field-hint{display:inline-flex;align-items:center;cursor:pointer;color:var(--color-text-muted);position:relative;margin-left:4px;vertical-align:middle}.field-hint:hover{color:var(--color-primary)}.field-hint-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 12px;font-size:.85rem;font-weight:400;width:max-content;max-width:250px;box-shadow:var(--shadow-md);z-index:1002;white-space:normal;color:var(--color-text);text-transform:none;animation:fieldHintFadeIn .15s ease-out}.field-hint-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--color-border)}@keyframes fieldHintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.catalog-page{display:flex;flex-direction:column;height:auto;padding-left:1rem;padding-right:1rem}.filter-bar{display:flex;flex-wrap:nowrap;gap:1rem;align-items:center;flex-direction:row}.new-btn-orders{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;padding:.6rem 1rem;background-color:var(--color-border-focus);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);cursor:pointer}.new-btn-orders:hover{background-color:var(--color-primary-hover)}.search-form{width:50%;display:flex;gap:.5rem;flex-grow:1}.input{flex-grow:1;padding:.6rem 1rem;font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text)}.btn{padding:.6rem 1rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;border:none;transition:background-color .2s ease}.btn-secondary{background-color:var(--color-text-muted);color:var(--color-text-on-primary)}.btn-secondary:hover{background-color:var(--color-text-secondary)}.filter-group{display:flex;align-items:center;gap:.5rem}.select{padding:.5rem 1rem;font-size:.9rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text)}.product-grid{display:grid;gap:1rem;flex:1 1 auto;overflow-y:auto}.product-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:box-shadow .15s ease-in-out}.product-card:hover{box-shadow:var(--shadow-md)}.product-card img,.product-card svg{width:100%;height:auto;object-fit:contain;margin-bottom:.5rem;max-height:120px}.product-card b,.product-card p{margin:.25rem 0;word-break:break-word}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;font-size:.95rem;font-weight:500}.recent-banner,.offer-banner{position:absolute;top:0;z-index:2;padding:4px 8px;font-size:.75rem;font-weight:700;border-bottom:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md)}.left-banner{left:0;background-color:var(--color-gold);color:var(--color-text);border-right:1px solid var(--color-border)}.right-banner{right:0;background-color:var(--color-danger);color:var(--color-text-on-primary);border-left:1px solid var(--color-border)}@media (max-width: 600px){.catalog-page{height:fit-content;margin-bottom:180px}.product-grid{overflow:visible;height:fit-content}.filter-bar{flex-direction:column;align-items:stretch}.search-form{width:100%;flex-direction:column}.input{width:100%}.filter-group{flex-direction:column;align-items:flex-start}.pagination{flex-direction:column}.product-carousel{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;overflow-x:visible;overflow-y:auto;scroll-snap-type:y proximity}.product-card{flex:none;width:100%;margin-right:0;margin-bottom:1rem}}.product-carousel{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;scroll-snap-type:x proximity;scroll-behavior:smooth;gap:1rem;padding-bottom:1rem;overflow-x:auto}.product-card{flex:0 0 160px;width:160px;scroll-snap-align:start;margin-right:16px}.product-carousel::-webkit-scrollbar{display:none}.product-carousel.dragging{cursor:grabbing;user-select:none}.product-card{scroll-snap-align:start}.catalog-list li.disabled{opacity:.55;cursor:not-allowed;position:relative}.catalog-list li.disabled:hover{background-color:var(--color-surface)}.catalog-name{display:inline-flex;align-items:center;gap:8px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4}.pill-disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);border:1px solid var(--color-disabled-border)}.catalog-disabled-banner{background:var(--color-disabled-bg);color:var(--color-disabled-text);border:1px solid var(--color-disabled-border);padding:8px 12px;border-radius:var(--radius-md);margin-bottom:12px;font-weight:600}.placeholder-banner{position:absolute;bottom:10px;right:-35px;background:var(--color-danger);color:#fff;padding:2px 40px;font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;transform:rotate(-45deg);z-index:10;box-shadow:0 1px 3px #0000004d}.product-image-wrapper{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;height:120px;width:100%}.product-image-wrapper img{width:100%;height:100%;object-fit:contain}.product-image-loading{display:flex;align-items:center;justify-content:center}.loading-icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.product-detail-page{position:relative;max-width:1000px;margin:2rem auto;padding:2rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.product-details{display:flex;flex-direction:row;gap:10em}.product-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.product-name h2{font-size:1.5rem;font-weight:600}.product-image-block{text-align:center;position:relative}.main-image-wrapper{position:relative;display:inline-block;overflow:hidden;border-radius:var(--radius-md);margin-bottom:1rem}.main-image{max-width:100%;max-height:250px;object-fit:contain;display:block}.product-meta{display:flex;flex-direction:column;gap:1rem}.form-group label,.form-group p{display:block;margin-bottom:.25rem;font-weight:500}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem}.edit-controls{display:flex;gap:.5rem;align-items:center}.action-btn,.btn,.cart-btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer}.carousel-wrapper{position:relative;margin-top:1rem;display:flex;align-items:center;justify-content:center}.image-carousel{display:flex;overflow-x:auto;gap:.5rem;scroll-behavior:smooth}.carousel-image{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);transition:border-color .2s ease}.carousel-image.active{border:2px solid var(--color-border-focus)}.carousel-arrow-left,.carousel-arrow-right{position:absolute;top:50%;transform:translateY(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;padding:.25rem .5rem;cursor:pointer;z-index:10}.carousel-arrow-left.disabled,.carousel-arrow-right.disabled{opacity:.3;pointer-events:none}.carousel-arrow-left{left:-1.5rem}.carousel-arrow-right{right:-1.5rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100}.modal-image{max-width:90vw;max-height:80vh;border-radius:10px}.modal-close,.modal-nav{position:absolute;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.modal-close{top:1rem;right:2rem}.modal-nav.left{left:1rem;top:50%;transform:translateY(-50%)}.modal-nav.right{right:1rem;top:50%;transform:translateY(-50%)}.image-input-preview{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;max-width:300px}.image-input-preview .form-label{font-weight:600;margin-top:1rem}.image-input-preview .form-input{width:100%}.image-input-row{display:flex;gap:.5rem;align-items:center;width:100%;margin-bottom:.5rem}.edited-carousel-image{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.image-remove-btn{flex-shrink:0}.disable-autosearch-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;margin-top:.25rem}.disable-autosearch-label input[type=checkbox]{width:auto;margin:0}@media (max-width: 600px){.product-detail-page{margin:1rem;padding:1rem}.product-header{flex-direction:column;align-items:flex-start;gap:1rem}.product-details{flex-direction:column;gap:2rem}.product-image-block{order:-1;width:100%}.main-image{max-height:200px;width:100%}.product-meta-left,.product-meta-right{width:100%}.edit-controls{width:100%;justify-content:flex-start}.action-buttons{flex-wrap:wrap;gap:.5rem}.carousel-arrow-left{left:0}.carousel-arrow-right{right:0}}.modal-overlay{position:fixed;inset:0;background-color:var(--color-overlay);z-index:50;display:flex;align-items:center;justify-content:center}.modal-container{background-color:var(--color-surface);width:100%;height:100%;max-width:90rem;max-height:93vh;overflow:auto;border-radius:.5rem;box-shadow:var(--shadow-md);padding:1.5rem;position:relative}.error-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--color-border)}.error-table{width:100%;border-collapse:collapse}.modal-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.table-header{border:1px solid var(--color-border);padding:.5rem;background-color:var(--color-bg);position:sticky;top:0;z-index:10}.table-cell{border:1px solid var(--color-border);padding:.5rem;white-space:nowrap}.invalid-cell{background-color:var(--color-status-error-bg);color:var(--color-danger);font-weight:600}.button-close{background-color:var(--color-text-muted);color:var(--color-text-on-primary);padding:.5rem 1rem;border-radius:.375rem;margin-top:1.5rem;cursor:pointer}.button-close:hover{background-color:var(--color-text-muted)}.modal-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.clients-page{position:relative;display:flex;height:93vh;background-color:var(--color-bg)}.left-side{width:33.33%;padding:1rem;background-color:var(--color-bg);border-right:1px solid var(--color-border);overflow-y:auto}.search-input{width:100%;padding:.5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem}.client-list{margin-top:1rem}.client-list ul{list-style:none;padding:0;margin:0}.client-card{background-color:var(--color-surface);margin-bottom:.5rem;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.client-card:hover{background-color:var(--color-bg)}.selected-client{background-color:var(--color-primary-light)!important}.client-details{padding:1.5rem;background-color:var(--color-surface);overflow-y:auto}.client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.client-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text)}.input{width:100%;padding:.5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:.25rem}.btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer}.btn-secondary{background-color:var(--color-border);color:var(--color-text);border:none}.btn-secondary:hover{background-color:var(--color-border)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.clients-page{display:flex;flex-direction:column;overflow:auto}.grid{grid-template-columns:repeat(1,minmax(0,1fr))}.left-side{order:1;width:90%;flex:1;overflow:auto;min-height:400px;margin-bottom:80px}.client-details{order:0;width:90%;flex:1;overflow:visible}}.companies-page{position:relative;display:flex;height:93vh;background-color:var(--color-bg)}.seach-and-new-btn-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.search-input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem}.company-list ul{list-style:none;padding:0;margin:0}.company-list li{background-color:var(--color-surface);margin-bottom:.5rem;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.company-list li:hover{background-color:var(--color-border)}.selected-company{background-color:var(--color-primary-light)!important}.company-details{width:66%;padding:1.5rem;background-color:var(--color-surface)}.company-details h2{color:var(--color-text);font-size:1.25rem;font-weight:600}.company-details .grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.company-header{display:flex;justify-content:space-between;align-items:center}.company-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text)}@media (max-width: 600px){.companies-page{display:flex;flex-direction:column;overflow:auto}.left-side{width:90%}.company-details{order:0;width:90%;flex:1;overflow:visible}.company-details .grid{grid-template-columns:1fr}}.order-detail-page{margin-bottom:2rem}.code-container{display:flex;align-items:center;gap:1em}.pre-code{width:30%;font-weight:500;background-color:var(--color-bg);padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.95rem;color:var(--color-text-secondary)}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}@media (max-width: 640px){.form-container{padding:1rem}.form-title{text-align:center}.form-actions{justify-content:center}.pre-code{display:none}}.new-product-page{margin-bottom:2rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.image-input-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.image-input-row .form-input{flex:1}.error-message{color:var(--color-danger);font-size:.85rem;margin-top:.25rem}.form-input.invalid,.select.invalid{border-color:var(--color-danger)}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem}.btn{padding:.6rem 1.25rem;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger{background-color:var(--color-danger);color:#fff}@media (max-width: 640px){.form-container{padding:1rem}.form-title{text-align:center}.form-actions{justify-content:center;flex-direction:column}.form-actions button{width:100%}}.upload-container{max-width:800px;margin:3rem auto;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.upload-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.dropzone{padding:2rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;font-size:1rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s,background-color .2s;margin-bottom:2rem}.dropzone-active{border-color:var(--color-border-focus);background-color:#f0f8ff}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.preview-card{position:relative;padding:1rem;background:var(--color-bg);border-radius:10px;border:1px solid var(--color-border);text-align:center;box-shadow:0 1px 4px #0000000a}.preview-image{max-width:100%;max-height:120px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:.5rem}.preview-name{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.25rem}.preview-progress-text{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.preview-progress-bar{height:8px;background-color:var(--color-border);border-radius:5px;overflow:hidden}.preview-progress-fill{height:100%;transition:width .3s ease-in-out}.progress-uploading{background-color:var(--color-primary)}.progress-done{background-color:var(--color-success)}.progress-error{background-color:var(--color-danger)}.remove-button{position:absolute;top:6px;right:6px;background:transparent;color:var(--color-text-muted);border:none;font-size:1.2rem;cursor:pointer}.remove-button:hover{color:var(--color-danger)}.preview-link{display:inline-block;margin-top:.5rem;font-size:.85rem;color:var(--color-border-focus);text-decoration:underline}.image-list-container{position:relative;max-width:960px;margin:0 auto;padding:1rem}.image-list-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.image-card{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background-color:var(--color-surface)}.image-thumb{width:100%;height:140px;object-fit:cover}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem}.pagination button:disabled{background-color:var(--color-text-muted);cursor:not-allowed}.pagination span{font-weight:500}.image-actions{display:flex;justify-content:space-between;padding:.5rem;gap:.5rem;background-color:var(--color-bg);border-top:1px solid var(--color-border)}.copy-button,.delete-button{flex:1;padding:.3rem .5rem;font-size:.75rem;border:none;border-radius:var(--radius-sm);cursor:pointer;color:#fff}.copy-button{background-color:var(--color-success)}.copy-button:hover{background-color:var(--color-success-hover)}.delete-button{background-color:var(--color-danger)}.delete-button:hover{background-color:var(--color-danger-hover)}.order-files-container{max-width:700px;margin:2rem auto;padding:1rem}.order-files-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:1.5rem}.order-files-list{list-style:none;padding:0;margin:0}.order-file-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:.75rem;transition:background-color .2s ease}.order-file-item:hover{background-color:var(--color-bg)}.order-file-link{color:var(--color-border-focus);font-weight:500;text-decoration:none;word-break:break-word}.order-file-link:hover{text-decoration:underline}.order-file-date{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.order-file-meta{margin-left:1rem;font-weight:700;color:var(--color-text-secondary)}.order-file-item .duplicate-btn{margin-left:auto;padding:.4rem .75rem;font-size:.8rem}.profile-container{max-width:600px;margin:3rem auto;padding:2rem;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:2rem;text-align:center}.profile-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:1rem}.profile-label{font-weight:500;color:var(--color-text-muted)}.profile-value{font-weight:400;color:var(--color-text)}.branding-title{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--color-border)}.branding-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.color-picker-group{display:flex;align-items:center;gap:.5rem}.color-input{width:40px;height:40px;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;background:none}.color-hex-input{width:80px;padding:.4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:.9rem;color:var(--color-text);background:var(--color-surface)}.branding-label-group{display:flex;flex-direction:column;gap:.25rem}.logo-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.logo-upload-group{display:flex;align-items:center;gap:.75rem}.logo-preview-header{height:50px;width:auto;max-width:200px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.logo-preview-document{width:200px;height:auto;max-height:160px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.no-logo{color:var(--color-text-muted);font-style:italic;font-size:.85rem}.branding-actions{margin-top:1.5rem;display:flex;justify-content:center}.landing-page{overflow-y:auto;height:100vh;scroll-behavior:smooth}.landing-hero{text-align:center;padding:5rem 1.5rem 4rem;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%)}.landing-hero h1{font-size:2.8rem;font-weight:800;line-height:1.15;color:var(--color-text);margin:0 0 1rem}.landing-hero .hero-subtitle{font-size:1.15rem;color:var(--color-text-muted);max-width:540px;margin:0 auto 2rem;line-height:1.6}.landing-cta{display:inline-block;padding:.8rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:#4c8bf9;border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background-color .2s}.landing-cta:hover{background:#355c86}.landing-cta-outline{display:inline-block;padding:.7rem 1.8rem;font-size:.95rem;font-weight:600;color:#4c8bf9;background:transparent;border:2px solid #4c8bf9;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background-color .2s,color .2s}.landing-cta-outline:hover{background:#4c8bf9;color:#fff}.landing-features{padding:4rem 1.5rem;max-width:960px;margin:0 auto}.landing-features h2{text-align:center;font-size:2rem;font-weight:700;color:var(--color-text);margin:0 0 3rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem}.feature-item{text-align:center}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-light);color:#4c8bf9;margin-bottom:.75rem;font-size:1.4rem}.feature-item h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .4rem}.feature-item p{font-size:.88rem;color:var(--color-text-muted);margin:0;line-height:1.5}.landing-pricing{padding:4rem 1.5rem;background:var(--color-bg)}.landing-pricing h2{text-align:center;font-size:2rem;font-weight:700;color:var(--color-text);margin:0 0 3rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto;align-items:start}.pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem 1.5rem;display:flex;flex-direction:column}.pricing-card.highlighted{border:2px solid #4c8bf9;box-shadow:0 8px 30px #4c8bf926;position:relative}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#4c8bf9;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .9rem;border-radius:999px;white-space:nowrap}.pricing-card h3{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem}.pricing-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.5rem}.pricing-price .amount{font-size:2.5rem;font-weight:800;color:var(--color-text)}.pricing-price .period{font-size:.95rem;color:var(--color-text-muted)}.pricing-tagline{font-size:.88rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.4}.pricing-card .landing-cta,.pricing-card .landing-cta-outline{display:block;text-align:center;width:100%;box-sizing:border-box;margin-bottom:1.5rem}.pricing-features{list-style:none;margin:0;padding:0;flex:1}.pricing-features li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;color:var(--color-text);border-bottom:1px solid var(--color-border)}.pricing-features li:last-child{border-bottom:none}.pricing-features li.disabled{color:var(--color-text-muted);opacity:.5}.pricing-check{color:#4c8bf9;flex-shrink:0;font-size:1rem}.pricing-dash{color:var(--color-text-muted);flex-shrink:0;font-size:1rem}.pricing-features .feature-group-sep{border-bottom:2px solid var(--color-border)}.landing-faq{padding:4rem 1.5rem;max-width:700px;margin:0 auto}.landing-faq h2{text-align:center;font-size:2rem;font-weight:700;color:var(--color-text);margin:0 0 2.5rem}.faq-item{border-bottom:1px solid var(--color-border)}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 0;background:none;border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--color-text);text-align:left;font-family:inherit}.faq-question:hover{color:#4c8bf9}.faq-chevron{transition:transform .2s;flex-shrink:0;color:var(--color-text-muted)}.faq-chevron.open{transform:rotate(180deg)}.faq-answer{padding:0 0 1rem;font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.landing-footer{background:#111827;color:#f3f4f6;text-align:center;padding:4rem 1.5rem}.landing-footer h2{font-size:2rem;font-weight:700;margin:0 0 .75rem;color:#f3f4f6}.landing-footer .footer-subtitle{font-size:1rem;color:#9ca3af;margin:0 0 2rem}.landing-footer .landing-cta{margin-bottom:1.5rem}.footer-contact{font-size:.88rem;color:#9ca3af;margin:0}.footer-contact a{color:#93bbfd;text-decoration:none}.footer-contact a:hover{text-decoration:underline}@media (max-width: 768px){.landing-hero h1{font-size:2rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}.pricing-grid{grid-template-columns:1fr;max-width:400px}}@media (max-width: 480px){.landing-hero{padding:3rem 1rem 2.5rem}.landing-hero h1{font-size:1.7rem}.features-grid{grid-template-columns:1fr}}:root{--font-primary: "Calibri", "Candara", "Segoe UI", sans-serif;--color-primary: #4c8bf9;--color-primary-hover: #355c86;--color-primary-light: #cce0ff;--color-success: #54a058;--color-success-hover: #2e7d32;--color-warning: #e8a230;--color-warning-hover: #d4891a;--color-danger: #dc2626;--color-danger-hover: #b71c1c;--color-info: #2563eb;--color-bg: #f9fafb;--color-surface: #ffffff;--color-text: #111111;--color-text-secondary: #444444;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-border-focus: #0057ff;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--color-overlay: rgba(0, 0, 0, .6);--color-overlay-light: rgba(0, 0, 0, .05);--color-status-new: #059669;--color-status-new-bg: #f0fdf4;--color-status-updated: #d97706;--color-status-updated-bg: #fffbeb;--color-status-error: #991b1b;--color-status-error-bg: #fef2f2;--color-surface-alt: #f8f9fa;--color-text-on-primary: #ffffff;--color-text-dark: #111111;--color-tip-bg: #fffbe6;--color-tip-pulse: rgba(255, 230, 0, .8);--color-tip-pulse-end: rgba(255, 230, 0, 0);--color-disabled-bg: #fdecea;--color-disabled-text: #d32f2f;--color-disabled-border: #f5c2c0;--color-gold: gold}:root[data-theme=dark]{--color-primary: #6a9ff5;--color-primary-hover: #8bb4f7;--color-primary-light: #1e3a5f;--color-success: #6bc46f;--color-success-hover: #4caf50;--color-warning: #eda840;--color-warning-hover: #d4891a;--color-danger: #ef5350;--color-danger-hover: #e53935;--color-info: #5c8eef;--color-bg: #121212;--color-surface: #1e1e1e;--color-text: #e0e0e0;--color-text-secondary: #b0b0b0;--color-text-muted: #808080;--color-border: #333333;--color-border-hover: #444444;--color-border-focus: #7ab3ff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--color-overlay: rgba(0, 0, 0, .7);--color-overlay-light: rgba(255, 255, 255, .05);--color-status-new: #6bc46f;--color-status-new-bg: #1a2e1a;--color-status-updated: #f0c866;--color-status-updated-bg: #2e2a1a;--color-status-error: #ef5350;--color-status-error-bg: #2e1a1a;--color-surface-alt: #252525;--color-text-on-primary: #ffffff;--color-tip-bg: #2e2a1a;--color-tip-pulse: rgba(255, 230, 0, .6);--color-tip-pulse-end: rgba(255, 230, 0, 0);--color-disabled-bg: #2e1a1a;--color-disabled-text: #ef5350;--color-disabled-border: #5c2a2a;--color-text-dark: #e0e0e0;--color-gold: #f0c866}html{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text)}body,#root{margin:0;font-family:inherit;background-color:var(--color-bg);color:var(--color-text)}span,label,p,h1,h2,h3,h4,h5,h6,th,td,select,input,textarea{color:inherit}body,main{overflow-y:auto;height:93vh}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-lg);align-items:center;flex-direction:row}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.action-btn{display:flex;background-color:var(--color-primary);align-items:center;gap:.4rem;padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--color-text-on-primary);cursor:pointer;transition:background-color .2s ease;text-decoration:none}.action-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn svg{color:var(--color-text-on-primary);flex-shrink:0}.action-btn:hover,.action-btn:active{background-color:var(--color-primary-hover)}.action-btn.background{background-color:var(--color-primary)}.action-btn.primary{background-color:#4c8bf9}.action-btn.primary:hover{background-color:#355c86}.action-btn:focus{outline:2px solid var(--color-primary-hover);outline-offset:2px}.action-btn.blue{background-color:var(--color-primary-hover);color:var(--color-text-on-primary)}.action-btn.blue:hover{background-color:var(--color-primary-hover)}.action-btn.green{background-color:var(--color-success);color:var(--color-text-on-primary)}.action-btn.green:hover{background-color:var(--color-success-hover)}.action-btn.yellow{background-color:var(--color-warning);color:var(--color-text-on-primary)}.action-btn.yellow:hover{background-color:var(--color-warning-hover)}.action-btn.red{background-color:var(--color-danger);color:var(--color-text-on-primary)}.action-btn.red:hover{background-color:var(--color-danger-hover)}.action-btn.red svg,.action-btn.yellow svg,.action-btn.green svg,.action-btn.blue svg{color:var(--color-text-on-primary)}.template-download-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;margin-left:.25rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.35);color:inherit;opacity:.7;transition:opacity .15s}.template-download-icon:hover{opacity:1}.template-download-icon:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:.7rem;font-weight:400;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .15s;z-index:20}.template-download-icon:hover:after{opacity:1}.upload-button{display:flex;align-items:center;gap:.4rem;background-color:var(--color-primary-hover);color:var(--color-surface);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-weight:500;font-size:.85rem;cursor:pointer;margin-bottom:0;transition:background-color .2s ease}.upload-button:hover{background-color:var(--color-primary-hover)}.drag-over{outline:1px dashed var(--color-primary-hover);background-color:var(--color-surface-alt);transition:background-color .2s ease,border-color .2s ease}.form-container{max-width:600px;margin:4rem auto;padding:var(--space-2xl);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d}.form-title{text-align:center;font-size:1.5rem;font-weight:600;margin-bottom:var(--space-2xl);color:var(--color-text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.form-group.full{grid-column:span 2}.form-group{display:flex;flex-direction:column;margin:5px}.form-group label{font-weight:500;margin-bottom:.4rem;color:var(--color-text-secondary)}.form-input{padding:.6rem .75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text)}.form-button{margin-top:var(--space-2xl);width:100%;padding:var(--space-md);font-size:1rem;font-weight:600;color:var(--color-surface);background-color:var(--color-primary-hover);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}@media (max-width: 640px){.action-btn{justify-content:center}.filter-bar{flex-direction:column;align-items:stretch}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);transition:background-color .2s ease}.card:hover{background-color:var(--color-bg)}.card.selected{background-color:var(--color-primary-light)}.page-container{max-width:960px;margin:var(--space-2xl) auto;padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:90vw;max-height:90vh;overflow:auto;box-shadow:var(--shadow-md)}.split-page{display:flex;height:calc(100vh - 60px);background:var(--color-bg)}.split-sidebar{width:340px;min-width:260px;background:var(--color-bg);border-right:1px solid var(--color-border);overflow-y:auto;padding:var(--space-lg)}.split-details{flex:1;overflow-y:auto;padding:var(--space-xl);background:var(--color-surface)}.section-title{font-size:1.4rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-lg)}.error-message{color:var(--color-danger);font-size:.82rem;margin-top:.2rem}.form-input.invalid,.form-select.invalid{border-color:var(--color-danger)}.catalogs-page{position:relative;display:flex;height:93vh;background-color:var(--color-bg)}.left-side{width:33.33%;padding:1rem;background-color:var(--color-bg);border-right:1px solid var(--color-border)}.drag-over{border-color:var(--color-primary);background-color:var(--color-primary-light)}.catalog-list ul{list-style:none;padding:0;margin:0}.catalog-list li{background-color:var(--color-surface);margin-bottom:.5rem;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.catalog-list li:hover{background-color:var(--color-border)}.catalog-list li.selected{background-color:var(--color-primary-light)!important}.catalog-details{width:66%;padding:1.5rem;background-color:var(--color-surface)}.catalog-details h2{color:var(--color-text);font-size:1.25rem;font-weight:600}.catalog-details .grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.catalog-header{display:flex;justify-content:space-between;align-items:center}.catalog-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text)}.input{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem;font-size:.9rem;margin-top:.25rem}.progress-container{margin-top:.75rem;display:flex;align-items:center;gap:.5rem}.progress-container progress{width:100%;height:1rem}@media (max-width: 640px){.catalogs-page{display:flex;flex-direction:column;overflow:auto}.left-side{width:90%}.catalog-details{order:0;width:90%;flex:1;overflow:visible}}.diff-modal{max-width:70rem}.diff-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--color-bg);border-radius:.375rem;margin-bottom:1rem;font-size:.875rem}.summary-item{font-weight:500}.summary-new{color:var(--color-status-new)}.summary-updated{color:var(--color-status-updated)}.summary-unchanged{color:var(--color-text-muted)}.summary-deleted{color:var(--color-danger)}.summary-error{color:var(--color-danger);font-weight:700}.summary-separator{color:var(--color-border)}.diff-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);cursor:pointer;font-size:.875rem;transition:all .15s}.tab-btn:hover{background-color:var(--color-bg)}.tab-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab-btn-error{border-color:var(--color-disabled-border);color:var(--color-danger)}.tab-btn-error:hover{background-color:var(--color-status-error-bg)}.tab-btn-error.active{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.diff-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:.375rem}.diff-table{width:100%;border-collapse:collapse;font-size:.875rem}.diff-table .table-header{border:1px solid var(--color-border);padding:.75rem;background-color:var(--color-bg);position:sticky;top:0;z-index:10;text-align:left;font-weight:600}.diff-table .table-cell{border:1px solid var(--color-border);padding:.75rem;vertical-align:top}.row-deleted{background-color:var(--color-status-error-bg)}.row-new{background-color:var(--color-status-new-bg)}.row-updated{background-color:var(--color-status-updated-bg)}.row-error{background-color:var(--color-status-error-bg)}.badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.badge-new{background-color:var(--color-status-new-bg);color:var(--color-status-new)}.badge-updated{background-color:var(--color-status-updated-bg);color:var(--color-status-updated)}.badge-unchanged{background-color:var(--color-bg);color:var(--color-text-muted)}.badge-deleted{background-color:var(--color-status-error-bg);color:var(--color-status-error)}.badge-error{background-color:var(--color-danger);color:#fff}.changes-list{display:flex;flex-direction:column;gap:.25rem}.change-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.change-field{font-weight:500;color:var(--color-text-secondary)}.change-old{color:var(--color-danger);text-decoration:line-through}.change-arrow{color:var(--color-text-muted)}.change-new{color:var(--color-status-new);font-weight:500}.errors-list{display:flex;flex-direction:column;gap:.25rem}.error-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.error-field{font-weight:600;color:var(--color-status-error)}.error-message{color:var(--color-danger)}.error-block-message{color:var(--color-danger);font-weight:600;font-size:.875rem;margin-right:auto}.cell-image{width:50px;padding:.25rem!important;text-align:center}.diff-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:.25rem}.empty-message{text-align:center;color:var(--color-text-muted);padding:2rem!important}.modal-actions .action-btn{margin-left:.75rem}.new-catalog-form-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem}.new-catalog-form{width:100%;max-width:600px;background-color:var(--color-surface);padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.form-title{margin-bottom:1.5rem;font-size:1.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}.form-group{display:flex;flex-direction:column}.form-input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem}.form-input.invalid{border-color:var(--color-danger)}.error-message{margin-top:.25rem;color:var(--color-danger);font-size:.875rem}.form-button{margin-top:1.5rem;padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;cursor:pointer}.form-button:hover{background-color:var(--color-primary-hover)}
