.bento-header[data-v-f012b7e5]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.bento-header-visible[data-v-f012b7e5]{opacity:1;transform:translateY(0)}.bento-item[data-v-f012b7e5]{opacity:0;transition:opacity .55s,transform .55s,box-shadow .3s;transform:translateY(28px)}.bento-item.visible[data-v-f012b7e5]{opacity:1;transform:translateY(0)}.bento-shimmer[data-v-f012b7e5]{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bento-shimmer[data-v-f012b7e5]:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff12 50%,#0000 80%);width:50%;height:200%;animation:3.5s ease-in-out infinite bento-shine-f012b7e5;position:absolute;top:-50%;left:-75%;transform:skew(-15deg)}@keyframes bento-shine-f012b7e5{0%{left:-75%}60%,to{left:130%}}.portfolio-header[data-v-f012b7e5]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.portfolio-header-visible[data-v-f012b7e5]{opacity:1;transform:translateY(0)}.portfolio-item[data-v-f012b7e5]{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.portfolio-item[data-pdir=zoom][data-v-f012b7e5]{transform:scale(.92)}.portfolio-item[data-pdir=left][data-v-f012b7e5]{transform:translate(-48px)}.portfolio-item[data-pdir=right][data-v-f012b7e5]{transform:translate(48px)}.portfolio-item[data-pdir=up][data-v-f012b7e5]{transform:translateY(36px)}.portfolio-item.visible[data-v-f012b7e5]{opacity:1;transform:none}@media print{body>*{display:none!important}body[data-print] #app{display:block!important}body[data-print] #app>:not(#invoice-print):not(#receipt-print){display:none!important}body[data-print=invoice] #invoice-print,body[data-print=receipt] #receipt-print{display:block!important}.print-page{color:#111827;padding:32px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px}.print-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.print-logo{height:48px}.print-header-right{text-align:right}.print-invoice-label{color:#4f46e5;letter-spacing:2px;font-size:22px;font-weight:700}.print-invoice-no{color:#374151;margin-top:2px;font-family:monospace;font-size:14px;font-weight:600}.print-meta{color:#6b7280;margin-top:2px;font-size:11px}.print-company-info{color:#6b7280;margin-top:8px;font-size:11px}.print-logo-row{align-items:center;gap:10px;display:flex}.print-company-name{color:#111827;font-size:15px;font-weight:800}.print-contact-row{align-items:center;gap:5px;margin-top:4px;display:flex}.print-contact-row svg{color:#9ca3af;flex-shrink:0;width:11px;height:11px}.print-divider{border:none;border-top:1px solid #e5e7eb;margin:16px 0}.print-info-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:8px;display:grid}.print-section-title{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin-bottom:6px;font-size:10px;font-weight:700}.print-value-lg{color:#111827;font-size:14px;font-weight:600}.print-value{color:#374151;margin-top:2px;font-size:12px}.print-value-muted{color:#6b7280;margin-top:2px;font-size:11px}.print-summary-table{border-collapse:collapse;width:100%}.print-summary-label{color:#6b7280;padding:3px 0}.print-summary-value{text-align:right;padding:3px 0;font-weight:500}.print-total-row td{color:#4f46e5;border-top:1px solid #e5e7eb;padding-top:6px;font-size:14px;font-weight:700}.print-total-value{color:#4f46e5}.print-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:11px}.print-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:7px 10px;font-size:10px;font-weight:600}.print-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:7px 10px}.print-table tfoot td{background:#f9fafb;border-top:1px solid #e5e7eb;font-weight:600}.print-balance-row td{color:#4f46e5;font-size:13px;font-weight:700}.print-note{color:#6b7280;background:#f9fafb;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:11px}.print-note-label{color:#374151;font-weight:600}.print-receipt-label{color:#059669;letter-spacing:2px;font-size:22px;font-weight:700}.print-receipt-total-row td{color:#059669;border-top:1px solid #e5e7eb;padding-top:6px;font-size:13px;font-weight:700}.print-receipt-amount{color:#059669}}
