.expense-report{--expense-navy:#072f63;--expense-blue:#0b61b9;--expense-ink:#0f2748;--expense-muted:#5e7089;--expense-line:#dce6f2;--expense-surface:#fff;--expense-soft:#f5f8fc;padding:16px 16px 32px;color:var(--expense-ink)}.expense-report ::-moz-selection{color:#fff;background:#0b61b9}.expense-report ::selection{color:#fff;background:#0b61b9}.expense-loading{position:fixed!important;z-index:20;top:64px;right:0;left:0;margin:0!important}.expense-hero{min-height:132px;overflow:hidden;border-radius:12px;background-color:#fff;background-image:linear-gradient(90deg,#fff,#fff 42%,hsla(0,0%,100%,.9) 58%,hsla(0,0%,100%,.12)),url(/static/expense-report-hero.jpg);background-position:50%,right 42%;background-size:cover,63% auto;background-repeat:no-repeat;border:1px solid #e4ebf4}.expense-hero,.expense-hero__copy{position:relative;display:flex;align-items:center}.expense-hero__copy{z-index:1;gap:24px;padding:22px 34px}.expense-hero__icon{width:68px;height:76px;display:grid;flex:0 0 68px;place-items:center;border-radius:12px;color:#fff;background:#082f5f;box-shadow:0 10px 24px rgba(4,42,85,.22)}.expense-hero__icon .v-icon{color:#fff!important;font-size:42px}.expense-hero h1{margin:0 0 4px;color:#092b5d;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.02em;text-transform:uppercase}.expense-hero p{max-width:620px;margin:0;color:#2f527e;font-size:14px;line-height:1.5}.expense-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.expense-kpi{min-width:0;min-height:100px;display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--expense-surface);border:1px solid var(--expense-line)}.expense-kpi__icon{width:48px;height:48px;display:grid;flex:0 0 48px;place-items:center;border-radius:10px}.expense-kpi__icon .v-icon{color:#fff!important;font-size:25px}.expense-kpi__icon--blue{background:#0879e7}.expense-kpi__icon--green{background:#18a957}.expense-kpi__icon--amber{background:#d99500}.expense-kpi__icon--purple{background:#7445c7}.expense-kpi__icon--red{background:#e53c4c}.expense-kpi__body{min-width:0;display:flex;flex-direction:column}.expense-kpi__label{color:#334e73;font-size:12px;font-weight:600}.expense-kpi__label,.expense-kpi__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-kpi__value{margin-top:2px;color:#071f48;font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums}.expense-kpi__foot{overflow:hidden;margin-top:4px;color:#526780;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.expense-panel{border-radius:12px;background:var(--expense-surface);border:1px solid var(--expense-line)}.expense-panel__head{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}.expense-panel__head h2{display:flex;align-items:center;gap:8px;margin:0;color:#082f67;font-size:14px;font-weight:700}.expense-panel__head h2 .v-icon{color:var(--expense-blue)!important;font-size:21px}.expense-filters{margin-top:12px;padding-bottom:10px}.expense-filters__head{border-bottom:1px solid #edf2f8}.expense-download__button{height:34px;margin:0;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}.expense-filter-grid{display:grid;grid-template-columns:minmax(150px,.85fr) repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:center;padding:12px 16px 0}.expense-report .expense-field.v-text-field--outline>.v-input__control>.v-input__slot,.expense-report .expense-field.v-text-field--solo>.v-input__control>.v-input__slot{min-height:42px;border-radius:8px;background:#fff!important;border-color:#c9d7e8}.expense-report .expense-field .v-label{color:#52667f;font-size:12px}.expense-report .expense-field .v-select__selection,.expense-report .expense-field input{color:#122d50;font-size:12px}.expense-report .expense-field .v-icon{color:#5d7594;font-size:19px}.expense-all-period{min-height:42px;display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;color:#14395f;background:#eef5fc;border:1px solid #c9dcec}.expense-all-period .v-icon{color:#0b61b9!important}.expense-all-period span{display:flex;flex-direction:column;font-size:10px}.expense-all-period strong{font-size:12px}.expense-filter-actions{display:flex;gap:8px}.expense-filter-actions .v-btn{height:42px;min-width:114px;margin:0;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}.expense-period-caption{margin:8px 16px 0;color:#667a93;font-size:10px}.expense-detail{margin-top:12px}.expense-detail__head{border-bottom:1px solid var(--expense-line)}.expense-table-tools,.expense-table-tools label{display:flex;align-items:center;gap:7px}.expense-table-tools label{color:#50647f;font-size:10px;white-space:nowrap}.expense-table-tools select{height:30px;padding:0 24px 0 8px;border-radius:7px;color:#15365d;background:#fff;border:1px solid #cbd8e8;font-size:11px}.expense-detail-button:focus-visible,.expense-pagination button:focus-visible,.expense-table-tools select:focus-visible{outline:3px solid rgba(11,97,185,.25);outline-offset:2px}.expense-search{width:220px}.expense-report .expense-search.v-text-field--solo>.v-input__control>.v-input__slot{min-height:32px;border-radius:7px;background:#fff!important;border:1px solid #cbd8e8}.expense-report .expense-search .v-label,.expense-report .expense-search input{font-size:11px}.expense-report .expense-search .v-icon{color:#647b98;font-size:18px}.expense-table-wrap{overflow-x:auto;scrollbar-color:#a7b9ce #edf3f9;scrollbar-width:thin}.expense-table-wrap::-webkit-scrollbar{height:8px}.expense-table-wrap::-webkit-scrollbar-track{background:#edf3f9}.expense-table-wrap::-webkit-scrollbar-thumb{border-radius:8px;background:#a7b9ce}.expense-table{width:100%;min-width:920px;border-collapse:collapse;font-size:11px}.expense-table th{height:36px;padding:8px 12px;color:#17395f;background:#eef5fb;border-bottom:1px solid #d8e4f1;font-size:10px;font-weight:700;text-align:left;white-space:nowrap}.expense-table td{height:37px;padding:7px 12px;color:#233f63;border-bottom:1px solid #e8eef5;line-height:1.35}.expense-table tbody>tr:not(.expense-breakdown-row):hover{background:#f7faff}.expense-table .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.expense-table .action{text-align:center}.expense-invoice,.expense-strong,.expense-total{color:#0a3972!important;font-weight:700}.expense-total{background:#fbfcfe}.expense-detail-button{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 10px;border-radius:7px;color:#0758aa;background:#f3f8fe;border:1px solid #bdd4ec;font-size:10px;font-weight:700;cursor:pointer}.expense-detail-button:hover{color:#fff;background:#0b61b9;border-color:#0b61b9}.expense-detail-button:hover .v-icon{color:#fff!important}.expense-detail-button .v-icon{color:currentColor!important}.expense-breakdown-row td{height:auto;padding:0;background:#f4f8fd}.expense-breakdown{padding:16px 22px 18px;border-bottom:1px solid #cdddec}.expense-breakdown__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;color:#0b3568}.expense-breakdown__head>div{display:flex;flex-direction:column}.expense-breakdown__head span{color:#526a85;font-size:11px}.expense-breakdown__totals{display:flex;gap:24px;margin:0 0 10px}.expense-breakdown__totals div{min-width:118px}.expense-breakdown__totals dt{color:#526a85;font-size:11px}.expense-breakdown__totals dd{margin:1px 0 0;color:#0b3568;font-weight:700;font-variant-numeric:tabular-nums}.expense-breakdown ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none}.expense-breakdown li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #dbe6f1;font-variant-numeric:tabular-nums}.expense-breakdown__name{min-width:0;display:flex;align-items:flex-start;gap:8px}.expense-breakdown__name .v-icon{color:#3975ad!important}.expense-breakdown__name>span{min-width:0;display:flex;flex-direction:column}.expense-breakdown__name small{overflow:hidden;max-width:38ch;color:#63758c;text-overflow:ellipsis;white-space:nowrap}.expense-breakdown__empty{margin:0;padding:14px 0 2px;color:#647992}.expense-empty{height:180px!important;text-align:center}.expense-chart-empty .v-icon,.expense-empty .v-icon{display:block;margin:0 auto 8px;color:#8ca1b8!important;font-size:32px}.expense-empty span,.expense-empty strong{display:block}.expense-empty strong{margin-bottom:3px;color:#26486f;font-size:13px}.expense-empty span{color:#6b7e95;font-size:11px}.expense-error{min-height:96px;display:flex;align-items:center;gap:12px;margin:16px;padding:16px;border-radius:10px;color:#7d2630;background:#fff2f3;border:1px solid #efc5ca}.expense-error .v-icon{color:#c43a49!important}.expense-error div,.expense-error span{display:block}.expense-error span{margin-top:2px;font-size:11px}.expense-pagination{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;color:#61758f;font-size:10px;border-top:1px solid #edf2f8}.expense-pagination>div{display:flex;align-items:center;gap:9px}.expense-pagination button{width:29px;height:29px;border-radius:7px;color:#0b61b9;background:#fff;border:1px solid #cbd8e8;cursor:pointer}.expense-pagination button:disabled{color:#a9b7c7;background:#f4f7fa;cursor:not-allowed}.expense-chart-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;margin-top:12px}.expense-chart-panel{min-width:0;min-height:310px}.expense-chart-panel .expense-panel__head{border-bottom:1px solid #edf2f8}.expense-distribution{min-height:258px;display:grid;grid-template-columns:190px 1fr;align-items:center;gap:24px;padding:18px}.expense-donut{width:174px;height:174px;display:grid;place-items:center;border-radius:50%;transform:rotate(-90deg)}.expense-donut__center{width:102px;height:102px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#fff;transform:rotate(90deg)}.expense-donut__center strong{color:#0a3267;font-size:15px;font-variant-numeric:tabular-nums}.expense-donut__center span{margin-top:2px;color:#526780;font-size:10px}.expense-legend{max-height:214px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:0;padding:0 4px 0 0;overflow-y:auto;list-style:none;scrollbar-color:#afc0d3 #eef3f8;scrollbar-width:thin}.expense-legend li{min-width:0;display:grid;grid-template-columns:8px minmax(72px,1fr) auto auto;align-items:center;gap:6px;color:#36506f;font-size:10px}.expense-legend__swatch{width:8px;height:8px;border-radius:50%}.expense-legend__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-legend strong{color:#16375f;font-variant-numeric:tabular-nums;white-space:nowrap}.expense-legend small{min-width:28px;color:#526780;font-size:9px;text-align:right}.expense-bars-wrap{min-height:258px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;padding:18px 16px 16px}.expense-axis{height:210px;display:flex;justify-content:space-between;flex-direction:column;padding-bottom:25px;color:#4c627d;font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.expense-bars{height:210px;display:flex;align-items:stretch;gap:5px;overflow-x:auto;border-bottom:1px solid #cfddeb;background-image:linear-gradient(180deg,transparent 0,transparent calc(50% - 1px),#e8eef6 50%,transparent calc(50% + 1px),transparent)}.expense-bar{min-width:14px;flex:1 0 14px;display:flex;align-items:center;flex-direction:column}.expense-bar__track{width:100%;height:184px;display:flex;align-items:flex-end;justify-content:center}.expense-bar__track span{width:min(72%,28px);min-height:0;display:block;border-radius:5px 5px 0 0;transition:height .18s cubic-bezier(.16,1,.3,1)}.expense-bar strong{margin-top:7px;color:#405976;font-size:9px;font-weight:600;white-space:nowrap}.expense-chart-empty{min-height:255px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#6c7f96;font-size:11px}@media (max-width:1280px){.expense-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.expense-filter-actions{grid-column:span 2;justify-content:flex-end}}@media (max-width:960px){.expense-chart-grid{grid-template-columns:1fr}.expense-distribution{grid-template-columns:180px 1fr}.expense-detail__head{align-items:flex-start;flex-direction:column}.expense-table-tools{width:100%;justify-content:space-between}}@media (max-width:700px){.expense-report{padding:8px 8px 24px}.expense-loading{top:56px}.expense-hero{min-height:170px;border-radius:12px;background-image:linear-gradient(90deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.84)),url(/static/expense-report-hero.jpg);background-size:cover;background-position:50%}.expense-hero__copy{align-items:flex-start;gap:14px;padding:22px 18px}.expense-hero__icon{width:48px;height:54px;flex-basis:48px}.expense-hero__icon .v-icon{font-size:30px}.expense-hero h1{font-size:24px}.expense-hero p{font-size:12px}.expense-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0}.expense-kpi{min-height:92px;padding:11px}.expense-kpi__icon{width:40px;height:40px;flex-basis:40px}.expense-kpi__value{font-size:16px}.expense-chart-grid,.expense-panel{margin-right:0;margin-left:0}.expense-filters__head{align-items:flex-start;flex-direction:column}.expense-download,.expense-download .v-menu,.expense-download__button{width:100%}.expense-filter-grid{grid-template-columns:1fr}.expense-filter-actions{grid-column:auto}.expense-filter-actions .v-btn{min-width:0;flex:1}.expense-panel__head{padding:12px}.expense-table-tools{align-items:stretch;flex-direction:column}.expense-search{width:100%}.expense-breakdown ul{grid-template-columns:1fr}.expense-table{min-width:0;table-layout:fixed}.expense-table td,.expense-table th{padding-right:7px;padding-left:7px}.expense-table .expense-col--cif,.expense-table .expense-col--client,.expense-table .expense-col--total{display:none}.expense-table td:first-child,.expense-table th:first-child{width:22%}.expense-table td:nth-child(2),.expense-table th:nth-child(2){width:24%}.expense-detail-button{padding-right:6px;padding-left:6px;font-size:10px}.expense-pagination{align-items:flex-start;gap:8px;flex-direction:column}.expense-distribution{grid-template-columns:1fr;justify-items:center}.expense-legend{width:100%;max-height:none;grid-template-columns:1fr;overflow:visible}.expense-chart-panel{min-height:360px}}@media (max-width:430px){.expense-kpis{grid-template-columns:1fr}.expense-kpi{min-height:78px}.expense-kpi:last-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){.expense-bar__track span{transition:none}}