.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-nowrap{white-space:nowrap}.tracking-tight{letter-spacing:-.025em}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.my-4{margin-top:16px;margin-bottom:16px}.pt-4{padding-top:16px}.p-6{padding:24px}.p-8{padding:32px}.px-1\.5{padding-left:6px;padding-right:6px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-5{padding-top:20px;padding-bottom:20px}.py-8{padding-top:32px;padding-bottom:32px}.gap-4{gap:16px}.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-900{color:#111827}.text-purple-200{color:#d8b4fe}.text-purple-900{color:#4a0e4e}.text-red-600{color:#dc2626}.text-green-700{color:#047857}.text-green-900{color:#064e3b}.text-amber-600{color:#d97706}.text-amber-700{color:#b45309}.text-amber-900{color:#78350f}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-blue-50{background-color:#eff6ff}.bg-green-50{background-color:#f0fdf4}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.from-purple-900{--tw-gradient-from:#4a0e4e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-purple-700{--tw-gradient-to:#6b2150;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-white{--tw-gradient-to:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.bg-white\/15{background-color:#ffffff26}.border{border:1px solid var(--border-color,#e5e7eb)}.border-b{border-bottom:1px solid var(--border-color,#e5e7eb)}.border-t{border-top:1px solid var(--border-color,#e5e7eb)}.border-gray-200{border-color:var(--border-color,#e5e7eb)}.border-white\/25{border-color:#ffffff40}.rounded-lg{border-radius:8px}.rounded-t-lg{border-top-left-radius:8px;border-top-right-radius:8px}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.flex{display:flex}.flex-col{flex-direction:column}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.w-full{width:100%}.min-h-screen{min-height:100vh}.overflow-x-auto{overflow-x:auto}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[1100px\]{max-width:1100px}.mx-auto{margin-left:auto;margin-right:auto}.cursor-pointer{cursor:pointer}.relative{position:relative}.absolute{position:absolute}.-top-2{top:-8px}.-right-2{right:-8px}.w-5{width:20px}.h-5{height:20px}.transition-colors{transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:text-white:hover{color:#fff}.hover\:bg-white\/25:hover{background-color:#ffffff40}.group .group-hover\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.opacity-0{opacity:0}.opacity-100{opacity:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (width>=640px){.sm\:flex-none{flex:none}.sm\:px-6{padding-left:24px;padding-right:24px}}@media (width>=768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.no-print{display:none!important}.print-only{display:block!important}body{margin:0;padding:0}}.print-only{display:none}.invoice-preview{color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.3}.invoice-preview table{border-collapse:collapse;width:100%}.invoice-preview th,.invoice-preview td{vertical-align:top;border:1px solid #000;padding:4px 6px}.invoice-preview th{text-align:center;background-color:#f0f0f0;font-size:9px;font-weight:700}.invoice-preview .section-label{color:#111827;letter-spacing:.03em;text-transform:uppercase;margin-bottom:1px;font-size:9px;font-weight:700}.invoice-preview .declaration-section{page-break-inside:avoid;break-inside:avoid}.section-label2{color:#111827;letter-spacing:.03em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700}.invoice-preview .section-value{word-break:break-word;min-height:18px;font-size:10px}.invoice-preview .header-title{text-align:center;color:#4a0e4e;margin:8px 0;font-size:18px;font-weight:700}.invoice-preview .header-subtitle{text-align:center;color:#666;margin-top:-4px;margin-bottom:8px;font-size:10px}.input-field{border:1px solid var(--border-color,#d1d5db);box-sizing:border-box;background:var(--input-bg,#fff);width:100%;color:var(--text-primary,#111827);border-radius:6px;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.input-field::placeholder{color:#9ca3af}.input-field:hover{border-color:#a78bba}.input-field:focus{border-color:#4a0e4e;outline:none;box-shadow:0 0 0 3px #4a0e4e1a}.input-field:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.input-field-sm{border-radius:4px;padding:5px 8px;font-size:12px}.input-field-xs{border-radius:3px;padding:4px 6px;font-size:11px}.input-field-sm:hover{border-color:#a78bba}.input-field-sm:focus{border-color:#4a0e4e;box-shadow:0 0 0 2px #4a0e4e1a}textarea.input-field{resize:vertical;min-height:70px;line-height:1.5}textarea.input-field-sm{resize:both;min-height:50px}select.input-field{cursor:pointer;appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;min-width:0;padding-right:32px;display:block;width:100%!important}input[type=number].input-field{-moz-appearance:textfield}input[type=number].input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{color:#fff;background:#4a0e4e;box-shadow:0 1px 2px #0000001a}.btn-primary:hover{background:#3a0b3e;box-shadow:0 2px 4px #00000026}.btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.btn-danger{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:4px;padding:4px 10px;font-size:14px;line-height:1}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-success{color:#fff;background:#059669;box-shadow:0 1px 2px #0000001a}.btn-success:hover{background:#047857;box-shadow:0 2px 4px #00000026}.tab-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn.active{color:#4a0e4e;background:#fff;border-bottom-color:#4a0e4e;font-weight:600}.tab-btn:hover:not(.active){color:#374151;background:#f9fafb}.form-label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-label-cn{color:#9ca3af;font-size:11px;font-weight:400}.radio-group{flex-wrap:wrap;gap:8px;display:flex}.radio-group label{cursor:pointer;background:#f9fafb;border:1px solid #0000;border-radius:6px;align-items:center;padding:6px 10px;font-size:13px;transition:all .15s;display:inline-flex}.radio-group label:hover{background:#f3f4f6;border-color:#e5e7eb}.radio-group input[type=radio]{accent-color:#4a0e4e;cursor:pointer;width:16px;height:16px;margin-right:6px}.radio-group input[type=radio]:checked+span{color:#4a0e4e;background:#faf5ff;border-color:#d8b4fe;font-weight:500}.radio-group label:has(input[type=radio]:checked){color:#4a0e4e;background:#faf5ff;border-color:#d8b4fe;font-weight:500}.radio-group .form-label-cn{margin-left:2px}.items-table-container{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;overflow-x:auto}.items-table{border-collapse:collapse;width:100%;font-size:12px}.items-table input,.items-table textarea,.items-table select{box-sizing:border-box;max-width:100%}.items-table thead{z-index:1;background:linear-gradient(#faf5ff,#f3e8ff);position:sticky;top:0}.items-table thead th{color:#4a0e4e;text-align:center;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid #d8b4fe;padding:8px 5px;font-size:10px;font-weight:600}.items-table thead th .col-label-cn{color:#9ca3af;text-transform:none;letter-spacing:normal;margin-top:2px;font-size:10px;font-weight:400;display:block}.items-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s}.items-table tbody tr:hover{background-color:#fafafa}.items-table tbody tr:last-child{border-bottom:none}.items-table tbody td{vertical-align:middle;border:none;padding:4px 5px}.items-table tbody td.description-cell{vertical-align:top;padding:6px}.items-table tbody tr,.items-table tbody tr td{min-height:64px}.items-table tbody td.row-number{text-align:center;color:#9ca3af;background:#fafafa;width:36px;font-size:12px;font-weight:500}.items-table tbody td.actions{text-align:center;width:50px}.totals-summary{border:1px solid var(--border-color,#e9d5ff);background:linear-gradient(90deg,#faf5ff,#fff);border-radius:8px;margin-top:16px;padding:16px 20px}.totals-summary .summary-item{flex-direction:column;gap:4px;display:flex}.totals-summary .summary-label{color:#6b7280;font-size:12px;font-weight:500}.totals-summary .summary-value{color:#4a0e4e;font-size:18px;font-weight:700}.section-card+.section-card{margin-top:30px}.section-card{background:#fff;border-top:2px solid #0000000a;border-radius:10px;padding:16px;transition:box-shadow .2s;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}@media (width>=768px){.section-card{padding:24px}}@media (width>=1024px){.section-card{padding:24px 40px}}.section-card:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000a}.section-card h3{color:#4a0e4e;border-bottom:1px solid var(--border-color,#f3f4f6);margin-bottom:20px;padding-bottom:12px;font-size:16px;font-weight:600}.field-grid{gap:16px;display:grid}.dark .section-card{background:var(--card-bg,#1e293b);border-top-color:#ffffff0f;box-shadow:0 1px 3px #0000004d}.dark .section-card:hover{box-shadow:0 4px 6px #0000004d}.dark .section-card h3{color:#a78bba;border-bottom-color:var(--border-color,#334155)}.dark .input-field{background:var(--input-bg,#0f172a);color:var(--text-primary,#f1f5f9);border-color:var(--border-color,#475569)}.dark .input-field:hover{border-color:#a78bba}.dark .input-field:focus{border-color:#a78bba;box-shadow:0 0 0 3px #a78bba33}.dark .input-field:disabled{color:#64748b;background:#1e293b}.dark .input-field::placeholder{color:#64748b}.dark select.input-field{background-color:var(--input-bg,#0f172a);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.dark .items-table-container{border-color:var(--border-color,#475569)}.dark .items-table thead{background:linear-gradient(#2e1065,#1e1b4b)}.dark .items-table thead th{color:#c4b5fd;border-bottom-color:#5b21b6}.dark .items-table thead th .col-label-cn{color:#7c6fae}.dark .items-table tbody tr{border-bottom-color:#1e293b}.dark .items-table tbody tr:hover{background-color:#1e293b}.dark .items-table tbody td.row-number{color:#64748b;background:#1a1f2e}.dark .totals-summary{background:linear-gradient(90deg,#1e1b4b,#0f172a);border-color:#5b21b6}.dark .totals-summary .summary-label{color:#94a3b8}.dark .totals-summary .summary-value{color:#c4b5fd}.dark .btn-secondary{color:#e2e8f0;background:#334155;border-color:#475569}.dark .btn-secondary:hover{background:#475569;border-color:#64748b}.dark .btn-danger{color:#fca5a5;background:#1e293b;border-color:#7f1d1d}.dark .btn-danger:hover{background:#450a0a;border-color:#991b1b}.dark .tab-btn{color:#94a3b8}.dark .tab-btn.active{background:var(--card-bg,#1e293b);color:#c4b5fd;border-bottom-color:#a78bba}.dark .tab-btn:hover:not(.active){color:#e2e8f0;background:#1e293b}.dark .form-label{color:#cbd5e1}.dark .form-label-cn{color:#64748b}.dark .radio-group label{color:#cbd5e1;background:#1e293b}.dark .radio-group label:hover{background:#334155;border-color:#475569}.dark .radio-group input[type=radio]:checked+span{color:#c4b5fd;background:#2e1065;border-color:#5b21b6}.dark .radio-group label:has(input[type=radio]:checked){color:#c4b5fd;background:#2e1065;border-color:#5b21b6}.dark .text-gray-400{color:#94a3b8}.dark .text-gray-500{color:#64748b}.dark .text-gray-600{color:#cbd5e1}.dark .text-gray-900{color:#f1f5f9}.dark .text-purple-900{color:#c4b5fd}.dark .text-green-700,.dark .text-green-900{color:#6ee7b7}.dark .text-amber-600,.dark .text-amber-700{color:#fbbf24}.dark .text-amber-900{color:#fcd34d}.dark .text-red-600{color:#fca5a5}.dark .bg-white{background-color:#1e293b}.dark .bg-gray-50{background-color:#0f172a}.dark .bg-gray-100{background-color:#1e293b}.dark .border-gray-200{border-color:var(--border-color,#475569)}.dark .shadow-sm{box-shadow:0 1px 2px #0000004d}.dark .shadow-lg{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0006}.dark .shadow-xl{box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}.dark .bg-green-50{background-color:#052e16}.dark .bg-blue-50{background-color:#1e3a5f}.colcfg-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.colcfg-panel{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:360px;max-width:560px;margin-top:6px;padding:16px 20px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000001f}.colcfg-panel-title{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:600}.colcfg-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 8px;display:grid}.colcfg-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:6px;padding:4px 6px;font-size:13px;transition:background .15s;display:flex}.colcfg-item:hover{background:#f3f4f6}.colcfg-item.locked{opacity:.55;cursor:not-allowed}.colcfg-item input[type=checkbox]{accent-color:#7c3aed;flex-shrink:0;width:15px;height:15px}.colcfg-divider{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.colcfg-add-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.colcfg-field{flex-direction:column;gap:3px;display:flex}.colcfg-field label{color:#6b7280;font-size:11px;font-weight:500}.colcfg-field input{border:1px solid #d1d5db;border-radius:5px;outline:none;padding:5px 8px;font-size:13px;transition:border-color .15s}.colcfg-field input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.colcfg-btn-add{color:#fff;cursor:pointer;white-space:nowrap;background:#7c3aed;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.colcfg-btn-add:hover{background:#6d28d9}.colcfg-btn-add:disabled{opacity:.4;cursor:not-allowed}.colcfg-custom-tag{color:#5b21b6;background:#ede9fe;border-radius:4px;align-items:center;gap:3px;margin-left:4px;padding:1px 5px;font-size:11px;display:inline-flex}.colcfg-custom-del{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.dark .colcfg-panel{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #0006}.dark .colcfg-panel-title{color:#94a3b8}.dark .colcfg-item:hover{background:#334155}.dark .colcfg-divider{border-color:#334155}.dark .colcfg-field input{color:#e2e8f0;background:#0f172a;border-color:#475569}.dark .colcfg-field input:focus{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa33}.dark .colcfg-field label{color:#94a3b8}.dark .colcfg-custom-tag{color:#c4b5fd;background:#3b0764}.dark .colcfg-btn-add{background:#7c3aed}.dark .colcfg-btn-add:hover{background:#6d28d9}.colcfg-list{flex-direction:column;gap:2px;display:flex}.colcfg-row{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:13px;transition:background .15s,box-shadow .15s,opacity .15s;display:flex}.colcfg-row:hover{background:#f3f4f6}.colcfg-row.dragging{opacity:.4;background:#ede9fe;box-shadow:0 0 0 2px #7c3aed}.colcfg-row.locked{cursor:default;opacity:.6}.colcfg-row.locked:hover{background:0 0}.colcfg-grip{color:#9ca3af;cursor:grab;flex-shrink:0}.colcfg-grip:active{cursor:grabbing}.colcfg-row-label{flex:1}.colcfg-lock{color:#9ca3af;font-size:10px}.dark .colcfg-row:hover{background:#334155}.dark .colcfg-row.dragging{background:#3b0764;box-shadow:0 0 0 2px #a78bfa}.dark .colcfg-grip{color:#64748b}.colcfg-reset-btn{cursor:pointer;color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:5px;padding:4px;transition:all .15s;display:inline-flex}.colcfg-reset-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.dark .colcfg-reset-btn{color:#94a3b8;border-color:#475569}.dark .colcfg-reset-btn:hover{color:#fca5a5;background:#450a0a;border-color:#dc2626}
