.date-range-calendar{width:100%;max-width:22rem;padding:.75rem;background-color:#f9f9f9;border-radius:8px;box-sizing:border-box}.date-range-calendar__header{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem}.date-range-calendar__title{flex:1;margin:0;text-align:center;font-size:.95rem;font-weight:600;text-transform:capitalize}.date-range-calendar__nav{width:2rem;height:2rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:1rem;line-height:1;cursor:pointer}.date-range-calendar__nav:disabled,.date-range-calendar__day:disabled{opacity:.5;cursor:not-allowed}.date-range-calendar__grid{width:100%;border-collapse:collapse;table-layout:fixed}.date-range-calendar__grid th{padding:.25rem 0;font-size:.7rem;font-weight:600;color:#888}.date-range-calendar__grid td{padding:1px 0;text-align:center}.date-range-calendar__day{width:100%;min-height:2.25rem;border:none;border-radius:6px;background:transparent;font-size:.85rem;cursor:pointer}.date-range-calendar__day:hover:not(:disabled){background-color:#e6f4f2}.date-range-calendar__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--color-primary, #0d9488)}.date-range-calendar__day--in-range{background-color:#ccebe7;border-radius:0}.date-range-calendar__day--end,.date-range-calendar__day--end:hover:not(:disabled){background-color:var(--color-primary, #0d9488);color:#fff}.date-range-calendar__hint{margin:.5rem 0 0;font-size:.8rem;color:#555;text-align:center}.date-range-field{position:relative;display:inline-block;max-width:100%}.date-range-field__button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:.9rem;color:inherit;cursor:pointer}.date-range-field__button[aria-expanded=true]{border-color:var(--color-primary, #0d9488)}.date-range-field__button:disabled{opacity:.5;cursor:not-allowed}.date-range-field__popover{position:absolute;top:calc(100% + .25rem);left:0;z-index:20;width:min(22rem,calc(100vw - 32px));border-radius:8px;box-shadow:0 6px 20px #00000026}.date-range-field__popover .date-range-calendar{max-width:none;background-color:#fff}.color-rules-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.color-rules-dialog{display:flex;flex-direction:column;width:100%;max-width:460px;max-height:calc(100dvh - 2rem);overflow:hidden;background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 8px 32px #0003}.color-rules-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.9rem 1rem;border-bottom:1px solid var(--color-border)}.color-rules-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.color-rules-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow-y:auto}.color-rules-empty,.color-rules-hint{margin:0;font-size:.8rem;color:var(--color-text-light)}.color-rules-list{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.color-rules-item{display:flex;align-items:center;gap:.25rem}.color-rules-item-main{display:flex;flex:1;min-width:0;align-items:center;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);color:var(--color-text);font-size:.8rem;text-align:left;cursor:pointer}.color-rules-swatch{width:1rem;height:1rem;flex-shrink:0;border-radius:var(--radius-full);border:1px solid rgba(0,0,0,.15)}.color-rules-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-rules-icon-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-light);cursor:pointer}.color-rules-handle{border-color:transparent;background:transparent;cursor:grab;touch-action:none}.color-rules-handle:active{cursor:grabbing}.color-rules-item.dragging .color-rules-item-main{box-shadow:0 6px 18px #0000002e;outline:2px solid var(--color-primary-action, #1976d2)}.color-rules-icon-btn.danger{color:var(--color-danger, #dc2626)}.color-rules-editor{display:flex;flex-direction:column;gap:.9rem}.color-rules-field{display:flex;flex-direction:column;gap:.35rem}.color-rules-field-label{font-size:.75rem;font-weight:600;color:var(--color-text-light)}.color-rules-chips{display:flex;flex-wrap:wrap;gap:.3rem}.color-rules-filter-row{flex-wrap:wrap;overflow-x:visible;row-gap:.4rem}.color-rules-filter-row .list-filter-section{flex-wrap:wrap;flex-shrink:1;row-gap:.3rem}.color-rules-color{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}.color-rules-color input[type=color]{width:2.5rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:none;cursor:pointer}.color-rules-preview{flex:1;min-width:8rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);color:var(--color-text);font-size:.75rem}.color-rules-actions{display:flex;justify-content:flex-end;gap:.5rem}.color-rules-btn{padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer}.color-rules-btn.primary{background:var(--color-primary-action, #1976d2);color:var(--color-on-accent, #fff)}.color-rules-btn.secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.drawer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:998;animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background-color:var(--color-bg-card, #ffffff);border-right:1px solid var(--color-border, #e2e8f0);box-shadow:2px 0 8px #0000001a;z-index:999;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.drawer-open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #e2e8f0);background-color:var(--color-on-primary, #3b82f6);color:#fff}.drawer-header h2{margin:0;font-size:1.125rem;font-weight:600}.drawer-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:#fff;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.drawer-close-btn:hover{background-color:#ffffff1a}.drawer-close-btn:active{background-color:#fff3}.drawer-content{flex:1;overflow-y:auto;padding:.5rem 0}.drawer-section{padding:.5rem 0}.drawer-section+.drawer-section{border-top:1px solid var(--color-border, #e2e8f0);margin-top:.5rem;padding-top:1rem}.drawer-section-title{padding:0 1.25rem .5rem;margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light, #64748b)}.drawer-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.25rem;border:none;background:none;color:var(--color-text, #1e293b);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease;min-height:48px}.drawer-item:hover{background-color:var(--color-bg-hover, #f1f5f9);color:var(--color-accent, #3b82f6)}.drawer-item:active{background-color:var(--color-bg-active, #e2e8f0)}.drawer-item svg{flex-shrink:0;opacity:.7;transition:opacity .15s ease}.drawer-item:hover svg{opacity:1}.drawer-item span{flex:1}.drawer-logout{color:var(--color-danger, #dc2626)}.drawer-logout:hover{background-color:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626)}.drawer-logout:hover svg{opacity:1}.drawer-footer{border-top:1px solid var(--color-border, #e2e8f0);padding:.5rem 0}.drawer-session{display:flex;align-items:center;gap:.5rem;margin:0 .75rem .25rem;padding:.25rem .5rem;border-radius:.375rem;background-color:var(--color-surface-secondary, #f1f5f9)}.drawer-session-avatar{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background-color:var(--color-primary, #2563eb);color:var(--color-on-primary, #ffffff);font-size:.6875rem;font-weight:700}.drawer-session-name{min-width:0;font-size:.8125rem;font-weight:600;color:var(--color-text-light, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:480px){.drawer{width:260px;max-width:85vw}.drawer-header{padding:.875rem 1rem}.drawer-item{padding:.875rem 1rem;font-size:.8125rem}.drawer-section-title{padding:0 1rem .5rem}}@media(prefers-color-scheme:dark){.drawer{background-color:var(--color-bg-card-dark, #1e293b);border-right-color:var(--color-border-dark, #334155)}.drawer-item{color:var(--color-text-dark, #f1f5f9)}.drawer-item:hover{background-color:var(--color-bg-hover-dark, #334155)}.drawer-section-title{color:var(--color-text-light-dark, #94a3b8)}}.drawer-item:focus,.drawer-close-btn:focus{outline:2px solid var(--color-accent, #3b82f6);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.drawer{transition:none}.drawer-backdrop{animation:none}}.layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg, #f8fafc)}.layout-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background-color:var(--color-primary, #57bcd2);color:var(--color-on-primary, #12384f);border-bottom:1px solid color-mix(in srgb,var(--color-on-primary, #12384f) 16%,transparent);box-shadow:0 5px 6px #0000001f;position:sticky;top:0;z-index:100}.layout-header-left{display:flex;align-items:center;gap:1rem;flex:1}.layout-header-actions{display:flex;align-items:center;gap:.5rem}.layout-header-actions button{font-weight:400}.layout-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-on-primary, #12384f);line-height:1.2}.layout-menu-btn,.layout-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--color-on-primary, #12384f);border-radius:8px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.layout-menu-btn:hover,.layout-back-btn:hover{background-color:color-mix(in srgb,var(--color-on-primary, #12384f) 12%,transparent);color:var(--color-on-primary, #12384f)}.layout-menu-btn:active,.layout-back-btn:active{background-color:color-mix(in srgb,var(--color-on-primary, #12384f) 18%,transparent);transform:scale(.95)}.layout-header-actions .mgmt-add-btn{background:var(--color-primary-action, #1976d2);color:var(--color-on-accent, #ffffff);border:1px solid color-mix(in srgb,var(--color-primary-action, #1976d2) 78%,black);box-shadow:none}.layout-header-actions .header-btn.secondary{background:var(--color-primary, #57bcd2);color:var(--color-on-primary, #12384f);border:1px solid color-mix(in srgb,var(--color-on-primary, #12384f) 42%,transparent);box-shadow:none}.layout-header-actions .header-btn.secondary.save-btn{background:var(--color-primary-action, #1976d2);color:var(--color-on-accent, #ffffff);border:1px solid color-mix(in srgb,var(--color-primary-action, #1976d2) 78%,black)}.layout-header-actions .mgmt-add-btn:hover,.layout-header-actions .mgmt-add-btn:focus-visible{background:var(--color-primary-action-hover, #1565c0);border-color:color-mix(in srgb,var(--color-primary-action-hover, #1565c0) 78%,black);color:var(--color-on-accent, #ffffff);box-shadow:none}.layout-header-actions .header-btn.secondary:hover:not(:disabled),.layout-header-actions .header-btn.secondary:focus-visible{background:var(--color-primary-hover, #4ba5c1);border-color:color-mix(in srgb,var(--color-on-primary, #12384f) 50%,transparent);color:var(--color-on-primary, #12384f);box-shadow:none}.layout-header-actions .header-btn.secondary.save-btn:hover:not(:disabled),.layout-header-actions .header-btn.secondary.save-btn:focus-visible{background:var(--color-primary-action-hover, #1565c0);border-color:color-mix(in srgb,var(--color-primary-action-hover, #1565c0) 78%,black);color:var(--color-on-accent, #ffffff)}.layout-header-actions .header-btn:disabled,.layout-header-actions .mgmt-add-btn:disabled{background:#d1d5db;color:#6b7280;border-color:#cbd5e1;opacity:1;cursor:not-allowed}.layout-main{flex:1;display:flex;flex-direction:column;overflow:hidden}@media(max-width:480px){.layout-header{padding:.875rem 1rem}.layout-title{font-size:1.125rem}.layout-menu-btn,.layout-back-btn{width:36px;height:36px}.layout-header-left{gap:.75rem}}.layout-menu-btn:focus,.layout-back-btn:focus{outline:2px solid color-mix(in srgb,var(--color-on-primary, #12384f) 68%,white);outline-offset:2px}@media(prefers-color-scheme:dark){.layout{background-color:var(--color-bg-dark, #0f172a)}}.product-tile-card{position:relative;background:var(--color-surface, #fbfdfd);border:2px solid var(--color-border-light, rgba(175, 202, 204, .3));border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:100%;box-sizing:border-box}.product-tile-card:hover{border-color:var(--color-primary, #57bcd2);transform:translateY(-2px);box-shadow:0 4px 12px #2b517226}.product-tile-card:focus{outline:none;border-color:var(--color-primary, #57bcd2);box-shadow:0 0 0 3px var(--color-primary-light, rgba(87, 188, 210, .1))}.product-tile-image{width:100%;height:80px;object-fit:cover;border-radius:4px;margin-bottom:.5rem;background:var(--color-surface-secondary, #f8fafb)}.product-tile-info{text-align:center}.product-tile-name{font-size:.9rem;font-weight:500;color:var(--color-text-primary, #2b5172);margin:0 0 .25rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.product-tile-price{font-size:1rem;font-weight:600;color:var(--color-accent, #a26024);margin:0}.product-tile-quantity-badge{position:absolute;top:4px;right:4px;background:var(--color-tertiary, #4890a8);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;box-shadow:0 2px 4px #2b517240;pointer-events:none}@media(max-width:480px){.product-tile-card{padding:.5rem;min-height:110px}.product-tile-name{font-size:.75rem;line-height:1.2}.product-tile-price{font-size:.85rem}.product-tile-image{height:60px;margin-bottom:.25rem}}.category-title{font-size:1.3rem;font-weight:600;color:var(--color-text-primary, #2b5172);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border-light, rgba(175, 202, 204, .3));margin-block-start:0;margin-block-end:10px}@media(max-width:768px){.product-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.product-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}@media(min-width:900px){.product-tiles{grid-template-columns:repeat(3,1fr)}}.sale-products-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:0}.sale-products-header{position:sticky;top:0;z-index:1;padding:.75rem .75rem .5rem;background:#fff;border-radius:8px 8px 0 0}.sale-products-section .product-grid{padding:0 .75rem .75rem}.sale-products-search-container{position:relative;margin-bottom:.5rem}.sale-products-search-input{width:100%;padding:.5rem 2.5rem .5rem .75rem;border:1px solid var(--color-border, #ddd);border-radius:6px;font-size:.95rem;outline:none;box-sizing:border-box}.sale-products-search-input:focus{border-color:var(--color-primary, #4890a8);box-shadow:0 0 0 2px #4890a826}.sale-products-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;color:var(--color-text-secondary, #888);padding:.25rem;line-height:1}.sale-products-tag-filters{display:flex;flex-direction:column;gap:.3rem}.sale-products-tag-filter-row{display:flex;gap:.3rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sale-products-tag-filter-row::-webkit-scrollbar{display:none}.sale-products-tag-filter-subrow{padding-left:.75rem}.sale-products-tag-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-full, 999px);background:var(--color-surface, #fff);font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.sale-products-tag-chip:hover{filter:brightness(.95)}.sale-products-tag-chip.selected{font-weight:600}.sale-products-tag-chip-clear{font-size:.75rem;line-height:1}.sale-summary-title{font-size:1.2rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.sale-item{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:.75rem 2.25rem .75rem .75rem;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.item-name{font-size:.9rem;font-weight:500;color:#333;margin:0 0 .25rem;white-space:normal;overflow-wrap:anywhere}.item-price-row{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem}.item-price{font-size:.8rem;color:#666;white-space:nowrap}.item-operator{font-size:.8rem;color:#999;line-height:1}.quantity-controls{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:4px;padding:.25rem}.quantity-btn{background:#f0f0f0;border:1px solid #ccc;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.quantity-btn:hover:not(:disabled){background:#e0e0e0}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-btn.increase{color:#4caf50}.quantity-btn.decrease{color:#f44336}.quantity{min-width:30px;text-align:center;font-weight:500;color:#333}.line-total{font-weight:600;color:#1976d2;font-size:.9rem;white-space:nowrap;flex-shrink:0}.remove-btn{position:absolute;top:.35rem;right:.35rem;background:#f44336;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;line-height:1;transition:background-color .2s}.remove-btn:hover{background:#d32f2f}@media(max-width:768px){.item-price-row{gap:.35rem}.remove-btn{min-width:24px;min-height:24px}}.qr-scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.qr-scanner{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:420px;width:100%;overflow:hidden}.qr-scanner-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #eee}.qr-scanner-header h3{margin:0;font-size:1rem}.qr-scanner-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#666;line-height:1;padding:.25rem}.qr-scanner-viewport{position:relative;background:#000;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.qr-scanner-video{width:100%;height:100%;object-fit:cover}.qr-scanner-reticle{position:absolute;width:60%;aspect-ratio:1 / 1;border:3px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:0 0 0 100vmax #00000040}.qr-scanner-hint{position:absolute;bottom:.75rem;left:0;right:0;text-align:center;color:#fff;font-size:.85rem;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.8)}.qr-scanner-error{padding:1.5rem;text-align:center}.qr-scanner-error p{margin:0 0 1rem;color:#333}.qr-scanner-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer;font-size:.9rem}.discount-selector{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.discount-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.discount-type-buttons{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.discount-type-btn{background:#f0f0f0;border:2px solid #e0e0e0;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;flex:1;min-width:100px}.discount-type-btn:hover{border-color:var(--color-primary-action, #1976d2)}.discount-type-btn.active{background:var(--color-primary-action, #1976d2);border-color:var(--color-primary-action, #1976d2);color:#fff}.discount-value-input{display:flex;flex-direction:column;gap:.5rem}.input-group{display:flex;align-items:center;border:2px solid #e0e0e0;border-radius:6px;background:#fff;transition:border-color .2s}.input-group:focus-within{border-color:var(--color-primary-action, #1976d2)}.input-prefix,.input-suffix{padding:.75rem;background:#f9f9f9;color:#666;font-weight:500;border-right:1px solid #e0e0e0}.input-suffix{border-right:none;border-left:1px solid #e0e0e0}.discount-input{flex:1;border:none;padding:.75rem;font-size:1rem;outline:none;background:transparent}.input-hint{color:#666;font-size:.8rem;font-style:italic}@media(max-width:768px){.discount-type-buttons{flex-direction:column}.discount-type-btn{flex:none}}.promo-code-group{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.promo-code-group>label{font-size:.9rem;font-weight:600;color:#374151}.promo-code-attached{display:flex;align-items:center;gap:.5rem}.promo-code-badge{display:inline-flex;align-items:center;gap:.3rem;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:999px;padding:.25rem .75rem;font-weight:600;font-size:.9rem}.promo-scan-btn{align-self:flex-start;padding:.45rem 1rem;border:1px solid #2563eb;border-radius:8px;background:#fff;color:#2563eb;cursor:pointer;font-size:.9rem}.promo-scan-btn:hover{background:#eff6ff}.promo-code-error{color:#b91c1c;font-size:.85rem}.promo-remove-btn{padding:.45rem .9rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#6b7280;cursor:pointer;font-size:.9rem}.promo-remove-btn:hover{background:#f9fafb;color:#b91c1c;border-color:#fca5a5}.payment-selector{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.payment-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.payment-methods{display:flex;flex-direction:column;gap:.5rem}.payment-method-btn{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:6px;padding:.75rem;cursor:pointer;text-align:left;transition:all .2s;display:flex;flex-direction:column;gap:.25rem}.payment-method-btn:hover{border-color:var(--color-primary-action, #1976d2);background:#f0f8ff}.payment-method-btn.active{background:var(--color-primary-action, #1976d2);border-color:var(--color-primary-action, #1976d2);color:#fff}.method-name{font-weight:600;font-size:.95rem}.method-description{font-size:.8rem;opacity:.8}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;width:100%;overflow:hidden;animation:confirmDialogEnter .2s ease-out;transform-origin:center center}@keyframes confirmDialogEnter{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e0e0e0}.confirm-dialog-title{margin:0;font-size:1.25rem;font-weight:600;color:#333;text-align:center}.confirm-dialog-content{padding:1.5rem}.confirm-dialog-message{margin:0;font-size:1rem;line-height:1.5;color:#555;text-align:center}.confirm-dialog-actions{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;justify-content:center}.confirm-dialog-btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px;display:flex;align-items:center;justify-content:center}.confirm-dialog-btn.secondary{background:#f5f5f5;color:#666;border:1px solid #e0e0e0}.confirm-dialog-btn.secondary:hover{background:#e9e9e9;border-color:#d0d0d0}.confirm-dialog-btn.secondary:active{background:#e0e0e0;transform:translateY(1px)}.confirm-dialog-btn.primary{background:#2196f3;color:#fff}.confirm-dialog-btn.primary:hover{background:#1976d2;box-shadow:0 2px 8px #2196f34d}.confirm-dialog-btn.primary:active{background:#1565c0;transform:translateY(1px);box-shadow:0 1px 4px #2196f34d}.confirm-dialog-btn.danger{background:#f44336;color:#fff}.confirm-dialog-btn.danger:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d}.confirm-dialog-btn.danger:active{background:#c62828;transform:translateY(1px);box-shadow:0 1px 4px #f443364d}@media(max-width:480px){.confirm-dialog-overlay{padding:1rem}.confirm-dialog{max-width:none;margin:0}.confirm-dialog-actions{flex-direction:column}.confirm-dialog-btn{flex:none;width:100%}.confirm-dialog-header{padding:1.25rem 1.25rem .75rem}.confirm-dialog-content{padding:1.25rem}.confirm-dialog-actions{padding:.75rem 1.25rem 1.25rem}}.confirm-dialog-btn:focus{outline:2px solid #2196f3;outline-offset:2px}.confirm-dialog-btn.danger:focus{outline-color:#f44336}.contact-selector{display:flex;flex-direction:column;gap:.25rem}.contact-selector .form-row{margin-bottom:0;row-gap:.25rem}.contact-selector .form-group{gap:.1rem}.contact-selector label{line-height:1.25}.contact-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem;margin-bottom:.25rem}.contact-selector .contact-header>:first-child{margin:0;padding-bottom:0;border-bottom:none}.contact-primary{position:relative}.contact-actions{display:flex;gap:.5rem;flex-shrink:0}.contact-selector>.contact-actions{margin-top:.25rem}.contact-action{padding:.4rem .85rem;font-size:.85rem;border:1px solid var(--color-border-light, rgba(175, 202, 204, .5));border-radius:6px;background:transparent;color:var(--color-primary, #57bcd2);cursor:pointer;transition:background-color .15s}.contact-action:hover{background:var(--color-background-hover, #f0f7f9)}.contact-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--color-border-light, rgba(175, 202, 204, .5));border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:250px;overflow-y:auto}.contact-suggestion{display:flex;flex-direction:column;gap:.15rem;width:100%;padding:.75rem;text-align:left;border:none;border-bottom:1px solid var(--color-border-light, rgba(175, 202, 204, .2));background:transparent;cursor:pointer;transition:background-color .15s}.contact-suggestion:last-child{border-bottom:none}.contact-suggestion:hover{background:var(--color-background-hover, #f0f7f9)}.contact-suggestion-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary, #2b5172)}.contact-suggestion-detail{font-size:.8rem;color:var(--color-text-muted, #a0b0b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-suggestion-new{font-weight:600;font-size:.9rem;color:var(--color-primary, #57bcd2);background:var(--color-background-subtle, #f7fbfc)}@media(max-width:600px){.contact-suggestions{max-height:200px}}.customer-billing-section{margin-top:1rem}.customer-billing-section .billing-form{display:flex;flex-direction:column;gap:.25rem}.customer-billing-section .billing-form>.form-group{gap:.1rem}.customer-billing-section .billing-form label{line-height:1.25}.billing-divider{width:100%;margin:.5rem 0 .35rem;border:none;border-top:1px solid #e0e0e0}.customer-billing-section .invoice-group{flex:1}.customer-billing-section .invoice-input-row{display:flex;gap:.5rem;align-items:stretch}.customer-billing-section .invoice-input-row input{flex:1;min-width:0}.customer-billing-section .emit-btn{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;border:none}.customer-billing-section .emit-btn.enabled{background:#1976d2;color:#fff}.customer-billing-section .emit-btn.enabled:hover{background:#1565c0}.customer-billing-section .emit-btn.disabled{background:var(--color-border-light, rgba(175, 202, 204, .5));color:var(--color-text-muted, #a0b0b8);cursor:not-allowed}.customer-billing-section .char-count{font-size:.75rem;color:var(--color-text-muted, #a0b0b8);text-align:right;margin-top:.25rem}.customer-billing-section.readonly{background:var(--color-surface, #fbfdfd)}@media(max-width:600px){.customer-billing-section .invoice-input-row{flex-direction:column}.customer-billing-section .emit-btn{width:100%;padding:.75rem}}.split-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.split-dialog{background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 8px 32px #0003;width:100%;max-width:460px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.split-dialog-header{padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--color-border-light, #e0e0e0)}.split-dialog-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text-primary, #333)}.split-dialog-subtitle{margin:.35rem 0 0;font-size:.85rem;color:var(--color-text-muted, #6b7280)}.split-dialog-content{padding:1rem 1.25rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.split-diner-count{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.split-diner-count-label{font-size:.95rem;font-weight:500;color:var(--color-text-primary, #333)}.split-diner-card{border:1px solid var(--color-border-light, #e5e7eb);border-radius:10px;padding:.75rem;margin-bottom:.75rem}.split-diner-title{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text-primary, #333)}.split-stepper{display:inline-flex;align-items:center;gap:.25rem}.split-stepper-btn{min-width:2.25rem;height:2.25rem;border:1px solid var(--color-border-light, #d1d5db);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text-primary, #333);font-size:1.1rem;line-height:1;cursor:pointer}.split-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.split-stepper-value{min-width:1.75rem;text-align:center;font-size:1rem;font-weight:600;color:var(--color-text-primary, #333)}.split-item{border:1px solid var(--color-border-light, #e5e7eb);border-radius:10px;padding:.75rem;margin-bottom:.75rem}.split-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.split-item-name{display:flex;flex-direction:column;font-size:.95rem;color:var(--color-text-primary, #333)}.split-item-detail{font-size:.8rem;color:var(--color-text-muted, #6b7280)}.split-even-btn{border:1px solid var(--color-primary, #57bcd2);border-radius:8px;background:transparent;color:var(--color-primary, #57bcd2);font-size:.78rem;padding:.35rem .6rem;white-space:nowrap;cursor:pointer}.split-item-diners{display:flex;flex-direction:column;gap:.35rem}.split-item-diner{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.split-item-diner-name{font-size:.88rem;color:var(--color-text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-item-units.resto{min-width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--color-surface-secondary, #f3f4f6);font-weight:600;color:var(--color-text-primary, #333)}.split-totals{border-top:1px solid var(--color-border-light, #e5e7eb);padding-top:.75rem}.split-total-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.15rem 0;color:var(--color-text-primary, #333)}.split-dialog-error{margin:0;padding:0 1.25rem .5rem;font-size:.85rem;color:#dc2626}.split-dialog-actions{display:flex;gap:.75rem;padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--color-border-light, #e0e0e0)}.split-dialog-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid transparent}.split-dialog-btn.secondary{background:var(--color-surface, #fff);border-color:var(--color-border-light, #d1d5db);color:var(--color-text-primary, #333)}.split-dialog-btn.primary{background:var(--color-primary, #57bcd2);color:#fff}.split-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.action-menu{position:relative;display:flex;align-items:stretch}.action-menu-action{flex:1 1 auto;min-width:0}.action-menu:has(.action-menu-toggle) .action-menu-action{border-top-right-radius:0;border-bottom-right-radius:0}.action-menu-toggle{flex:0 0 auto;width:3rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-left:1px solid rgba(255,255,255,.35);border-radius:0 6px 6px 0;background:#4caf50;color:#fff;cursor:pointer;transition:all .2s}.action-menu-toggle:hover{background:#43a047}.action-menu-list{position:absolute;bottom:calc(100% + .5rem);right:0;min-width:14rem;margin:0;padding:.35rem;list-style:none;background:var(--color-surface, #fff);border:1px solid var(--color-border-light, #e5e7eb);border-radius:10px;box-shadow:0 10px 30px #0000002e;z-index:20}.action-menu-item{width:100%;padding:.75rem .85rem;border:none;border-radius:7px;background:transparent;color:var(--color-text-primary, #2b5172);font-size:.95rem;font-weight:500;text-align:left;cursor:pointer}.action-menu-item:hover:not(:disabled){background:var(--color-surface-secondary, #f3f4f6)}.action-menu-item:disabled{opacity:.45;cursor:not-allowed}.grouped-tag-selector{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.grouped-tag-selector-group{display:flex;flex-direction:column;gap:.375rem}.grouped-tag-selector-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.grouped-tag-selector-buttons{display:flex;gap:.5rem}.grouped-tag-selector-button{flex:1;padding:.75rem 1rem;border:1.5px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.grouped-tag-selector-button:hover:not(:disabled){border-color:var(--color-primary)}.grouped-tag-selector-button.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.grouped-tag-selector-button:disabled,.grouped-tag-selector-select:disabled{opacity:.65;cursor:not-allowed}.grouped-tag-selector-select{width:100%;padding:.75rem;border:1.5px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text-primary);font-size:.9rem}@media(max-width:640px){.grouped-tag-selector-buttons{gap:.375rem}.grouped-tag-selector-button,.grouped-tag-selector-select{min-height:48px}}.tag-input-container{position:relative;width:100%}.tag-input-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem;min-height:1.5rem}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:1rem;font-size:.8rem;font-weight:500;line-height:1.2;transition:opacity .2s ease;max-width:100%;overflow:hidden}.tag-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:none;background:transparent;cursor:pointer;font-size:.85rem;line-height:1;padding:0;border-radius:50%;opacity:.6;transition:opacity .2s ease,background-color .2s ease;flex-shrink:0}.tag-chip-remove:hover{opacity:1;background-color:#0000001a}.tag-input-field-wrapper{position:relative}.tag-input-field{width:100%;padding:.625rem .75rem;border:1.5px solid var(--color-border);border-radius:.5rem;font-size:.9rem;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.tag-input-field::placeholder{color:var(--color-text-muted)}.tag-input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.tag-input-field:disabled{background-color:var(--color-surface-secondary);color:var(--color-text-muted);cursor:not-allowed}.tag-input-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:.25rem;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;max-height:14rem;overflow-y:auto;animation:tagDropdownFadeIn .15s ease}@keyframes tagDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tag-input-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary);transition:background-color .15s ease;border:none;background:none;width:100%;text-align:left}.tag-input-dropdown-item:hover,.tag-input-dropdown-item.highlighted{background-color:var(--color-primary-light)}.tag-input-dropdown-item:first-child{border-radius:.5rem .5rem 0 0}.tag-input-dropdown-item:last-child{border-radius:0 0 .5rem .5rem}.tag-input-color-dot{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.tag-input-dropdown-create{border-top:1px solid var(--color-border-light);color:var(--color-primary);font-weight:500}.tag-input-dropdown-create .tag-input-create-icon{font-size:1rem;line-height:1}.tag-input-create-panel{padding:.75rem;border-top:1px solid var(--color-border-light);background:var(--color-surface-secondary);border-radius:0 0 .5rem .5rem;animation:tagPanelSlideIn .15s ease}@keyframes tagPanelSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:10rem}}.tag-input-create-panel-label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.5rem}.tag-input-color-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tag-input-color-option{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .15s ease}.tag-input-color-option:hover{transform:scale(1.15)}.tag-input-color-option.selected{border-color:var(--color-text-primary);transform:scale(1.15)}.tag-input-color-option-check{font-size:.7rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tag-input-create-actions{display:flex;gap:.5rem}.tag-input-create-btn{padding:.375rem .75rem;border-radius:.375rem;font-size:.8rem;font-weight:500;cursor:pointer;border:none;transition:background-color .2s ease,opacity .2s ease}.tag-input-create-btn-confirm{background-color:var(--color-primary);color:#fff}.tag-input-create-btn-confirm:hover{background-color:var(--color-primary-hover)}.tag-input-create-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.tag-input-create-btn-cancel{background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.tag-input-create-btn-cancel:hover{background-color:var(--color-surface-secondary)}@media(max-width:480px){.tag-input-chips{gap:.25rem}.tag-chip{font-size:.75rem;padding:.2rem .4rem}.tag-input-dropdown-item{padding:.625rem .75rem}.tag-input-color-option{width:1.75rem;height:1.75rem}}.sale-section-nav{display:flex;flex:0 0 auto;align-items:stretch;background:var(--color-surface, #fbfdfd);border-bottom:1px solid var(--color-border-light, rgba(175, 202, 204, .5));box-shadow:0 2px 6px #0000000f;padding-inline:max(0px,calc((100% - 960px)/2));z-index:2}.sale-section-link{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .25rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary, #4890a8);cursor:pointer;transition:color .15s ease,background-color .15s ease}.sale-section-link:hover{background:var(--color-primary-light, rgba(87, 188, 210, .12))}.sale-section-link[aria-current=true]{color:var(--color-primary, #57bcd2);border-bottom-color:var(--color-primary, #57bcd2)}.sale-section-link:focus-visible{outline:2px solid var(--color-primary, #57bcd2);outline-offset:-2px}.sale-section-link-dot{position:absolute;top:.45rem;right:50%;transform:translate(1.05rem);width:8px;height:8px;border-radius:50%;background:var(--color-accent, #f0c73f)}.sale-section-link-count{position:absolute;top:.25rem;right:50%;transform:translate(1.25rem);min-width:1.05rem;padding:0 .2rem;border-radius:var(--radius-full, 999px);background:var(--color-primary, #57bcd2);color:var(--color-on-primary, #ffffff);font-size:.7rem;font-weight:700;line-height:1.05rem;text-align:center}.sale-section{flex:0 0 auto;scroll-margin-top:.5rem}.page-edit.loading{justify-content:center;align-items:center}.loading-spinner{font-size:1.2rem;color:var(--color-text-secondary, #4890a8)}.page-edit.error{justify-content:center;align-items:center}.error-message{text-align:center;padding:2rem;background:var(--color-surface, #fbfdfd);border-radius:8px;box-shadow:0 2px 8px #2b51721a;max-width:400px;margin:0 auto}.error-message h2{color:#d32f2f;margin-bottom:1rem}.back-btn{background:var(--color-primary, #57bcd2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .2s}.back-btn:hover{background:var(--color-primary-hover, #4ba5c1)}.header-left{display:flex;align-items:center;gap:1rem;flex:1}.header-actions{display:flex;align-items:center;gap:.5rem}.sale-type{margin:.5rem 0;padding:4px 12px;background-color:var(--color-primary, #57bcd2);color:#fff;border-radius:16px;font-size:.85rem;display:inline-block;font-weight:500}.sale-content{display:flex;flex:1;flex-direction:column;gap:0;padding:0;min-height:0;overflow:hidden}.sale-sections{display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem;min-height:0;padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.sale-sections>*{width:100%;max-width:960px;margin-inline:auto}.sale-details-container{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto;width:100%}.audit-info{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--color-secondary, #4890a8)}.audit-details p{margin:.5rem 0;color:#333;font-size:.9rem}.audit-details p strong{color:var(--color-text-primary, #2b5172);font-weight:600}.product-grid{display:flex;flex-direction:column;gap:1.5rem}.product-category{margin-bottom:1.5rem}.category-title{font-size:1.3rem;font-weight:600;color:var(--color-text-primary, #2b5172);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border-light, rgba(175, 202, 204, .3));margin-block-start:0px;margin-block-end:10px}.product-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;justify-items:stretch;width:100%}@media(min-width:560px){.product-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.sale-summary{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.summary-title{font-size:1.2rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.sale-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.sale-item-readonly{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.sale-item-readonly .readonly-item-header{font-size:.9rem}.sale-item-readonly .readonly-item-name{font-weight:500;color:#333}.sale-item-readonly .readonly-item-detail{display:flex;justify-content:space-between;align-items:center}.sale-item-readonly .readonly-item-calc{font-size:.85rem;color:#666}.sale-item-readonly .readonly-item-total{font-weight:600;color:#1976d2;font-size:.9rem}.empty-cart{text-align:center;padding:2rem;color:#666;font-style:italic}.summary-totals{border-top:2px solid #e0e0e0;padding-top:1rem}.total-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem}.total-line.discount{color:#4caf50;font-weight:500}.total-line.grand-total{font-size:1.1rem;font-weight:600;color:#333;border-top:1px solid #e0e0e0;padding-top:.5rem;margin-top:.5rem}.sale-actions{display:flex;flex:0 0 auto;flex-flow:row wrap;gap:.5rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));padding-inline:max(1rem,calc((100% - 960px)/2));background:#fff;box-shadow:0 -2px 8px #0000001f}.sale-actions-total{display:flex;flex:1 0 100%;justify-content:space-between;align-items:baseline;font-size:1.05rem;font-weight:600;color:var(--color-text-primary, #2b5172)}.sale-actions .form-alert{flex:1 0 100%;margin-bottom:0}.sale-actions .action-menu{flex:1 0 100%}.sale-actions .cancel-btn{flex:1 1 0;min-width:0;padding:.75rem .5rem}.complete-btn,.save-btn,.cancel-btn{padding:1rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.complete-btn.primary{background:#4caf50;color:#fff}.complete-btn.primary:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.save-btn.secondary{background:var(--color-primary-action, #1976d2);color:#fff}.save-btn.secondary:hover:not(:disabled){background:var(--color-primary-action-hover, #1565c0);transform:translateY(-1px);box-shadow:0 2px 8px #00000029}.complete-btn:disabled,.save-btn:disabled{background:#ccc;color:#666;cursor:not-allowed;transform:none;box-shadow:none}.cancel-btn.danger{background:#f44336;color:#fff}.cancel-btn.danger:hover{background:#d32f2f;transform:translateY(-1px);box-shadow:0 2px 8px #f443364d}.layout:has(.sale-content){height:100dvh;min-height:0}body:has(.sale-content),#root:has(.sale-content),.app:has(.sale-content){min-height:0}.page-edit:has(.sale-content){height:auto;min-height:0}@media(max-width:480px){.page-edit{height:auto;min-height:100vh}.header-left{flex:1;flex-direction:row;align-items:center;gap:.5rem}.header-actions{flex:none;justify-content:flex-end}.header-btn{padding:.5rem 1rem;font-size:.8rem;min-height:32px;border-radius:4px}.remove-btn{min-width:24px;min-height:24px;flex-shrink:0;border-radius:50%!important}}.product-image-picker{display:flex;flex-direction:column;gap:.75rem}.product-image-picker-preview{position:relative;align-self:flex-start;width:120px;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--color-border-light, rgba(175, 202, 204, .3));background:var(--color-background, #fbfdfd)}.product-image-picker-preview img{width:100%;height:100%;object-fit:cover;display:block}.product-image-picker-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.product-image-picker-remove:hover{background:#000000bf}.product-image-picker-actions{display:flex;flex-wrap:wrap;gap:.5rem}.product-image-picker-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.product-image-picker-action{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .9rem;border-radius:8px;border:1px solid var(--color-border, #afcacc);background:var(--color-surface, #fbfdfd);color:var(--color-text-primary, #2b5172);font-size:.9rem;font-weight:500;cursor:pointer;min-height:44px}.product-image-picker-action:hover{border-color:var(--color-primary, #57bcd2);color:var(--color-primary, #57bcd2)}.product-image-picker-input:focus-visible+.product-image-picker-action,.product-image-picker-action:focus-visible{outline:2px solid var(--color-primary, #57bcd2);outline-offset:2px}.product-image-picker-action[aria-disabled=true]{opacity:.55;cursor:not-allowed}.product-image-picker-status{margin:0;font-size:.85rem;color:var(--color-text-secondary, #4890a8)}.product-image-picker-error{margin:0;font-size:.85rem;color:#d32f2f}.product-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.product-form-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.product-form-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px 12px 0 0}.product-form-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:700}.close-btn{background:#6c757d1a;border:none;padding:.75rem;cursor:pointer;color:#6c757d;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background-color:#dc35451a;color:#dc3545;transform:scale(1.05)}.product-form{padding:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:#2c3e50;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s;background-color:#fff;box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;background-color:#f8f9ff}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545;background-color:#fff5f5}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #dc35451a}.form-group input[id=icon]{text-align:center;font-size:1.5rem;height:3rem}.form-group input[type=number]{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.form-group small{display:block;margin-top:.5rem;font-size:.85rem;color:#6c757d;font-style:italic}.error-text{display:block;margin-top:.5rem;font-size:.85rem;color:#dc3545;font-weight:500}.new-category-input{display:flex;gap:.75rem;align-items:stretch}.new-category-input input{flex:1}.cancel-new-category{background:#6c757d;color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;transition:all .2s}.cancel-new-category:hover{background-color:#545b62;transform:translateY(-1px)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2.5rem;padding-top:2rem;border-top:2px solid #e9ecef}.cancel-btn,.save-btn{padding:1rem 2rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;min-width:120px}.cancel-btn{background:#6c757d;color:#fff;box-shadow:0 2px 4px #6c757d33}.cancel-btn:hover{background:#545b62;transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d}.save-btn{background:var(--color-primary-action, #1976d2);color:#fff;box-shadow:0 2px 4px #0000001f}.save-btn:hover{background:var(--color-primary-action-hover, #1565c0);transform:translateY(-1px);box-shadow:0 4px 8px #0000002e}.save-btn:active,.cancel-btn:active{transform:translateY(0)}.product-form-full-page{background:#fff;border-radius:12px;border:none;margin:1rem;padding:2rem;box-shadow:0 4px 12px #0000001a;transition:box-shadow .2s;animation:fadeInUp .3s ease-out}.product-form-full-page:hover{box-shadow:0 6px 20px #00000026}.product-form-full-page .product-form{padding:0}.product-form-full-page .cancel-btn,.product-form-full-page .save-btn{position:relative;overflow:hidden}.product-form-full-page .save-btn{background:var(--color-primary-action, #1976d2);box-shadow:0 2px 4px #0000001f}.product-form-full-page .save-btn:hover{background:var(--color-primary-action-hover, #1565c0);box-shadow:0 4px 8px #0000002e}.product-form-full-page .form-actions{position:sticky;bottom:0;background:#fff;z-index:10}@media(max-width:768px){.product-form-overlay{padding:.5rem}.product-form-modal{border-radius:8px}.product-form-header{padding:1.5rem 1.5rem 1rem}.product-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column;gap:.75rem}.cancel-btn,.save-btn{width:100%;justify-content:center}.new-category-input{flex-direction:column}.product-form-full-page{border-radius:0;margin:0;padding:1.5rem;box-shadow:none}.product-form-full-page .form-actions{position:fixed;bottom:0;left:0;right:0;padding:1.5rem;background:#fff;border-top:2px solid #e9ecef;box-shadow:0 -4px 12px #0000001a}.product-form-full-page .product-form{padding-bottom:150px}}@media(max-width:480px){.product-form,.product-form-full-page{padding:1rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;font-size:.95rem}.product-form-full-page .form-actions{padding:1rem}}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.cancel-btn:focus,.save-btn:focus{outline:2px solid #007bff;outline-offset:2px}.tree-selector{display:flex;flex-direction:column;gap:.75rem}.tree-selector--loading,.tree-selector--empty{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:#666;font-size:.9rem}.tree-selector--disabled{opacity:.6;pointer-events:none}.tree-selector__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.tree-selector__summary{font-size:.85rem;color:#666}.tree-selector__actions{display:flex;gap:.5rem}.tree-selector__action-btn{padding:.25rem .5rem;font-size:.75rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;color:#666;transition:all .2s ease}.tree-selector__action-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488)}.tree-selector__action-btn:disabled{opacity:.5;cursor:not-allowed}.tree-selector__list{display:flex;flex-direction:column;gap:.25rem;max-height:300px;overflow-y:auto}.tree-selector__branch,.tree-selector__leaf{display:flex;flex-direction:column}.tree-selector__branch-row,.tree-selector__leaf-row{display:flex;align-items:center;gap:.25rem;padding:.5rem;border-radius:4px}.tree-selector__branch-row{background-color:#f9f9f9}.tree-selector__leaf-row:hover,.tree-selector__branch-row:hover{background-color:#f5f5f5}.tree-selector__expand-btn,.tree-selector__leaf-spacer{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px}.tree-selector__expand-btn{padding:0;border:none;background:transparent;cursor:pointer;color:#666}.tree-selector__expand-btn svg.rotated{transform:rotate(90deg)}.tree-selector__label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer}.tree-selector__label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #0d9488)}.tree-selector__label-text{color:#333}.tree-selector__branch .tree-selector__label-text{font-weight:500}.tree-selector__count{font-size:.8rem;color:#999}.tree-selector__children{display:flex;flex-direction:column;padding-left:2.5rem;margin-top:.25rem;gap:.25rem}.tree-selector__child{padding:.35rem .5rem}.tree-selector__list::-webkit-scrollbar{width:6px}.tree-selector__list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.tree-selector__list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.tree-selector__list::-webkit-scrollbar-thumb:hover{background:#aaa}.stacked-bar-chart{width:100%;display:flex;flex-direction:column;gap:.75rem}.stacked-bar-chart--empty{display:flex;align-items:center;justify-content:center;min-height:200px;background-color:#f5f5f5;border-radius:8px;color:#666}.stacked-bar-chart__legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.stacked-bar-chart__legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666}.stacked-bar-chart__legend-color{width:16px;height:16px;border-radius:3px}.stacked-bar-chart__legend-color--completed{background-color:var(--color-primary, #0d9488)}.stacked-bar-chart__legend-color--active{background-color:#3b82f6}.stacked-bar-chart__chart-wrapper{display:flex;align-items:stretch;aspect-ratio:3 / 2;max-height:280px;width:100%}.stacked-bar-chart__data-scroll{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}.stacked-bar-chart__plot{display:flex;align-items:stretch;height:100%;width:max-content;min-width:100%}.stacked-bar-chart__y-axis{position:sticky;left:0;z-index:1;flex-shrink:0;background:#fff}.stacked-bar-chart__y-axis-svg{display:block;height:100%;width:auto;min-width:28px;overflow:visible}.stacked-bar-chart__data-svg{display:block;height:100%;width:auto;flex:1 0 auto}.stacked-bar-chart__axis{stroke:#ccc;stroke-width:.2}.stacked-bar-chart__tick{stroke:#999;stroke-width:.15}.stacked-bar-chart__grid{stroke:#eee;stroke-width:.1;stroke-dasharray:.5}.stacked-bar-chart__y-label,.stacked-bar-chart__x-label{font-size:2.5px;fill:#666}.stacked-bar-chart__bar{transition:opacity .2s ease;cursor:pointer}.stacked-bar-chart__bar:hover{opacity:.8}.stacked-bar-chart__bar-group:hover .stacked-bar-chart__bar{filter:brightness(1.1)}.stacked-bar-chart__status-labels{display:flex;gap:1.5rem;justify-content:center;font-size:.75rem;color:#666;margin-top:-.25rem}.stacked-bar-chart__status-label{display:flex;align-items:center;gap:.25rem}.stacked-bar-chart__status-label--completed{color:var(--color-primary, #0d9488)}.stacked-bar-chart__status-label--active{color:#3b82f6;opacity:.7}.stacked-bar-chart__trend{stroke:#ef4444;stroke-width:.5;stroke-linecap:round;fill:none;pointer-events:none}.stacked-bar-chart__legend-color--trend{height:3px;border-radius:2px;background-color:#ef4444}.stacked-bar-chart__forecast{fill:var(--color-primary, #0d9488);fill-opacity:.18;stroke:var(--color-primary, #0d9488);stroke-width:.25;stroke-dasharray:1 .8;cursor:pointer}.stacked-bar-chart__legend-color--forecast{background-color:#0d94882e;border:1px dashed var(--color-primary, #0d9488)}.stacked-bar-chart__backdrop,.stacked-bar-chart__hit-area{fill:transparent;cursor:pointer}.stacked-bar-chart__tooltip{cursor:pointer;pointer-events:bounding-box}.stacked-bar-chart__tooltip-box{fill:#1f2937;fill-opacity:.95;stroke:#ffffff40;stroke-width:.15}.stacked-bar-chart__tooltip-title{font-size:2.8px;font-weight:600;fill:#fff}.stacked-bar-chart__tooltip-label{font-size:2.8px;fill:#d1d5db}.stacked-bar-chart__tooltip-value{font-size:2.8px;fill:#fff}.stacked-bar-chart__tooltip-value--emphasis{font-weight:600}.input-readonly{background:var(--color-bg-secondary, #f5f5f5)!important;color:var(--color-text-secondary, #666)!important;cursor:default}.purchase-section{flex:0 0 auto;scroll-margin-top:.5rem}.purchase-section-nav{display:flex;flex:0 0 auto;align-items:stretch;background:var(--color-surface, #fbfdfd);border-bottom:1px solid var(--color-border-light, rgba(175, 202, 204, .5));box-shadow:0 2px 6px #0000000f;padding-inline:max(0px,calc((100% - 960px)/2));z-index:2}.purchase-section-link{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .25rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary, #4890a8);cursor:pointer;transition:color .15s ease,background-color .15s ease}.purchase-section-link:hover{background:var(--color-primary-light, rgba(87, 188, 210, .12))}.purchase-section-link[aria-current=true]{color:var(--color-primary, #57bcd2);border-bottom-color:var(--color-primary, #57bcd2)}.purchase-section-link:focus-visible{outline:2px solid var(--color-primary, #57bcd2);outline-offset:-2px}.purchase-section-link-dot{position:absolute;top:.45rem;right:50%;transform:translate(1.05rem);width:8px;height:8px;border-radius:50%;background:var(--color-accent, #f0c73f)}.purchase-section-link-count{position:absolute;top:.25rem;right:50%;transform:translate(1.25rem);min-width:1.05rem;padding:0 .2rem;border-radius:var(--radius-full, 999px);background:var(--color-primary, #57bcd2);color:var(--color-on-primary, #ffffff);font-size:.7rem;font-weight:700;line-height:1.05rem;text-align:center}.page-edit-form.purchase-content{min-height:0;flex:1;padding:0;overflow:hidden}.purchase-sections{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:.55rem .7rem 2rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.purchase-sections>*{flex:0 0 auto;width:100%;max-width:960px;margin-inline:auto}.layout:has(.purchase-content){height:100dvh;min-height:0}body:has(.purchase-content),#root:has(.purchase-content),.app:has(.purchase-content){min-height:0}.purchase-form-section>h3{text-transform:none;letter-spacing:normal}.form-group{margin-bottom:.75rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.3rem}.purchase-line-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.purchase-line-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0;position:relative}.purchase-line-item-header{display:flex;justify-content:flex-end;align-items:center;position:absolute;top:.5rem;right:.5rem;z-index:1}.line-item-remove-btn{background:#f44336;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;transition:background-color .2s;padding:0;flex-shrink:0}.line-item-remove-btn:hover{background:#d32f2f}.line-item-description-autocomplete{position:relative}.line-item-fields{display:grid;gap:.5rem}.line-item-fields-detailed{grid-template-columns:1fr}.line-item-fields-detailed .line-item-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}@media(max-width:480px){.line-item-fields-detailed .line-item-numbers{grid-template-columns:1fr 1fr}}.line-item-fields input,.line-item-fields select{width:100%;padding:.5rem .6rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.8rem;background:#fff;color:#333;box-sizing:border-box;transition:border-color .2s}.line-item-fields input:focus,.line-item-fields select:focus{outline:none;border-color:#1976d2}.line-item-fields label{display:block;font-size:.65rem;font-weight:500;color:#666;margin-bottom:.15rem}.product-inline-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--color-border-light, #ddd);border-radius:4px;background:var(--color-bg, #fff);color:var(--color-text-secondary, #666);cursor:pointer;transition:background .15s,color .15s}.product-inline-edit-btn:hover{background:var(--color-primary, #0ea5e9);color:#fff;border-color:var(--color-primary, #0ea5e9)}.line-item-total{text-align:right;font-size:.9rem;font-weight:600;color:#1976d2;padding-top:.35rem;border-top:1px dashed #e0e0e0;margin-top:.35rem}.add-line-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px dashed var(--color-border-light);border-radius:var(--radius-md);padding:.6rem 1rem;font-size:.8rem;color:var(--color-accent);cursor:pointer;width:100%;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.add-line-btn:hover{background:#57bcd20d;border-color:var(--color-accent)}.vat-section{display:flex;gap:.75rem;align-items:flex-end}.vat-section .form-group{flex:1;margin-bottom:0}.vat-calc-btn{padding:.5rem 1rem;background:var(--color-primary-action, #1976d2);border:2px solid var(--color-primary-action, #1976d2);border-radius:6px;font-size:.8rem;font-weight:500;color:#fff;cursor:pointer;white-space:nowrap;transition:all .2s}.vat-calc-btn:hover{background:var(--color-primary-action-hover, #1565c0);border-color:var(--color-primary-action-hover, #1565c0)}.insufficient-funds-warning{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-md);padding:.65rem .75rem;font-size:.8rem;color:#991b1b;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.purchase-line-item.readonly{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.purchase-line-item.readonly .readonly-line-header{font-size:.9rem}.purchase-line-item.readonly .readonly-line-detail{display:flex;justify-content:space-between;align-items:center}.purchase-line-item.readonly .line-total-readonly{font-weight:600;color:#1976d2;font-size:.9rem}.pareto-chart{width:100%;display:flex;flex-direction:column;gap:.75rem}.pareto-chart--empty{display:flex;align-items:center;justify-content:center;min-height:200px;background-color:#f5f5f5;border-radius:8px;color:#666}.pareto-chart__chart-wrapper{display:flex;align-items:stretch;aspect-ratio:3 / 2;min-height:300px;max-height:320px;width:100%}.pareto-chart__data-scroll{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}.pareto-chart__plot{display:flex;align-items:stretch;height:100%;width:max-content;min-width:100%}.pareto-chart__y-axis,.pareto-chart__pct-axis{position:sticky;z-index:1;flex-shrink:0;background:#fff}.pareto-chart__y-axis{left:0}.pareto-chart__pct-axis{right:0}.pareto-chart__y-axis-svg,.pareto-chart__pct-axis-svg{display:block;height:100%;width:auto;min-width:30px;overflow:visible}.pareto-chart__data-svg{display:block;height:100%;width:auto;flex:1 0 auto}.pareto-chart__axis{stroke:#ccc;stroke-width:.2}.pareto-chart__tick{stroke:#999;stroke-width:.15}.pareto-chart__grid{stroke:#eee;stroke-width:.1;stroke-dasharray:.5}.pareto-chart__y-label{font-size:2.5px;fill:#666}.pareto-chart__x-label{font-size:2.8px;fill:#666}.pareto-chart__threshold-label{font-size:2.2px;fill:#9ca3af;font-weight:700}.pareto-chart__bar{transition:opacity .2s ease;cursor:pointer}.pareto-chart__bar:hover,.pareto-chart__bar-group:hover .pareto-chart__bar{filter:brightness(1.1)}.pareto-chart__legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.pareto-chart__legend-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#666}.pareto-chart__legend-color{width:14px;height:14px;border-radius:3px;flex-shrink:0}.pareto-chart__legend-line{width:18px;height:3px;border-radius:2px;flex-shrink:0}.pareto-chart__legend-line--dashed{background:transparent;height:0;border-top:2px dashed}.pareto-chart__bar{cursor:pointer}.pareto-chart__tooltip{cursor:pointer;pointer-events:bounding-box}.pareto-chart__tooltip-box{fill:#1f2937;fill-opacity:.95;stroke:#ffffff40;stroke-width:.15}.pareto-chart__tooltip-title{font-size:2.8px;font-weight:600;fill:#fff}.pareto-chart__tooltip-label{font-size:2.8px;fill:#d1d5db}.pareto-chart__tooltip-value{font-size:2.8px;fill:#fff}.pareto-chart__tooltip-value--emphasis{font-weight:600}.price-trend{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem}.price-trend__summary{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.price-trend__title{font-weight:600;color:#333}.price-trend__change{font-weight:600;color:#777}.price-trend__change--up{color:#dc2626}.price-trend__change--down{color:#0d9488}.price-trend__figures{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem;font-size:.75rem;color:#777}.price-trend__svg{width:100%;height:auto;margin-top:.5rem;overflow:visible}.price-trend__axis{stroke:#e0e0e0;stroke-width:.3}.price-trend__axis-label,.price-trend__x-label{font-size:2.6px;fill:#999;dominant-baseline:middle}.price-trend__line{fill:none;stroke:#0d9488;stroke-width:.6;stroke-linejoin:round}.price-trend__point{fill:#0d9488;cursor:pointer}.price-trend__point--min{fill:#16a34a}.price-trend__point--max{fill:#dc2626}.price-trend__tooltip-box{fill:#1f2937;opacity:.95}.price-trend__tooltip-title{font-size:2.8px;fill:#fff;font-weight:600}.price-trend__tooltip-label{font-size:2.8px;fill:#d1d5db}.price-trend__tooltip-value{font-size:2.8px;fill:#fff}.price-trend__tooltip-value--emphasis{font-weight:700}.price-matrix{display:flex;flex-direction:column;gap:.5rem}.price-matrix__row{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.price-matrix__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem;background:none;border:none;text-align:left;cursor:pointer;font:inherit}.price-matrix__header:hover{background-color:#fafafa}.price-matrix__product,.price-matrix__prices{display:flex;flex-direction:column;gap:.15rem;min-width:0}.price-matrix__prices{align-items:flex-end;text-align:right;flex-shrink:0}.price-matrix__name{font-weight:600;color:#333}.price-matrix__best{font-weight:600;color:#0d9488;white-space:nowrap}.price-matrix__meta{font-size:.75rem;color:#999}.price-matrix__saving{padding:.4rem .75rem;font-size:.8rem;color:#777;background-color:#f9f9f9;border-top:1px solid #f0f0f0}.price-matrix__saving--money{color:#b45309;background-color:#fffbeb;font-weight:600}.price-matrix__quotes{list-style:none;margin:0;padding:0;border-top:1px solid #f0f0f0}.price-matrix__quote{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid #f5f5f5}.price-matrix__quote:last-child{border-bottom:none}.price-matrix__quote--best{background-color:#f0fdfa}.price-matrix__quote-name{font-size:.85rem;color:#333;min-width:0;overflow-wrap:anywhere}.price-matrix__quote-figures{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex-shrink:0;text-align:right}.price-matrix__quote-price{font-weight:600;color:#333;font-size:.85rem}.plan-page{--plan-large: #0891b2;--plan-small: #d97706;--plan-track: var(--color-border-light, rgba(0, 0, 0, .08));--plan-good: #15803d;--plan-warn: #b45309;--plan-behind: #b91c1c}.plan-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.plan-headline-value{font-size:2.6rem;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.plan-headline-target{font-size:1rem;color:var(--color-text-light, var(--color-text-muted))}.plan-headline-note{width:100%;margin:0;font-size:.85rem;color:var(--color-text-light, var(--color-text-muted))}.plan-meter{display:flex;flex-direction:column;gap:.4rem}.plan-meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.88rem}.plan-meter-label{color:var(--color-text-secondary)}.plan-meter-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.plan-meter-track{position:relative;height:10px;border-radius:5px;background:var(--plan-track);overflow:hidden}.plan-meter-fill{height:100%;border-radius:5px;background:var(--color-primary);transition:width var(--transition-base, .25s) ease}.plan-meter-fill.is-good{background:var(--plan-good)}.plan-meter-fill.is-warn{background:var(--plan-warn)}.plan-meter-fill.is-behind{background:var(--plan-behind)}.plan-meter-fill.is-neutral{background:var(--color-tertiary, #4890a8)}.plan-meter-foot{display:flex;justify-content:space-between;gap:.75rem;font-size:.78rem;color:var(--color-text-light, var(--color-text-muted))}.plan-split{display:flex;height:26px;border-radius:6px;overflow:hidden;gap:2px;background:var(--plan-track)}.plan-split-part{display:flex;align-items:center;justify-content:center;min-width:0;font-size:.75rem;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.plan-split-part.is-large{background:var(--plan-large)}.plan-split-part.is-small{background:var(--plan-small)}.plan-split-part.is-neutral{background:var(--color-text-muted)}.plan-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.55rem 0 0;font-size:.8rem;color:var(--color-text-secondary)}.plan-legend-item{display:inline-flex;align-items:center;gap:.4rem}.plan-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none;background:var(--color-text-muted)}.plan-legend-swatch.is-large{background:var(--plan-large)}.plan-legend-swatch.is-small{background:var(--plan-small)}.plan-legend-swatch.is-neutral{background:var(--color-text-muted)}.plan-trend{display:flex;align-items:flex-end;gap:.4rem;height:130px;padding-top:.5rem}.plan-trend-col{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.3rem;height:100%;min-width:0}.plan-trend-slot{flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:0}.plan-trend-bar{width:100%;max-width:46px;border-radius:4px 4px 0 0;background:var(--color-primary, #57bcd2);min-height:2px}.plan-trend-bar.is-current{background:var(--color-secondary, #2b5172)}.plan-trend-value,.plan-trend-label{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--color-text-light, var(--color-text-muted));white-space:nowrap}.plan-trend-value{font-weight:600;color:var(--color-text-secondary)}.plan-trend-target{margin:.5rem 0 0;font-size:.78rem;color:var(--color-text-light, var(--color-text-muted))}.plan-stack{display:flex;flex-direction:column;gap:1.1rem}.plan-note{margin:0;font-size:.82rem;line-height:1.5;color:var(--color-text-light, var(--color-text-muted))}.plan-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.plan-chip{padding:.25rem .6rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-secondary, transparent);font-size:.78rem;color:var(--color-text-secondary)}.plan-footnote{margin:0;padding:.9rem 1rem;border:1px dashed var(--color-border);border-radius:12px;font-size:.82rem;line-height:1.55;color:var(--color-text-light, var(--color-text-muted))}@media(min-width:640px){.plan-headline-value{font-size:3.2rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;background-color:var(--color-background);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}html,body{overscroll-behavior-y:none}#root{min-height:100vh}.app{min-height:100vh;padding:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;border:1px solid}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){body{font-size:16px;min-height:100svh;min-height:100vh}.app{min-height:100svh;min-height:100vh}button{min-height:26px}}@media(max-width:480px){body{position:relative;overflow-x:hidden;overflow-y:auto}}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:1rem;min-height:44px}.product-icon{font-size:2rem;display:block;text-align:center;margin-bottom:.5rem;line-height:1}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}:root{--color-bg: var(--color-background, #fbfdfd);--color-surface: var(--color-surface, #fbfdfd);--color-border: var(--color-border-light, rgba(175, 202, 204, .3));--color-border-strong: var(--color-border, #afcacc);--color-text: var(--color-text-primary, #2b5172);--color-text-light: var(--color-text-secondary, #4890a8);--color-accent: var(--color-primary, #57bcd2);--color-accent-hover: var(--color-primary-hover, #4ba5c1);--color-success-bg: rgba(72, 144, 168, .1);--color-success-text: var(--color-tertiary, #4890a8);--color-warning-bg: var(--color-accent-light, rgba(162, 96, 36, .1));--color-warning-text: var(--color-accent, #a26024);--status-active-bg: var(--color-warning-bg);--status-active-text: var(--color-warning-text);--status-active-border: #fcd34d;--status-completed-bg: var(--color-success-bg);--status-completed-text: var(--color-success-text);--status-completed-border: #86efac;--status-active-accent: #14b8a6;--status-completed-accent: #22c55e;--status-planned-accent: #3b82f6;--status-pending-payment-accent: #f59e0b;--status-cancelled-accent: #ef4444;--radius-sm: 6px;--radius-md: 10px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(43, 81, 114, .06), 0 0 0 1px rgba(43, 81, 114, .03);--shadow-sm: 0 1px 3px rgba(43, 81, 114, .08), 0 1px 2px rgba(43, 81, 114, .04);--shadow-md: 0 4px 12px -2px rgba(43, 81, 114, .1);--transition-fast: .16s cubic-bezier(.4,0,.2,1)}.page-list{position:relative;min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column;padding:.55rem .7rem 0}.sync-indicator{position:absolute;top:.4rem;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);color:var(--color-text-light);font-size:.75rem;font-weight:600;pointer-events:none;animation:sync-indicator-enter var(--transition-fast) both}.sync-indicator-spinner{width:12px;height:12px;border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:50%;animation:sync-indicator-spin .9s linear infinite}@keyframes sync-indicator-spin{to{transform:rotate(360deg)}}@keyframes sync-indicator-enter{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.page-list.page-list-fixed{min-height:0;height:100%;overflow:hidden}.layout:has(.page-list-fixed){height:100vh;overflow:hidden}.page-list-sticky-header{flex-shrink:0}.page-list-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:1rem;position:relative}.page-list-scroll:before{content:"";position:sticky;top:0;display:block;height:1.2rem;margin-bottom:-1.2rem;background:linear-gradient(to bottom,var(--color-bg),transparent);z-index:2;pointer-events:none}.page-narrow{padding:1rem;max-width:480px;margin:0 auto}@media(min-width:769px){.page-narrow--wide{width:80%;max-width:none}}.page-report{padding:1rem;max-width:600px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1rem;min-width:0;box-sizing:border-box}.page-edit{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background, #fbfdfd);overflow-x:hidden}.page-edit-form{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column;padding:.55rem .7rem 2rem}.form-section{background:#fff;border-radius:8px;padding:1rem;margin-bottom:.75rem;box-shadow:0 2px 8px #0000001a}.general-info-details p{margin:.5rem 0;color:#333;font-size:.9rem}.general-info-details p strong{color:var(--color-text-primary, #2b5172);font-weight:600}.info-divider{border:none;border-top:1px solid var(--color-border-light, rgba(175, 202, 204, .3));margin:.75rem 0 .25rem}.form-section>h3,.form-section>h4,.form-section .section-title{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.form-section .form-group{display:flex;flex-direction:column;gap:.25rem}.form-section .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.form-section .form-row:last-child{margin-bottom:0}.form-section label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #4890a8)}.form-section input,.form-section select,.form-section textarea{padding:.5rem .75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;transition:border-color .2s;background:#fff;width:100%;box-sizing:border-box}.form-section input:disabled,.form-section select:disabled,.form-section textarea:disabled{background:var(--color-surface, #f7fafb);border-color:#ececec;color:var(--color-text-primary, #2b5172);cursor:default;opacity:1;-webkit-text-fill-color:var(--color-text-primary, #2b5172)}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{outline:none;border-color:#1976d2}.form-section input::placeholder,.form-section textarea::placeholder{color:var(--color-text-muted, #a0b0b8)}.form-section textarea{resize:vertical;min-height:60px}@media(max-width:600px){.form-section .form-row{grid-template-columns:1fr}}.page-form{padding:0;max-width:100%;margin:0;min-height:100vh;background-color:#f8f9fa}.card-grid{display:grid;gap:.85rem;margin-top:8px}.list-load-more{min-height:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:.85rem}.list-end-message{padding:.85rem 0 .25rem;text-align:center;color:var(--color-text-muted);font-size:.8rem}.list-load-more:empty{min-height:1px}@media(min-width:640px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.list-card{background:var(--color-surface);border:1px solid var(--color-border-light, rgba(175, 202, 204, .3));border-radius:var(--radius-md);padding:.9rem .95rem .95rem;display:flex;flex-direction:column;gap:.75rem;position:relative;isolation:isolate;box-shadow:var(--shadow-xs);cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.list-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(120deg,var(--color-primary-light, rgba(37,99,235,.07)),transparent);opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.list-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.list-card:hover:before{opacity:1}.list-card:active{transform:translateY(1px)}.list-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.list-card-badges{display:flex;align-items:center;gap:.5rem}.list-card-channel{font-size:1rem;line-height:1;cursor:default}.list-card-id{font-size:.7rem;font-weight:500;color:var(--color-text-light);letter-spacing:.5px}.list-card-date{text-align:right;font-size:.65rem;line-height:1.15;color:var(--color-text-light)}.list-card-subtitle{font-size:.85rem;font-weight:600;color:var(--color-text)}.list-card-meta{font-size:.7rem;color:var(--color-text-light)}.list-card-subtitle+.list-card-meta{margin-top:-.75rem}.list-card-tags{padding:.25rem .75rem 0;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem}.list-card-tag{font-size:.7rem;padding:.15rem .4rem;border-radius:.75rem;margin-right:.2rem}.list-card-tag-more{font-size:.7rem;color:var(--color-text-muted)}.list-card-preview{display:flex;flex-direction:column;gap:.35rem}.list-card-preview-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-light)}.list-card-preview-row span:first-child{color:var(--color-text);font-weight:500}.list-card-more-items{font-size:.6rem;text-transform:uppercase;letter-spacing:.75px;color:var(--color-text-light)}.list-card-total{display:flex;justify-content:space-between;align-items:center;padding-top:.55rem;border-top:1px dashed var(--color-border-light)}.list-card-total-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.75px;color:var(--color-text-light);font-weight:600}.list-card-total-amount{font-size:1rem;font-weight:700;color:var(--color-text);letter-spacing:-.5px}.badge{padding:.25rem .55rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:.25rem;line-height:1;-webkit-user-select:none;user-select:none;border:1px solid transparent}.badge:before{content:"";width:.5rem;height:.5rem;border-radius:999px;flex-shrink:0;background:var(--status-icon-color, currentColor);box-shadow:0 0 0 2px #ffffffbf}.badge-active{background:var(--status-active-bg);color:var(--status-active-text);border-color:var(--status-active-border);--status-icon-color: var(--status-active-accent)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed-text);border-color:var(--status-completed-border);--status-icon-color: var(--status-completed-accent)}.badge-planned{background:#3b82f61a;color:#2563eb;border-color:#93c5fd;--status-icon-color: var(--status-planned-accent)}.badge-pending_payment{background:#f59e0b1a;color:#d97706;border-color:#fcd34d;--status-icon-color: var(--status-pending-payment-accent)}.badge-cancelled{background:#ef44441a;color:#dc2626;border-color:#fca5a5;--status-icon-color: var(--status-cancelled-accent)}.report-stale-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;font-size:.85rem;flex-wrap:wrap}.report-sync-btn{margin-left:auto;padding:.35rem .75rem;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .2s}.report-sync-btn:hover:not(:disabled){background-color:#d97706}.report-sync-btn:disabled{opacity:.7;cursor:not-allowed}.report-no-permission{text-align:center;padding:2rem;color:#666}.dashboard-page{padding-bottom:2rem}.dashboard-hero{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:linear-gradient(135deg,#57bcd21f,#4890a80f);border:1px solid var(--color-border);border-radius:14px;align-items:flex-start}.dashboard-eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--color-text-light);font-weight:700}.dashboard-title{margin:0;font-size:1.5rem;color:var(--color-text)}.dashboard-subtitle{margin:.35rem 0 0;color:var(--color-text-light);font-size:.9rem}.dashboard-generated-at{font-size:.8rem;color:var(--color-text-light);white-space:nowrap}.dashboard-grid,.dashboard-purchase-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}.dashboard-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1rem;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:.45rem}.dashboard-card-button{text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.dashboard-card-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.dashboard-card-header{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.dashboard-card-title{font-size:.9rem;color:var(--color-text);font-weight:600}.dashboard-card-action{font-size:.72rem;color:var(--color-accent);font-weight:700}.dashboard-card-value{font-size:1.55rem;color:var(--color-text);line-height:1.1}.dashboard-card-description{margin:0;color:var(--color-text-light);font-size:.85rem}.dashboard-section-card{padding:1rem;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs)}.dashboard-section-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.dashboard-section-note{font-size:.72rem;font-weight:700;color:var(--color-warning-text);background:var(--color-warning-bg);border-radius:var(--radius-full);padding:.3rem .55rem;white-space:nowrap}.dashboard-section-meta{margin:.2rem 0 0;font-size:.82rem;color:var(--color-text-light)}.dashboard-list{display:flex;flex-direction:column;gap:.65rem}.dashboard-list-item{display:flex;justify-content:space-between;gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--color-border)}.dashboard-list-item:last-child{border-bottom:none;padding-bottom:0}.dashboard-list-item p{margin:.15rem 0 0;font-size:.82rem;color:var(--color-text-light)}.dashboard-list-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;text-align:right}.dashboard-list-metrics strong{color:var(--color-text)}.dashboard-list-metrics span{font-size:.8rem;color:var(--color-text-light)}.dashboard-section-action{margin-top:.75rem;align-self:flex-start;border:none;background:transparent;color:var(--color-accent);font-weight:700;cursor:pointer;padding:0}.dashboard-coverage-note{font-size:.85rem;color:var(--color-text-light);padding:.85rem 1rem;border-radius:10px;background:#4890a80f;border:1px dashed var(--color-border-strong)}.report-section{display:flex;flex-direction:column;gap:.75rem;min-width:0}.report-section-title{font-size:1rem;font-weight:600;color:#333;margin:0}.report-section-header{display:flex;align-items:center;gap:.5rem}.report-controls{display:flex;flex-direction:column;gap:1rem;min-width:0}.report-export-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d0d0d0;border-radius:6px;background:#fff;color:#4a7c59;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0;margin-left:auto}.report-export-btn:hover{background:#f0f7f2;border-color:#4a7c59}.report-export-btn:active{background:#e0efe4}.report-presets{display:flex;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.report-presets::-webkit-scrollbar{display:none}.report-preset-btn{padding:.45rem .75rem;border:1px solid #e0e0e0;border-radius:20px;background:#fff;color:#666;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.report-preset-btn:hover:not(:disabled){border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488)}.report-preset-btn.active{background-color:var(--color-primary, #0d9488);border-color:var(--color-primary, #0d9488);color:#fff}.report-preset-btn:disabled{opacity:.5;cursor:not-allowed}.report-custom-range{margin-top:.75rem}.report-quick-filters{display:flex;flex-wrap:wrap;gap:.5rem}.report-filter-btn{padding:.4rem .85rem;border:1px solid #e0e0e0;border-radius:20px;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s ease}.report-filter-btn:hover:not(:disabled){border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488)}.report-filter-btn.active{background-color:var(--color-primary-light, #ccfbf1);border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488);font-weight:500}.report-filter-btn:disabled{opacity:.5;cursor:not-allowed}.report-expander{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.report-expander .report-toggle-btn{border:none;border-radius:0}.report-expander .report-filters{border-top:1px solid #e0e0e0;border-radius:0}.report-toggle-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-weight:500;color:#333;cursor:pointer;transition:background-color .2s ease;gap:.5rem}.report-toggle-content{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex:1}.report-toggle-btn:hover{background-color:#eee}.report-toggle-btn svg{transition:transform .2s ease;flex-shrink:0}.report-toggle-btn svg.rotated{transform:rotate(180deg)}.report-toggle-btn--small{padding:.5rem .75rem;font-size:.85rem}.report-config-summary{display:flex;flex-wrap:wrap;gap:.375rem}.report-config-tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#f0f0f0;border-radius:4px;font-size:.75rem;color:#555}.report-config-tag--filter{background-color:#dbeafe;color:#1d4ed8;font-weight:500}.report-filters{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px}.report-filter-group{display:flex;flex-direction:column;gap:.5rem}.report-filter-group>label{font-size:.8rem;font-weight:500;color:#666}.report-option-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.report-option-buttons+.report-option-buttons{margin-top:.5rem}.report-option-btn{padding:.4rem .75rem;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s ease}.report-option-btn:hover:not(:disabled){border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488)}.report-option-btn.active{background-color:var(--color-primary-light, #ccfbf1);border-color:var(--color-primary, #0d9488);color:var(--color-primary, #0d9488)}.report-option-btn:disabled{opacity:.5;cursor:not-allowed}.report-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#666}.report-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background-color:#fef2f2;border:1px solid #ef4444;border-radius:8px;color:#dc2626;text-align:center}.report-error button{padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer}.report-error button:hover{background-color:#b91c1c}.report-empty{text-align:center;padding:2rem;color:#666;background-color:#f9f9f9;border-radius:8px}.report-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.report-summary-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:0;overflow:hidden;text-align:center}.report-summary-card--completed{border-left:3px solid var(--color-primary, #0d9488)}.report-summary-card--active{border-left:3px solid #3b82f6}.report-summary-card--total{border-left:3px solid var(--color-primary, #0d9488)}.report-summary-card--vat{border-left:3px solid #f59e0b}.report-summary-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-summary-value{font-size:1rem;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-summary-count{font-size:.7rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-summary-extra{font-size:.65rem;color:#dc2626;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border-light, #e5e7eb);margin-bottom:.75rem}.report-tab{flex:1;padding:.6rem .5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.78rem;font-weight:500;color:var(--color-text-light, #6b7280);cursor:pointer;transition:color .15s,border-color .15s;text-align:center;white-space:nowrap}.report-tab:hover{color:var(--color-text, #333)}.report-tab.active{color:var(--color-primary, #0d9488);border-bottom-color:var(--color-primary, #0d9488);font-weight:600}.report-tab-panel{display:none;min-width:0}.report-tab-panel.active{display:block}.report-chart-container{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.report-chart-note{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;font-size:.85rem}.report-chart-note__icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:999px;background-color:#1d4ed8;color:#fff;font-size:.7rem;font-weight:700;line-height:1;flex-shrink:0;margin-top:.1rem}.report-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px}.report-table{min-width:480px;width:100%;border-collapse:collapse;font-size:.85rem}.report-table th,.report-table td{padding:.75rem;text-align:left;border-bottom:1px solid #f0f0f0}.report-table th{font-weight:600;color:#666;background-color:#f9f9f9;position:sticky;top:0}.report-table td.text-right,.report-table th.text-right{text-align:right}.report-table tbody tr:hover{background-color:#fafafa}.report-table tfoot{background-color:#f5f5f5}.report-table tfoot td{border-bottom:none}.report-period-label{display:block;font-weight:500;color:#333}.report-period-dates{display:block;font-size:.75rem;color:#999}.report-amount{display:block;font-weight:500}.report-amount--completed{color:var(--color-primary, #0d9488)}.report-amount--active{color:#3b82f6}.report-amount--discount{color:#dc2626}.report-amount--vat{color:#f59e0b}.report-sale-count{display:block;font-size:.7rem;color:#999}.report-row{cursor:pointer;-webkit-user-select:none;user-select:none}.report-row--expanded{background-color:#f8f9ff}.report-row-cell{display:flex;align-items:flex-start;gap:.4rem}.report-expand-icon{flex-shrink:0;margin-top:.2rem;color:#999;transition:transform .2s ease}.report-expand-icon--open{transform:rotate(90deg);color:var(--color-primary, #333)}.report-actions-col{width:2.25rem}.report-actions-cell{text-align:right;white-space:nowrap}.report-record-link{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-primary, #0d9488);cursor:pointer}.report-record-link:hover{background-color:#0d94881f}.report-detail-row{background-color:#f8f9ff}.report-detail-row:hover{background-color:#f8f9ff!important}.report-detail-row>td{padding:0 .75rem .75rem!important;border-bottom:2px solid #e0e0e0}.report-detail{padding:.5rem 0 .25rem 1.4rem}.report-items-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.5rem}.report-items-table th,.report-items-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid #eee}.report-items-table th{font-weight:600;color:#888;font-size:.7rem;text-transform:uppercase}.report-items-table td.text-right,.report-items-table th.text-right{text-align:right}.report-items-table tfoot td{border-bottom:none;padding-top:.4rem;font-size:.8rem;color:#555}.report-detail-discount td{color:#dc2626}.report-detail-vat td{color:#b45309}.report-detail-total td{border-top:1px solid #ccc}.report-detail-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.report-detail-tag{display:inline-block;padding:.15rem .5rem;background-color:#eee;border-radius:4px;font-size:.7rem;color:#666}.report-detail-notes{margin-top:.4rem;font-size:.75rem;color:#666;padding:.3rem .5rem;background-color:#fffde7;border-radius:4px;border-left:3px solid #ffc107}.report-cell-primary{display:block;font-weight:500;color:#333}.report-cell-secondary{display:block;font-size:.75rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.report-cell-date-primary{display:block;font-weight:500;color:#333}.report-cell-date-secondary{display:block;font-size:.7rem;color:#999}.report-payment-badge{display:inline-block;padding:.2rem .5rem;background-color:#f0f0f0;border-radius:4px;font-size:.75rem;color:#555;white-space:nowrap}.report-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;white-space:nowrap}.report-status-badge:before{content:"";width:.5rem;height:.5rem;border-radius:999px;flex-shrink:0;background:var(--status-icon-color, currentColor)}.report-cell-amount{display:block;font-weight:500}.report-cell-discount{display:block;font-size:.7rem;color:#dc2626}@media(min-width:769px){.page-report{max-width:1040px;padding:1.25rem 1.5rem}.report-controls{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:1rem 1.5rem}.report-controls>.report-section{flex:1 1 280px}.report-controls>.report-section:has(.report-filters),.report-controls>.report-section:has(.report-custom-range){flex-basis:100%}.report-presets{flex-wrap:wrap;overflow-x:visible;padding-bottom:0}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:1.25rem 1.5rem}.report-summary-card{padding:1rem .75rem}.report-summary-label{font-size:.7rem}.report-summary-value{font-size:1.25rem}.stacked-bar-chart__chart-wrapper{max-height:360px}.pareto-chart__chart-wrapper{max-height:400px}}@media(min-width:1200px){.page-report{max-width:1320px}.stacked-bar-chart__chart-wrapper{max-height:420px}.pareto-chart__chart-wrapper{max-height:440px}}.header-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:40px;white-space:nowrap}.header-btn.secondary{background:var(--color-primary-action, #1976d2);color:#fff}.header-btn.secondary:hover:not(:disabled){background:var(--color-primary-action-hover, #1565c0);transform:translateY(-1px);box-shadow:0 2px 8px #00000029}.header-btn:disabled{background:#ccc;color:#666;cursor:not-allowed;transform:none;box-shadow:none}.mgmt-add-btn{background-color:var(--color-primary);color:var(--color-on-accent, #fff);border:none;padding:.5rem 1rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;transition:background-color .2s}.mgmt-add-btn:hover{background-color:var(--color-primary-hover, var(--color-primary))}.sale-new-btn{background-color:var(--color-primary-action, #1976d2)}.sale-new-btn:hover{background-color:var(--color-primary-action-hover, #1565c0)}.purchase-new-btn{background-color:var(--color-primary-action, #1976d2)}.purchase-new-btn:hover{background-color:var(--color-primary-action-hover, #1565c0)}.generic-new-btn{background-color:var(--color-primary-action, #1976d2)}.generic-new-btn:hover{background-color:var(--color-primary-action-hover, #1565c0)}.mgmt-filters{display:flex;gap:1rem;margin-bottom:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.mgmt-filters .filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:.9rem}.active-status-filter{display:inline-flex;padding:3px;border:1px solid #e3e8ee;border-radius:999px;background:#f4f6f8}.active-status-filter__option{padding:.4rem .9rem;border:none;border-radius:999px;background:transparent;color:#5b6b7b;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}.active-status-filter__option:hover:not(.active){color:#2c3e50}.active-status-filter__option.active{background:var(--color-accent);color:#fff;box-shadow:0 1px 4px color-mix(in srgb,var(--color-accent) 35%,transparent)}.active-status-filter__option:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 30%,transparent)}.report-chart-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.report-chart-toolbar .toggle-switch{font-size:.8rem;color:#666}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{position:relative;width:40px;height:20px;background-color:#ccc;border-radius:20px;transition:background-color .3s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .3s}.toggle-switch input:checked+.toggle-slider{background-color:#007bff}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.mgmt-count{color:#666;font-size:.9rem;margin-bottom:1rem}.mgmt-swipe-instructions{display:flex;justify-content:space-between;margin-bottom:1rem;padding:.5rem;background-color:#f8f9fa;border-radius:6px;font-size:.8rem;color:#666}.mgmt-swipe-hint{display:flex;align-items:center;gap:.25rem}.mgmt-swipe-hint.left{color:#dc3545}.mgmt-swipe-hint.right{color:#28a745}.mgmt-list{display:flex;flex-direction:column;gap:.5rem}.mgmt-list-item{position:relative;background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer;touch-action:manipulation}.mgmt-list-item:hover{box-shadow:0 2px 8px #0000001a}.mgmt-list-item.inactive{opacity:.6;background-color:#f8f9fa}.mgmt-list-item.dragging{z-index:10;box-shadow:0 4px 12px #00000026}.mgmt-item-content{display:flex;align-items:center;padding:1rem;gap:.75rem;position:relative;z-index:2;background:inherit}.mgmt-item-icon{font-size:1.5rem;min-width:2rem;text-align:center;display:flex;align-items:center;justify-content:center}.mgmt-item-info{flex:1;min-width:0}.mgmt-item-name{font-size:1rem;font-weight:600;color:#333;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mgmt-item-details{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem}.mgmt-item-category{font-size:.8rem;color:#666;font-weight:500}.mgmt-item-price{font-size:.9rem;font-weight:600;color:#007bff;white-space:nowrap}.mgmt-item-unit{font-size:.8rem;color:#007bff;font-weight:500}.mgmt-item-description{font-size:.8rem;color:#777;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mgmt-item-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.mgmt-item-tag{font-size:.7rem;font-weight:600;line-height:1;padding:.2rem .45rem;border-radius:999px;white-space:nowrap}.mgmt-item-status{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:fit-content}.mgmt-item-order{font-size:.7rem;color:#999;font-weight:500}.availability-indicator{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.availability-indicator.available{background-color:#d4edda;color:#155724}.availability-indicator.unavailable{background-color:#f8d7da;color:#721c24}.mgmt-toggle-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.7rem;color:#666;transition:all .2s}.mgmt-toggle-btn:hover{background-color:#f0f0f0;border-color:#bbb}.swipe-action{position:absolute;top:0;bottom:0;width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fff;font-size:.75rem;font-weight:700;text-align:center;opacity:0;transition:opacity .3s ease;z-index:1;text-transform:uppercase;letter-spacing:.5px}.mgmt-list-item.dragging .swipe-action{opacity:.3}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.swipe-action.right-action{right:0;background:linear-gradient(135deg,#28a745,#1e7e34);box-shadow:inset 0 0 20px #0003}.swipe-action svg{flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}@media(min-width:769px){.mgmt-list-item .swipe-action,.mgmt-swipe-instructions{display:none}}@media(max-width:768px){.mgmt-toggle-btn{display:none}}.mgmt-empty{text-align:center;padding:3rem 1rem;color:#666}.mgmt-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.mgmt-empty p{margin-bottom:1rem;font-size:1.1rem}.mgmt-empty button{background-color:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin:.25rem;transition:background-color .2s}.mgmt-empty button:hover{background-color:#0056b3}.mgmt-no-permissions{text-align:center;padding:3rem 1rem;color:#666}.mgmt-no-permissions-icon{font-size:4rem;margin-bottom:1rem;opacity:.3}.mgmt-no-permissions p{font-size:1.1rem}@media(min-width:640px){.dashboard-grid,.dashboard-purchase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-container{background:#fff;border-radius:12px;border:none;margin:1rem;padding:2rem;box-shadow:0 4px 12px #0000001a;animation:fadeInUp .3s ease-out}.form-container:hover{box-shadow:0 6px 20px #00000026}.form-container .form-group{margin-bottom:1.5rem}.form-container .form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:#2c3e50;font-size:.95rem}.form-container .form-group input,.form-container .form-group select,.form-container .form-group textarea{width:100%;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s;background-color:#fff;box-sizing:border-box}.form-container .form-group input:focus,.form-container .form-group select:focus,.form-container .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;background-color:#f8f9ff}.form-container .form-group input.error,.form-container .form-group select.error,.form-container .form-group textarea.error{border-color:#dc3545;background-color:#fff5f5}.form-container .form-group input.error:focus,.form-container .form-group select.error:focus,.form-container .form-group textarea.error:focus{box-shadow:0 0 0 3px #dc35451a}.form-container .form-group small{display:block;margin-top:.5rem;font-size:.85rem;color:#6c757d;font-style:italic}.form-container .error-text{display:block;margin-top:.5rem;font-size:.85rem;color:#dc3545;font-weight:500}.form-container .form-group textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.form-container .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:.5rem}.form-group label.checkbox-label{display:flex;align-items:center;gap:.75rem;margin:0;padding:.85rem 1rem;border:1.5px solid #e3e8ee;border-radius:12px;background:#fff;font-weight:500;color:#2c3e50;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s,background-color .2s}.form-group label.checkbox-label:hover{border-color:color-mix(in srgb,var(--color-accent) 45%,#e3e8ee)}.form-group label.checkbox-label:has(input:checked){border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);background:color-mix(in srgb,var(--color-accent) 7%,#fff)}.form-group label.checkbox-label:has(input:disabled){opacity:.6;cursor:not-allowed}.form-group .checkbox-label input[type=checkbox],.form-container .user-sales-channel-choice input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:22px;height:22px;margin:0;padding:0;border:2px solid #c5ced8;border-radius:7px;background:#fff center / 14px 14px no-repeat;box-shadow:none;outline:none;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.form-group .checkbox-label input[type=checkbox]:focus,.form-container .user-sales-channel-choice input[type=checkbox]:focus{outline:none}.form-group .checkbox-label input[type=checkbox]:focus:not(:checked),.form-container .user-sales-channel-choice input[type=checkbox]:focus:not(:checked){border-color:#c5ced8;background-color:#fff;box-shadow:none}.form-group .checkbox-label input[type=checkbox]:checked,.form-container .user-sales-channel-choice input[type=checkbox]:checked{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7'/%3E%3C/svg%3E")}.form-group .checkbox-label input[type=checkbox]:focus-visible,.form-container .user-sales-channel-choice input[type=checkbox]:focus-visible,.form-container .user-sales-channel-primary:has(input:focus-visible){outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 30%,transparent)}.form-group .checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.form-container .user-sales-channels{border:none;padding:0;margin:0 0 1.5rem}.form-container .user-sales-channels legend{font-weight:600;margin-bottom:.5rem}.form-container .user-sales-channel{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem .75rem .5rem .5rem;border:1.5px solid #e3e8ee;border-radius:12px;background:#fff;transition:border-color .2s,background-color .2s,box-shadow .2s}.form-container .user-sales-channel:hover{border-color:color-mix(in srgb,var(--color-accent) 45%,#e3e8ee)}.form-container .user-sales-channel--assigned{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);background:color-mix(in srgb,var(--color-accent) 7%,#fff)}.form-container .user-sales-channel--primary{box-shadow:0 2px 10px color-mix(in srgb,var(--color-accent) 18%,transparent)}.form-container .user-sales-channel .user-sales-channel-choice{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;margin:0;padding:.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.form-container .user-sales-channel-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:#f1f4f7;font-size:1.15rem}.form-container .user-sales-channel--assigned .user-sales-channel-icon{background:color-mix(in srgb,var(--color-accent) 16%,#fff)}.form-container .user-sales-channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2c3e50}.form-container .user-sales-channel-inactive{color:var(--color-text-light);font-weight:400}.form-container .user-sales-channel .user-sales-channel-primary{position:relative;display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;margin:0;padding:.35rem .75rem;border:1.5px solid color-mix(in srgb,var(--color-accent) 55%,#c5ced8);border-radius:999px;background:#fff;color:color-mix(in srgb,var(--color-accent) 75%,#2c3e50);font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,opacity .15s}.form-container .user-sales-channel-primary input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.form-container .user-sales-channel-star{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.form-container .user-sales-channel-primary:has(input:checked){border-color:var(--color-accent);background:var(--color-accent);color:#fff}.form-container .user-sales-channel-primary:has(input:checked) .user-sales-channel-star{fill:currentColor}.form-container .user-sales-channel-primary:has(input:disabled){border-color:#e3e8ee;color:#a7b1bc;cursor:not-allowed}.form-container .user-sales-channel-primary input:disabled{cursor:not-allowed}.form-container .new-category-input{display:flex;gap:.75rem;align-items:stretch}.form-container .new-category-input input{flex:1}.form-container .cancel-new-category{background:#6c757d;color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;transition:all .2s}.form-container .cancel-new-category:hover{background-color:#545b62;transform:translateY(-1px)}.form-container .form-actions{margin-top:2.5rem;padding-top:2rem;border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;position:sticky;bottom:0;background:#fff;z-index:10}.form-container .cancel-btn,.form-container .save-btn{padding:1rem 2rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;min-width:120px;position:relative;overflow:hidden}.form-container .cancel-btn{background:#6c757d;color:#fff;box-shadow:0 2px 4px #6c757d33}.form-container .cancel-btn:hover{background:#545b62;transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d}.form-container .save-btn{background:var(--color-primary-action, #1976d2);color:#fff;box-shadow:0 2px 4px #0000001f}.form-container .save-btn:hover{background:var(--color-primary-action-hover, #1565c0);transform:translateY(-1px);box-shadow:0 4px 8px #0000002e}.form-container .save-btn:active,.form-container .cancel-btn:active{transform:translateY(0)}.form-container .save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-container .form-group input[id=icon]{text-align:center;font-size:1.5rem;height:3rem}.form-container .form-group input[type=number]{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.form-error-page{text-align:center;padding:3rem 1rem;color:#666;background:#fff;margin:1rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-error-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6}.form-error-page h2{margin:0 0 1rem;color:#333;font-size:1.5rem;font-weight:600}.form-error-page p{margin-bottom:2rem;font-size:1.1rem;line-height:1.5}.form-error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;margin:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.form-error-message button{background:none;border:none;color:#c33;font-size:1.2rem;cursor:pointer;padding:.25rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.form-error-message button:hover{background-color:#cc33331a}.form-notice-message{background-color:var(--color-success-bg);color:var(--color-success-text);padding:1rem;border-radius:8px;margin:1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;box-shadow:0 2px 4px #0000001a}.form-notice-message button{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;width:28px;height:28px;flex-shrink:0;border-radius:4px}.form-container .secondary-btn{padding:.75rem 1.25rem;border:1px solid var(--color-border-strong);border-radius:8px;background:transparent;color:var(--color-text);font-size:.95rem;font-weight:600;cursor:pointer}.form-container .secondary-btn:hover{background:var(--color-success-bg)}.form-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;color:#6c757d;background:#fff;margin:1rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-loading .loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.form-loading p{font-size:1.1rem;font-weight:500;margin:0}.empty-state{text-align:center;padding:2.25rem 1rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);font-size:.85rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 0 0 1px #fff9 inset}.empty-state svg{width:44px;height:44px;margin-inline:auto;opacity:.4}.empty-state strong{color:var(--color-text);font-weight:600;font-size:.9rem}.error-banner{margin:.75rem clamp(.75rem,2vw,1.25rem) 0;display:flex;gap:.75rem;background:#fef2f2;border:1px solid #fecaca;padding:.85rem 1rem;border-radius:var(--radius-md);font-size:.8rem;line-height:1.2;color:#991b1b;box-shadow:var(--shadow-xs)}.error-banner svg{width:18px;height:18px;flex-shrink:0}.reports-list{display:flex;flex-direction:column;gap:.75rem}.report-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.report-item:hover{background-color:#f5f5f5;border-color:var(--color-primary, #0d9488);box-shadow:0 2px 4px #0000001a}.report-item:active{transform:scale(.98)}.report-item-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-primary-light, #ccfbf1);border-radius:8px;color:var(--color-primary, #0d9488);flex-shrink:0}.report-item-info{flex:1;min-width:0}.report-item-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#333}.report-item-description{margin:0;font-size:.85rem;color:#666;line-height:1.4}.report-item-arrow{display:flex;align-items:center;justify-content:center;color:#999;flex-shrink:0}.report-item:hover .report-item-arrow{color:var(--color-primary, #0d9488)}.summary-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;overflow:hidden}.summary-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;text-align:center;min-width:0;overflow:hidden}.summary-widget.insufficient{border-color:#fca5a5;border-left:4px solid #fca5a5!important;background:#fef2f2}.summary-widget.list{border-left:4px solid var(--color-primary-action, #1976d2)}.summary-widget-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-widget-value{font-size:1rem;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:374px){.summary-widget{padding:.5rem .35rem}.summary-widget-label{font-size:.55rem;letter-spacing:.25px}.summary-widget-value{font-size:.8rem}}@media(min-width:375px)and (max-width:479px){.summary-widget{padding:.6rem .45rem}.summary-widget-value{font-size:.9rem}}.summary-widget-value.negative{color:#dc2626}.summary-widget-value.warning{color:#d97706}.summary-widget-subtitle{font-size:.65rem;color:var(--color-text-light);margin-top:.2rem}.summary-widget-subtitle.negative{color:#dc2626}.summary-widget-subtitle.warning{color:#d97706}.summary-widget.flippable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;-webkit-tap-highlight-color:transparent}.summary-widget.flippable:after{content:"↻";position:absolute;top:.2rem;right:.3rem;font-size:.6rem;color:var(--color-text-light);opacity:.5;pointer-events:none}.filter-row{display:flex;align-items:center;gap:.35rem;padding:.1rem 0 .35rem}.filter-row>.list-filter-row{flex:1;min-width:0;mask-image:linear-gradient(to right,black calc(100% - 1.5rem),transparent);-webkit-mask-image:linear-gradient(to right,black calc(100% - 1.5rem),transparent);padding-right:.5rem}.list-filter-toggle{display:flex;align-items:center;justify-content:center;position:relative;width:2rem;height:2rem;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-primary-action, #1976d2) 78%,black);border-radius:var(--radius-full);background:var(--color-primary-action, #1976d2);color:var(--color-on-accent, #fff);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.list-filter-toggle:hover:not(:disabled){background:var(--color-primary-action-hover, #1565c0);border-color:color-mix(in srgb,var(--color-primary-action-hover, #1565c0) 78%,black)}.list-filter-toggle:disabled{opacity:.45;cursor:default}.list-filter-toggle.active{background:var(--filter-active-background, var(--color-primary, #57bcd2));color:var(--filter-active-foreground, var(--color-on-accent, #fff));border-color:var( --filter-active-border, color-mix(in srgb, var(--color-primary, #57bcd2) 78%, black) )}.list-filter-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--color-accent);color:#fff;font-size:.6rem;font-weight:700;line-height:14px;text-align:center}.list-filter-toggle.active .list-filter-badge{background:var(--filter-active-badge-background, #fff);color:var(--filter-active-badge-foreground, var(--color-primary, #57bcd2))}.list-filter-row{display:flex;align-items:center;gap:.3rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.list-filter-row::-webkit-scrollbar{display:none}.list-filter-section{display:flex;align-items:center;gap:.3rem;flex-shrink:0;padding-right:.35rem;margin-right:.1rem;border-right:1px solid var(--color-border)}.list-filter-section-toggle{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.75rem;height:1.75rem;flex-shrink:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);background:var(--color-surface);color:var(--color-text-light);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.list-filter-section-toggle:hover{border-color:var(--color-border-strong)}.list-filter-section-toggle.active{background:var(--filter-active-background, var(--color-accent));color:var(--filter-active-foreground, var(--color-on-accent, #fff));border-color:var(--filter-active-border, var(--color-accent))}.list-filter-chip{box-sizing:border-box;height:1.75rem;padding:0 .6rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-light);font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.list-filter-chip:hover{border-color:var(--color-border-strong)}.list-filter-chip.active{background:var(--filter-active-background, var(--color-accent));color:var(--filter-active-foreground, var(--color-on-accent, #fff));border-color:var(--filter-active-border, var(--color-accent))}.list-filter-search{box-sizing:border-box;height:1.75rem;padding:0 .6rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.75rem}.list-filter-search{width:10rem;flex-shrink:0}.list-filter-search:disabled{opacity:.5}.list-filter-empty{font-size:.7rem;color:var(--color-text-light);white-space:nowrap}.tag-filter-chip{flex-shrink:0;box-sizing:border-box;height:1.75rem;padding:0 .6rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.tag-filter-chip:hover{border-color:var(--color-border-strong)}.autocomplete-container{position:relative}.autocomplete-container input{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.autocomplete-container input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #57bcd226}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-height:200px;overflow-y:auto;margin-top:2px}.autocomplete-item{padding:.6rem .75rem;font-size:.85rem;cursor:pointer;color:var(--color-text);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;gap:.5rem}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:#57bcd214}.autocomplete-item-name{font-weight:500}.autocomplete-item-detail{font-size:.75rem;color:var(--color-text-light);white-space:nowrap}.autocomplete-hint{font-size:.7rem;color:var(--color-text-light);margin-top:.25rem;font-style:italic}.action-btn{padding:.75rem 1rem;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);flex:1}.action-btn:active{transform:translateY(1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary{background:var(--color-accent);color:#fff}.action-btn.primary:hover:not(:disabled){background:var(--color-accent-hover)}.action-btn.success{background:#16a34a;color:#fff}.action-btn.success:hover:not(:disabled){background:#15803d}.action-btn.warning{background:#d97706;color:#fff}.action-btn.warning:hover:not(:disabled){background:#b45309}.action-btn.danger{background:#dc2626;color:#fff}.action-btn.danger:hover:not(:disabled){background:#b91c1c}.action-btn.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-light)}.action-btn.secondary:hover:not(:disabled){background:#57bcd20d}.actions-group{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.action-btn-row{display:flex;gap:.5rem}.totals-summary{border-top:2px solid #e0e0e0;padding-top:1rem}.totals-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem}.totals-line.grand-total{font-size:1.1rem;font-weight:600;color:#333;padding-top:.5rem;margin-top:.5rem}.form-alert{padding:.65rem .75rem;border-radius:var(--radius-md);font-size:.8rem;margin-bottom:.75rem}.form-alert.success{background:#16a34a1a;border:1px solid rgba(22,163,74,.3);color:#15803d}.form-alert.error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.shared-record-warning{margin:0 0 .4rem;padding:.5rem .6rem;border-radius:var(--radius-md);background:#fef3c7;border:1px solid #f59e0b;color:#92400e;font-size:.75rem;line-height:1.35}.shared-record-warning.other-creator-warning{margin-inline:auto}.readonly-value{font-size:.9rem;font-weight:500;color:#333;margin:0 0 .25rem;white-space:normal;overflow-wrap:anywhere}.readonly-value.subtle{font-size:.8rem;font-weight:400;color:#666;margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-right{text-align:right}@media(min-width:900px){.list-card{padding:1rem 1.1rem 1.15rem}.list-card-total-amount{font-size:1.05rem}}@media(max-width:768px){.page-narrow{padding:.5rem;max-width:100%}.mgmt-filters{flex-direction:column;align-items:stretch;gap:.75rem}.toggle-switch{justify-content:center}.mgmt-swipe-instructions{font-size:.75rem;padding:.4rem}.mgmt-item-content{padding:.75rem}.mgmt-item-name{font-size:.95rem}.mgmt-item-details{gap:.5rem}.swipe-action{width:70px;font-size:.7rem;gap:.3rem}.form-container{border-radius:0;margin:0;padding:1.5rem;box-shadow:none}.form-container .form-row{grid-template-columns:1fr;gap:1rem}.form-container .form-actions{flex-direction:column;gap:.75rem;position:fixed;bottom:0;left:0;right:0;padding:1.5rem;background:#fff;border-top:2px solid #e9ecef;box-shadow:0 -4px 12px #0000001a}.form-container .cancel-btn,.form-container .save-btn{width:100%;justify-content:center}.form-container .new-category-input{flex-direction:column}.form-container .product-form,.form-container form{padding-bottom:150px}}@media(max-width:480px){.page-report{padding:.75rem}.report-summary-cards{gap:.35rem}.report-summary-card{padding:.5rem .35rem}.report-summary-label{font-size:.55rem}.report-summary-value,.report-table{font-size:.8rem}.report-table th,.report-table td{padding:.5rem}.form-container{padding:1rem}.form-container .form-group input,.form-container .form-group select,.form-container .form-group textarea{padding:.875rem;font-size:.95rem}.form-container .form-actions{padding:1rem}}@media(prefers-reduced-motion:reduce){.form-container{animation:none!important}}.form-container .form-group input:focus,.form-container .form-group select:focus,.form-container .form-group textarea:focus,.form-container .cancel-btn:focus,.form-container .save-btn:focus{outline:2px solid #007bff;outline-offset:2px}.report-sort-toggle{display:flex;gap:0;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border, #e5e7eb);width:fit-content}.report-sort-btn{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;border:none;background:var(--color-bg, #ffffff);color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;white-space:nowrap}.report-sort-btn:not(:last-child){border-right:1px solid var(--color-border, #e5e7eb)}.report-sort-btn--active{background:var(--color-primary, #0d9488);color:#fff}.report-measure-toggle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--color-border, #e5e7eb);border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border, #e5e7eb)}.report-measure-toggle .report-sort-btn{padding-inline:.5rem}.report-measure-toggle .report-sort-btn:not(:last-child){border-right:none}.report-section-header:has(.report-measure-toggle){flex-direction:column;align-items:stretch}@media(max-width:374px){.report-measure-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:769px){.report-section-header:has(.report-measure-toggle){flex-direction:row;align-items:center}.report-measure-toggle{width:fit-content}}.report-section-hint{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.heatmap-toolbar{flex-wrap:wrap;justify-content:space-between;row-gap:.5rem;margin-bottom:.5rem}.heatmap{display:flex;flex-direction:column;gap:.5rem}.heatmap-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-secondary, #6b7280);font-size:.875rem}.heatmap-scroll{overflow-x:auto}.heatmap-grid{display:flex;flex-direction:column;gap:2px;min-width:fit-content}.heatmap-header,.heatmap-row{display:flex;align-items:center;gap:2px}.heatmap-day-label{flex:0 0 2.25rem;font-size:.6875rem;color:var(--color-text-secondary, #6b7280);text-align:right;padding-right:.25rem}.heatmap-hour-label{flex:1 1 1.125rem;min-width:1.125rem;text-align:center;font-size:.625rem;color:var(--color-text-tertiary, #9ca3af)}.heatmap-cell{flex:1 1 1.125rem;min-width:1.125rem;height:1.125rem;padding:0;border:none;border-radius:2px;background:var(--color-bg-secondary, #f3f4f6)}button.heatmap-cell{cursor:pointer}button.heatmap-cell:hover{outline:1px solid var(--color-text-secondary, #6b7280)}.heatmap-cell--empty{background:var(--color-bg-secondary, #f3f4f6)}.heatmap-cell--level-1{background:#ccfbf1}.heatmap-cell--level-2{background:#99f6e4}.heatmap-cell--level-3{background:#2dd4bf}.heatmap-cell--level-4{background:#0d9488}.heatmap-cell--level-5{background:#115e59}.heatmap-cell--selected{outline:2px solid var(--color-primary, #0d9488);outline-offset:1px}.heatmap-legend{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--color-text-secondary, #6b7280)}.heatmap-legend-swatch{width:.875rem;height:.875rem;border-radius:2px}.heatmap-legend-max{margin-left:auto}.ranking-compact-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ranking-compact-table th{position:sticky;top:0;background:var(--color-bg-secondary, #f9fafb);padding:.375rem .5rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-text-secondary, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb)}.ranking-compact-table th.text-right,.ranking-compact-table td.text-right{text-align:right}.ranking-compact-table td{padding:.375rem .5rem;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.ranking-compact-table tbody tr:hover{background:var(--color-bg-hover, #f9fafb)}.ranking-compact-table .rank-cell{width:2rem;text-align:center;font-weight:600;color:var(--color-text-secondary, #6b7280)}.ranking-compact-table .rank-cell--top3{color:var(--color-primary, #0d9488)}.drill-down-section{margin-top:.75rem}.drill-down-hint{text-align:center;padding:1.5rem;color:var(--color-text-tertiary, #9ca3af);font-size:.875rem;border:1px dashed var(--color-border, #e5e7eb);border-radius:.5rem}.drill-down-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;font-size:.875rem;font-weight:600}.drill-down-header button{font-size:.75rem;color:var(--color-text-secondary, #6b7280);background:none;border:none;cursor:pointer;text-decoration:underline}.pareto-summary{text-align:center;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border-radius:.5rem;font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.pareto-summary strong{color:var(--color-primary, #0d9488)}.distribution-value-toggle{display:flex;gap:0;border-radius:.375rem;overflow:hidden;border:1px solid var(--color-border, #e5e7eb);width:fit-content;font-size:.75rem}.distribution-value-btn{padding:.25rem .5rem;border:none;background:var(--color-bg, #ffffff);color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:.75rem}.distribution-value-btn:not(:last-child){border-right:1px solid var(--color-border, #e5e7eb)}.distribution-value-btn--active{background:var(--color-primary, #0d9488);color:#fff}@media(max-width:640px){.heatmap-cell,.heatmap-hour-label{flex:0 0 1.25rem;min-width:1.25rem}.heatmap-cell{height:1.25rem}}.report-filter-label{font-size:.8rem;font-weight:500;color:#666}.report-note{margin:.5rem 0 0;font-size:.8rem;color:#777}.report-select{padding:.4rem .5rem;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;font-size:.85rem;color:#333;max-width:60%}.report-link-btn{padding:0;background:none;border:none;font:inherit;font-weight:500;color:#0d9488;text-align:left;cursor:pointer}.report-link-btn:hover{text-decoration:underline}.mgmt-list-item--selectable{-webkit-user-select:none;user-select:none}.mgmt-list-item--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,#fff)}.mgmt-item-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;align-self:center;width:22px;height:22px;margin:0 .5rem 0 0;border:2px solid #c5ced8;border-radius:7px;background:#fff center / 14px 14px no-repeat;cursor:pointer}.mgmt-item-select:checked,.form-container .bulk-field .bulk-field-toggle input[type=checkbox]:checked{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7'/%3E%3C/svg%3E")}.mgmt-select-all{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:.85rem;color:#5b6b7b}.mgmt-select-all button{border:none;background:none;padding:.25rem 0;color:var(--color-accent);font-weight:600;cursor:pointer}.mgmt-list--selecting{padding-bottom:5rem}.bulk-selection-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e8ee;box-shadow:0 -4px 16px #00000014}.bulk-selection-bar button{padding:.7rem 1.4rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer}.bulk-selection-bar .cancel-btn{background:#eef1f4;color:#2c3e50}.bulk-selection-bar .save-btn{background:var(--color-accent);color:#fff}.bulk-selection-bar .save-btn:disabled{opacity:.45;cursor:not-allowed}.bulk-edit-header{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1.5px solid color-mix(in srgb,var(--color-accent) 45%,#e3e8ee);border-radius:12px;background:color-mix(in srgb,var(--color-accent) 6%,#fff)}.bulk-edit-header h2{margin:0 0 .5rem;font-size:1.05rem;color:#2c3e50}.bulk-edit-names{display:flex;flex-wrap:wrap;gap:.35rem;max-height:8rem;margin:0;padding:0;overflow-y:auto;list-style:none}.bulk-edit-names li{padding:.2rem .6rem;border-radius:999px;background:#fff;border:1px solid #e3e8ee;font-size:.8rem;color:#2c3e50}.form-container .bulk-field{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:start}.form-container .bulk-field .bulk-field-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;cursor:pointer}.form-container .bulk-field .bulk-field-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:22px;height:22px;margin:0;padding:0;border:2px solid #c5ced8;border-radius:7px;background:#fff center / 14px 14px no-repeat;box-shadow:none;outline:none;cursor:pointer}.form-container .bulk-field .bulk-field-toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 30%,transparent)}.form-container .bulk-field .bulk-field-control{grid-column:1 / -1;opacity:.55;transition:opacity .15s}.form-container .bulk-field--enabled .bulk-field-control,.form-container .bulk-field .bulk-field-control:focus-within{opacity:1}.mgmt-bulk-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;background:transparent;color:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.mgmt-bulk-btn:hover{background:#ffffff26}.mgmt-bulk-btn{white-space:nowrap}@media(max-width:600px){.mgmt-bulk-btn{padding:.5rem}.mgmt-bulk-btn__label{display:none}}.catalog-search{position:relative;display:flex;align-items:center;flex:0 0 auto;width:100%;min-width:0}.catalog-search__icon{position:absolute;left:.75rem;color:#8a97a4;pointer-events:none}.catalog-search input{width:100%;box-sizing:border-box;padding:.55rem 2.25rem;border:1px solid #e3e8ee;border-radius:999px;background:#fff;font-size:.9rem;color:#2c3e50;-webkit-appearance:none;-moz-appearance:none;appearance:none}.catalog-search input::-webkit-search-cancel-button{display:none}.catalog-search input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 20%,transparent)}.catalog-search__clear{position:absolute;right:.4rem;width:1.6rem;height:1.6rem;border:none;border-radius:50%;background:#eef1f4;color:#5b6b7b;font-size:1rem;line-height:1;cursor:pointer}:root[data-theme=nomi-ventas]{--color-primary: #57bcd2;--color-on-primary: #12384f;--color-background: #fbfdfd;--color-accent: #a26024;--color-secondary: #2b5172;--color-muted: #afcacc;--color-tertiary: #4890a8;--color-primary-hover: #4ba5c1;--color-primary-light: rgba(87, 188, 210, .1);--color-primary-action: #1976d2;--color-primary-action-hover: #1565c0;--color-secondary-hover: #1f3a54;--color-accent-hover: #8a5220;--color-accent-light: rgba(162, 96, 36, .1);--color-text-primary: #2b5172;--color-text-secondary: #4890a8;--color-text-muted: #6b7280;--color-border: #afcacc;--color-border-light: rgba(175, 202, 204, .3);--color-surface: #fbfdfd;--color-surface-secondary: #f8fafb}:root[data-theme=nomi-ventas-dev]{--color-primary: #8b5cf6;--color-on-primary: #ffffff;--color-background: #faf9fd;--color-accent: #f59e0b;--color-secondary: #4c1d95;--color-muted: #c4b5fd;--color-tertiary: #7c3aed;--color-primary-hover: #7c4ce6;--color-primary-light: rgba(139, 92, 246, .1);--color-primary-action: #f0c73f;--color-primary-action-hover: #ddb128;--color-secondary-hover: #3b0f7a;--color-accent-hover: #d97706;--color-accent-light: rgba(245, 158, 11, .1);--color-text-primary: #4c1d95;--color-text-secondary: #7c3aed;--color-text-muted: #6b7280;--color-border: #c4b5fd;--color-border-light: rgba(196, 181, 253, .3);--color-surface: #faf9fd;--color-surface-secondary: #f5f3ff}:root[data-theme=klementinum]{--color-primary: #f0c73f;--color-on-primary: #4a3a0d;--color-background: #e9edeb;--color-accent: #f7d85d;--color-secondary: #8a6d21;--color-muted: #bec8c2;--color-tertiary: #e2b749;--color-primary-hover: #ddb128;--color-primary-light: rgba(240, 199, 63, .22);--color-primary-action: #1976d2;--color-primary-action-hover: #1565c0;--color-secondary-hover: #70591b;--color-accent-hover: #ecc933;--color-accent-light: rgba(247, 216, 93, .24);--color-on-accent: #e9edeb;--filter-active-background: #f0c73f;--filter-active-foreground: #8a6d21;--filter-active-border: #c69d1d;--filter-active-badge-background: #fbfcf9;--filter-active-badge-foreground: #8a6d21;--color-text-primary: #473a18;--color-text-secondary: #8e6f19;--color-text-muted: #6d7269;--color-border: #c7cfca;--color-border-light: rgba(109, 114, 105, .12);--color-surface: #fbfcf9;--color-surface-secondary: #f1f4f1;--status-active-bg: #edf5f4;--status-active-text: #4f6c70;--status-active-border: #bdd2cf;--status-completed-bg: #e8f7ef;--status-completed-text: #2f7a54;--status-completed-border: #afd8bd}
