*,:before,:after{box-sizing:border-box}.pbt-container{width:100%;padding:0 1rem;overflow-x:hidden}.pbt-wrapper{width:100%;max-width:1200px;margin:0 auto}.pbt-grid{grid-template-columns:1fr;align-items:stretch;gap:1.25rem;display:grid}@media (min-width:960px){.pbt-grid{grid-template-columns:1fr 1fr}.pbt-grid>.pbt-card:first-child{align-self:start;position:sticky;top:1rem}}.pbt-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;flex-direction:column;padding:1.5rem;display:flex;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000f}.pbt-card-title{color:#374151;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1rem;font-weight:700;display:flex}.pbt-card-title-icon{color:#059669}.pbt-result-empty{text-align:center;color:#9ca3af;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.pbt-result-empty svg{margin:0 auto}.pbt-card,.pbt-item-row,.pbt-exp-row{overflow-wrap:break-word;word-break:break-word;min-width:0}.pbt-label-sm{color:#374151;margin-bottom:.25rem;font-size:.74rem;font-weight:600;display:block}.pbt-field{margin-bottom:.75rem}.pbt-field label{color:#374151;margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.pbt-opt{color:#9ca3af;margin-left:.3rem;font-size:.72rem;font-weight:400}.pbt-input-row{align-items:flex-end;gap:.75rem;display:flex}.pbt-input-group{flex:1;min-width:0}.pbt-input-group--compact{flex:0 0 0;min-width:0}.pbt-input-group--compact:first-child{flex:1.2}.pbt-input-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.pbt-input-row .pbt-input-group{flex:140px;min-width:0}.pbt-input-wrapper{position:relative}.pbt-input,.pbt-input[type=text],.pbt-input[type=number],.pbt-input[type=date],select.pbt-input,textarea.pbt-input{color:#111827;background:#fff;border:1.5px solid #d1d5db;border-radius:.5rem;outline:none;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.pbt-input:focus,select.pbt-input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691f}.pbt-input--desc{padding:.4rem .6rem;font-size:.84rem}.pbt-section{margin-bottom:.5rem}.pbt-section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pbt-section-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-size:.78rem;font-weight:700}.pbt-empty-hint{text-align:center;color:#9ca3af;margin:0;padding:.75rem;font-size:.82rem}.pbt-add-btn{cursor:pointer;border:1.5px solid;border-radius:.5rem;align-items:center;gap:.3rem;padding:.38rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.pbt-add-btn--cat{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.pbt-add-btn--cat:hover{background:#d1fae5}.pbt-add-btn--exp{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.pbt-add-btn--exp:hover{background:#dbeafe}.pbt-item-row,.pbt-exp-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:.65rem;padding:1rem}.pbt-exp-row.pbt-exp--approved{border-left:3px solid #16a34a}.pbt-item-row-head,.pbt-exp-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.pbt-item-row-label{color:#374151;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.pbt-category-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.65rem;align-items:center;gap:.5rem;margin:-.5rem -.5rem .5rem;padding:.5rem .65rem;transition:background .15s;display:flex}.pbt-category-header:hover{background:#f3f4f6}.pbt-category-header:focus-visible{outline-offset:2px;outline:2px solid #059669}.pbt-category-name-display{color:#374151;flex:1;min-width:0;font-size:.82rem;font-weight:700}.pbt-category-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.pbt-cat-budgeted{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.3rem;flex-shrink:0;padding:.1rem .4rem;font-size:.72rem;font-weight:600}.pbt-category-body{display:none;overflow:hidden}.pbt-item-row.is-open .pbt-category-body,.pbt-category-header[aria-expanded=true]+.pbt-category-body{display:block}.pbt-item-row-actions,.pbt-exp-head-actions{align-items:center;gap:.35rem;display:flex}.pbt-remove-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.3rem;padding:.1rem .3rem;font-size:1rem;line-height:1;transition:color .15s,background .15s}.pbt-remove-btn:hover{color:#dc2626;background:#fef2f2}.pbt-approve-btn{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1.5px solid #d1d5db;border-radius:.4rem;align-items:center;gap:.2rem;padding:.22rem .5rem;font-size:.74rem;transition:all .15s;display:inline-flex}.pbt-approve-btn:hover{background:#e5e7eb}.pbt-approve-btn--yes{color:#15803d;background:#ecfdf5;border-color:#86efac}.pbt-exp-fields{margin-bottom:.4rem}.pbt-exp-fields-row{flex-wrap:wrap;gap:.5rem;display:flex}.pbt-exp-fields-row .pbt-input-group{flex:110px;min-width:0}.pbt-exp-fields-row .pbt-input-group select,.pbt-exp-fields-row .pbt-input-group input{width:100%}.pbt-exp-desc-wrap{margin-top:.4rem}.pbt-exp-desc{color:#111827;font-size:.82rem;font-weight:600}.pbt-exp-desc--pending{color:#9ca3af;font-style:italic}.pbt-exp-amount--pending{color:#9ca3af}.pbt-exp-cat-badge{color:#1e40af;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.3rem;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.pbt-table-approve-btn{cursor:pointer;color:#9ca3af;background:#fff;border:1.5px solid #d1d5db;border-radius:.4rem;justify-content:center;align-items:center;width:28px;height:28px;font-size:0;transition:all .15s;display:inline-flex}.pbt-table-approve-btn--y{color:#15803d;background:#ecfdf5;border-color:#86efac}.pbt-table-approve-btn--n{color:#9ca3af;background:#fff;border-color:#d1d5db}.pbt-table-approve-btn:hover{transform:scale(1.08)}.pbt-table-delete-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:.15rem;font-size:.8rem;line-height:1;transition:color .15s}.pbt-table-delete-btn:hover{color:#dc2626}.pbt-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.pbt-btn{cursor:pointer;border:1.5px solid #0000;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.4rem;min-width:0;padding:.6rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.pbt-btn--primary{color:#fff;background:#059669}.pbt-btn--primary:hover{background:#047857}.pbt-btn--ghost{color:#374151;background:#f3f4f6;border-color:#d1d5db}.pbt-btn--ghost:hover{background:#e5e7eb}.pbt-btn:disabled{opacity:.45;cursor:not-allowed}.pbt-summary-row{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.75rem;display:grid}.pbt-summary-pill{text-align:center;border-radius:.75rem;padding:.85rem 1rem}.pbt-summary-pill--total{background:#f3f4f6;border:1px solid #e5e7eb}.pbt-summary-pill--spent{background:#eff6ff;border:1px solid #bfdbfe}.pbt-summary-pill--warn{background:#fffbeb;border:1px solid #fcd34d}.pbt-summary-pill--ok{background:#f0fdf4;border:1px solid #bbf7d0}.pbt-summary-pill--danger{background:#fef2f2;border:1px solid #fca5a5}.pbt-sum-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:.3rem;font-size:.72rem;font-weight:600;display:block}.pbt-sum-value{color:#111827;font-size:1.65rem;font-weight:800;line-height:1.1;display:block}.pbt-sum-sub{color:#9ca3af;margin-top:.15rem;font-size:.73rem;display:block}.pbt-approval-row{gap:.65rem;margin-bottom:.75rem;display:flex}.pbt-approval-pill{color:#374151;border-radius:.6rem;flex:1;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.8rem;font-weight:500;display:flex}.pbt-approval-pill strong{margin-left:auto;font-weight:700}.pbt-approval-pill--approved{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.pbt-approval-pill--approved strong{color:#15803d}.pbt-approval-pill--pending{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.pbt-approval-pill--pending strong{color:#92400e}.pbt-warn-banner,.pbt-danger-banner{border-radius:.6rem;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .9rem;font-size:.82rem;font-weight:600;display:flex}.pbt-warn-banner{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.pbt-danger-banner{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.pbt-progress-section{margin-bottom:.75rem}.pbt-progress-header{color:#374151;justify-content:space-between;margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:flex}.pbt-progress-track{background:#e5e7eb;border-radius:6px;height:12px;position:relative;overflow:hidden}.pbt-progress-fill{border-radius:6px;height:100%;transition:width .3s}.pbt-progress-fill--ok{background:#16a34a}.pbt-progress-fill--warn{background:#d97706}.pbt-progress-fill--over{background:#dc2626}.pbt-progress-fill--overflow{background:#dc2626;border-radius:0 6px 6px 0;min-width:4px;height:100%;position:absolute;top:0;left:100%}.pbt-progress-labels{color:#9ca3af;justify-content:space-between;margin-top:.2rem;font-size:.7rem;font-weight:600;display:flex}.pbt-breakdown-section{margin-top:1rem}.pbt-breakdown-title{color:#374151;margin-bottom:.6rem;font-size:.85rem;font-weight:700}.pbt-cat-list{flex-direction:column;gap:.65rem;display:flex}.pbt-cat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.6rem;padding:.75rem 1rem}.pbt-cat-item-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.pbt-cat-item-name{color:#374151;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:flex}.pbt-cat-item-values{color:#6b7280;align-items:center;gap:.3rem;font-size:.76rem;display:flex}.pbt-cat-sep{color:#d1d5db}.pbt-cat-total{color:#374151;font-weight:700}.pbt-cat-track{background:#e5e7eb;border-radius:4px;height:8px;overflow:visible}.pbt-cat-fill{border-radius:4px;height:100%;transition:width .25s}.pbt-cat-fill--ok{background:#16a34a}.pbt-cat-fill--warn{background:#d97706}.pbt-cat-fill--over{background:#dc2626}.pbt-cat-bar-row{margin-top:.4rem}.pbt-cat-bar-track{background:#e5e7eb;border-radius:4px;height:8px;position:relative;overflow:hidden}.pbt-cat-bar-fill{border-radius:4px;height:100%;transition:width .2s}.pbt-cat-bar-fill--ok{background:#16a34a}.pbt-cat-bar-fill--warn{background:#d97706}.pbt-cat-bar-fill--over{background:#dc2626}.pbt-cat-bar-label{color:#6b7280;justify-content:space-between;margin-top:.15rem;font-size:.7rem;display:flex}.pbt-table-section{margin-top:1.5rem}.pbt-table-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.pbt-table-sort-row{align-items:center;gap:.35rem;display:flex}.pbt-table-sort-label{align-items:center;gap:.3rem;display:flex}.pbt-sort-input{border:1px solid #d1d5db;border-radius:.4rem;outline:none;width:120px;padding:.3rem .5rem;font-size:.76rem}.pbt-sort-input:focus{border-color:#059669}.pbt-sort-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:.4rem;padding:.2rem .4rem;font-size:.72rem;font-weight:600;line-height:1.2;transition:all .15s}.pbt-sort-btn:hover{color:#059669;border-color:#059669}.pbt-sort-btn--active{color:#065f46;background:#ecfdf5;border-color:#059669}.pbt-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.pbt-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.82rem}.pbt-table th{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.5rem;font-size:.72rem;font-weight:700}@media (max-width:768px){.pbt-table th{white-space:normal;font-size:.68rem}}.pbt-table th:last-child,.pbt-table td:last-child{text-align:right}.pbt-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.55rem .5rem}.pbt-table tr:last-child td{border-bottom:none}.pbt-table-row--approved td{background:#f0fdf4}.pbt-table-row--approved td:first-child{border-left:3px solid #16a34a}.pbt-confirm-bar{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:.6rem;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.pbt-confirm-actions{flex-shrink:0;gap:.5rem;display:flex}.pbt-confirm-btn{cursor:pointer;border:1.5px solid;border-radius:.4rem;padding:.38rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.pbt-confirm-btn--cancel{color:#374151;background:#fff;border-color:#d1d5db}.pbt-confirm-btn--cancel:hover{background:#f3f4f6}.pbt-confirm-btn--danger{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.pbt-confirm-btn--danger:hover{background:#fee2e2}@media print{.no-print,footer,nav,header,.pbt-grid>.pbt-card:first-child,.pbt-accordion,.pbt-confirm-bar{display:none!important}body{background:#fff!important;margin:0!important;padding:0!important}.pbt-container{width:100%!important;padding:0!important;display:block!important}.pbt-grid{display:block!important}#result-panel{width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;border-radius:0!important;margin:0!important;padding:.5cm .75cm!important;display:block!important}.pbt-summary-pill,.pbt-progress-fill,.pbt-cat-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pbt-table{font-size:.78rem}@page{margin:12mm;size:auto}}@media (max-width:640px){.pbt-container{padding:0 .75rem}.pbt-card{min-width:0;padding:1rem}.pbt-category-header{flex-wrap:nowrap;gap:.35rem;min-height:44px;overflow:hidden}.pbt-category-name-display{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 100px);overflow:hidden}.pbt-category-header-actions .pbt-remove-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.pbt-input-row{flex-direction:column;gap:.5rem}.pbt-input-row .pbt-input-group{flex:none;width:100%}.pbt-summary-row{grid-template-columns:1fr 1fr;gap:.5rem}.pbt-summary-pill{padding:.75rem .65rem}.pbt-sum-value{font-size:1.25rem}.pbt-sum-label{font-size:.65rem}.pbt-approval-row,.pbt-actions{flex-direction:column;gap:.5rem}.pbt-btn{width:100%}.pbt-table-header-row{flex-direction:column;align-items:flex-start}.pbt-table-sort-row{flex-wrap:wrap;width:100%}.pbt-sort-input{width:100%;min-width:0}.pbt-sort-btn{text-align:center;flex:1}.pbt-table{font-size:.78rem}.pbt-table th,.pbt-table td{padding:.4rem .35rem}.pbt-cat-item-values{flex-wrap:wrap;gap:.2rem}.pbt-confirm-bar{flex-direction:column;align-items:flex-start;gap:.5rem}.pbt-confirm-actions{justify-content:flex-end;width:100%}}@media (max-width:360px){.pbt-summary-row{grid-template-columns:1fr}.pbt-sum-value{font-size:1.1rem}.pbt-card-title{font-size:.9rem}.pbt-input,select.pbt-input{padding:.5rem .65rem;font-size:.85rem}.pbt-exp-cat-badge{padding:.05rem .3rem;font-size:.65rem}.pbt-table th{font-size:.62rem}.pbt-table td{font-size:.72rem}}
