#expense-management>.card{padding:16px}
.expense-shell{display:grid;gap:12px}
.expense-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.expense-head h2,.expense-section-head h3{margin:0}.expense-head p,.expense-section-head p{margin:4px 0 0;color:#70818e;font-size:12px}
.expense-head-actions{display:flex;gap:7px;flex-wrap:wrap}
.expense-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px}
.expense-kpi{min-height:82px;padding:12px;border:1px solid #dde7ea;border-radius:12px;background:#f7f9fa}
.expense-kpi small{display:block;color:#71818d;font-size:11px}.expense-kpi b{display:block;margin-top:8px;color:#203a48;font-size:22px;line-height:1}
.expense-kpi.primary{border-color:#b9dcd6;background:#edf8f6}.expense-kpi.primary b{color:#28766d}.expense-kpi.warn{border-color:#ecdcb8;background:#fff8ea}.expense-kpi.warn b{color:#95610c}
.expense-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.expense-summary{padding:11px 12px;border:1px solid #e0e8eb;border-radius:11px;background:#fff}
.expense-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.expense-summary-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.expense-summary-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:130px;padding:7px 9px;border-radius:8px;background:#f2f6f7;color:#536873;font-size:11px}.expense-summary-chip b{color:#183847;font-size:12px}
.expense-tools{display:grid;grid-template-columns:minmax(220px,1.2fr) 160px minmax(240px,1fr);gap:7px;align-items:start;padding:9px;border:1px solid #e0e7ea;border-radius:11px;background:#f7f9fa}
.expense-tools input,.expense-tools select,.expense-editor input,.expense-editor select,.expense-editor textarea{width:100%;min-width:0;height:36px;padding:6px 8px;border:1px solid #d5e1e5;border-radius:8px;background:#fff;color:#172536;font:inherit}
.expense-filter-more,.expense-form-more,.expense-line-more{border:1px solid #dce6e9;border-radius:9px;background:#fff}.expense-filter-more>summary,.expense-form-more>summary,.expense-line-more>summary{padding:8px 10px;color:#45616f;font-size:11px;font-weight:750;cursor:pointer;list-style-position:inside}.expense-filter-more>div{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:6px;padding:0 8px 8px}.expense-filter-more button{height:36px;padding:6px 8px}.expense-form-more{margin-top:10px;background:#f8fafb}.expense-form-more label{display:block;padding:0 9px 9px}.expense-line-more{margin-top:7px;background:#fff}.expense-line-optional{padding:0 8px 8px}
.expense-list{display:grid;gap:6px}.expense-empty{padding:30px;border:1px dashed #cedcdf;border-radius:10px;color:#72828d;text-align:center}
.expense-card{border:1px solid #dee7ea;border-radius:11px;background:#fff;overflow:hidden}.expense-card-main{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(115px,.75fr) minmax(105px,.62fr) minmax(115px,.65fr) auto;gap:10px;align-items:center;padding:10px 12px}
.expense-card-title{min-width:0}.expense-card-title b{display:block;overflow:hidden;color:#183647;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.expense-card-title small,.expense-card-cell small{display:block;margin-top:2px;color:#7b8993;font-size:10px}.expense-card-cell{min-width:0;color:#435b68;font-size:12px}.expense-card-amount{font-size:16px;font-weight:850;color:#246b63}.expense-card-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.expense-card-actions button{padding:6px 8px;font-size:11px;white-space:nowrap}
.expense-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef3f5;color:#526d7c;font-size:10px;font-weight:800}.expense-status.review{background:#fff4dc;color:#95600b}.expense-status.supplement,.expense-status.rejected{background:#fff0ed;color:#a24434}.expense-status.approved{background:#eaf4ff;color:#286598}.expense-status.paid{background:#eaf7f3;color:#287063}
.expense-card-detail{display:none;padding:10px 12px;border-top:1px solid #edf1f3;background:#fafcfc}.expense-card.expanded .expense-card-detail{display:block}
.expense-detail-row{display:grid;grid-template-columns:82px 92px minmax(130px,1fr) 100px;gap:8px;padding:6px 0;border-bottom:1px solid #edf1f3;color:#526874;font-size:11px}.expense-detail-row:last-child{border:0}.expense-detail-row b{text-align:right;color:#183847}
.expense-receipts{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.expense-receipt-thumb{width:48px;height:48px;padding:0;overflow:hidden;border:1px solid #d8e4e6;border-radius:8px;background:#edf3f4}.expense-receipt-thumb img{width:100%;height:100%;object-fit:cover}
.expense-employee-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.expense-employee-summary>div{padding:10px;border-radius:10px;background:#f4f7f8}.expense-employee-summary small{display:block;color:#758692;font-size:10px}.expense-employee-summary b{display:block;margin-top:4px;font-size:17px}
.expense-editor{width:min(920px,100%);padding:18px}.expense-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.expense-editor-head h2{margin:0}.expense-editor-head p{margin:4px 0 0;color:#758692;font-size:12px}.expense-editor-head button{padding:4px 9px;background:transparent;color:#647783;font-size:22px}
.expense-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.expense-meta-grid label,.expense-line label,.expense-review-box label{display:grid;gap:4px;color:#6e808d;font-size:10px}
.expense-lines{display:grid;gap:8px;margin-top:12px}.expense-line{padding:10px;border:1px solid #dce6e9;border-radius:11px;background:#f8fafb}.expense-line-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.expense-line-head b{font-size:13px}.expense-line-head button{padding:3px 7px;background:#fff0ed;color:#a54839;font-size:11px}
.expense-line-grid{display:grid;grid-template-columns:130px 130px 145px 145px 100px;gap:7px}.expense-line-main{grid-template-columns:130px 130px 155px 115px minmax(190px,1fr)}.expense-line-main .summary{grid-column:auto}.expense-line-optional{grid-template-columns:145px 150px minmax(220px,1fr)}.expense-line-optional .payment{grid-column:auto}.expense-line textarea{height:36px;min-height:36px;resize:vertical}
.expense-field{display:grid;gap:4px;color:#6e808d;font-size:10px}.expense-store-field,.expense-category-field{grid-column:1/-1}.expense-store-choices,.expense-category-choices{display:grid;gap:6px}.expense-store-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.expense-category-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-store-choice,.expense-category-choice{display:block!important;position:relative}.expense-store-choice input,.expense-category-choice input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.expense-store-choice span,.expense-category-choice span{display:flex;align-items:center;justify-content:center;gap:4px;min-height:35px;padding:6px;border:1px solid #d5e1e5;border-radius:8px;background:#fff;color:#425c69;font-size:12px;font-weight:650;text-align:center;cursor:pointer}.expense-store-choice input:checked+span,.expense-category-choice input:checked+span{border-color:#328377;background:#eaf7f4;color:#236d64;box-shadow:inset 0 0 0 1px #328377}.expense-store-choice input:checked+span::after,.expense-category-choice input:checked+span::after{content:'✓';font-weight:900}
.expense-proof-box{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;padding:8px;border:1px dashed #bad4cf;border-radius:9px;background:#f7fbfa}.expense-proof-box>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.expense-proof-box>button{padding:6px 9px}.expense-proof-box>small{color:#758792;font-size:10px}.expense-proof-list{display:flex;gap:5px;flex-wrap:wrap}.expense-proof{position:relative;width:54px;height:54px;overflow:hidden;border-radius:8px;background:#e9f0f2}.expense-proof img{width:100%;height:100%;object-fit:cover}.expense-proof button{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;border-radius:50%;background:#17303dcc;font-size:11px}
.expense-editor-total{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 12px;border-radius:10px;background:#edf8f6}.expense-editor-total b{font-size:21px;color:#28756b}.expense-editor-actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px;flex-wrap:wrap}.expense-editor-actions>div{display:flex;gap:7px;flex-wrap:wrap}
.expense-review-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px;padding:10px;border-radius:10px;background:#fff8e9}.expense-review-box label{grid-column:1/-1}.expense-review-box textarea{height:60px;min-height:60px}.expense-review-box button{padding:7px 10px}
.expense-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:#071722df}.expense-lightbox img{max-width:96vw;max-height:90vh;border-radius:10px}.expense-lightbox button{position:absolute;top:16px;right:16px;width:40px;height:40px;padding:0;border-radius:50%;background:#fff;color:#17303e;font-size:22px}
.mobile-dock button[data-mobile-tab="expense-management"]::before{content:'▥'}
@media(max-width:900px){.expense-kpis{grid-template-columns:repeat(3,1fr)}.expense-tools{grid-template-columns:minmax(180px,1fr) 150px}.expense-filter-more{grid-column:1/-1}.expense-card-main{grid-template-columns:minmax(150px,1fr) 110px 105px auto}.expense-card-main>.expense-card-cell:nth-child(3){display:none}.expense-line-grid,.expense-line-main{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-line-main .summary,.expense-line-optional .payment{grid-column:span 3}}
@media(max-width:768px){
  #expense-management>.card{margin:8px -8px 76px;padding:8px;border:0;border-radius:0;background:#f4f7f8}.expense-shell{gap:7px}.expense-head{padding:1px 2px}.expense-head h2{font-size:19px}.expense-head p{display:none}.expense-head-actions button{padding:7px 9px;font-size:11px}
  .expense-kpis{grid-template-columns:repeat(4,1fr);gap:5px}.expense-kpi{min-width:0;min-height:55px;padding:7px;border-radius:9px}.expense-kpi:first-child{grid-column:span 2}.expense-kpi small{font-size:9px}.expense-kpi b{margin-top:4px;font-size:16px}
  .expense-summary-grid{grid-template-columns:1fr}.expense-summary{padding:8px}.expense-summary:nth-child(2){display:none}.expense-summary-chip{min-width:0;flex:1 1 30%;padding:5px 7px}
  .expense-tools{grid-template-columns:1fr 1fr;padding:6px;gap:5px}.expense-tools>input:first-child{grid-column:1/-1}.expense-tools input,.expense-tools select,.expense-tools button{height:31px;padding:4px 6px;font-size:10px}.expense-filter-more{grid-column:1/-1}.expense-filter-more>summary{height:31px;padding:7px 8px;font-size:10px}.expense-filter-more>div{display:grid;grid-template-columns:1fr 1fr;padding:7px}.expense-filter-more>div select:last-of-type{grid-column:1/-1}
  .expense-list{gap:4px}.expense-card-main{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:7px 8px}.expense-card-title b{font-size:12px}.expense-card-title small{font-size:9px}.expense-card-main>.expense-card-cell{display:none}.expense-card-amount{display:block!important;font-size:13px}.expense-card-actions button{padding:4px 6px;font-size:9px}.expense-card-actions button:not([data-expense-action="toggle"]){display:none}
  .expense-card.expanded .expense-card-actions{grid-column:1/-1}.expense-card.expanded .expense-card-actions button{display:inline-block}.expense-card-detail{padding:7px 8px}.expense-detail-row{grid-template-columns:62px 70px minmax(0,1fr) 70px;gap:4px;font-size:9px}.expense-detail-row b{font-size:10px}
  .expense-employee-summary{grid-template-columns:repeat(4,1fr);gap:5px}.expense-employee-summary>div{padding:7px}.expense-employee-summary b{font-size:14px}
  .expense-editor{width:100%;height:100dvh;max-height:100dvh;padding:10px;border-radius:0}.expense-editor-head h2{font-size:18px}.expense-editor-head p{font-size:10px}.expense-meta-grid{grid-template-columns:repeat(2,1fr);gap:5px;margin-top:7px}.expense-meta-grid .wide{grid-column:1/-1}.expense-meta-grid input,.expense-meta-grid select{height:32px;font-size:11px}
  .expense-lines{gap:6px;margin-top:8px}.expense-line{padding:7px}.expense-line-grid,.expense-line-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.expense-line-main .summary,.expense-line-optional .payment{grid-column:1/-1}.expense-store-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.expense-category-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.expense-store-choice span{min-height:34px;padding:4px 1px;font-size:10px}.expense-category-choice span{min-height:34px;padding:4px 2px;font-size:10px}.expense-line-main .amount input{font-size:16px;font-weight:800}.expense-line-grid input,.expense-line-grid select,.expense-line-grid textarea{height:36px;font-size:12px}.expense-line-more>summary,.expense-form-more>summary{padding:7px 8px;font-size:10px}.expense-form-more{margin-top:7px}.expense-proof-box{padding:7px}.expense-proof-box>button{flex:1 1 auto}.expense-editor-total{margin-top:6px;padding:7px 9px}.expense-editor-total b{font-size:17px}.expense-editor-actions{position:sticky;bottom:-10px;margin:7px -10px -10px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e7ea}.expense-editor-actions button{padding:7px 9px;font-size:11px}
  .mobile-dock{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.mobile-dock::-webkit-scrollbar{display:none}.mobile-dock button{flex:0 0 calc(100% / 7);min-width:0}.mobile-dock button[data-mobile-tab="expense-management"]{display:block}
}
