:root{--accent-primary:#5B47F0;--accent-primary-hover:#4A38D8;--accent-soft:#ECEAFF;--shadow-accent:0 8px 18px rgba(91,71,240,0.28),inset 0 1px 0 rgba(255,255,255,0.18);--border:rgba(20,20,25,0.06);--border-light:rgba(20,20,25,0.04);--line:rgba(20,20,25,0.06);--line-2:rgba(20,20,25,0.04);--card:var(--bg-card);--card-soft:var(--bg-elevated);--card-tint:#F4F3F0;--hair:rgba(20,20,25,0.06);--hair-strong:rgba(20,20,25,0.10);--muted-2:var(--faint);--accent:var(--accent-primary);--accent-ink:#3A28C7;--accent-soft-2:#DFDBFF;--accent-wash:rgba(91,71,240,0.07);--accent-success-soft:var(--ok-soft);--ok:var(--accent-success);--warn:var(--accent-warning);--danger:var(--accent-danger);--info:var(--accent-info)}.dark{--accent-primary:#7B6BFF;--accent-primary-hover:#A090FF;--accent-soft:#25224A;--shadow-accent:0 8px 18px rgba(123,107,255,0.32),inset 0 1px 0 rgba(255,255,255,0.10);--border:rgba(255,255,255,0.06);--border-light:rgba(255,255,255,0.04);--line:rgba(255,255,255,0.06);--line-2:rgba(255,255,255,0.04);--card:var(--bg-card);--card-soft:var(--bg-elevated);--card-tint:#22222C;--hair:rgba(255,255,255,0.06);--hair-strong:rgba(255,255,255,0.10);--muted-2:var(--faint);--accent:var(--accent-primary);--accent-ink:#A090FF;--accent-soft-2:#2D2960;--accent-wash:rgba(123,107,255,0.12);--accent-success-soft:var(--ok-soft);--ok:var(--accent-success);--warn:var(--accent-warning);--danger:var(--accent-danger);--info:var(--accent-info)}.content{padding:24px 28px 64px;min-width:0}.col,.content.col{display:flex;flex-direction:column}.col,.ds-row{gap:10px}.ds-row{display:flex;align-items:center}.sb{justify-content:space-between}.ds-grow{flex:1}.stat-grid{display:grid;gap:14px}.stat-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.9);position:relative;overflow:hidden;animation:cardIn .32s cubic-bezier(.22,1,.36,1) both}.stat-card .label{display:flex;align-items:center;justify-content:space-between}.stat-label-text{font-size:11.5px;color:var(--muted);letter-spacing:.04em;font-weight:500;text-transform:uppercase;animation:txtFade .28s ease .08s both}.stat-icon{width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent-primary);display:inline-flex;align-items:center;justify-content:center}.stat-value{font-size:28px;font-weight:600;letter-spacing:-.024em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;color:var(--ink);animation:txtScale .55s cubic-bezier(.34,1.3,.64,1) .14s both}.stat-value .unit{font-size:13px;color:var(--muted);font-weight:500;letter-spacing:0}.stat-foot{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);animation:txtFadeUp .3s ease .22s both}.stat-foot .trend-up{color:var(--accent-success)}.stat-foot .trend-down,.stat-foot .trend-up{display:inline-flex;align-items:center;gap:3px}.stat-foot .trend-down{color:var(--accent-danger)}.spark{display:block;width:100%;height:32px}@keyframes sparkDraw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sparkFillIn{0%{opacity:0}to{opacity:1}}@keyframes sparkDotIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tbl-wrap{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tbl-tools{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line)}.tbl-search{position:relative;display:inline-flex;align-items:center}.tbl-search input{height:32px;padding:0 10px 0 32px;border-radius:8px;border:1px solid rgba(20,20,25,.1);background:var(--bg-card);font:inherit;font-size:12.5px;color:var(--ink);outline:none;min-width:180px;width:100%}.tbl-search input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.tbl-search svg{position:absolute;left:9px;color:var(--muted);pointer-events:none}.tbl-pagination{display:flex;align-items:center;gap:10px;padding:11px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.tbl-pagination .grow{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--bg-elevated);color:var(--ink-2);white-space:nowrap;line-height:1.5}.chip-ok{background:var(--ok-soft);color:#146440}.chip-ok,.chip-warn{box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.chip-warn{background:var(--warn-soft);color:#7a5414}.chip-danger{background:var(--danger-soft);color:#8E2A22;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}.chip-info{background:var(--info-soft);color:#1A4F94;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.chip-neutral{background:var(--bg-elevated);color:var(--ink-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font:inherit;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .12s ease,transform .08s ease;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{filter:brightness(.96)}.btn-primary:disabled{opacity:.45;pointer-events:none}.btn-secondary{background:var(--bg-card);border-color:rgba(20,20,25,.1);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.05)}.btn-secondary:hover{background:var(--bg-elevated)}.btn-danger{background:var(--accent-danger);color:#fff;box-shadow:0 3px 10px rgba(213,82,71,.3),inset 0 1px 0 rgba(255,255,255,.15)}.btn-danger:hover{filter:brightness(.94)}.btn-danger:disabled{opacity:.45;pointer-events:none}.btn-ok{background:var(--accent-success);color:#fff;box-shadow:0 3px 10px rgba(30,157,95,.22),inset 0 1px 0 rgba(255,255,255,.15)}.btn-ok:hover{filter:brightness(.91)}.btn-ok:disabled{opacity:.45;pointer-events:none}.btn-sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px}.btn-lg{height:42px;padding:0 18px;font-size:14px;border-radius:12px}.input{height:36px;padding:0 12px;border:1px solid rgba(20,20,25,.1);background:var(--bg-card);border-radius:10px;font:inherit;font-size:13px;color:var(--ink);outline:none;width:100%}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.lst{display:flex;flex-direction:column}.lst-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);transition:transform .14s cubic-bezier(.22,1,.36,1),opacity .14s ease}.lst-row:hover{transform:translateX(2px)}.lst-row:last-child{border-bottom:none}.lst-row .grow{flex:1;min-width:0}.lst-row .ttl{font-size:13px;font-weight:500;color:var(--ink)}.lst-row .sub{font-size:11.5px;color:var(--muted);margin-top:2px}.empty{flex-direction:column;padding:48px 20px;text-align:center;gap:8px}.empty,.empty .ic{display:flex;align-items:center;justify-content:center;color:var(--muted)}.empty .ic{width:48px;height:48px;border-radius:14px;background:var(--bg-elevated);margin-bottom:6px}.dark .stat-card{box-shadow:var(--shadow-sm)}.dark .btn-secondary{border-color:rgba(255,255,255,.1)}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.9);overflow:hidden}.dark .card{box-shadow:var(--shadow-sm)}.card-dark{background:linear-gradient(140deg,#1D1B2E,#13131E 60%,#0C1220);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-xl);box-shadow:0 12px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);color:#fff;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--hair);gap:12px}.card-head-title{font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.card-head-meta{font-size:11.5px;color:var(--muted);margin-top:2px}.card-body{padding:16px 18px}.ttl{font-size:13px;font-weight:500;color:var(--ink)}.sub{font-size:11.5px;color:var(--muted);margin-top:2px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--muted);transition:background .12s ease,color .12s ease;flex-shrink:0}.icon-btn:hover{background:var(--card-tint);color:var(--ink)}.tbl{width:100%;border-collapse:collapse}.tbl thead th{padding:10px 14px;font-size:11.5px;font-weight:500;color:var(--muted);letter-spacing:.02em;text-align:left;white-space:nowrap;background:var(--card-tint)}.tbl tbody td,.tbl thead th{border-bottom:1px solid var(--hair)}.tbl tbody td{padding:13px 14px;font-size:13px;color:var(--ink-2)}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .08s ease}.tbl tbody tr:hover{background:var(--card-tint)}.tbl-row-selected td{background:var(--accent-soft)!important}.dark .tbl-row-selected td{background:rgba(123,107,255,.12)!important}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--card-tint)}.btn-ghost-light{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9)}.btn-ghost-light:hover{background:rgba(255,255,255,.16)}.ps-hero{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;gap:24px}.ps-hero-left{display:flex;flex-direction:column;gap:10px;flex:1}.ps-hero-eyebrow{display:flex;align-items:center;gap:10px}.ps-hero-month{font-size:13px;font-weight:500;opacity:.65;color:#fff}.ps-hero-net{font-size:38px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff;line-height:1;animation:txtScale .5s cubic-bezier(.34,1.3,.64,1) .05s both}.ps-hero-sub{font-size:12.5px;opacity:.55;color:#fff}.ps-hero-actions{display:flex;gap:8px;margin-top:4px}.ps-hero-right{flex-shrink:0;animation:txtScale .55s cubic-bezier(.34,1.3,.64,1) .1s both}.ps-bar-row{display:flex;flex-direction:column;gap:5px;animation:cardIn .3s cubic-bezier(.22,1,.36,1) both}.ps-bar-meta{display:flex;align-items:center;justify-content:space-between}.ps-bar-label{font-size:12.5px;color:var(--muted)}.ps-bar-amount{font-size:12.5px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.ps-bar-track{height:5px;border-radius:99px;background:var(--hair);overflow:hidden}.ps-bar-fill{height:100%;border-radius:99px}.ps-section-label{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.ps-section-total{font-size:12.5px;font-weight:600;color:var(--ok);letter-spacing:0}.ps-divider{height:1px;background:var(--hair);margin:0 -18px}.ps-net-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin:0 -18px -16px;background:var(--accent-soft);border-top:1px solid var(--hair);font-size:13px;font-weight:500;color:var(--ink)}.dark .ps-net-row{background:rgba(123,107,255,.12)}.ps-net-val{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ps-month-select{height:28px;padding:0 24px 0 8px;border:1px solid var(--hair-strong);border-radius:8px;background:var(--card-tint);font:inherit;font-size:12px;color:var(--ink);cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E6D74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.ps-benefit-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair);animation:cardIn .3s cubic-bezier(.22,1,.36,1) both}.ps-benefit-row:last-child{border-bottom:none}.ps-benefit-ic{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ps-benefit-val{font-size:12.5px;font-weight:600;white-space:nowrap;flex-shrink:0}.ps-doc-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair);animation:cardIn .3s cubic-bezier(.22,1,.36,1) both}.ps-doc-row:last-child{border-bottom:none}.ps-doc-ic{width:30px;height:30px;border-radius:8px;background:var(--card-tint);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}