.template-renderer-wrap{color:#1a1a1a;box-sizing:border-box;background:#fff;width:100%;max-width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;line-height:1.5;overflow-x:hidden}.template-renderer-wrap *,.template-renderer-wrap :before,.template-renderer-wrap :after{box-sizing:border-box}.tpl{box-sizing:border-box;background:#fff;border-radius:4px;width:100%;padding:24px;overflow-x:hidden}.tpl-default__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tpl-thermal{background:#fff;border:1px solid #e5e7eb;border-left:3px dashed #e5e7eb;border-right:3px dashed #e5e7eb}.tpl-grid{font-size:11.5px}.tpl-serif{background:#fdfcfb;font-family:Georgia,Times New Roman,serif}@media print{.template-renderer-wrap{width:100%;max-width:100%;box-shadow:none!important}.tpl{padding:0!important}#__zr_print_root__{width:100%;max-width:100%;box-shadow:none;background:#fff;margin:0;padding:0}#__zr_print_root__ .template-renderer-wrap{width:100%;max-width:100%;box-shadow:none}#__zr_print_root__ .tpl{box-shadow:none;border:none;padding:0}#__zr_print_root__ .tpl-thermal{border:none}}.app-shell{background:#f4f5f7;max-width:100vw;min-height:100dvh;font-family:Inter,sans-serif;display:flex;overflow-x:hidden}.app-sidebar{z-index:200;background:#0f0a04;flex-direction:column;flex-shrink:0;width:220px;min-height:100dvh;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}.app-sidebar-logo{border-bottom:1px solid #ffffff12;padding:24px 20px 20px}.logo-z{color:#f26419;letter-spacing:-1px;font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:900}.logo-text{color:#fff;letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:700}.logo-by{color:#ffffff59;letter-spacing:.3px;margin-top:2px;font-size:10px;display:block}.app-sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.app-sidebar-bottom{border-top:1px solid #ffffff12;flex-direction:column;gap:2px;padding:10px 10px 20px;display:flex}.app-nav-item{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-nav-item:hover{color:#ffffffe6;background:#ffffff0f}.app-nav-item.active{color:#f26419;background:#f2641926}.app-nav-item.active svg{stroke:#f26419}.app-nav-home{color:#ffffff59;font-size:12px}.app-main{flex-direction:column;flex:1;min-width:0;max-width:calc(100vw - 220px);min-height:100dvh;margin-left:220px;display:flex;overflow-x:hidden}.app-topbar{z-index:100;background:#0f0a04;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.app-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.app-hamburger span{background:#fff;border-radius:2px;width:22px;height:2px;display:block}.app-topbar-logo{color:#f26419;letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:900}.app-topbar-logo em{color:#fff;font-style:normal;font-weight:700}.app-topbar-settings{color:#fff9;align-items:center;display:flex}.app-overlay{z-index:150;background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-topbar{display:flex}.app-overlay{display:block}.app-main{max-width:100vw;margin-left:0;padding-top:56px}}.app-nav-logout{color:#fff6;text-align:left;width:100%;font-size:13px}.app-nav-logout:hover{color:#ff6b6b;background:#ff6b6b14}.app-plan-badge{background:#ffffff0a;border-radius:8px;margin:0 4px 8px;padding:6px 12px;display:block}.app-plan-trial{letter-spacing:.02em;text-transform:uppercase;color:#f26419;font-size:11px;font-weight:600}.app-plan-active{letter-spacing:.02em;text-transform:uppercase;color:#4ade80;font-size:11px;font-weight:600}.app-plan-free{letter-spacing:.02em;text-transform:uppercase;color:#ffffff59;font-size:11px;font-weight:600}.session-expired-banner{z-index:1000;color:#ffffffe0;background:#0f0a04;border-bottom:2px solid #f26419;justify-content:center;align-items:center;gap:16px;padding:11px 20px;font-size:13.25px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.session-expired-banner button{color:#ffffffe6;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:7px;padding:5px 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s}.session-expired-banner button:hover{background:#ffffff24;border-color:#ffffff3d}.page{box-sizing:border-box;min-width:0;max-width:1000px;padding:28px 32px;overflow-x:hidden}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.page-title{color:#0f0a04;letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:800}.page-subtitle{color:#888;margin-top:2px;font-size:13px}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .15s,transform .12s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:#f26419;box-shadow:0 3px 14px #f2641940}.btn-primary:hover{background:#d4541a;box-shadow:0 6px 20px #f2641959}.btn-outline{color:#555;background:#fff;border:1.5px solid #e5e5e5}.btn-outline:hover{color:#f26419;border-color:#f26419}.btn-danger{color:#dc2626;background:#fee2e2}.btn-danger:hover{background:#fecaca}.btn-ghost{color:#888;background:0 0}.btn-ghost:hover{color:#333;background:#f5f5f5}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-icon{border-radius:8px;padding:8px}.card{background:#fff;border:1px solid #e2e6ea;border-radius:14px}.card-pad{padding:20px 24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px;display:grid}.stat-card{background:#fff;border:1px solid #e2e6ea;border-radius:14px;padding:18px 20px}.stat-label{color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11.5px;font-weight:600}.stat-value{color:#111827;letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800}.stat-value.orange{color:#111827}.stat-sub{color:#bbb;margin-top:4px;font-size:11.5px}.list-card{background:#fff;border:1px solid #e2e6ea;border-radius:14px;overflow:hidden}.list-item{cursor:pointer;color:inherit;border-bottom:1px solid #f5f5f5;align-items:center;gap:14px;padding:14px 20px;text-decoration:none;transition:background .12s;display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:#fafafa}.list-item-icon{color:#2d3a5f;background:#f7f8fa;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.list-item-body{flex:1;min-width:0}.list-item-title{color:#0f0a04;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.list-item-sub{color:#888;margin-top:2px;font-size:12.5px}.list-item-right{text-align:right;flex-shrink:0}.list-item-amount{color:#111827;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:800}.list-item-badge{text-transform:uppercase;letter-spacing:.5px;background:0 0;border:1px solid;border-radius:20px;margin-top:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge-paid{color:#3f8361;border-color:#3f8361}.badge-unpaid{color:#b04a4a;border-color:#b04a4a}.badge-partial{color:#a67c2e;border-color:#a67c2e}.badge-overpaid{color:#7a6bae;border-color:#7a6bae}.badge-draft{color:#6b7280;border-color:#6b7280}.app-banner{color:#0f0a04ad;background:#fff;border:1px solid #0f0a0414;border-left:3px solid #d1d5db;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:20px;padding:13px 16px;font-size:13.25px;line-height:1.55;display:flex}.app-banner strong{color:#0f0a04;font-weight:700}.app-banner-link{color:#f26419;cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.app-banner-link:hover{text-decoration:underline}.app-banner--info{border-left-color:#f26419}.app-banner--warning{color:#7c4a0c;border-left-color:#b45309}.app-banner--success{color:#14603f;border-left-color:#1f9d6f}.app-banner--error{color:#8b2e23;border-left-color:#c0392b}.app-banner--neutral{border-left-color:#9ca3af}.empty-state{text-align:center;color:#bbb;padding:56px 24px}.empty-state svg{opacity:.4;margin-bottom:14px}.empty-state h3{color:#555;margin-bottom:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.empty-state p{color:#999;margin-bottom:20px;font-size:13.5px}.search-bar{margin-bottom:16px;position:relative}.search-bar input{background:#fff;border:1.5px solid #e5e5e5;border-radius:10px;outline:none;width:100%;padding:10px 14px 10px 38px;font-size:14px;transition:border-color .15s}.search-bar input:focus{border-color:#f26419}.search-bar-icon{color:#bbb;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.modal-backdrop{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90dvh;padding:28px;position:relative;overflow-y:auto}.modal-title{margin-bottom:20px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:800}.modal-close{cursor:pointer;color:#555;background:#f5f5f5;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:#f26419;background:#ffe8da}.field{margin-bottom:16px}.field label{color:#444;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{color:#0f0a04;background:#fafafa;border:1.5px solid #e5e5e5;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#f26419}.field textarea{resize:vertical;min-height:72px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field .hint{color:#aaa;margin-top:4px;font-size:11.5px}@media (width<=640px){.page{padding:20px 16px}.field-row{grid-template-columns:1fr}}
