@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/exo-2-latin-wght-normal-CQ1lLIdm.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/exo-2-cyrillic-wght-normal-DINSYtDx.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--color-bg: #f7f6f4;--color-surface: #ffffff;--color-border: #e1ddd6;--color-text: #1c1a17;--color-text-muted: #6b6459;--color-accent: #ed5807;--color-accent-hover: #d44e05;--color-accent-contrast: #ffffff;--color-danger: #c62828;--color-danger-bg: #fdecea;--color-success: #2e7d32;--color-success-bg: #eaf6ea;--color-sidebar-bg: #201d19;--color-sidebar-text: #ece8e3;--color-sidebar-text-muted: #a89f93;--color-sidebar-active: #ed5807;--radius: 6px;--font-sans: "Exo 2 Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.4;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0 0 12px}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--color-accent)}.app-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:16px 0;display:flex;flex-direction:column}.sidebar-brand{padding:8px 20px 20px;font-weight:700;font-size:16px;letter-spacing:.02em}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:block;padding:10px 20px;color:var(--color-sidebar-text-muted);text-decoration:none;font-size:14px;border-left:3px solid transparent}.nav-item:hover{color:var(--color-sidebar-text);background:#ffffff0a}.nav-item.active{color:var(--color-sidebar-text);border-left-color:var(--color-sidebar-active);background:#ed58071f}.sidebar-footer{margin-top:auto;padding:12px 20px;font-size:12px;color:var(--color-sidebar-text-muted);border-top:1px solid rgba(255,255,255,.08)}.content{padding:28px 32px;min-width:0}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:20px;font-weight:700}.page-placeholder{color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius);padding:32px;background:var(--color-surface)}.page-actions{display:flex;gap:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:16px}.tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:14px;font-weight:600;color:var(--color-text-muted);cursor:pointer}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.section-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.section-toolbar:empty{display:none}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}.filter{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--color-text-muted)}.filter select,.filter input{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 10px;background:var(--color-surface);color:var(--color-text);font-weight:400}.checkbox{display:flex;align-items:center;gap:6px;font-size:13px;padding-bottom:7px;cursor:pointer}.notice{border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius);padding:10px 12px;margin:12px 0;font-size:13px;background:var(--color-surface)}.notice-warning{border-left-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger)}.notice-info{border-left-color:var(--color-accent)}.notice-muted{border-left-color:var(--color-text-muted);background:var(--color-bg);color:var(--color-text-muted)}.definition-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 20px}.definition{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--color-border)}.definition-label{font-size:12px;color:var(--color-text-muted)}.definition-value{font-size:13px}.card-subtitle{font-size:14px;font-weight:700;margin:20px 0 8px}.computed-value{border:1px dashed var(--color-border);border-radius:var(--radius);padding:7px 10px;background:var(--color-bg);color:var(--color-text-muted);min-height:33px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.2}.btn:hover{border-color:var(--color-text-muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.field input[type=text],.field input[type=number],.field input[type=email],.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius);padding:7px 10px;background:var(--color-surface);color:var(--color-text);width:100%}.field textarea{resize:vertical;min-height:68px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #ed580726}.field-hint{font-size:12px;color:var(--color-text-muted)}.field-error{font-size:12px;color:var(--color-danger)}.field-row{display:flex;gap:12px}.field-row>.field{flex:1}.number-input{position:relative;display:flex;align-items:center;width:100%;min-width:0}.number-input input{width:100%;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius);padding:7px 44px 7px 10px;background:var(--color-surface);color:var(--color-text)}.number-input input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #ed580726}.number-input .unit{position:absolute;right:10px;font-size:12px;color:var(--color-text-muted);pointer-events:none}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.data-table-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.data-table-toolbar input{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 10px;font-size:13px}table.data-table{width:100%;border-collapse:collapse;font-size:13px}table.data-table th{text-align:left;padding:9px 12px;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-text-muted);cursor:pointer;user-select:none;white-space:nowrap}table.data-table th.sorted:after{content:attr(data-sort-dir);margin-left:4px}table.data-table td{padding:8px 12px;border-bottom:1px solid var(--color-border)}table.data-table tbody tr:hover{background:#ed58070a}table.data-table tbody tr.clickable{cursor:pointer}table.data-table tbody tr.row-below-threshold{background:var(--color-danger-bg)}table.data-table tbody tr.row-below-threshold:hover{background:#fbe0dc}table.data-table tbody tr.row-inactive{color:var(--color-text-muted)}.cell-lines{display:flex;flex-direction:column;gap:1px}.cell-line-muted{font-size:12px;color:var(--color-text-muted)}.status-icon{display:inline-flex;align-items:center;cursor:help}.status-icon-active{color:var(--color-success)}.status-icon-inactive{color:var(--color-text-muted)}.status-icon-warning{color:var(--color-danger)}.row-actions{display:flex;gap:6px}.row-actions .btn{padding:4px 8px;font-size:12px}table.data-table tbody tr:last-child td{border-bottom:none}.data-table-empty{padding:28px;text-align:center;color:var(--color-text-muted)}.data-table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 12px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;background:#1c1a1773;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:100}.modal{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:560px;box-shadow:0 12px 32px #0003;display:flex;flex-direction:column;max-height:100%}.modal-wide{max-width:880px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:16px;margin:0}.modal-close{background:none;border:none;cursor:pointer;font-size:18px;color:var(--color-text-muted);line-height:1}.modal-body{padding:18px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--color-border)}.recipe-lines,.pour-line>div{display:flex;flex-direction:column;gap:6px}.recipe-line,.pour-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto;gap:8px;align-items:center}.recipe-line>*,.pour-row>*{min-width:0}.recipe-line .btn,.pour-row .btn{white-space:nowrap}.form-inline-action{margin-bottom:18px}.recipe-line select,.pour-row select{border:1px solid var(--color-border);border-radius:var(--radius);padding:7px 10px;background:var(--color-surface);color:var(--color-text);min-width:0}.pour-lines{display:flex;flex-direction:column;gap:12px;margin:14px 0}.pour-line{border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;background:var(--color-surface)}.pour-line-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.pour-line-title{font-weight:600}.pour-line-meta,.pour-line-summary{font-size:12px;color:var(--color-text-muted)}.pour-line-summary{margin:8px 0}.pour-line-summary.is-invalid{color:var(--color-danger);font-weight:600}.composition-lines,.repack-lines{display:flex;flex-direction:column;gap:6px}.composition-line,.repack-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;cursor:pointer}.repack-line{grid-template-columns:auto minmax(0,1fr) auto minmax(0,240px)}.composition-line-meta,.composition-line-qty{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.repack-line select{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 10px;background:var(--color-surface);color:var(--color-text);min-width:0}.image-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.image-slot{border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;background:var(--color-surface);display:flex;flex-direction:column;gap:8px}.image-slot-caption{font-size:12px;font-weight:600;color:var(--color-text-muted)}.image-slot-preview{aspect-ratio:1 / 1;border-radius:var(--radius);overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center}.image-slot-preview.is-empty{border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:12px}.image-slot-preview img{width:100%;height:100%;object-fit:cover;display:block}.image-slot-actions{display:flex;gap:6px}.image-slot-actions .btn{padding:5px 10px;font-size:12px}table.data-table th.expand-cell,table.data-table td.expand-cell{width:28px;padding-right:0}.value-with-icon{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.expand-caret{color:var(--color-text-muted);font-size:11px}table.data-table tr.detail-row>td{padding:0 12px 12px 40px;background:var(--color-bg)}table.data-table tr.detail-row .data-table-wrap{border-radius:var(--radius)}.qc-preview{margin:14px 0}.qc-preview-summary{font-weight:600;margin-bottom:8px}.qc-preview-block{border-left:3px solid var(--color-border);padding-left:10px;margin-bottom:10px}.qc-preview-caption{font-size:12px;font-weight:600;color:var(--color-text-muted)}.qc-preview-list{margin:4px 0 0;padding-left:18px;font-size:13px}.card-form{margin-top:16px}.date-picker{position:relative}.calendar{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:236px;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 8px 20px #0000001f}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.calendar-title{font-size:13px;font-weight:600}.calendar-nav{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:2px 8px;color:var(--color-text-muted)}.calendar-nav:hover{color:var(--color-text)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{font-size:11px;text-align:center;padding:2px 0;color:var(--color-text-muted)}.calendar-day{background:none;border:1px solid transparent;border-radius:4px;padding:5px 0;font-size:12px;cursor:pointer}.calendar-day:hover{background:#ed58071a}.calendar-day.other-month{color:var(--color-text-muted);opacity:.6}.calendar-day.today{border-color:var(--color-accent)}.calendar-day.selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.calendar-footer{display:flex;justify-content:space-between;margin-top:8px}.calendar-link{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:var(--color-accent);cursor:pointer}.combobox{position:relative}.combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 8px 20px #0000001f;max-height:220px;overflow-y:auto;z-index:50}.combobox-option{padding:8px 10px;cursor:pointer;font-size:13px}.combobox-option:hover,.combobox-option.active{background:#ed580714}.combobox-create{border-top:1px solid var(--color-border);color:var(--color-accent);font-weight:600}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{min-width:240px;max-width:360px;padding:12px 14px;border-radius:var(--radius);font-size:13px;box-shadow:0 8px 20px #00000026;border:1px solid transparent}.toast-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}table.data-table tbody tr.row-attention{background:#ed580712}table.data-table tbody tr.row-attention:hover{background:#ed58071f}.card-title{margin:0 0 12px;font-size:16px}.card-section-title{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.order-totals{margin-top:10px;border-top:1px solid var(--color-border);padding-top:10px}.assembly-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;background:var(--color-surface)}.assembly-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.assembly-item-title{font-weight:600}.assembly-item-need{font-size:12px;color:var(--color-danger);white-space:nowrap}.assembly-item-need.is-ready{color:var(--color-success)}.assembly-line{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;align-items:center;gap:8px;margin-bottom:6px}.assembly-line select{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 10px;background:var(--color-surface);color:var(--color-text);min-width:0}.return-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.return-order-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.return-order-option{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:8px 10px;font-size:13px;cursor:pointer;color:var(--color-text)}.return-order-option:hover{border-color:var(--color-accent)}.return-order-selected{font-weight:600;margin-bottom:10px}.return-items{display:flex;flex-direction:column;gap:6px}.return-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto 120px;align-items:center;gap:8px;font-size:13px;cursor:pointer}.return-item-title{font-weight:600}.return-process-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;background:var(--color-surface)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.icon-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.icon-btn-deactivate:hover{border-color:var(--color-danger);color:var(--color-danger)}.status-icon-stored{color:var(--color-accent)}.collapsible{margin:14px 0}.collapsible-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer;text-align:left}.collapsible-header:hover{border-color:var(--color-accent)}.collapsible-body{padding-top:10px}.pour-line.pour-line-problem{border-color:var(--color-danger);background:var(--color-danger-bg)}
