@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-thai-400-normal-BrkKv8cO.woff2)format("woff2"),url(/assets/prompt-thai-400-normal-DJypnfr3.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-vietnamese-400-normal-BCPzsgPT.woff2)format("woff2"),url(/assets/prompt-vietnamese-400-normal-D4pLyeNK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-latin-ext-400-normal-DdSafGZ9.woff2)format("woff2"),url(/assets/prompt-latin-ext-400-normal-1pHbN9uy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-latin-400-normal-BQ9zjSN8.woff2)format("woff2"),url(/assets/prompt-latin-400-normal-CxU4ec_r.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-thai-500-normal-C18pDUoL.woff2)format("woff2"),url(/assets/prompt-thai-500-normal-D7YNqUJD.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-vietnamese-500-normal-DmzxmPwa.woff2)format("woff2"),url(/assets/prompt-vietnamese-500-normal-w_sS_j2F.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-latin-ext-500-normal--EZ1um7s.woff2)format("woff2"),url(/assets/prompt-latin-ext-500-normal-D-lI1EVT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-latin-500-normal-CxzxEHZc.woff2)format("woff2"),url(/assets/prompt-latin-500-normal-B1edBDQ9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-thai-600-normal-MrdfU7zR.woff2)format("woff2"),url(/assets/prompt-thai-600-normal-CYPViXds.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-vietnamese-600-normal-7QWjJBsF.woff2)format("woff2"),url(/assets/prompt-vietnamese-600-normal-1dyohtNh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-latin-ext-600-normal-Cg9L7iJU.woff2)format("woff2"),url(/assets/prompt-latin-ext-600-normal-C8b50x67.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-latin-600-normal-hKZWXsc1.woff2)format("woff2"),url(/assets/prompt-latin-600-normal-CSDDLorv.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2)format("woff2"),url(/assets/prompt-thai-700-normal-Cb5ilR-c.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-vietnamese-700-normal-CGnCqMm1.woff2)format("woff2"),url(/assets/prompt-vietnamese-700-normal-Bop7lSxF.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-latin-ext-700-normal-BkJrvM1L.woff2)format("woff2"),url(/assets/prompt-latin-ext-700-normal-iiM_gSWc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-latin-700-normal-I2gc831J.woff2)format("woff2"),url(/assets/prompt-latin-700-normal-BfbftDSq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pp-blue-900:#0b4c93;--pp-blue-700:#0f5aa8;--pp-blue-600:#1565c0;--pp-blue-500:#1e88e5;--pp-blue-100:#e3f0fd;--pp-blue-50:#f0f7ff;--pp-green:#1e9e5a;--pp-green-bg:#e6f7ee;--pp-amber:#b8790a;--pp-amber-bg:#fef3e0;--pp-red:#d0342c;--pp-red-bg:#fdecec;--pp-info:#1565c0;--pp-info-bg:#e3f0fd;--pp-gray:#667085;--pp-gray-bg:#f2f4f7;--pp-bg:#f5f8fc;--pp-surface:#fff;--pp-border:#e3e8ef;--pp-border-strong:#cbd5e1;--pp-text:#16233d;--pp-text-secondary:#4b5972;--pp-text-muted:#8895a7;--pp-radius-sm:8px;--pp-radius-md:12px;--pp-radius-lg:16px;--pp-shadow-card:0 1px 2px #101e360a, 0 4px 16px #101e360f;--pp-shadow-pop:0 8px 30px #101e3629;--pp-sidebar-width:264px;--pp-sidebar-width-collapsed:76px;--pp-topbar-height:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--pp-bg);color:var(--pp-text);-webkit-font-smoothing:antialiased;font-family:Prompt,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--pp-border-strong);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.pp-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pp-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pp-form-grid__full{grid-column:1/-1}.pp-form-error{background:var(--pp-red-bg);color:var(--pp-red);border-radius:var(--pp-radius-sm);padding:9px 12px;font-size:12.5px;font-weight:600}.pp-form-note{background:var(--pp-blue-50);color:var(--pp-blue-700);border-radius:var(--pp-radius-sm);padding:9px 12px;font-size:12.5px}.pp-checkbox-row{color:var(--pp-text-secondary);cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;display:flex}.pp-checkbox-row input{margin-top:2px}@media (width<=520px){.pp-form-grid{grid-template-columns:1fr}}.pp-flex-row{align-items:center;gap:8px;display:flex}.pp-flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.pp-muted{color:var(--pp-text-muted)}.pp-scroll-x{overflow-x:auto}.pp-page-tabs{background:var(--pp-gray-bg);border-radius:var(--pp-radius-sm);gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.pp-page-tabs button{color:var(--pp-text-secondary);background:0 0;border:none;border-radius:7px;padding:8px 16px;font-size:13px;font-weight:600}.pp-page-tabs .pp-page-tabs__item--active{color:var(--pp-blue-700);background:#fff;box-shadow:0 1px 2px #101e3614}.pp-team-perms{grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:6px;display:grid}@media (width<=520px){.pp-team-perms{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.pp-print-area,.pp-print-area *{visibility:visible}.pp-print-area{width:100%;padding:24px;position:absolute;inset:0}.pp-print-area .pp-no-print,.pp-no-print{display:none!important}}.pp-btn{border-radius:var(--pp-radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.pp-btn:disabled{opacity:.55;cursor:not-allowed}.pp-btn--md{padding:10px 16px;font-size:14px}.pp-btn--sm{padding:6px 12px;font-size:13px}.pp-btn--full{width:100%}.pp-btn--primary{background:var(--pp-blue-600);color:#fff}.pp-btn--primary:not(:disabled):hover{background:var(--pp-blue-700)}.pp-btn--secondary{border-color:var(--pp-border-strong);color:var(--pp-text);background:#fff}.pp-btn--secondary:not(:disabled):hover{background:var(--pp-blue-50);border-color:var(--pp-blue-500)}.pp-btn--ghost{color:var(--pp-text-secondary);background:0 0}.pp-btn--ghost:not(:disabled):hover{background:var(--pp-gray-bg)}.pp-btn--danger{background:var(--pp-red-bg);color:var(--pp-red)}.pp-btn--danger:not(:disabled):hover{background:#fbdada}.pp-btn__icon{display:inline-flex}.pp-btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite pp-spin}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;line-height:1.6;display:inline-flex}.pp-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.pp-badge--green{background:var(--pp-green-bg);color:var(--pp-green)}.pp-badge--amber{background:var(--pp-amber-bg);color:var(--pp-amber)}.pp-badge--red{background:var(--pp-red-bg);color:var(--pp-red)}.pp-badge--blue{background:var(--pp-info-bg);color:var(--pp-info)}.pp-badge--gray{background:var(--pp-gray-bg);color:var(--pp-gray)}.pp-card{background:var(--pp-surface);border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow-card);border:1px solid var(--pp-border)}.pp-card--pad-none{padding:0}.pp-card--pad-sm{padding:14px}.pp-card--pad-md{padding:20px}.pp-card--pad-lg{padding:28px}.pp-stat-card{flex-direction:column;gap:6px;min-width:0;display:flex}.pp-stat-card--clickable{cursor:pointer;transition:transform .12s,box-shadow .12s}.pp-stat-card--clickable:hover{box-shadow:var(--pp-shadow-pop);transform:translateY(-2px)}.pp-stat-card__top{justify-content:space-between;align-items:center;display:flex}.pp-stat-card__icon{border-radius:var(--pp-radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.pp-stat-card__icon--blue{background:var(--pp-blue-100);color:var(--pp-blue-600)}.pp-stat-card__icon--green{background:var(--pp-green-bg);color:var(--pp-green)}.pp-stat-card__icon--amber{background:var(--pp-amber-bg);color:var(--pp-amber)}.pp-stat-card__icon--red{background:var(--pp-red-bg);color:var(--pp-red)}.pp-stat-card__change{color:var(--pp-text-muted);align-items:center;gap:2px;font-size:12.5px;font-weight:700;display:inline-flex}.pp-stat-card__change--good{color:var(--pp-green)}.pp-stat-card__change--bad{color:var(--pp-red)}.pp-stat-card__value{color:var(--pp-text);font-size:26px;font-weight:700;line-height:1.2}.pp-stat-card__label{color:var(--pp-text-secondary);font-size:13px;font-weight:500}.pp-stat-card__sub{color:var(--pp-text-muted);font-size:11.5px}.pp-stat-card__skeleton{background:var(--pp-gray-bg);border-radius:6px;width:70px;height:22px;animation:1.2s ease-in-out infinite pp-pulse;display:inline-block}@keyframes pp-pulse{0%,to{opacity:.6}50%{opacity:1}}.pp-select-wrap{flex-direction:column;gap:5px;display:inline-flex}.pp-select-label{color:var(--pp-text-secondary);font-size:12.5px;font-weight:600}.pp-select{border:1px solid var(--pp-border-strong);border-radius:var(--pp-radius-sm);background:#fff;align-items:center;transition:border-color .15s;display:inline-flex;position:relative}.pp-select:focus-within{border-color:var(--pp-blue-500)}.pp-select select{appearance:none;cursor:pointer;background:0 0;border:none;outline:none;width:100%;padding-right:28px}.pp-select select:disabled{cursor:not-allowed;color:var(--pp-text-muted)}.pp-select--md select{padding:9px 10px;font-size:14px}.pp-select--sm select{padding:6px 8px;font-size:13px}.pp-select__icon{color:var(--pp-text-muted);padding-left:10px;display:inline-flex}.pp-select__chevron{pointer-events:none;color:var(--pp-text-muted);position:absolute;right:8px}.pp-modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;animation:.12s pp-fade-in;display:flex;position:fixed;inset:0}.pp-modal{border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow-pop);background:#fff;flex-direction:column;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);animation:.14s pp-pop-in;display:flex}.pp-modal__header{border-bottom:1px solid var(--pp-border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.pp-modal__title{font-size:17px;font-weight:700}.pp-modal__close{background:var(--pp-gray-bg);width:30px;height:30px;color:var(--pp-text-secondary);border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pp-modal__close:hover{background:var(--pp-border)}.pp-modal__body{padding:20px;overflow-y:auto}.pp-modal__footer{border-top:1px solid var(--pp-border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@keyframes pp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pp-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.pp-drawer-overlay{z-index:1000;background:#0f172a66;justify-content:flex-end;animation:.12s pp-fade-in;display:flex;position:fixed;inset:0}.pp-drawer{background:#fff;flex-direction:column;max-width:100vw;height:100%;animation:.16s pp-slide-in;display:flex;box-shadow:-8px 0 30px #101e3629}.pp-drawer__header{border-bottom:1px solid var(--pp-border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.pp-drawer__title{font-size:17px;font-weight:700}.pp-drawer__close{background:var(--pp-gray-bg);width:30px;height:30px;color:var(--pp-text-secondary);border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pp-drawer__body{flex:1;padding:20px;overflow-y:auto}@keyframes pp-slide-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.pp-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.pp-page-header__title{color:var(--pp-text);font-size:22px;font-weight:700}.pp-page-header__desc{color:var(--pp-text-secondary);margin-top:4px;font-size:13.5px}.pp-page-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-spinner{border:3px solid var(--pp-blue-100);border-top-color:var(--pp-blue-600);border-radius:50%;animation:.7s linear infinite pp-spin;display:inline-block}.pp-state-block{text-align:center;color:var(--pp-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 20px;display:flex}.pp-state-block__icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:inline-flex}.pp-state-block__icon--muted{background:var(--pp-gray-bg);color:var(--pp-text-muted)}.pp-state-block__icon--danger{background:var(--pp-red-bg);color:var(--pp-red)}.pp-state-block__title{color:var(--pp-text);font-size:15px;font-weight:700}.pp-state-block__desc{color:var(--pp-text-muted);max-width:340px;font-size:13px}.pp-datatable__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.pp-datatable__toolbar-left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.pp-datatable__toolbar-right{align-items:center;gap:10px;display:flex}.pp-datatable__search{border:1px solid var(--pp-border-strong);border-radius:var(--pp-radius-sm);min-width:220px;color:var(--pp-text-muted);background:#fff;align-items:center;gap:8px;padding:8px 12px;display:flex}.pp-datatable__search:focus-within{border-color:var(--pp-blue-500)}.pp-datatable__search input{color:var(--pp-text);background:0 0;border:none;outline:none;flex:1}.pp-datatable__filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.pp-datatable__scroll{overflow-x:auto}.pp-datatable__table{border-collapse:collapse;width:100%;font-size:13.5px}.pp-datatable__table th{text-align:left;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--pp-border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:700}.pp-datatable__table td{border-bottom:1px solid var(--pp-border);vertical-align:middle;padding:12px 14px}.pp-datatable__table tbody tr:last-child td{border-bottom:none}.pp-datatable__table tbody tr:hover{background:var(--pp-blue-50)}.pp-datatable__row--clickable{cursor:pointer}.pp-datatable__row--active{background:var(--pp-blue-100)!important}.pp-datatable__cards{display:none}.pp-datatable__pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.pp-datatable__pagination-info{color:var(--pp-text-muted);font-size:12.5px}.pp-datatable__page-btn{border:1px solid var(--pp-border-strong);width:32px;height:32px;color:var(--pp-text-secondary);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pp-datatable__page-btn:hover:not(:disabled){background:var(--pp-blue-50);border-color:var(--pp-blue-500)}.pp-datatable__page-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=720px){.pp-datatable__scroll{display:none}.pp-datatable__cards{flex-direction:column;gap:10px;display:flex}.pp-datatable__card{border:1px solid var(--pp-border);border-radius:var(--pp-radius-md);padding:14px}.pp-datatable__card--clickable{cursor:pointer}.pp-datatable__card-title{margin-bottom:8px;font-size:14.5px;font-weight:700}.pp-datatable__card-body{flex-direction:column;gap:6px;display:flex}.pp-datatable__card-field{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.pp-datatable__card-label{color:var(--pp-text-muted);font-size:12px}}.pp-date-range{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-date-range__presets{background:var(--pp-gray-bg);border-radius:var(--pp-radius-sm);gap:4px;padding:3px;display:flex}.pp-date-range__preset{color:var(--pp-text-secondary);background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600}.pp-date-range__preset--active,.pp-date-range__preset:hover{color:var(--pp-blue-700);background:#fff;box-shadow:0 1px 2px #101e3614}.pp-date-range__inputs{border:1px solid var(--pp-border-strong);border-radius:var(--pp-radius-sm);background:#fff;align-items:center;gap:8px;padding:6px 10px;display:flex}.pp-date-range__inputs input[type=date]{color:var(--pp-text);border:none;outline:none;font-size:13px}.pp-field{flex-direction:column;gap:5px;display:flex}.pp-field__label{color:var(--pp-text-secondary);font-size:12.5px;font-weight:600}.pp-field__required{color:var(--pp-red)}.pp-field__input{border:1px solid var(--pp-border-strong);border-radius:var(--pp-radius-sm);color:var(--pp-text);background:#fff;outline:none;width:100%;padding:9px 12px;font-size:14px}.pp-field__input:focus{border-color:var(--pp-blue-500)}.pp-field__input--error{border-color:var(--pp-red)}.pp-field__input:disabled{background:var(--pp-gray-bg);color:var(--pp-text-muted)}.pp-field__textarea{resize:vertical;min-height:80px;font-family:inherit}.pp-field__hint{color:var(--pp-text-muted);font-size:11.5px}.pp-field__error{color:var(--pp-red);font-size:11.5px;font-weight:600}.pp-login{background:radial-gradient(circle at top left, var(--pp-blue-500) 0%, var(--pp-blue-900) 55%, #072b58 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.pp-login__card{border-radius:var(--pp-radius-lg);width:100%;max-width:400px;box-shadow:var(--pp-shadow-pop);background:#fff;padding:32px 28px}.pp-login__brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:26px;display:flex}.pp-login__logo{width:min(260px,62vw);height:auto;margin:-8px auto 2px;display:block}.pp-login__brand h1{color:var(--pp-blue-900);font-size:22px;font-weight:800}.pp-login__brand p{color:var(--pp-text-muted);max-width:280px;font-size:12.5px}.pp-login__form{flex-direction:column;gap:14px;display:flex}.pp-login__field{flex-direction:column;gap:6px;display:flex}.pp-login__field>span:first-child{color:var(--pp-text-secondary);font-size:12.5px;font-weight:600}.pp-login__input-row{border:1.5px solid var(--pp-border-strong);border-radius:var(--pp-radius-md);color:var(--pp-text-muted);align-items:center;gap:10px;padding:12px 14px;display:flex}.pp-login__input-row:focus-within{border-color:var(--pp-blue-500)}.pp-login__input-row input{letter-spacing:1px;color:var(--pp-text);border:none;outline:none;flex:1;font-size:16px;font-weight:700}.pp-login__input-row--otp input{letter-spacing:8px;text-align:center}.pp-login__hint{color:var(--pp-text-muted);font-size:11.5px}.pp-login__error{background:var(--pp-red-bg);color:var(--pp-red);border-radius:var(--pp-radius-sm);text-align:center;padding:8px 12px;font-size:12.5px;font-weight:600}.pp-login__back{color:var(--pp-blue-600);background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12.5px;font-weight:700;display:inline-flex}.pp-login__greet{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px;display:flex}.pp-login__greet strong{font-size:15px}.pp-login__greet span{color:var(--pp-text-secondary);font-size:12.5px}.pp-login__resend{color:var(--pp-blue-600);background:0 0;border:none;align-self:center;padding:4px;font-size:12.5px;font-weight:600}.pp-login__resend:disabled{color:var(--pp-text-muted)}.pp-not-allowed{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.pp-not-allowed__icon{background:var(--pp-amber-bg);width:64px;height:64px;color:var(--pp-amber);border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.pp-not-allowed h1{color:var(--pp-text);font-size:18px;font-weight:800}.pp-not-allowed p{color:var(--pp-text-secondary);font-size:13.5px;line-height:1.6}.pp-sidebar{width:var(--pp-sidebar-width);background:linear-gradient(180deg, var(--pp-blue-600) 0%, var(--pp-blue-900) 100%);color:#fff;z-index:200;flex-direction:column;transition:width .18s,transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.pp-sidebar--collapsed{width:var(--pp-sidebar-width-collapsed)}.pp-sidebar__brand{align-items:center;gap:12px;padding:20px 18px;display:flex}.pp-sidebar__logo{object-fit:contain;background:#ffffffeb;border-radius:11px;width:38px;min-width:38px;height:38px;padding:3px}.pp-sidebar__brand-text{flex-direction:column;min-width:0;display:flex}.pp-sidebar__brand-name{white-space:nowrap;font-size:17px;font-weight:700}.pp-sidebar__brand-tag{color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.pp-sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex;overflow-y:auto}.pp-sidebar__link{color:#ffffffd1;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.pp-sidebar__link:hover{color:#fff;background:#ffffff1a}.pp-sidebar__link--active{color:var(--pp-blue-700);background:#fffffff0;font-weight:700}.pp-sidebar__icon{flex-shrink:0}.pp-sidebar__collapse-btn{color:#ffffffd9;background:#ffffff14;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin:6px 12px;padding:8px;font-size:12.5px;font-weight:600;display:flex}.pp-sidebar__collapse-btn:hover{background:#ffffff29}.pp-sidebar__footer{padding:16px 18px 14px;position:relative}.pp-sidebar__wave{z-index:0;width:100%;height:40px;position:absolute;bottom:0;left:0;right:0}.pp-sidebar__version{z-index:1;color:#ffffffa6;font-size:11px;position:relative}.pp-sidebar-scrim{display:none}@media (width<=1024px){.pp-sidebar:not(.pp-sidebar--mobile-open){width:var(--pp-sidebar-width-collapsed)}}@media (width<=640px){.pp-sidebar{width:min(280px,82vw);transform:translate(-100%)}.pp-sidebar--mobile-open{width:min(280px,82vw);transform:translate(0)}.pp-sidebar-scrim{z-index:190;background:#0f172a73;display:block;position:fixed;inset:0}}.pp-notif{position:relative}.pp-notif__btn{border:1px solid var(--pp-border);width:38px;height:38px;color:var(--pp-text-secondary);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.pp-notif__btn:hover{background:var(--pp-blue-50)}.pp-notif__badge{background:var(--pp-red);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.pp-notif__panel{border-radius:var(--pp-radius-lg);width:340px;max-width:88vw;box-shadow:var(--pp-shadow-pop);border:1px solid var(--pp-border);z-index:250;background:#fff;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.pp-notif__header{border-bottom:1px solid var(--pp-border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.pp-notif__clear{color:var(--pp-blue-600);background:0 0;border:none;font-size:12px;font-weight:600}.pp-notif__list{max-height:360px;overflow-y:auto}.pp-notif__empty{text-align:center;color:var(--pp-text-muted);padding:28px 16px;font-size:13px}.pp-notif__item{text-align:left;border:none;border-bottom:1px solid var(--pp-border);background:#fff;gap:10px;width:100%;padding:12px 16px;display:flex}.pp-notif__item:hover,.pp-notif__item--unread{background:var(--pp-blue-50)}.pp-notif__item-icon{background:var(--pp-blue-100);width:30px;min-width:30px;height:30px;color:var(--pp-blue-600);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pp-notif__item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pp-notif__item-title{color:var(--pp-text);font-size:13px;font-weight:700}.pp-notif__item-desc{color:var(--pp-text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.pp-notif__item-time{color:var(--pp-text-muted);font-size:11px}.pp-topbar{z-index:150;height:var(--pp-topbar-height);border-bottom:1px solid var(--pp-border);background:#fff;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.pp-topbar__hamburger{border:1px solid var(--pp-border);width:36px;height:36px;color:var(--pp-text-secondary);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:none}.pp-topbar__scope{background:var(--pp-gray-bg);border-radius:var(--pp-radius-sm);align-items:center;gap:10px;padding:6px 10px;display:flex}.pp-topbar__village select,.pp-topbar__month{color:var(--pp-text);cursor:pointer;background:0 0;border:none;outline:none;font-size:13.5px;font-weight:600}.pp-topbar__village-locked{color:var(--pp-text-secondary);font-size:13.5px;font-weight:600}.pp-topbar__divider{background:var(--pp-border-strong);width:1px;height:18px}.pp-topbar__month{color:var(--pp-blue-700)}.pp-topbar__search{background:var(--pp-gray-bg);border-radius:var(--pp-radius-sm);max-width:380px;color:var(--pp-text-muted);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.pp-topbar__search input{color:var(--pp-text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.pp-topbar__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.pp-topbar__profile{position:relative}.pp-topbar__profile-btn{border:1px solid var(--pp-border);color:var(--pp-text);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex}.pp-topbar__profile-btn:hover{background:var(--pp-blue-50)}.pp-topbar__avatar{background:var(--pp-blue-600);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:inline-flex}.pp-topbar__avatar--lg{width:40px;height:40px;font-size:16px}.pp-topbar__profile-text{text-align:left;flex-direction:column;line-height:1.25;display:none}.pp-topbar__profile-name{font-size:13px;font-weight:700}.pp-topbar__profile-role{color:var(--pp-text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.pp-topbar__profile-phone{color:var(--pp-text-muted);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.pp-topbar__profile-menu{border-radius:var(--pp-radius-lg);width:240px;box-shadow:var(--pp-shadow-pop);border:1px solid var(--pp-border);z-index:250;background:#fff;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.pp-topbar__profile-menu-head{border-bottom:1px solid var(--pp-border);align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.pp-topbar__signout{background:var(--pp-red-bg);width:100%;color:var(--pp-red);border-radius:var(--pp-radius-sm);border:none;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.pp-topbar__signout:hover{background:#fbdada}@media (width>=900px){.pp-topbar__profile-text{display:flex}}@media (width<=1024px){.pp-topbar__hamburger{display:none}}@media (width<=640px){.pp-topbar{gap:8px;padding:0 12px}.pp-topbar__hamburger{display:flex}.pp-topbar__search{display:none}.pp-topbar__scope{flex-wrap:wrap}}.pp-app-layout{min-height:100vh}.pp-app-layout__main{margin-left:var(--pp-sidebar-width);flex-direction:column;min-height:100vh;transition:margin-left .18s;display:flex}.pp-app-layout--collapsed .pp-app-layout__main{margin-left:var(--pp-sidebar-width-collapsed)}.pp-app-layout__content{flex:1;padding:24px}@media (width<=1024px){.pp-app-layout__main,.pp-app-layout--collapsed .pp-app-layout__main{margin-left:var(--pp-sidebar-width-collapsed)}}@media (width<=640px){.pp-app-layout__main,.pp-app-layout--collapsed .pp-app-layout__main{margin-left:0}.pp-app-layout__content{padding:16px}}.pp-dash-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.pp-dash-mid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.pp-dash-h2{color:var(--pp-text);margin:0 0 14px;font-size:16px;font-weight:600}.pp-dash-note{color:var(--pp-text-muted);margin:4px 0 0;font-size:13px}.pp-dash-progress__head{color:var(--pp-text-secondary);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:14px;display:flex}.pp-dash-progress__head strong{color:var(--pp-text);font-size:20px}.pp-dash-progress__pct{color:var(--pp-blue-600)!important}.pp-dash-bar{background:var(--pp-gray-bg);border-radius:999px;height:10px;display:block;overflow:hidden}.pp-dash-bar>span{background:linear-gradient(90deg, var(--pp-blue-600), var(--pp-blue-500));border-radius:999px;height:100%;transition:width .4s;display:block}.pp-dash-bar--sm{height:6px}.pp-dash-readers{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.pp-dash-readers li{grid-template-columns:minmax(0,1fr) auto minmax(80px,120px) 38px;align-items:center;gap:10px;font-size:13px;display:grid}.pp-dash-readers__name{color:var(--pp-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pp-dash-readers__count{color:var(--pp-text-muted);font-variant-numeric:tabular-nums}.pp-dash-readers__pct{text-align:right;color:var(--pp-text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.pp-dash-buckets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pp-dash-bucket{border:1px solid var(--pp-border);border-radius:var(--pp-radius-md);background:var(--pp-surface);cursor:pointer;text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.pp-dash-bucket:hover{border-color:var(--pp-blue-500);box-shadow:var(--pp-shadow-card);transform:translateY(-1px)}.pp-dash-bucket:focus-visible{outline:2px solid var(--pp-blue-500);outline-offset:2px}.pp-dash-bucket__label{color:var(--pp-text-muted);font-size:12px}.pp-dash-bucket__value{font-size:26px;font-weight:700;line-height:1.15}.pp-dash-bucket__unit{color:var(--pp-text-muted);margin-top:-4px;font-size:12px}.pp-dash-bucket__amount{color:var(--pp-text-secondary);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px}.pp-dash-bucket--1 .pp-dash-bucket__value{color:var(--pp-info)}.pp-dash-bucket--2 .pp-dash-bucket__value{color:var(--pp-amber)}.pp-dash-bucket--3 .pp-dash-bucket__value{color:#e2711d}.pp-dash-bucket--worst .pp-dash-bucket__value{color:var(--pp-red)}.pp-dash-bucket--worst{background:var(--pp-red-bg);border-color:#f7c9c6}.pp-dash-feed{gap:14px;margin:0;padding:0;list-style:none;display:grid}.pp-dash-feed li{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.pp-dash-feed__icon{background:var(--pp-blue-100);width:32px;height:32px;color:var(--pp-blue-600);border-radius:50%;place-items:center;display:grid}.pp-dash-feed__icon--payment{background:var(--pp-green-bg);color:var(--pp-green)}.pp-dash-feed__icon--issue{background:var(--pp-red-bg);color:var(--pp-red)}.pp-dash-feed__icon--announcement{background:var(--pp-amber-bg);color:var(--pp-amber)}.pp-dash-feed__body{gap:1px;min-width:0;display:grid}.pp-dash-feed__body strong{font-size:13px;font-weight:600}.pp-dash-feed__body span{color:var(--pp-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pp-dash-feed__time{color:var(--pp-text-muted);white-space:nowrap;font-size:11px}.pp-dash-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1400px){.pp-dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-dash-mid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pp-dash-activity{grid-column:1/-1}.pp-dash-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-dash-charts>:last-child{grid-column:1/-1}}@media (width<=900px){.pp-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-dash-mid,.pp-dash-charts{grid-template-columns:minmax(0,1fr)}.pp-dash-charts>:last-child{grid-column:auto}.pp-dash-readers li{grid-template-columns:minmax(0,1fr) auto 38px}.pp-dash-readers li .pp-dash-bar--sm{display:none}}@media (width<=560px){.pp-dash-stats,.pp-dash-buckets{grid-template-columns:minmax(0,1fr)}}.pp-import{gap:12px;display:grid}.pp-import__pick{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-import__filename{color:var(--pp-text-secondary);font-size:13px}.pp-import__hint,.pp-import__note{color:var(--pp-text-secondary);background:var(--pp-blue-50);border:1px solid var(--pp-blue-100);border-radius:var(--pp-radius-md);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;line-height:1.6;display:flex}.pp-import__hint svg,.pp-import__note svg{color:var(--pp-blue-600);flex:none;margin-top:2px}.pp-import__paste{border:1px solid var(--pp-border);border-radius:var(--pp-radius-md);resize:vertical;width:100%;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}.pp-import__paste:focus-visible{outline:2px solid var(--pp-blue-500);outline-offset:1px}.pp-import__error{color:var(--pp-red);background:var(--pp-red-bg);border-radius:var(--pp-radius-md);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:13px;display:flex}.pp-import__tally{color:var(--pp-text-secondary);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.pp-import__tally strong{color:var(--pp-text);margin-right:3px;font-size:16px}.pp-import__tally--bad strong{color:var(--pp-red)}.pp-import__tally--warn strong{color:var(--pp-amber)}.pp-import__table-wrap{border:1px solid var(--pp-border);border-radius:var(--pp-radius-md);max-height:340px;overflow:auto}.pp-import__table{border-collapse:collapse;width:100%;font-size:12.5px}.pp-import__table th{z-index:1;background:var(--pp-gray-bg);text-align:left;white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.pp-import__table td{border-top:1px solid var(--pp-border);vertical-align:top;padding:7px 10px}.pp-import__row--bad td{background:var(--pp-red-bg)}.pp-import__reading{color:var(--pp-text-muted);font-size:11px;display:block}.pp-import__more{color:var(--pp-text-muted);margin:8px 10px;font-size:12px}.pp-hh-detail{flex-direction:column;gap:14px;display:flex}.pp-hh-detail__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pp-hh-detail__head h3{font-size:18px;font-weight:800}.pp-hh-detail__head p{color:var(--pp-text-secondary);margin-top:2px;font-size:13px}.pp-hh-detail__debt{background:var(--pp-red-bg);color:var(--pp-red);border-radius:var(--pp-radius-sm);padding:10px 12px;font-size:13px}.pp-hh-detail__debt strong{font-size:15px}.pp-hh-detail__actions{flex-wrap:wrap;gap:8px;display:flex}.pp-hh-detail__tabs{background:var(--pp-gray-bg);border-radius:var(--pp-radius-sm);gap:4px;padding:3px;display:flex}.pp-hh-detail__tabs button{color:var(--pp-text-secondary);background:0 0;border:none;border-radius:7px;flex:1;padding:8px 6px;font-size:12.5px;font-weight:600}.pp-hh-detail__tabs .pp-hh-detail__tab--active{color:var(--pp-blue-700);background:#fff;box-shadow:0 1px 2px #101e3614}.pp-hh-detail__body{min-height:160px}.pp-hh-detail__info{flex-direction:column;gap:10px;display:flex}.pp-hh-detail__info>div{border-bottom:1px dashed var(--pp-border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;font-size:13px;display:flex}.pp-hh-detail__info dt{color:var(--pp-text-muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.pp-hh-detail__info dd{text-align:right;font-weight:600}.pp-hh-detail__list{flex-direction:column;gap:8px;max-height:340px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pp-hh-detail__list li{border-radius:var(--pp-radius-sm);background:var(--pp-gray-bg);justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12.5px;display:flex}.pp-households__layout{grid-template-columns:1fr 360px;align-items:start;gap:20px;display:grid}.pp-households__layout--narrow{grid-template-columns:1fr}.pp-households__detail-col{top:calc(var(--pp-topbar-height) + 24px);position:sticky}.pp-households__detail-placeholder{text-align:center;min-height:240px;color:var(--pp-text-muted);justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex}.pp-households__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pp-households__import-done{background:var(--pp-green-bg);border:1px solid #b7e3cb;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.pp-households__import-done>div{gap:3px;font-size:13px;display:grid}.pp-households__import-done strong{color:var(--pp-green)}.pp-households__import-skip{color:var(--pp-text-secondary);line-height:1.6}.pp-reading-cell{flex-direction:column;gap:4px;display:flex}.pp-reading-cell__row{align-items:center;gap:8px;display:flex}.pp-reading-cell__input{border:1px solid var(--pp-border-strong);border-radius:var(--pp-radius-sm);width:110px;color:var(--pp-text);background:#fff;padding:7px 10px;font-size:13px}.pp-reading-cell__input:focus{border-color:var(--pp-blue-500);outline:none}.pp-reading-cell__usage{color:var(--pp-text-muted);font-size:12px}.pp-reading-cell__usage--warn{color:var(--pp-amber);font-weight:600}.pp-reading-cell__warn{color:var(--pp-red);font-size:12px;font-weight:600}.pp-reading-cell__error{color:var(--pp-red);font-size:12px}.pp-invoice__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pp-invoice__head h3{font-size:16px}.pp-invoice__meta{background:var(--pp-bg);border-radius:var(--pp-radius-sm);grid-template-columns:1fr 1fr;gap:10px 16px;margin:0 0 16px;padding:12px 14px;display:grid}.pp-invoice__meta dt{color:var(--pp-text-muted);font-size:11.5px}.pp-invoice__meta dd{margin:2px 0 0;font-size:13.5px;font-weight:600}.pp-invoice__lines{border-collapse:collapse;width:100%;margin-bottom:18px;font-size:13.5px}.pp-invoice__lines td{border-bottom:1px solid var(--pp-border);padding:8px 4px}.pp-invoice__lines td:last-child{text-align:right;font-variant-numeric:tabular-nums}.pp-invoice__lines .pp-invoice__total td{border-top:2px solid var(--pp-text);border-bottom:none;padding-top:12px;font-size:14.5px;font-weight:700}.pp-invoice__lines .pp-invoice__remaining td{color:var(--pp-red);font-weight:700}.pp-invoice__sub-h{color:var(--pp-text-secondary);margin:0 0 10px;font-size:13px}.pp-invoice__payments{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pp-invoice__payments li{color:var(--pp-text-secondary);grid-template-columns:1fr 90px 110px auto;gap:8px;font-size:12.5px;display:grid}.pp-invoice__payments li strong{color:var(--pp-text);text-align:right}@media print{.pp-invoice__lines td:last-child{text-align:right}}.pp-receipt__head{text-align:center;border-bottom:1px dashed var(--pp-border-strong);margin-bottom:16px;padding-bottom:14px}.pp-receipt__head h3{font-size:17px}.pp-receipt__no{color:var(--pp-blue-600);letter-spacing:.03em;margin-top:4px;font-size:12px;font-weight:700}.pp-receipt__meta{gap:8px;margin:0 0 16px;display:grid}.pp-receipt__meta div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.pp-receipt__meta dt{color:var(--pp-text-muted)}.pp-receipt__meta dd{text-align:right;font-weight:600}.pp-receipt__amount{background:var(--pp-green-bg);border-radius:var(--pp-radius-md);justify-content:space-between;align-items:center;margin-bottom:12px;padding:14px 16px;display:flex}.pp-receipt__amount span{color:var(--pp-text-secondary);font-size:13px}.pp-receipt__amount strong{color:var(--pp-green);font-size:22px}.pp-receipt__cash{gap:4px;display:grid}.pp-receipt__cash div{color:var(--pp-text-secondary);justify-content:space-between;font-size:12.5px;display:flex}.pp-pos__layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}.pp-pos__search-col{flex-direction:column;gap:12px;display:flex}.pp-pos__search,.pp-pos__search input{width:100%}.pp-pos__list{flex-direction:column;gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pp-pos__list button{text-align:left;border-radius:var(--pp-radius-sm);background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:9px 12px;font-size:12.5px;display:flex}.pp-pos__list button:hover{background:var(--pp-blue-50)}.pp-pos__list button strong{font-size:13.5px}.pp-pos__list button.pp-pos__list-item--active{background:var(--pp-blue-100);border-color:var(--pp-blue-500)}.pp-pos__panel{min-height:320px}.pp-pos__head{border-bottom:1px solid var(--pp-border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.pp-pos__head h3{font-size:16px}.pp-pos__debt{text-align:right;flex-direction:column;gap:2px;display:flex}.pp-pos__debt span{color:var(--pp-text-muted);font-size:12px}.pp-pos__debt strong{font-size:20px}.pp-pos__debt-value--due{color:var(--pp-red)}.pp-pos__invoices{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.pp-pos__invoice-row{border:1px solid var(--pp-border);border-radius:var(--pp-radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.pp-pos__invoice-row:has(input:checked){border-color:var(--pp-blue-500);background:var(--pp-blue-50)}.pp-pos__invoice-row span{flex:1}.pp-pos__invoice-row strong{font-variant-numeric:tabular-nums}.pp-pos__form{max-width:520px}.pp-pos__change{justify-content:space-between;align-self:end;align-items:center;padding:0 2px;display:flex}.pp-pos__change span{color:var(--pp-text-muted);font-size:12.5px}.pp-pos__change strong{color:var(--pp-green);font-size:16px}@media (width<=900px){.pp-pos__layout{grid-template-columns:1fr}}.pp-overdue-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.pp-overdue-buckets{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.pp-overdue-bucket{border:1px solid var(--pp-border);border-radius:var(--pp-radius-md);background:var(--pp-surface);cursor:pointer;text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.pp-overdue-bucket:hover{border-color:var(--pp-blue-500);box-shadow:var(--pp-shadow-card);transform:translateY(-1px)}.pp-overdue-bucket__label{color:var(--pp-text-muted);font-size:12px}.pp-overdue-bucket strong{font-size:24px;font-weight:700;line-height:1.2}.pp-overdue-bucket__amount{color:var(--pp-text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.pp-overdue-bucket--1 strong{color:var(--pp-info)}.pp-overdue-bucket--2 strong{color:var(--pp-amber)}.pp-overdue-bucket--3 strong{color:#e2711d}.pp-overdue-bucket--worst strong{color:var(--pp-red)}.pp-overdue-bucket--worst{background:var(--pp-red-bg);border-color:#f7c9c6}.pp-overdue-bucket--active{outline:2px solid var(--pp-blue-500);outline-offset:-1px}@media (width<=900px){.pp-overdue-stats,.pp-overdue-buckets{grid-template-columns:1fr 1fr}}@media (width<=560px){.pp-overdue-stats{grid-template-columns:1fr}}.pp-zone-progress{color:var(--pp-text-secondary);font-variant-numeric:tabular-nums;grid-template-columns:56px minmax(80px,140px) 40px;align-items:center;gap:10px;font-size:12.5px;display:grid}.pp-zone-progress__bar{background:var(--pp-gray-bg);border-radius:999px;height:6px;display:block;overflow:hidden}.pp-zone-progress__bar>span{background:linear-gradient(90deg, var(--pp-blue-600), var(--pp-blue-500));border-radius:999px;height:100%;display:block}.pp-zone-progress__pct{text-align:right;color:var(--pp-text);font-weight:600}.pp-tier-editor{flex-direction:column;gap:12px;display:flex}.pp-tier-editor__table{border-collapse:collapse;width:100%;font-size:13px}.pp-tier-editor__table th{text-align:left;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--pp-border);padding:8px 10px;font-size:11.5px;font-weight:700}.pp-tier-editor__table td{border-bottom:1px solid var(--pp-border);padding:9px 10px}.pp-tier-editor__table tbody tr:last-child td{border-bottom:none}.pp-tier-editor__actions{justify-content:flex-end;gap:4px;display:flex}.pp-settings__grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.pp-settings__h2{margin-bottom:4px;font-size:15px}.pp-settings__h3{align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.pp-settings__hint{margin:0 0 16px;font-size:12px}.pp-settings__tiers{background:var(--pp-bg);border-radius:var(--pp-radius-md);margin:4px 0 16px;padding:14px}.pp-settings__actions{justify-content:flex-end;margin-top:8px;display:flex}.pp-settings__saved{color:var(--pp-green);font-size:12.5px;font-weight:600}.pp-settings__preview{border-top:1px dashed var(--pp-border);margin-top:18px;padding-top:16px}.pp-settings__preview-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.pp-settings__preview-row>label{flex:1;min-width:140px}.pp-settings__preview-result{background:var(--pp-blue-50);border-radius:var(--pp-radius-sm);color:var(--pp-blue-700);padding:8px 12px;font-size:13.5px}.pp-settings__preview-result strong{font-size:15px}.pp-settings__note{margin-top:16px}.pp-settings__note code{background:var(--pp-blue-100);border-radius:4px;padding:1px 5px;font-size:11.5px}@media (width<=1100px){.pp-settings__grid{grid-template-columns:1fr}}.pp-income__range{margin-bottom:16px}.pp-income__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}@media (width<=720px){.pp-income__stats{grid-template-columns:1fr}}.pp-expenses__range{margin-bottom:16px}.pp-expenses__stats{grid-template-columns:minmax(0,280px);gap:16px;margin-bottom:16px;display:grid}.pp-reports__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.pp-reports__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.pp-reports__h2{margin-bottom:14px;font-size:15px}.pp-reports__table-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pp-reports__print-head{display:none}@media print{.pp-reports__print-head{margin-bottom:16px;display:block}.pp-reports__print-head h2{margin:0;font-size:16px}.pp-reports__print-head p{color:var(--pp-text-secondary);margin:4px 0 0;font-size:12px}}@media (width<=900px){.pp-reports__stats{grid-template-columns:1fr 1fr}}@media (width<=560px){.pp-reports__stats{grid-template-columns:1fr}}.pp-ann-body{text-overflow:ellipsis;white-space:nowrap;max-width:480px;margin-top:2px;overflow:hidden}
