body{background:#f4f5f7}.app-shell{display:flex;flex-direction:column;min-height:100vh}@media (min-width:992px){.app-shell{flex-direction:row}}.nav{width:240px;background:#fff;color:#1f2937;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-wrap:nowrap;padding:24px 16px;gap:4px;flex-shrink:0;position:fixed;top:0;bottom:0;left:0;z-index:1050;transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;overflow-x:hidden}.nav.open{transform:translateX(0)}@media (min-width:992px){.nav{position:static;transform:none;height:auto;transition:width .2s ease,padding .2s ease}.nav.collapsed{width:72px;padding:24px 12px;align-items:center}}.nav-collapse-toggle{display:none}@media (min-width:992px){.nav-collapse-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-bottom:16px;margin-left:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#4b5563;font-size:13px;line-height:1;cursor:pointer}.nav-collapse-toggle:hover{background:#e6f4ea;color:#1e5631}.nav.collapsed .nav-collapse-toggle{margin-left:0}}.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1040}@media (min-width:992px){.nav-backdrop{display:none}}.nav-brand{margin-bottom:24px;display:flex;justify-content:center}.nav-brand-logo{width:auto;height:48px;object-fit:contain}.nav-links{display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;flex:0 0 auto;width:100%}.nav-links a{display:flex;align-items:center;gap:10px;color:#4b5563;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px;white-space:nowrap}.nav-links a.active,.nav-links a:hover{background:#e6f4ea;color:#1e5631}.nav-link-icon{display:inline-flex;width:18px;height:18px;flex-shrink:0;line-height:1}.nav-collapse-toggle svg,.nav-link-icon svg{width:100%;height:100%}@media (min-width:992px){.nav.collapsed .nav-brand{display:none}.nav.collapsed .nav-links a{justify-content:center;padding:10px}.nav.collapsed .nav-link-label{display:none}}.app-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 16px}@media (min-width:992px){.app-header{padding:12px 24px}}.user-widget-wrap{position:relative}.user-widget{background:none;border:none;padding:4px 6px;border-radius:10px;cursor:pointer}.user-widget:hover{background:#f4f5f7}.user-avatar{width:36px;height:36px;border-radius:10px;background:#2f6f4f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.user-email{font-size:13px;font-weight:600;color:#1f1f1f;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:11px;color:#2f6f4f;display:flex;align-items:center;gap:4px}.role-dot{width:6px;height:6px;border-radius:50%;background:#2f6f4f;display:inline-block}.chevron{font-size:10px;color:#888}.user-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:160px;z-index:1060;overflow:hidden}.user-menu-email{padding:10px 14px;font-size:12px;color:#666;border-bottom:1px solid #eee;word-break:break-all}.dropdown-item-btn{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:none;font-size:13px;cursor:pointer}.dropdown-item-btn:hover{background:#f4f5f7}.content{flex:1 1;padding:24px;min-width:0}@media (min-width:992px){.content{padding:32px 40px}}.invoice-pages{display:flex;flex-direction:column;align-items:center;gap:28px}.invoice-actions{width:6in;max-width:100%;margin-right:auto;margin-left:auto;justify-content:center;padding:0}.invoice-actions .btn{min-height:40px;padding:8px 16px;border-radius:8px;font-weight:600;box-shadow:0 2px 5px rgba(31,41,55,.08)}@media (max-width:767.98px){.content{padding:16px}.invoice-actions>.btn{flex:1 1 auto}.invoice-pages{align-items:flex-start;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:10px;-webkit-overflow-scrolling:touch}.invoice-pages>div{flex:0 0 6in}.invoice-pages .invoice-sheet{margin:0}}.invoice-page-label{color:#888;font-size:12px;margin-bottom:6px;text-align:center}.invoice-sheet{background:#fff;width:6in;min-height:4in;box-sizing:border-box;margin:0 auto;padding:16px 20px;border:1px solid #000;box-shadow:0 4px 16px rgba(0,0,0,.08);font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;display:flex;flex-direction:column}.invoice-header{display:flex;justify-content:center;align-items:center;margin-bottom:12px;flex-shrink:0}.invoice-brand img{display:block;height:42px;width:auto;object-fit:contain}.invoice-info-box{display:flex;border:1px solid #000;margin-bottom:14px;flex-shrink:0;box-sizing:border-box}.invoice-bill-to{width:52%;border-right:1px solid #000;padding:8px 10px;font-size:11px;line-height:1.45;box-sizing:border-box}.bill-to-title{font-weight:700;font-size:12px;margin-bottom:6px}.bill-to-mobile{margin-top:10px}.invoice-right-col{width:48%;padding:8px 12px;font-size:11px;line-height:1.45;box-sizing:border-box;display:flex;flex-direction:column}.invoice-meta-field{margin-bottom:5px;font-size:11px}.payment-method-container{margin-top:8px}.payment-method-badge{display:inline-block;background:#000;color:#fff;font-weight:700;font-size:12px;padding:3px 8px;letter-spacing:.2px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-items-table{width:100%;border-collapse:collapse;border:1px solid #000;margin-bottom:14px;flex-shrink:0}.invoice-items-table td,.invoice-items-table th{border:1px solid #000;padding:5px 8px;font-size:11px;text-align:left;vertical-align:top;color:#000}.invoice-items-table th{background:#fff;font-weight:700}.invoice-items-table .td-product,.invoice-items-table .th-product{width:24%}.invoice-items-table .td-desc,.invoice-items-table .th-desc{width:32%}.invoice-items-table .td-qty,.invoice-items-table .th-qty{width:10%}.invoice-items-table .td-price,.invoice-items-table .th-price{width:16%}.invoice-items-table .td-subtotal,.invoice-items-table .th-subtotal{width:18%}.invoice-items-table tbody td{min-height:28px}.invoice-gst-box{border:1px solid #000;margin-bottom:10px;flex-shrink:0;box-sizing:border-box}.invoice-gst-row{display:flex;width:100%;box-sizing:border-box}.invoice-gst-row+.invoice-gst-row{border-top:1px solid #000}.invoice-gst-row .gst-label{width:50%;border-right:1px solid #000;padding:4px 10px;font-size:11px;box-sizing:border-box}.invoice-gst-row .gst-value{width:50%;padding:4px 14px;font-size:11px;text-align:right;box-sizing:border-box}.invoice-grand-total{display:flex;width:100%;border:1px solid #000;margin-bottom:14px;flex-shrink:0;box-sizing:border-box}.invoice-grand-total .grand-total-label{width:50%;border-right:1px solid #000;padding:6px 10px;font-weight:700;font-size:12px;text-align:center;box-sizing:border-box}.invoice-grand-total .grand-total-value{width:50%;padding:6px 14px;font-weight:700;font-size:12px;text-align:right;box-sizing:border-box}.invoice-footer{text-align:center;margin-top:auto;padding-top:6px;padding-bottom:4px;font-weight:700;font-size:13px;color:#000;flex-shrink:0}@media print{.no-print{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}body{background:#fff}@page{size:6in 4in;margin:0}.invoice-pages{gap:0}.invoice-sheet{margin:0;box-shadow:none}.invoice-pages>div{break-after:page;page-break-after:always}.invoice-pages>div:last-child{break-after:auto;page-break-after:auto}.invoice-items-table tr{break-inside:avoid;page-break-inside:avoid}.payment-method-badge{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.invoice-form-card{border-radius:12px;overflow:hidden}.customer-details-row{display:flex;flex-wrap:wrap;gap:12px}.customer-details-row .field-col{flex-grow:1;flex-shrink:1;min-width:0}.invoice-form-banner{background:#e6f4ea;color:#1e5631;font-weight:700;font-size:15px;padding:12px 20px;border-bottom:1px solid #d3ead9;position:relative;display:flex;align-items:center;justify-content:flex-end}.invoice-form-banner-title{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px}.invoice-form-close{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #bfe0c9;border-radius:8px;background:#fff;color:#1e5631;text-decoration:none;font-size:13px}.invoice-form-close:hover{background:#e6f4ea;color:#1e5631}.item-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;margin-bottom:14px;background:#fafbfa}.item-toolbar-field{display:flex;flex-direction:column;gap:4px;min-width:0}.item-toolbar-label{font-size:11px;font-weight:600;color:#666}.item-toolbar-readonly{background:#f1f3f5}.item-toolbar-actions{display:flex;gap:8px;margin-left:auto}.items-result-table thead th{background:#f4f6f5;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:#555;border-bottom:2px solid #e5e7eb;white-space:nowrap}.items-empty-state{text-align:center;color:#999;padding:36px 12px}.items-empty-icon{font-size:30px;margin-bottom:8px;opacity:.5}.product-search{position:relative}.product-search-input{padding-left:26px!important;border-radius:8px}.product-search-input.no-icon{padding-left:.5rem!important}.product-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:11px;pointer-events:none;opacity:.6}.product-search-menu{position:absolute;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14);z-index:1100;max-height:260px;overflow-y:auto;padding:6px}.product-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:13px}.product-search-item.active,.product-search-item:hover{background:#e6f4ea}.product-search-item-main{display:flex;flex-direction:column;min-width:0}.product-search-item-name{font-weight:600;color:#1f1f1f}.product-search-item-desc,.product-search-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-search-item-desc{font-size:11px;color:#888}.product-search-item-price{background:#2f6f4f;color:#fff;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;flex-shrink:0}.product-search-empty{padding:10px;text-align:center;color:#999;font-size:12px}.invoice-create-page,.invoice-create-page .invoice-form-card{width:100%;max-width:none}.invoice-create-page .invoice-form-card{border:1px solid #dce5ed;border-radius:16px;background:#f8fafc;box-shadow:0 2px 8px rgba(31,50,70,.05)}.invoice-create-page .card-body{padding:12px}.invoice-create-page .invoice-form-banner{min-height:49px;padding:10px 16px;justify-content:space-between;border-bottom-color:#d6e8e0;background:#e9f8f1;color:#153d32;font-size:16px;font-weight:800}.invoice-list-link{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:1px solid #63ddb0;border-radius:9px;background:#e8fff5;color:#176b51;font-size:12px;font-weight:700;text-decoration:none}.invoice-list-link:hover{background:#d9f9eb;color:#125a43}.invoice-create-page .invoice-form-close{border-color:#63ddb0;color:#176b51;font-size:20px;font-weight:400}.invoice-customer-panel,.invoice-items-panel,.invoice-results-panel{border:1px solid #dce5ed;border-radius:14px;background:#fff}.invoice-customer-panel,.invoice-items-panel{padding:14px;margin-bottom:12px}.invoice-section-title{margin:0 0 12px;color:#344054;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.invoice-create-page .form-label,.invoice-create-page .item-toolbar-label{margin-bottom:5px;color:#344054;font-size:11.5px;font-weight:700}.invoice-create-page .form-control,.invoice-create-page .form-select{min-height:35px;border:1px solid #cbd8e6;border-radius:8px;background-color:#f8fafc;color:#25344a;font-size:12px;box-shadow:none}.invoice-create-page textarea.form-control{min-height:35px!important;resize:vertical!important}.invoice-create-page .form-control::placeholder{color:#98a4b5;opacity:1}.invoice-create-page .form-control:focus,.invoice-create-page .form-select:focus{border-color:#55c99a;background-color:#fff;box-shadow:0 0 0 3px rgba(32,184,125,.12)}.invoice-items-heading{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:#94a3b8;font-size:11px}.invoice-create-page .item-toolbar{gap:8px;padding:0;margin:0;border:0;border-radius:0;background:transparent}.invoice-create-page .item-toolbar-readonly{background:#eef2f6!important;font-weight:600}.invoice-create-page .item-toolbar-actions{flex-direction:row;gap:8px;min-width:128px}.invoice-create-page .item-toolbar-actions .btn{border-radius:8px;font-size:12px;font-weight:700}.invoice-create-page .item-toolbar-actions .btn:first-child{flex:1 1}.invoice-create-page .item-cancel-button{width:35px;min-width:35px;padding-inline:0;border-color:#dc3545;background:#fff;color:#dc3545;font-size:16px;line-height:1}.invoice-create-page .item-cancel-button:focus,.invoice-create-page .item-cancel-button:hover{border-color:#dc3545;background:#dc3545;color:#fff}.invoice-results-panel{min-height:202px;overflow:auto}.invoice-create-page .items-result-table thead th{height:52px;padding:10px 12px;border-right:1px solid #dce5ed;border-bottom:1px solid #dce5ed;background:#f3f6fa;color:#344054;font-size:10.5px}.invoice-create-page .items-empty-state{padding:58px 12px;color:#94a3b8;font-size:12px}.invoice-create-page .product-search-input{padding-left:.65rem!important}@media (max-width:767.98px){.invoice-create-page .invoice-form-banner-title{position:static;transform:none}.invoice-list-link{padding-inline:8px}.invoice-create-page .customer-details-row,.invoice-create-page .item-toolbar{flex-direction:column;align-items:stretch}.invoice-create-page .field-col,.invoice-create-page .item-toolbar-actions,.invoice-create-page .item-toolbar-field{width:100%;flex-basis:auto!important}.invoice-create-page .item-toolbar-actions{flex-direction:row;margin-left:0}.invoice-create-page .item-toolbar-actions .btn{flex:1 1}}