:root{--font-sans: "Onest", "Noto Sans", "Segoe UI", sans-serif;--font-display: "Cormorant Garamond", "Spectral", serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=light]{--app-bg: #f6f1e8;--app-bg-2: #efe6d8;--app-surface: #ffffff;--app-surface-2: #fffaf2;--app-text: #1c2431;--app-text-soft: #394456;--app-text-muted: #6b778c;--app-accent: #d36a2f;--app-accent-2: #2b7a73;--app-accent-3: #2f5fd4;--app-warning: #e08c2f;--app-danger: #c3412f;--app-stage-gate: #2f5fd4;--app-stage-prep: #7c5cd4;--app-stage-work: #d36a2f;--app-tooltip-bg: #1c2431;--app-tooltip-text: #ffffff;--app-border: rgba(28, 36, 49, .12);--app-border-strong: rgba(28, 36, 49, .2);--app-overlay: rgba(22, 30, 44, .18);--app-overlay-strong: rgba(22, 30, 44, .32);--app-shadow-sm: 0 10px 26px rgba(20, 28, 43, .12);--app-shadow-md: 0 16px 40px rgba(20, 28, 43, .16);--app-shadow-lg: 0 26px 70px rgba(20, 28, 43, .14);--app-shadow-xl: 0 34px 90px rgba(20, 28, 43, .2);--app-bg-gradient-1: radial-gradient(1200px 700px at 85% -15%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 60%);--app-bg-gradient-2: radial-gradient(900px 600px at 15% 0%, rgba(211, 106, 47, .12) 0%, rgba(211, 106, 47, 0) 55%);--app-grid-color: rgba(28, 36, 49, .04);--scroll-track: rgba(28, 36, 49, .08);--scroll-thumb: rgba(28, 36, 49, .26);--scroll-thumb-hover: rgba(28, 36, 49, .38)}:root[data-theme=dark]{--app-bg: #0f1115;--app-bg-2: #141a28;--app-surface: #141414;--app-surface-2: #1f1f1f;--app-text: #f5f7fa;--app-text-soft: #c3cad8;--app-text-muted: #94a3b8;--app-accent: #4f8cff;--app-accent-2: #2dd4bf;--app-accent-3: #a78bfa;--app-warning: #f59e0b;--app-danger: #fb7185;--app-stage-gate: #6ea2ff;--app-stage-prep: #a78bfa;--app-stage-work: #f0863c;--app-tooltip-bg: #0b1220;--app-tooltip-text: #ffffff;--app-border: rgba(255, 255, 255, .1);--app-border-strong: rgba(255, 255, 255, .16);--app-overlay: rgba(6, 10, 20, .55);--app-overlay-strong: rgba(6, 10, 20, .7);--app-shadow-sm: 0 10px 26px rgba(0, 0, 0, .35);--app-shadow-md: 0 18px 46px rgba(0, 0, 0, .4);--app-shadow-lg: 0 26px 70px rgba(0, 0, 0, .45);--app-shadow-xl: 0 34px 90px rgba(0, 0, 0, .55);--app-bg-gradient-1: radial-gradient(1200px 700px at 80% -20%, rgba(79, 140, 255, .18) 0%, rgba(79, 140, 255, 0) 55%);--app-bg-gradient-2: radial-gradient(900px 600px at 10% 0%, rgba(45, 212, 191, .18) 0%, rgba(45, 212, 191, 0) 55%);--app-grid-color: rgba(255, 255, 255, .04);--scroll-track: rgba(255, 255, 255, .08);--scroll-thumb: rgba(255, 255, 255, .24);--scroll-thumb-hover: rgba(255, 255, 255, .36)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-sans);color:var(--app-text);background:var(--app-bg-gradient-1),var(--app-bg-gradient-2),linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-2) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}body:before{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(0deg,var(--app-grid-color) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,var(--app-grid-color) 0 1px,transparent 1px 24px);opacity:.45;pointer-events:none;z-index:0}#root{min-height:100vh;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:.2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}@media(max-width:768px){.ant-table-wrapper{overflow-x:auto}.ant-card-body{padding:16px}.ant-modal{max-width:calc(100vw - 32px);margin:16px auto}.ant-drawer-content-wrapper{max-width:100vw!important}}.ant-layout-sider{transition:all .2s}.ant-card{transition:box-shadow .2s}.ant-card:hover{box-shadow:var(--app-shadow-sm)}[data-dnd-dragging=true]{opacity:.5}.ant-form-item{margin-bottom:0}.ant-table-thead>tr>th{font-weight:600}.ant-badge-status-text{margin-left:6px}@media print{.no-print,.ant-layout-header,.ant-layout-sider,.ant-modal-close,.ant-btn:not(.print-btn),.ant-pagination,.ant-table-filter-column,.ant-table-filter-trigger,.ant-table-column-sorter,.ant-tabs-nav,.ant-breadcrumb,.ant-menu,.ant-tooltip,.ant-drawer-mask,nav,footer,iframe,video,audio,.sidebar,.header{display:none!important}@page{margin:5mm;size:auto}*{color:#000!important;background:#fff!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}table{border-collapse:collapse!important;width:100%!important}th,td{border:1px solid #000!important;padding:4px 8px!important;text-align:left!important}thead{display:table-header-group}tr{page-break-inside:avoid}img{max-width:100%!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid}p{orphans:3;widows:3}.page-break-before{page-break-before:always}.page-break-after{page-break-after:always}.avoid-page-break{page-break-inside:avoid}}@media print{.thermal-print-58{width:48mm!important;max-width:48mm!important;font-size:8pt!important;line-height:1.2!important;font-family:Courier New,Courier,monospace!important}.thermal-print-58 *{font-size:inherit!important;line-height:inherit!important;font-family:inherit!important}.thermal-print-58 .receipt-header{text-align:center!important;font-weight:700!important;margin-bottom:4mm!important;font-size:9pt!important}.thermal-print-58 .receipt-logo{max-width:30mm!important;max-height:15mm!important;margin:0 auto 2mm!important;display:block!important}.thermal-print-58 .receipt-divider{border:none!important;border-top:1px dashed #000!important;margin:2mm 0!important}.thermal-print-58 .receipt-line{display:flex!important;justify-content:space-between!important;margin:1mm 0!important}.thermal-print-58 .receipt-line-label{flex:1!important;text-align:left!important}.thermal-print-58 .receipt-line-value{flex:1!important;text-align:right!important;font-weight:700!important}.thermal-print-58 .receipt-total{font-size:10pt!important;font-weight:700!important;border-top:2px solid #000!important;padding-top:2mm!important;margin-top:2mm!important}.thermal-print-58 .receipt-footer{text-align:center!important;margin-top:4mm!important;font-size:7pt!important}.thermal-print-58 .receipt-barcode{text-align:center!important;margin:3mm 0!important}.thermal-print-58 .receipt-qr{max-width:25mm!important;max-height:25mm!important;margin:2mm auto!important;display:block!important}.thermal-print-58 table{width:100%!important;border:none!important}.thermal-print-58 th,.thermal-print-58 td{border:none!important;border-bottom:1px dotted #000!important;padding:1mm 0!important;font-size:7pt!important}.thermal-print-58 th{font-weight:700!important;border-bottom:1px solid #000!important}}@media print{.thermal-print-80{width:72mm!important;max-width:72mm!important;font-size:9pt!important;line-height:1.3!important;font-family:Courier New,Courier,monospace!important}.thermal-print-80 *{font-size:inherit!important;line-height:inherit!important;font-family:inherit!important}.thermal-print-80 .receipt-header{text-align:center!important;font-weight:700!important;margin-bottom:5mm!important;font-size:11pt!important}.thermal-print-80 .receipt-logo{max-width:40mm!important;max-height:20mm!important;margin:0 auto 3mm!important;display:block!important}.thermal-print-80 .receipt-company{text-align:center!important;font-size:10pt!important;margin-bottom:2mm!important}.thermal-print-80 .receipt-divider{border:none!important;border-top:1px dashed #000!important;margin:3mm 0!important}.thermal-print-80 .receipt-double-divider{border:none!important;border-top:2px double #000!important;margin:3mm 0!important}.thermal-print-80 .receipt-line{display:flex!important;justify-content:space-between!important;margin:1.5mm 0!important}.thermal-print-80 .receipt-line-label{flex:2!important;text-align:left!important}.thermal-print-80 .receipt-line-value{flex:1!important;text-align:right!important;font-weight:700!important}.thermal-print-80 .receipt-item{margin:2mm 0!important;padding-bottom:2mm!important;border-bottom:1px dotted #ccc!important}.thermal-print-80 .receipt-item-name{font-weight:700!important;margin-bottom:1mm!important}.thermal-print-80 .receipt-item-details{display:flex!important;justify-content:space-between!important;font-size:8pt!important}.thermal-print-80 .receipt-subtotal{border-top:1px solid #000!important;padding-top:2mm!important;margin-top:2mm!important}.thermal-print-80 .receipt-total{font-size:12pt!important;font-weight:700!important;border-top:2px solid #000!important;padding-top:3mm!important;margin-top:3mm!important}.thermal-print-80 .receipt-tax-info{font-size:8pt!important;margin-top:2mm!important;padding-top:2mm!important;border-top:1px dotted #000!important}.thermal-print-80 .receipt-footer{text-align:center!important;margin-top:5mm!important;font-size:8pt!important}.thermal-print-80 .receipt-barcode{text-align:center!important;margin:4mm 0!important}.thermal-print-80 .receipt-qr{max-width:35mm!important;max-height:35mm!important;margin:3mm auto!important;display:block!important}.thermal-print-80 table{width:100%!important;border:none!important}.thermal-print-80 th,.thermal-print-80 td{border:none!important;border-bottom:1px dotted #000!important;padding:1.5mm 1mm!important;font-size:8pt!important}.thermal-print-80 th{font-weight:700!important;border-bottom:1px solid #000!important;text-transform:uppercase!important;font-size:7pt!important}.thermal-print-80 .receipt-col-qty{width:15%!important;text-align:center!important}.thermal-print-80 .receipt-col-price{width:25%!important;text-align:right!important}.thermal-print-80 .receipt-col-total{width:25%!important;text-align:right!important;font-weight:700!important}}@media print{.print-a4{width:210mm!important;max-width:210mm!important;font-size:10pt!important;line-height:1.4!important;font-family:Times New Roman,Times,serif!important;padding:15mm!important}.print-a4 .document-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:10mm!important;padding-bottom:5mm!important;border-bottom:2px solid #000!important}.print-a4 .document-logo{max-width:50mm!important;max-height:25mm!important}.print-a4 .document-title{font-size:16pt!important;font-weight:700!important;text-align:center!important;margin:5mm 0!important}.print-a4 .document-number{font-size:12pt!important;text-align:center!important;margin-bottom:5mm!important}.print-a4 .document-date{text-align:right!important;font-size:10pt!important;margin-bottom:5mm!important}.print-a4 .document-parties{display:flex!important;justify-content:space-between!important;margin-bottom:10mm!important}.print-a4 .document-party{width:48%!important}.print-a4 .document-party-title{font-weight:700!important;margin-bottom:2mm!important;text-transform:uppercase!important;font-size:9pt!important}.print-a4 .document-table{width:100%!important;border-collapse:collapse!important;margin:5mm 0!important}.print-a4 .document-table th,.print-a4 .document-table td{border:1px solid #000!important;padding:2mm 3mm!important;font-size:9pt!important}.print-a4 .document-table th{background-color:#f5f5f5!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;font-weight:700!important;text-align:center!important}.print-a4 .document-totals{margin-top:5mm!important;text-align:right!important}.print-a4 .document-total-line{margin:2mm 0!important}.print-a4 .document-total-line.grand-total{font-size:12pt!important;font-weight:700!important;border-top:2px solid #000!important;padding-top:3mm!important;margin-top:3mm!important}.print-a4 .document-amount-words{margin:5mm 0!important;font-style:italic!important;border:1px solid #ccc!important;padding:3mm!important;background-color:#fafafa!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-a4 .document-signatures{display:flex!important;justify-content:space-between!important;margin-top:15mm!important;page-break-inside:avoid!important}.print-a4 .document-signature{width:45%!important;text-align:center!important}.print-a4 .document-signature-line{border-bottom:1px solid #000!important;height:15mm!important;margin-bottom:2mm!important}.print-a4 .document-signature-label{font-size:8pt!important}.print-a4 .document-stamp-area{width:40mm!important;height:40mm!important;border:1px dashed #ccc!important;margin:5mm 0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:8pt!important;color:#999!important}.print-a4 .document-footer{margin-top:10mm!important;padding-top:5mm!important;border-top:1px solid #ccc!important;font-size:8pt!important;text-align:center!important}}@media print{.print-invoice .invoice-header-table{width:100%!important;margin-bottom:5mm!important}.print-invoice .invoice-header-table td{border:none!important;padding:1mm!important;font-size:9pt!important}.print-invoice .invoice-bank-details{border:1px solid #000!important;padding:3mm!important;margin-bottom:5mm!important}.print-invoice .invoice-bank-row{display:flex!important;border-bottom:1px solid #ccc!important;padding:1mm 0!important}.print-invoice .invoice-bank-row:last-child{border-bottom:none!important}.print-invoice .invoice-bank-label{width:30%!important;font-size:8pt!important}.print-invoice .invoice-bank-value{width:70%!important;font-weight:700!important;font-size:9pt!important}.print-act .act-intro,.print-act .act-conclusion{margin:5mm 0!important;text-align:justify!important;line-height:1.6!important}.print-upd{font-size:8pt!important}.print-upd .upd-header{border:2px solid #000!important;padding:3mm!important;margin-bottom:3mm!important}.print-upd .upd-section{border:1px solid #000!important;margin-bottom:2mm!important}.print-upd .upd-section-title{background-color:#f0f0f0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:1mm 2mm!important;font-weight:700!important;font-size:8pt!important}.print-upd .upd-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:2mm!important;padding:2mm!important}.print-upd .upd-field{font-size:7pt!important}.print-upd .upd-field-label{color:#666!important;margin-bottom:.5mm!important}.print-upd .upd-field-value{font-weight:700!important}}@media print{.print-order-receipt{width:72mm!important;font-family:Courier New,Courier,monospace!important;font-size:9pt!important;padding:2mm!important}.print-order-receipt .order-header{text-align:center!important;border-bottom:2px solid #000!important;padding-bottom:3mm!important;margin-bottom:3mm!important}.print-order-receipt .order-number{font-size:14pt!important;font-weight:700!important;margin:2mm 0!important}.print-order-receipt .order-date{font-size:8pt!important}.print-order-receipt .order-client{margin:3mm 0!important;padding:2mm!important;border:1px dashed #000!important}.print-order-receipt .order-items{margin:3mm 0!important}.print-order-receipt .order-item{margin:2mm 0!important;padding-bottom:2mm!important;border-bottom:1px dotted #ccc!important}.print-order-receipt .order-item-name{font-weight:700!important;margin-bottom:1mm!important}.print-order-receipt .order-item-spec{font-size:7pt!important;color:#666!important;margin-left:2mm!important}.print-order-receipt .order-item-price{display:flex!important;justify-content:space-between!important;margin-top:1mm!important}.print-order-receipt .order-summary{border-top:2px solid #000!important;padding-top:3mm!important;margin-top:3mm!important}.print-order-receipt .order-summary-line{display:flex!important;justify-content:space-between!important;margin:1mm 0!important}.print-order-receipt .order-total{font-size:12pt!important;font-weight:700!important;margin-top:2mm!important;padding-top:2mm!important;border-top:1px solid #000!important}.print-order-receipt .order-payment-status{text-align:center!important;margin:3mm 0!important;padding:2mm!important;border:2px solid #000!important;font-weight:700!important;text-transform:uppercase!important}.print-order-receipt .order-footer{text-align:center!important;margin-top:5mm!important;font-size:8pt!important}.print-order-receipt .order-barcode{text-align:center!important;margin:3mm 0!important}}@media print{.print-production-ticket{width:100mm!important;font-family:Arial,sans-serif!important;font-size:10pt!important;padding:3mm!important;border:2px solid #000!important}.print-production-ticket .ticket-header{display:flex!important;justify-content:space-between!important;align-items:center!important;border-bottom:2px solid #000!important;padding-bottom:2mm!important;margin-bottom:2mm!important}.print-production-ticket .ticket-order-number{font-size:16pt!important;font-weight:700!important}.print-production-ticket .ticket-priority{padding:1mm 3mm!important;border:2px solid #000!important;font-weight:700!important;text-transform:uppercase!important}.print-production-ticket .ticket-priority.high{background-color:#ff4d4f!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#fff!important}.print-production-ticket .ticket-priority.medium{background-color:#faad14!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-production-ticket .ticket-client{font-size:11pt!important;margin:2mm 0!important;font-weight:700!important}.print-production-ticket .ticket-deadline{display:flex!important;justify-content:space-between!important;padding:2mm!important;border:1px solid #000!important;margin:2mm 0!important;font-weight:700!important}.print-production-ticket .ticket-items{margin:3mm 0!important}.print-production-ticket .ticket-item{padding:2mm!important;margin:1mm 0!important;border:1px solid #ccc!important}.print-production-ticket .ticket-item-name{font-weight:700!important;font-size:11pt!important}.print-production-ticket .ticket-item-specs{font-size:9pt!important;margin-top:1mm!important}.print-production-ticket .ticket-item-spec{display:inline-block!important;margin-right:3mm!important;padding:.5mm 1mm!important;background-color:#f0f0f0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-production-ticket .ticket-item-qty{font-size:14pt!important;font-weight:700!important;text-align:center!important;padding:2mm!important;border:2px solid #000!important;margin-top:2mm!important}.print-production-ticket .ticket-notes{margin-top:3mm!important;padding:2mm!important;border:1px dashed #000!important;font-size:9pt!important}.print-production-ticket .ticket-notes-title{font-weight:700!important;margin-bottom:1mm!important}.print-production-ticket .ticket-barcode{text-align:center!important;margin-top:3mm!important;padding-top:3mm!important;border-top:1px solid #000!important}.print-production-ticket .ticket-footer{display:flex!important;justify-content:space-between!important;margin-top:2mm!important;font-size:8pt!important}}@media print{.print-text-left{text-align:left!important}.print-text-center{text-align:center!important}.print-text-right{text-align:right!important}.print-text-xs{font-size:7pt!important}.print-text-sm{font-size:8pt!important}.print-text-base{font-size:9pt!important}.print-text-lg{font-size:10pt!important}.print-text-xl{font-size:12pt!important}.print-text-2xl{font-size:14pt!important}.print-font-normal{font-weight:400!important}.print-font-bold{font-weight:700!important}.print-m-0{margin:0!important}.print-m-1{margin:1mm!important}.print-m-2{margin:2mm!important}.print-m-3{margin:3mm!important}.print-mt-2{margin-top:2mm!important}.print-mb-2{margin-bottom:2mm!important}.print-mt-3{margin-top:3mm!important}.print-mb-3{margin-bottom:3mm!important}.print-p-0{padding:0!important}.print-p-1{padding:1mm!important}.print-p-2{padding:2mm!important}.print-p-3{padding:3mm!important}.print-border{border:1px solid #000!important}.print-border-2{border:2px solid #000!important}.print-border-dashed{border:1px dashed #000!important}.print-border-dotted{border:1px dotted #000!important}.print-border-b{border-bottom:1px solid #000!important}.print-border-t{border-top:1px solid #000!important}.print-block{display:block!important}.print-inline{display:inline!important}.print-flex{display:flex!important}.print-hidden{display:none!important}.print-w-full{width:100%!important}.print-w-half{width:50%!important}.print-w-third{width:33.333%!important}}
