.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}.card--narrow{width:100%;max-width:var(--narrow-width);margin-inline:auto}.form-page{margin-top:var(--space-8)}
.page-hero{margin-bottom:var(--space-6)}.page-heading{margin:0 0 .5rem;font-size:var(--font-size-xl);line-height:1.12;letter-spacing:-.035em}.section-heading{margin:0 0 .5rem;font-size:var(--font-size-lg);line-height:1.3}.lead{margin:0;color:var(--color-text-muted)}.eyebrow{margin:0 0 .55rem;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.09em;text-transform:uppercase}.muted{color:var(--color-text-muted)}
.breadcrumbs{display:flex;gap:.5rem;align-items:center;margin-bottom:1.25rem;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.breadcrumbs a,.breadcrumbs span{overflow:hidden;text-overflow:ellipsis}.breadcrumbs a{color:inherit}.page-header,.page-actions,.status-row,.pagination,.view-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.page-header{justify-content:space-between;margin-bottom:1.75rem}.page-actions{justify-content:flex-end}
.form-stack{display:grid;gap:1.25rem}.form-field{display:block;min-width:0}.form-field__label{display:block;margin-bottom:.45rem;font-size:var(--font-size-sm);font-weight:700}.form-field__control input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.form-field__control select,.form-field__control textarea,.sort-control select{width:100%;min-height:var(--control-height);padding:.68rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font:inherit}.form-field__control textarea{min-height:7rem;resize:vertical}.form-field__control input[type=checkbox],.form-field__control input[type=radio]{width:1.15rem;height:1.15rem;margin:0 .5rem 0 0;accent-color:var(--color-accent)}.form-field__control input:focus,.form-field__control select:focus,.form-field__control textarea:focus,.sort-control select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px rgb(30 143 88 / 14%)}.form-field--error .form-field__control input,.form-field--error .form-field__control select,.form-field--error .form-field__control textarea{border-color:var(--color-danger)}.form-field__help,.form-field__errors{margin-top:.4rem;font-size:var(--font-size-sm)}.form-field__help{color:var(--color-text-muted)}.form-field__errors,.form-errors{color:var(--color-danger)}.form-field__errors .errorlist,.form-errors .errorlist{margin:0;padding-left:1.25rem}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem}.button-row--apart{justify-content:space-between}.button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:.4rem;padding:.66rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;font:inherit;font-weight:720;line-height:1.2;text-align:center;text-decoration:none}.button:hover{background:var(--color-accent-hover);color:#fff}.button--secondary{border-color:var(--color-border-strong);background:#fff;color:var(--color-text)}.button--secondary:hover{background:var(--color-accent-soft);color:var(--color-text)}.button--quiet{background:transparent;color:var(--color-accent)}.button--danger{background:var(--color-danger)}.button--quiet-danger{border-color:#efc2bd;background:#fff;color:var(--color-danger)}.button--quiet-danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.button--block{width:100%}
.message-stack{display:grid;gap:.75rem;margin-bottom:1.25rem}.message{padding:.85rem 1rem;overflow-wrap:anywhere;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.message--success{border-color:#a8cfb9;background:var(--color-success-soft);color:var(--color-success)}.message--error{border-color:#e3b1b1;background:var(--color-danger-soft);color:var(--color-danger)}.message--warning{border-color:#e6cf96;background:var(--color-warning-soft);color:var(--color-warning)}.notice{padding:1rem;border-left:4px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-soft);overflow-wrap:anywhere}.notice--warning{border-left-color:var(--color-warning);background:var(--color-warning-soft)}.divider{height:1px;margin:2rem 0;border:0;background:var(--color-border)}
.role-list,.code-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none}.role-badge,.badge,.status{display:inline-flex;max-width:100%;padding:.25rem .55rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-text);font-size:var(--font-size-xs);font-weight:700}.badge--muted,.status{background:var(--color-surface-muted);color:var(--color-text-muted)}.status--active{background:var(--color-success-soft);color:var(--color-success)}.status-row{margin-bottom:1.25rem}.code-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.code-list__item{padding:.5rem .75rem;overflow-wrap:anywhere;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);font-family:ui-monospace,monospace;text-align:center}.qr-panel{display:grid;place-items:center;margin:1.25rem 0;padding:1rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.secret-value{display:block;margin-top:.5rem;padding:.75rem;overflow-wrap:anywhere;border-radius:var(--radius-sm);background:var(--color-surface-muted);font-family:ui-monospace,monospace;font-size:var(--font-size-sm)}
.catalog-layout{display:grid;grid-template-columns:15.5rem minmax(0,1fr);gap:1.75rem;align-items:start}.catalog-sidebar,.filter-panel,.filter-panel .form-field,.filter-panel .form-field__control,.category-filter,.category-filter li{min-width:0;max-width:100%}.filter-toggle{display:none;margin-bottom:1rem}.filter-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-accent)}.filter-panel{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:1.15rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.filter-panel .form-field__control{display:block;width:100%}.filter-panel .form-field__control input,.filter-panel .form-field__control select{min-width:0;max-width:100%}.category-filter a{max-width:100%;overflow-wrap:anywhere}.filter-panel__header{display:flex;justify-content:space-between;align-items:center}.filter-panel__header h2{margin:0;font-size:1rem}.filter-panel__header a{font-size:var(--font-size-sm)}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filter-group{min-width:0;margin:0;padding:0;border:0}.filter-group legend{margin-bottom:.5rem;font-size:var(--font-size-sm);font-weight:700}.category-filter,.category-filter ul{display:grid;gap:.1rem;margin:0;padding:0;list-style:none}.category-filter ul{margin-left:.75rem;padding-left:.55rem;border-left:1px solid var(--color-border)}.category-filter a{display:block;padding:.35rem .45rem;border-radius:.35rem;color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:none}.category-filter a:hover,.category-filter a[aria-current=true]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.catalog-toolbar{display:flex;min-height:3rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.catalog-toolbar p{margin:0}.catalog-toolbar__controls{display:flex;align-items:center;gap:.75rem}.sort-control{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.sort-control select{width:auto;min-height:2.35rem;padding:.35rem 2rem .35rem .6rem}.view-switch{gap:.2rem;padding:.2rem;border:1px solid var(--color-border);border-radius:.55rem;background:#fff}.view-switch a{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.35rem;color:var(--color-text-muted);text-decoration:none}.view-switch a[aria-current=true]{background:var(--color-accent-soft);color:var(--color-accent)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.product-card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:0 1px 2px rgb(20 38 29 / 4%);transition:transform .15s,border-color .15s,box-shadow .15s}.product-card:hover{transform:translateY(-2px);border-color:#b5cbbf;box-shadow:var(--shadow-card)}.product-card__image{position:relative;display:grid;aspect-ratio:4/3;padding:.7rem;place-items:center;overflow:hidden;background:#f4f5f2}.product-card__image img{width:100%;height:100%;object-fit:contain}.product-placeholder{color:#aeb8b2;font-size:3rem}.badge--overlay{position:absolute;top:.65rem;left:.65rem}.product-card__body{display:grid;gap:.45rem;padding:1rem}.product-card__category,.product-card__sku{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.product-card h2{min-height:2.6em;margin:0;font-size:1rem;line-height:1.3}.product-card h2 a{color:var(--color-text);text-decoration:none}.product-card__footer{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-top:.35rem;padding-top:.65rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs)}.size-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.2rem 0;padding:0;list-style:none}.size-chips li{padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:.3rem;background:#fff;font-size:var(--font-size-xs);font-weight:650}.size-chips--large li{display:grid;min-width:4.5rem;padding:.55rem .7rem;text-align:center}.size-chips--large small{color:var(--color-text-muted);font-weight:400}.size-chips .is-archived{opacity:.55;text-decoration:line-through}
.data-table-wrap{padding:0;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.8rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.data-table th{background:var(--color-surface-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.table-product{display:flex;align-items:center;gap:.65rem;min-width:12rem}.table-product img{width:2.75rem;height:2.75rem;border-radius:.35rem;object-fit:contain;background:var(--color-surface-muted)}.pagination{justify-content:center;margin:1.5rem 0}.pagination a,.pagination span{padding:.45rem .7rem;border-radius:.35rem}.pagination .current{background:var(--color-accent);color:#fff}
.empty-state{display:grid;min-height:18rem;place-items:center;align-content:center;text-align:center}.empty-state h2,.empty-state p{margin:.3rem}.empty-state__icon{display:grid;width:4rem;height:4rem;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-size:2rem}.empty-state--compact{min-height:10rem}
.product-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);gap:2rem;align-items:start}.product-gallery__main{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.product-gallery__main img{width:100%;height:100%;object-fit:contain}.product-gallery__thumbs{display:flex;gap:.65rem;margin-top:.75rem;overflow-x:auto}.product-gallery__thumbs button{width:4.5rem;height:4.5rem;padding:.25rem;flex:none;border:1px solid var(--color-border);border-radius:.5rem;background:#fff;cursor:pointer}.product-gallery__thumbs button[aria-current=true]{border:2px solid var(--color-accent)}.product-gallery__thumbs img{width:100%;height:100%;object-fit:contain}.product-gallery__empty{display:grid;min-height:24rem;place-items:center;align-content:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:#fff;color:var(--color-text-muted)}.product-gallery__empty span{font-size:4rem}.product-info{position:sticky;top:1rem}.detail-list{display:grid;gap:.1rem;margin:0}.detail-list>div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--color-border)}.detail-list dt{color:var(--color-text-muted)}.detail-list dd{margin:0;font-weight:650}.detail-list>div.detail-list__stacked{display:block}.detail-list__stacked dd{margin-top:.3rem;max-width:100%;overflow-wrap:anywhere}.variant-section,.product-description{margin-top:1.5rem}.variant-section h2,.product-description h2{margin:0 0 .75rem;font-size:1rem}.product-description p{margin:0;color:var(--color-text-muted)}
.catalog-form{display:grid;gap:1rem;max-width:64rem}.form-section{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:2rem}.form-section__intro{display:flex;gap:.75rem}.form-section__intro>span{display:grid;width:2rem;height:2rem;flex:none;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:800}.form-section__intro h2{margin:0;font-size:1rem}.form-section__intro p{margin:.35rem 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid__wide{grid-column:1/-1}.variant-editor{display:grid;gap:.75rem}.variant-editor__row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:.75rem;align-items:start;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.photo-editor,.image-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}.photo-editor>li,.image-preview>li{padding:.6rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-canvas)}.photo-editor img,.image-preview img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:.35rem;background:#fff}.image-preview span{display:block;overflow:hidden;margin-top:.4rem;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.form-actions{position:sticky;z-index:10;bottom:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:rgb(255 255 255 / 94%);backdrop-filter:blur(8px)}
.category-tree>ul,.category-tree ul{margin:0;padding:0;list-style:none}.category-tree ul ul{margin-left:1.25rem;border-left:1px solid var(--color-border)}.category-tree__row{display:grid;grid-template-columns:minmax(12rem,1fr) 7rem auto;gap:1rem;align-items:center;padding:.8rem;border-bottom:1px solid var(--color-border)}.category-tree__name{font-weight:700}.category-tree__count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.category-tree__actions{display:flex;gap:.75rem;justify-content:flex-end;font-size:var(--font-size-sm)}
@media(min-width:76rem){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:62rem){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail{grid-template-columns:1fr}.product-info{position:static}.form-section{grid-template-columns:1fr}.form-section__intro{border-bottom:1px solid var(--color-border);padding-bottom:1rem}}
@media(max-width:48rem){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{align-items:flex-start}.sort-control{display:none}.form-grid{grid-template-columns:1fr}.form-grid__wide{grid-column:auto}.variant-editor__row{grid-template-columns:1fr 1fr}.variant-editor__row .form-field:last-child{grid-column:1/-1}.photo-editor,.image-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.category-tree__row{grid-template-columns:1fr auto}.category-tree__count{display:none}.category-tree__actions{grid-column:1/-1;justify-content:flex-start}.form-actions .button{flex:1}.catalog-header{align-items:flex-start}}
@media(max-width:27rem){.product-grid{gap:.6rem}.product-card__body{padding:.75rem}.product-card h2{font-size:.9rem}.product-card__footer>span{display:none}.product-card__image{aspect-ratio:1}.page-actions{width:100%}.page-actions .button{flex:1}.code-list{grid-template-columns:1fr}}

/* Receipt documents reuse the catalog surfaces and controls. */
.product-card__stock{display:flex;justify-content:space-between;gap:.5rem;margin:.25rem 0 0;padding-top:.55rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs)}.product-card__stock strong{color:var(--color-text)}.size-chips li span{color:var(--color-text-muted);font-weight:500}.size-chips--large li{gap:.15rem}.size-chips--large li strong{margin-top:.2rem;color:var(--color-accent);font-size:var(--font-size-sm)}.status--cancelled{background:var(--color-danger-soft);color:var(--color-danger)}
.document-grid{display:grid;grid-template-columns:minmax(17rem,.38fr) minmax(0,1fr);gap:1.5rem;align-items:start}.document-lines h2,.confirm-summary h2,.history-section h2{margin-top:0}.history-section{margin-top:2rem}.history-list{margin:0;padding:0;list-style:none}.history-list li{display:grid;grid-template-columns:9rem 8rem 1fr;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--color-border)}.history-list__time{color:var(--color-text-muted);font-size:var(--font-size-sm)}
.receipt-lines{display:grid;gap:.75rem;margin-bottom:1rem}.receipt-line{display:grid;grid-template-columns:minmax(15rem,2fr) minmax(8rem,.7fr) minmax(6rem,.45fr) auto;gap:.75rem;align-items:start;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.receipt-line .form-field{margin:0}.receipt-line__unit{padding-top:2rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.receipt-line__delete{padding-top:1.6rem}.receipt-line__remove{align-self:center;margin-top:1.1rem}.summary-lines{display:grid;gap:0;margin:0;padding:0;list-style:none}.summary-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--color-border)}.summary-lines strong{white-space:nowrap}.confirm-card{max-width:42rem}
@media(max-width:62rem){.document-grid{grid-template-columns:1fr}.receipt-line{grid-template-columns:minmax(0,1fr) minmax(8rem,.45fr)}.receipt-line__unit,.receipt-line__delete,.receipt-line__remove{padding-top:0;margin-top:0}}
@media(max-width:44rem){.receipt-line{grid-template-columns:1fr}.summary-lines li{display:grid;gap:.35rem}.history-list li{grid-template-columns:1fr;gap:.2rem}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1 1 calc(50% - .75rem)}}

/* Receipt form clarity and safe sticky actions. */
.filter-date-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.catalog-form[data-stock-document-form]{padding-bottom:5.5rem}.catalog-form[data-stock-document-form] .form-section:last-of-type{margin-bottom:5.5rem}.catalog-form[data-stock-document-form] :is(input,select,textarea,.message){scroll-margin-bottom:8rem}.receipt-line__selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .8rem;margin:.65rem 0 0;padding:.65rem;border-radius:var(--radius-sm);background:#fff}.receipt-line__selection[hidden]{display:none}.receipt-line__selection div{min-width:0}.receipt-line__selection dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.receipt-line__selection dd{margin:.15rem 0 0;overflow-wrap:anywhere;font-size:var(--font-size-sm);font-weight:700}.receipt-line__delete{position:relative}.receipt-line__delete-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.receipt-line__remove{min-width:max-content}.receipt-line[hidden]{display:none}
@media(max-width:48rem){.catalog-form[data-stock-document-form]{padding-bottom:0}.catalog-form[data-stock-document-form] .form-section:last-of-type{margin-bottom:0}.catalog-form[data-stock-document-form] .form-actions{position:static}.catalog-form[data-stock-document-form] :is(input,select,textarea,.message){scroll-margin-bottom:1rem}}
@media(max-width:44rem){.receipt-line__selection{grid-template-columns:1fr}.receipt-line__remove{width:100%}}

/* Receipt position: controls on top, selected-item facts use the full row. */
.receipt-line{grid-template-columns:minmax(20rem,1fr) minmax(6.5rem,8rem) auto;grid-template-areas:"variant amount delete" "details details details";column-gap:1rem}.receipt-line__variant{grid-area:variant;min-width:0}.receipt-line__amount{display:grid;grid-area:amount;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end;min-width:0}.receipt-line__amount>div:first-child{min-width:0}.receipt-line__unit{padding:0 0 .75rem}.receipt-line__delete{grid-area:delete;align-self:end;padding:0 0 .05rem}.receipt-line__remove{margin:0}.receipt-line__selection{grid-area:details;width:100%;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:.5rem 1.25rem;margin:.15rem 0 0;padding:.8rem 1rem}.receipt-line__selection .receipt-line__product{grid-column:1/-1}.receipt-line__selection dd{max-width:100%;white-space:normal;overflow-wrap:anywhere}.receipt-line__product dd{font-size:var(--font-size-md);line-height:1.35}
@media(max-width:62rem){.receipt-line{grid-template-columns:minmax(0,1fr) minmax(6.5rem,8rem) auto;grid-template-areas:"variant amount delete" "details details details"}.receipt-line__unit,.receipt-line__delete,.receipt-line__remove{padding-top:0;margin-top:0}}
@media(max-width:44rem){.receipt-line{grid-template-columns:minmax(0,1fr);grid-template-areas:"variant" "amount" "details" "delete"}.receipt-line__amount{grid-template-columns:minmax(0,1fr) auto;max-width:12rem}.receipt-line__selection{grid-template-columns:minmax(0,1fr);gap:.55rem}.receipt-line__selection .receipt-line__product{grid-column:auto}.receipt-line__delete{width:100%}.receipt-line__remove{width:100%}}
.receipt-line__selection--issue{grid-template-columns:repeat(4,minmax(0,1fr))}.receipt-line__selection--issue .receipt-line__product{grid-column:1/-1}.receipt-line__available dd{color:var(--color-accent-strong)}.summary-lines small{display:block;margin-top:.2rem;color:var(--color-text-muted);font-weight:500}
@media(max-width:62rem){.receipt-line__selection--issue{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:44rem){.receipt-line__selection--issue{grid-template-columns:minmax(0,1fr)}}
