:root{--color-primary: #0f172a;--color-primary-hover: #1e293b;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-success: #16a34a;--color-success-hover: #15803d;--color-warning: #ea580c;--color-danger: #dc2626;--color-info: #0891b2;--color-bg-root: #f8fafc;--color-bg-card: #ffffff;--color-bg-sidebar: #0f172a;--color-text-main: #0f172a;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg-root);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.grid{display:grid}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.m-4{margin:1rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-main{color:var(--color-text-main)}.text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-text-inverse)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.bg-white{background-color:var(--color-bg-card)}.bg-gray-50{background-color:#f8fafc}.bg-gray-100{background-color:#f1f5f9}.bg-sidebar{background-color:var(--color-bg-sidebar)}.border{border:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.w-full{width:100%}.max-w-xs{max-width:20rem}.h-full{height:100%}.cursor-pointer{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-weight:600;font-size:.875rem;border:1px solid transparent;cursor:pointer;transition:all .2s;gap:.5rem;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-accent:hover{background-color:var(--color-accent-hover)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{background-color:var(--color-success-hover)}.btn-outline{background-color:transparent;border-color:var(--color-border);color:var(--color-text-main)}.btn-outline:hover{background-color:var(--color-bg-root);border-color:var(--color-text-muted)}.btn-ghost{background-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background-color:var(--color-bg-root);color:var(--color-text-main)}.card{background-color:var(--color-bg-card);border-radius:.5rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:1.5rem}.input{display:block;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:#fff;font-size:.875rem;color:var(--color-text-main);transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1a}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;color:#94a3b8;text-decoration:none;border-radius:.5rem;font-weight:500;transition:all .2s;margin:.25rem .75rem}.sidebar-link:hover{background-color:#ffffff0d;color:#f8fafc}.sidebar-link.active{background-color:var(--color-accent);color:#fff!important;box-shadow:0 4px 6px -1px #2563eb33}@media print{@page{size:A4;margin:0}body{background:#fff;margin:0;padding:0}body>*{display:none!important}#root{display:block!important}#invoice-print-area,#invoice-print-area *,#bilty-print-area,#bilty-print-area *{visibility:visible!important;display:block!important}#invoice-print-area,#bilty-print-area{position:absolute;left:0;top:0;width:210mm;min-height:297mm;margin:0;padding:0;background:#fff;z-index:9999}::-webkit-scrollbar{display:none}}:root{--bilty-border: 2px solid black;--bilty-border-thin: 1px solid black;--grid-unit: 5% }.bilty-container{width:1100px;height:770px;padding:15px;background:#fff;box-sizing:border-box;font-family:Arial,sans-serif;color:#000;font-size:11px;position:relative;line-height:1.1;overflow:hidden}.bilty-border-box{border:var(--bilty-border);height:100%;display:flex;flex-direction:column;box-sizing:border-box}.bilty-grid{display:grid;grid-template-columns:repeat(20,1fr);width:100%;box-sizing:border-box;border-bottom:var(--bilty-border)}.bilty-grid-item{border-right:var(--bilty-border);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.bilty-grid-item.top-align{justify-content:flex-start}.bilty-grid-item:last-child{border-right:none}.header-row{height:85px}.sub-row{height:30px}.party-row{height:100px}.route-row{height:35px}.main-body-grid{display:grid;grid-template-columns:repeat(20,1fr);flex-grow:1;width:100%;box-sizing:border-box;min-height:400px}.left-pane{grid-column:span 13;border-right:var(--bilty-border);display:grid;grid-template-columns:repeat(13,1fr)}.right-pane{grid-column:span 7;display:flex;flex-direction:column}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12{grid-column:span 12}.col-span-15{grid-column:span 15}.col-span-20{grid-column:span 20}.label-mini{font-size:8px;font-weight:700;color:#444;text-transform:uppercase;margin-bottom:2px}.data-bold{font-weight:900;font-size:11px}.uppercase{text-transform:uppercase}@media print{@page{size:A4 landscape;margin:0}body{margin:0;padding:0}.bilty-container{width:287mm;height:200mm;margin:0 auto;padding:5mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.no-print{display:none!important}}@media print{@page{size:A4;margin:0}body{visibility:hidden}#invoice-print-area{visibility:visible;position:fixed;left:0;top:0;width:100%}#invoice-print-area *{visibility:visible}}#invoice-pdf-source{width:210mm!important;min-height:0!important;height:auto!important;padding:8mm!important;background-color:#fff;box-sizing:border-box}.invoice-container{width:210mm;min-height:297mm;padding:10mm;box-shadow:0 4px 20px #00000026;margin:20px auto;background:#fff;box-sizing:border-box}.invoice-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:9px;line-height:1.2;border:2px solid black;height:auto!important}.invoice-table td,.invoice-table th{border:1px solid black;padding:0;vertical-align:top;text-align:left}.invoice-container table td,.invoice-container table th{vertical-align:top!important}.shaded-header{background-color:#e3f2fd;font-weight:700;text-align:center}.section-title{background-color:#546e7a;color:#fff;font-weight:700;text-transform:uppercase;text-align:center;padding:6px}.label-text{font-weight:700;color:#000;text-transform:uppercase;font-size:8px;background-color:#f9f9f9}.value-text{font-weight:600;font-size:9px}.cell-wrap{display:flex;align-items:center;justify-content:flex-start;min-height:24px;width:100%;padding:4px 8px;box-sizing:border-box;word-break:break-word;white-space:normal}.cell-wrap.center{justify-content:center}.cell-wrap.right{justify-content:flex-end}.invoice-logo{max-width:180px;max-height:90px;width:auto;height:auto;object-fit:contain;transform:scale(1.15);transform-origin:center}
