.project-card[data-v-7e627fb4]{background:#fff;border:1.5px solid #eef0f8;border-radius:14px;padding:20px;cursor:pointer;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.project-card[data-v-7e627fb4]:hover{-webkit-box-shadow:0 4px 20px rgba(45,43,85,.1);box-shadow:0 4px 20px rgba(45,43,85,.1)}.project-card__header[data-v-7e627fb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:16px}.project-card__name[data-v-7e627fb4]{font-size:15px;font-weight:700;color:#2d2b55;margin:0 0 4px}.project-card__client[data-v-7e627fb4]{font-size:12px;color:#888}.project-card__badge[data-v-7e627fb4]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}.project-card__badge--active[data-v-7e627fb4]{background:#e8faf6;color:#1d9e75}.project-card__badge--paused[data-v-7e627fb4]{background:#fff8e6;color:#d08b00}.project-card__badge--completed[data-v-7e627fb4]{background:#eef2ff;color:#534ab7}.project-card__badge--cancelled[data-v-7e627fb4]{background:#fef2f2;color:#ef4444}.project-card__metrics[data-v-7e627fb4]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.project-card__progress[data-v-7e627fb4]{margin-bottom:14px}.project-card__footer[data-v-7e627fb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:12px;color:#999}.project-card__date[data-v-7e627fb4],.project-card__invoices[data-v-7e627fb4]{font-size:12px;color:#aaa}.metric[data-v-7e627fb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.metric__label[data-v-7e627fb4]{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.04em}.metric__value[data-v-7e627fb4]{font-size:13px;font-weight:700;color:#2d2b55}.metric__value--green[data-v-7e627fb4]{color:#1d9e75}.metric__value--red[data-v-7e627fb4]{color:#ef4444}.progress-bar[data-v-7e627fb4]{height:6px;background:#f0f0f8;border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-bar__fill[data-v-7e627fb4]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#3ecfb4),to(#1a3a5c));background:linear-gradient(90deg,#3ecfb4,#1a3a5c);border-radius:4px;-webkit-transition:width .4s;transition:width .4s}.progress-bar__fill--full[data-v-7e627fb4]{background:#1d9e75}.progress-label[data-v-7e627fb4]{font-size:11px;color:#aaa}@media(max-width:480px){.project-card[data-v-7e627fb4]{padding:14px}.project-card__metrics[data-v-7e627fb4]{gap:4px}.metric__value[data-v-7e627fb4]{font-size:12px}.metric__label[data-v-7e627fb4]{font-size:9px}}.add-payment-modal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.add-payment-modal.el-dialog.is-fullscreen .el-dialog__header{display:block!important;padding:0!important;border-bottom:none!important;background:transparent!important}.add-payment-modal .el-dialog__body{padding:0!important;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.add-payment-modal .el-dialog__footer{padding:14px 28px 20px!important;border-top:1.5px solid #e4eaf6;-ms-flex-negative:0;flex-shrink:0}.apm-header[data-v-33a88efa]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 28px;background:#fff;border-bottom:1.5px solid #e4eaf6}.apm-header[data-v-33a88efa],.apm-header__left[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.apm-header__left[data-v-33a88efa]{gap:12px}.apm-header__icon[data-v-33a88efa]{font-size:22px;color:#3ecfb4}.apm-header__title[data-v-33a88efa]{font-size:16px;font-weight:700;color:#31355c;margin:0 0 2px;line-height:1.2}.apm-header__subtitle[data-v-33a88efa]{font-size:12px;color:#aaa;display:block}.apm-header__close[data-v-33a88efa]{background:none;border:1.5px solid #e4eaf6;border-radius:8px;width:34px;height:34px;font-size:16px;cursor:pointer;color:#909399;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .15s;transition:all .15s;-ms-flex-negative:0;flex-shrink:0}.apm-header__close[data-v-33a88efa]:hover{border-color:#31355c;color:#31355c;background:#f7f8fc}.apm-tabs[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:16px;padding:20px 28px;border-bottom:1.5px solid #e4eaf6;background:#fff;-ms-flex-negative:0;flex-shrink:0}@media(max-width:480px){.apm-tabs[data-v-33a88efa]{padding:14px 16px;gap:10px}}.apm-tab[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:16px 28px;min-width:180px;background:#fff;border:1.5px solid #e4eaf6;border-radius:12px;font-size:12px;font-weight:600;color:#909399;cursor:pointer;-webkit-transition:all .18s;transition:all .18s}.apm-tab i[data-v-33a88efa]{font-size:24px;color:#c0c4cc;-webkit-transition:color .18s;transition:color .18s}.apm-tab[data-v-33a88efa]:hover{border-color:#3ecfb4;color:#31355c}.apm-tab:hover i[data-v-33a88efa]{color:#3ecfb4}.apm-tab--active[data-v-33a88efa]{border-color:#3ecfb4;background:rgba(62,207,180,.07);color:#31355c}.apm-tab--active i[data-v-33a88efa]{color:#3ecfb4}@media(max-width:480px){.apm-tab[data-v-33a88efa]{width:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:14px 8px;font-size:11px}.apm-tab i[data-v-33a88efa]{font-size:20px}}.apm-placeholder[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;padding:60px 20px;color:#c0c4cc}.apm-placeholder i[data-v-33a88efa]{font-size:40px}.apm-placeholder p[data-v-33a88efa]{font-size:14px;margin:0}.apm-body[data-v-33a88efa]{min-height:0}.apm-layout[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;padding:24px 28px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}@media(max-width:768px){.apm-layout[data-v-33a88efa]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:16px;gap:16px}}.apm-left[data-v-33a88efa]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.apm-right[data-v-33a88efa]{width:280px;-ms-flex-negative:0;flex-shrink:0}@media(max-width:768px){.apm-right[data-v-33a88efa]{width:100%;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}}.apm-row[data-v-33a88efa]{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.apm-row[data-v-33a88efa]{grid-template-columns:1fr}}.apm-section[data-v-33a88efa]{margin-bottom:20px}.apm-section__title[data-v-33a88efa]{font-size:11px;font-weight:700;color:#909399;text-transform:uppercase;letter-spacing:.6px;margin:0 0 12px;padding-bottom:8px;border-bottom:1.5px solid #e4eaf6}.payments-history[data-v-33a88efa]{background:#f7f8fc;border:1.5px solid #e4eaf6;border-radius:10px;overflow:hidden}.payment-history-row[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #e4eaf6;font-size:13px}.payment-history-row[data-v-33a88efa]:last-child{border-bottom:none}.phi-date[data-v-33a88efa]{color:#aaa;font-size:12px;min-width:80px}.phi-method[data-v-33a88efa]{color:#666;-webkit-box-flex:1;-ms-flex:1;flex:1}.phi-amount[data-v-33a88efa]{font-weight:700;color:#31355c}.phi-retention[data-v-33a88efa]{font-size:11px;color:#ef4444}.retention-presets[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.preset-chip[data-v-33a88efa]{padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid #e4eaf6;color:#606266;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.preset-chip[data-v-33a88efa]:hover{border-color:#3ecfb4;color:#31355c}.preset-chip--active[data-v-33a88efa]{background:#31355c;border-color:#31355c;color:#fff}.preset-chip--active[data-v-33a88efa]:hover{color:#fff;border-color:#31355c}.payment-methods[data-v-33a88efa]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:480px){.payment-methods[data-v-33a88efa]{grid-template-columns:repeat(2,1fr)}}.pmethod[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;padding:16px 8px;border:1.5px solid #e4eaf6;border-radius:12px;background:#fff;cursor:pointer;-webkit-transition:all .18s;transition:all .18s}.pmethod__icon[data-v-33a88efa]{font-size:22px;color:#c0c4cc;-webkit-transition:color .18s;transition:color .18s}.pmethod__label[data-v-33a88efa]{font-size:11px;font-weight:600;color:#909399;-webkit-transition:color .18s;transition:color .18s;text-align:center;line-height:1.2}.pmethod[data-v-33a88efa]:hover{border-color:#3ecfb4}.pmethod:hover .pmethod__icon[data-v-33a88efa],.pmethod:hover .pmethod__label[data-v-33a88efa]{color:#31355c}.pmethod--active[data-v-33a88efa]{border-color:#3ecfb4;background:rgba(62,207,180,.07)}.pmethod--active .pmethod__icon[data-v-33a88efa],.pmethod--active .pmethod__label[data-v-33a88efa]{color:#31355c}.apm-summary[data-v-33a88efa]{background:#f7f8fc;border:1.5px solid #e4eaf6;border-radius:12px;padding:18px 20px;position:sticky;top:16px}.apm-summary__title[data-v-33a88efa]{font-size:13px;font-weight:700;color:#31355c;margin:0 0 14px;padding-bottom:10px;border-bottom:1.5px solid #e4eaf6}.sum-row[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:6px 0;font-size:13px;color:#555}.sum-row--secondary span[data-v-33a88efa]{color:#999;font-size:12px}.sum-row--balance[data-v-33a88efa]{font-size:13px;font-weight:600}.sum-row--retention span[data-v-33a88efa]{color:#ef4444;font-size:12px}.sum-row--retention-total[data-v-33a88efa]{font-weight:600}.sum-row--final[data-v-33a88efa],.sum-row--net[data-v-33a88efa]{padding-top:8px;font-size:14px}.sum-row--pending span[data-v-33a88efa]:last-child{color:#ef4444}.sum-row--done span[data-v-33a88efa]:last-child{color:#1d9e75}.sum-divider[data-v-33a88efa]{border-top:1.5px dashed #e4eaf6;margin:6px 0}.apm-footer[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px}@media(max-width:480px){.apm-footer[data-v-33a88efa]{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.apm-footer .el-button[data-v-33a88efa]{width:100%}}.apm-field[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;margin-bottom:14px}.apm-field__label[data-v-33a88efa]{font-size:12px;font-weight:600;color:#555}.apm-field__label--required[data-v-33a88efa]:after{content:" *";color:#ef4444}.apm-section .el-input-group .el-input-group__prepend[data-v-33a88efa],.apm-section .el-input-group .el-input__inner[data-v-33a88efa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;line-height:40px}.apm-section .el-input-group .el-input__inner[data-v-33a88efa]{padding-left:14px}.text-green[data-v-33a88efa]{color:#1d9e75!important}.text-orange[data-v-33a88efa]{color:#d08b00!important}.dvh[data-v-77402e22]{padding:0}.dvh-identity[data-v-77402e22]{text-align:center;padding:16px 0 12px}.dvh-logo[data-v-77402e22]{display:block;max-height:40px;max-width:120px;-o-object-fit:contain;object-fit:contain;margin:0 auto 8px}.dvh-doc-type[data-v-77402e22]{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#9ca3af;margin:0 0 4px}.dvh-doc-number[data-v-77402e22]{font-size:16px;font-weight:500;color:#31355c;margin:0 0 2px}.dvh-business-name[data-v-77402e22]{font-size:12px;color:#6b7280;margin:0 0 2px}.dvh-business-ruc[data-v-77402e22]{font-size:12px;color:#6b7280;margin:0}.dvh-divider[data-v-77402e22]{border:none;border-bottom:1px solid rgba(0,0,0,.06);margin:12px 0}.dvh-meta-grid[data-v-77402e22]{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:4px 0}.dvh-meta-cell[data-v-77402e22]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:3px}.dvh-meta-label[data-v-77402e22]{font-size:11px;color:#9ca3af;display:block}.dvh-meta-value[data-v-77402e22]{font-size:13px;font-weight:500;color:#31355c}.dvh-client[data-v-77402e22]{padding:4px 0}.dvh-client-name[data-v-77402e22]{font-size:14px;font-weight:500;color:#31355c;margin:2px 0}.dvh-client-meta[data-v-77402e22]{font-size:12px;color:#6b7280;margin:0}.dvh-sri-section[data-v-77402e22]{padding:4px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.dvh-sri-title[data-v-77402e22]{font-size:13px;font-weight:600;color:#31355c;margin:0}.dvh-sri-row[data-v-77402e22]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:3px}.dvh-sri-code[data-v-77402e22]{font-size:11px;font-family:monospace;word-break:break-all;color:#6b7280;line-height:1.5}.dvh-sri-env[data-v-77402e22]{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;display:inline-block}.dvh-sri-env.env-prod[data-v-77402e22]{background:#e4fff4;color:#1d9e75}.dvh-sri-env.env-dev[data-v-77402e22]{background:#fff8e6;color:#ba7517}.ipf-fullscreen[data-v-18bd1262]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2100;background:#f5f6fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.ipf-header[data-v-18bd1262]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #e4eaf6;-ms-flex-negative:0;flex-shrink:0;background:#fff}.ipf-header-left[data-v-18bd1262],.ipf-header[data-v-18bd1262]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ipf-header-left[data-v-18bd1262]{gap:10px}.ipf-title[data-v-18bd1262]{font-size:15px;font-weight:600;color:#31355c;margin:0}.ipf-back[data-v-18bd1262]{width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;color:#31355c;-webkit-transition:background .15s;transition:background .15s}.ipf-back[data-v-18bd1262]:hover{background:#f0f2f7}.ipf-header-right[data-v-18bd1262]{gap:8px}.ipf-action-btn[data-v-18bd1262],.ipf-header-right[data-v-18bd1262]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ipf-action-btn[data-v-18bd1262]{width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:17px;color:#31355c;-webkit-transition:all .15s;transition:all .15s}.ipf-action-btn[data-v-18bd1262]:hover{background:#f0f2f7;color:rgb(31.2765957447,33.829787234,58.7234042553)}.ipf-btn-sign[data-v-18bd1262]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;height:36px;padding:0 14px;border:none;border-radius:10px;background:#31355c;color:#fff;font-size:13px;font-weight:600;cursor:pointer;-webkit-transition:background .15s;transition:background .15s;white-space:nowrap}.ipf-btn-sign[data-v-18bd1262]:hover{background:rgb(34.8212765957,37.6638297872,65.3787234043)}.ipf-btn-sign i[data-v-18bd1262]{font-size:14px}.ipf-close[data-v-18bd1262]{width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;color:#909399;-webkit-transition:all .15s;transition:all .15s}.ipf-close[data-v-18bd1262]:hover{background:#f0f2f7;color:#31355c}.ipf-body[data-v-18bd1262]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:16px 0;-webkit-overflow-scrolling:touch}.ipf-body .logo[data-v-18bd1262]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.ipf-body .logo img[data-v-18bd1262]{max-width:180px;height:auto;display:block;border-radius:8px}.ipf-body .info h2[data-v-18bd1262]{color:#31355c;font-size:22px;font-weight:700;line-height:1.2}.ipf-body .info h4[data-v-18bd1262]{color:#31355c;font-size:14px;font-weight:600}.ipf-body .info p.font-semi-bold[data-v-18bd1262]{color:#6b7280;font-size:13px;font-weight:500}.ipf-body .card-quotes-view-logo[data-v-18bd1262]{padding-bottom:20px;border-bottom:1px solid #e8ecf1}.ipf-body .card-quotes-view-info[data-v-18bd1262]{padding:16px 0;border-bottom:1px solid #e8ecf1}.ipf-body .card-quotes-view-info label.font-semi-bold[data-v-18bd1262],.ipf-body .card-quotes-view-info label[data-v-18bd1262]{font-size:11px!important;color:#9ca3af!important;display:block;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;margin-bottom:2px}.ipf-body .card-quotes-view-info p.m-0[data-v-18bd1262],.ipf-body .card-quotes-view-info p[data-v-18bd1262]{color:#31355c;font-weight:600;font-size:14px}.ipf-body .card-quotes-view-body-products p[data-v-18bd1262]{color:#31355c;font-size:13px}.ipf-body .card-quotes-view-body-products strong[data-v-18bd1262]{color:#31355c;font-weight:700;font-size:14px}.ipf-body .card-quotes-view-body-products .text-muted[data-v-18bd1262]{color:#6b7280!important;font-size:12px}.ipf-body .card-quotes-view-aditionals[data-v-18bd1262]{background:#f9fafb!important;border:1px solid #e8ecf2;border-radius:10px}.ipf-body .card-quotes-view-aditionals p.font-semi-bold[data-v-18bd1262]{color:#31355c;font-size:13px;font-weight:600}.ipf-body .card-quotes-view-method-pay[data-v-18bd1262]{background:#fff;border:1px solid #e8ecf2;border-radius:10px}.ipf-body .card-quotes-view-method-pay p.font-semi-bold[data-v-18bd1262]{color:#31355c;font-weight:600;font-size:13px}.ipf-body .card-quotes-view-method-pay p.m-0[data-v-18bd1262]:not(.font-semi-bold){color:#31355c;font-weight:600;font-size:14px}.preview-fade-enter-active[data-v-18bd1262],.preview-fade-leave-active[data-v-18bd1262]{-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.preview-fade-enter[data-v-18bd1262],.preview-fade-leave-to[data-v-18bd1262]{opacity:0}.ipf-dropdown-menu{z-index:2200!important}.ipf-dropdown-menu .el-dropdown-menu__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.ipf-dropdown-menu .el-dropdown-menu__item i{width:16px;text-align:center;font-size:15px}.link-invoice-modal{border-radius:12px!important;overflow:hidden}.link-invoice-modal .el-dialog__header{padding:0;border-bottom:1px solid #eef0f8}.link-invoice-modal .el-dialog__body{padding:0}.link-invoice-modal .el-dialog__footer{padding:0;border-top:1px solid #eef0f8}@media(max-width:768px){.link-invoice-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100vh!important;max-height:100vh!important;margin:0!important;border-radius:0!important}.link-invoice-modal .el-dialog__body{height:calc(100vh - 108px);overflow-y:hidden}}.li-header[data-v-f6a42534]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px 20px}.li-header__title[data-v-f6a42534]{font-size:14px;font-weight:600;color:#2d2b55}.li-header__close[data-v-f6a42534]{background:none;border:none;font-size:16px;cursor:pointer;color:#c0c4cc;padding:2px;border-radius:4px;-webkit-transition:all .15s;transition:all .15s}.li-header__close[data-v-f6a42534]:hover{color:#2d2b55;background:#f5f5f5}.li-body[data-v-f6a42534]{padding:20px}.li-search[data-v-f6a42534]{margin-bottom:16px}.li-search__label[data-v-f6a42534]{font-size:11px;color:#9ca3af;margin-bottom:5px;font-weight:500}.li-scroll[data-v-f6a42534]{max-height:360px;overflow-y:auto;-webkit-overflow-scrolling:touch}.li-loading-more[data-v-f6a42534]{text-align:center;padding:12px;color:#c0c4cc;font-size:12px}.li-count[data-v-f6a42534]{font-size:11px;color:#9ca3af;margin-bottom:8px}.li-inv-link[data-v-f6a42534]{color:#2d2b55;font-weight:600;font-size:12px;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;-webkit-transition:all .15s;transition:all .15s}.li-inv-link[data-v-f6a42534]:hover{color:#3fdbbf;-webkit-text-decoration-color:#3fdbbf;text-decoration-color:#3fdbbf}.li-amount[data-v-f6a42534]{font-weight:600;color:#1f2937}.li-status[data-v-f6a42534]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:500;white-space:nowrap}.li-status--draft[data-v-f6a42534]{background:#f1efe8;color:#5f5e5a}.li-status--success[data-v-f6a42534]{background:#e1f5ee;color:#0f6e56}.li-status--failed[data-v-f6a42534]{background:#fcebeb;color:#a32d2d}.li-table[data-v-f6a42534]{border:1px solid #eef0f8;border-radius:10px;overflow:hidden;max-height:360px;overflow-y:auto}.li-table__header[data-v-f6a42534],.li-table__row[data-v-f6a42534]{display:grid;grid-template-columns:36px 160px 1fr 110px 100px 110px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.li-table__check-col[data-v-f6a42534]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 8px}.li-table__check-col input[type=checkbox][data-v-f6a42534]{cursor:pointer;width:14px;height:14px;accent-color:#3ecfb4}.li-table__header[data-v-f6a42534]{background:#f7f8fa;border-bottom:1px solid #eef0f8;position:sticky;top:0;z-index:1}.li-table__header span[data-v-f6a42534]:not(.li-table__check-col){padding:9px 10px;font-size:11px;font-weight:600;color:#9a9ab0;text-transform:uppercase;letter-spacing:.03em}.li-table__row[data-v-f6a42534]{border-bottom:1px solid #f0f0f5;cursor:pointer;-webkit-transition:background .12s;transition:background .12s}.li-table__row[data-v-f6a42534]:last-child{border-bottom:none}.li-table__row[data-v-f6a42534]:hover{background:#f9f9fc}.li-table__row span[data-v-f6a42534]:not(.li-table__check-col):not(.li-inv-link):not(.li-amount):not(.li-status){padding:9px 10px;font-size:13px;color:#4b5563}.li-table__row .li-amount[data-v-f6a42534],.li-table__row .li-inv-link[data-v-f6a42534]{padding:9px 10px;display:block}.li-table__row .li-status[data-v-f6a42534]{margin:0 10px}.li-empty[data-v-f6a42534],.li-loading[data-v-f6a42534]{text-align:center;padding:40px 20px;color:#c0c4cc;font-size:13px}.li-footer[data-v-f6a42534]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px;padding:12px 20px}.li-btn[data-v-f6a42534]{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;border:none}.li-btn--cancel[data-v-f6a42534]{background:transparent;border:1px solid #e4eaf6;color:#606266}.li-btn--cancel[data-v-f6a42534]:hover{background:#f5f5f5}.li-btn--primary[data-v-f6a42534]{background:#3fdbbf;color:#fff;font-weight:600}.li-btn--primary[data-v-f6a42534]:hover{background:#0e8c87}.li-btn--primary[data-v-f6a42534]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.li-body[data-v-f6a42534]{padding:14px}.li-table[data-v-f6a42534]{overflow-x:auto;-webkit-overflow-scrolling:touch}.li-table__header[data-v-f6a42534],.li-table__row[data-v-f6a42534]{grid-template-columns:36px 160px 150px 110px 100px 110px}}.project-form-modal{border-radius:12px!important;overflow:hidden}.project-form-modal .el-dialog__header{padding:0;border-bottom:1px solid #eef0f8}.project-form-modal .el-dialog__body{padding:0}.project-form-modal .el-dialog__footer{padding:0;border-top:1px solid #eef0f8}.project-form-modal .el-input-group__prepend{padding:0 12px}.project-form-modal .el-input-group--prepend .el-input__inner{padding-left:12px}@media(max-width:768px){.project-form-modal{width:100%!important;margin:0!important;border-radius:0!important;max-height:100vh!important}.project-form-modal .el-dialog__body{overflow-y:auto;max-height:calc(100vh - 108px)}}.pf-header[data-v-bdfd39a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px 20px}.pf-header__title[data-v-bdfd39a6]{font-size:14px;font-weight:600;color:#2d2b55}.pf-header__close[data-v-bdfd39a6]{background:none;border:none;font-size:16px;cursor:pointer;color:#c0c4cc;padding:2px;border-radius:4px;-webkit-transition:all .15s;transition:all .15s}.pf-header__close[data-v-bdfd39a6]:hover{color:#2d2b55;background:#f5f5f5}.pf-body[data-v-bdfd39a6]{padding:20px}.pf-field[data-v-bdfd39a6]{margin-bottom:14px}.pf-field__label[data-v-bdfd39a6]{font-size:11px;color:#9ca3af;margin-bottom:5px;font-weight:500}.pf-required[data-v-bdfd39a6]{color:#f56c6c}.pf-skeleton[data-v-bdfd39a6]{padding:0}.pf-skeleton__line[data-v-bdfd39a6]{border-radius:6px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f0f0f0),color-stop(50%,#e8e8e8),color-stop(75%,#f0f0f0));background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;-webkit-animation:pf-shimmer-bdfd39a6 1.2s ease-in-out infinite;animation:pf-shimmer-bdfd39a6 1.2s ease-in-out infinite}.pf-skeleton__line--label[data-v-bdfd39a6]{width:100px;height:12px;margin-bottom:8px}.pf-skeleton__line--input[data-v-bdfd39a6]{width:100%;height:32px}@-webkit-keyframes pf-shimmer-bdfd39a6{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pf-shimmer-bdfd39a6{0%{background-position:200% 0}to{background-position:-200% 0}}.pf-row[data-v-bdfd39a6]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.pf-footer[data-v-bdfd39a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px;padding:12px 20px}.pf-btn[data-v-bdfd39a6]{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;border:none}.pf-btn--cancel[data-v-bdfd39a6]{background:transparent;border:1px solid #e4eaf6;color:#606266}.pf-btn--cancel[data-v-bdfd39a6]:hover{background:#f5f5f5}.pf-btn--primary[data-v-bdfd39a6]{background:#3fdbbf;color:#fff;font-weight:600}.pf-btn--primary[data-v-bdfd39a6]:hover{background:#0e8c87}.pf-btn--primary[data-v-bdfd39a6]:disabled{opacity:.6;cursor:not-allowed}.project-detail__header[data-v-0f2ff2ea]{position:relative;background:linear-gradient(135deg,#2d2b55,#0e8c87,#3fdbbf);border-radius:14px;padding:24px 28px;margin-bottom:24px;color:#fff}.project-detail__back[data-v-0f2ff2ea]{background:hsla(0,0%,100%,.15);border:none;color:#fff;font-size:13px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;margin-bottom:16px;-webkit-transition:background .2s;transition:background .2s}.project-detail__back[data-v-0f2ff2ea]:hover{background:hsla(0,0%,100%,.25)}.project-detail__menu[data-v-0f2ff2ea]{position:absolute;top:14px;right:14px}.project-detail__menu-btn[data-v-0f2ff2ea]{width:32px;height:32px;border-radius:8px;border:none;background:hsla(0,0%,100%,.15);color:#fff;font-size:18px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:background .15s;transition:background .15s}.project-detail__menu-btn[data-v-0f2ff2ea]:hover{background:hsla(0,0%,100%,.3)}.project-detail__meta[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:20px}.project-detail__name[data-v-0f2ff2ea]{font-size:20px;font-weight:700;margin:0 0 4px}.project-detail__client[data-v-0f2ff2ea]{font-size:13px;opacity:.75}.project-detail__dates[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.project-detail__date-block[data-v-0f2ff2ea]{background:hsla(0,0%,100%,.12);border-radius:8px;padding:6px 14px;text-align:center}.project-detail__date-block--counter[data-v-0f2ff2ea]{background:hsla(0,0%,100%,.2)}.project-detail__date-label[data-v-0f2ff2ea]{display:block;font-size:10px;opacity:.7;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.project-detail__date-value[data-v-0f2ff2ea]{display:block;font-size:13px;font-weight:600}.project-detail__kpis[data-v-0f2ff2ea]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.project-detail__loading[data-v-0f2ff2ea]{text-align:center;padding:60px;color:#aaa}.project-detail__tabs[data-v-0f2ff2ea]{margin-top:8px}.kpi[data-v-0f2ff2ea]{background:hsla(0,0%,100%,.18);border-radius:10px;padding:12px 16px}.kpi__label[data-v-0f2ff2ea]{display:block;font-size:11px;opacity:.85;margin-bottom:4px}.kpi__value[data-v-0f2ff2ea]{font-size:18px;font-weight:700;color:#fff}.kpi__value--green[data-v-0f2ff2ea]{color:#d4ffe8}.kpi__value--red[data-v-0f2ff2ea]{color:#ffd4d4}.status-badge[data-v-0f2ff2ea]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.status-badge--paid[data-v-0f2ff2ea]{background:#e8faf6;color:#1d9e75}.status-badge--partial[data-v-0f2ff2ea]{background:#fff8e6;color:#d08b00}.status-badge--pending[data-v-0f2ff2ea]{background:#f0f0f8;color:#888}.pl-summary[data-v-0f2ff2ea]{max-width:100%;background:#fff;border:1.5px solid #eef0f8;border-radius:12px;padding:20px 24px}.pl-row[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 0;font-size:14px;color:#2d2b55}.pl-row--income span[data-v-0f2ff2ea]:last-child{color:#1d9e75;font-weight:600}.pl-row--expense span[data-v-0f2ff2ea]:last-child{color:#ef4444;font-weight:600}.pl-row--profit[data-v-0f2ff2ea]{font-size:15px;border-top:1.5px solid #eef0f8;margin-top:4px;padding-top:12px}.pl-divider[data-v-0f2ff2ea]{border-top:1px dashed #eef0f8;margin:8px 0}.text-green[data-v-0f2ff2ea]{color:#1d9e75;font-weight:600}.text-red[data-v-0f2ff2ea]{color:#ef4444;font-weight:600}.inv-table[data-v-0f2ff2ea]{border:1px solid #eef0f8;border-radius:10px;overflow:hidden}.inv-table__header[data-v-0f2ff2ea],.inv-table__row[data-v-0f2ff2ea]{display:grid;grid-template-columns:160px 1fr 110px 110px 110px 110px 76px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.inv-table--expenses .inv-table__header[data-v-0f2ff2ea],.inv-table--expenses .inv-table__row[data-v-0f2ff2ea]{grid-template-columns:110px 1fr 130px 110px 130px 60px}.inv-table__header[data-v-0f2ff2ea]{background:#f7f8fa;border-bottom:1px solid #eef0f8}.inv-table__header span[data-v-0f2ff2ea]{padding:9px 12px;font-size:11px;font-weight:600;color:#9a9ab0;text-transform:uppercase;letter-spacing:.03em}.inv-table__row[data-v-0f2ff2ea]{border-bottom:1px solid #f0f0f5;-webkit-transition:background .12s;transition:background .12s}.inv-table__row[data-v-0f2ff2ea]:last-child{border-bottom:none}.inv-table__row[data-v-0f2ff2ea]:hover{background:#f9f9fc}.inv-cell[data-v-0f2ff2ea]{padding:10px 12px;font-size:13px;color:#2d2b55}.inv-cell--number[data-v-0f2ff2ea]{font-weight:600;font-size:12px}.inv-cell--link[data-v-0f2ff2ea]{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;-webkit-transition:all .15s;transition:all .15s}.inv-cell--link[data-v-0f2ff2ea]:hover{color:#3fdbbf;-webkit-text-decoration-color:#3fdbbf;text-decoration-color:#3fdbbf}.inv-cell--actions[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-right:10px}.inv-action-btn[data-v-0f2ff2ea]{width:28px;height:28px;border-radius:6px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:13px;-webkit-transition:all .15s;transition:all .15s;background:transparent}.inv-action-btn--primary[data-v-0f2ff2ea]{border:1.5px solid #3fdbbf;color:#3fdbbf}.inv-action-btn--primary[data-v-0f2ff2ea]:hover{background:#e8faf6;border-color:#0e8c87;color:#0e8c87}.inv-action-btn--danger[data-v-0f2ff2ea]{border:1.5px solid #dde0ea;color:#b0b4c0}.inv-action-btn--danger[data-v-0f2ff2ea]:hover{background:#fef0f0;border-color:#ef4444;color:#ef4444}.inv-empty[data-v-0f2ff2ea]{padding:28px;text-align:center;font-size:13px;color:#c0c4cc}@-webkit-keyframes pd-shimmer-0f2ff2ea{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pd-shimmer-0f2ff2ea{0%{background-position:200% 0}to{background-position:-200% 0}}.pd-sk[data-v-0f2ff2ea]{border-radius:8px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,hsla(0,0%,100%,.25)),color-stop(50%,hsla(0,0%,100%,.4)),color-stop(75%,hsla(0,0%,100%,.25)));background:linear-gradient(90deg,hsla(0,0%,100%,.25) 25%,hsla(0,0%,100%,.4) 50%,hsla(0,0%,100%,.25) 75%);background-size:200% 100%;-webkit-animation:pd-shimmer-0f2ff2ea 1.3s ease-in-out infinite;animation:pd-shimmer-0f2ff2ea 1.3s ease-in-out infinite}.pd-sk--back[data-v-0f2ff2ea]{width:80px;height:30px;border-radius:8px;margin-bottom:16px}.pd-sk--title[data-v-0f2ff2ea]{width:260px;height:26px;margin-bottom:8px}.pd-sk--subtitle[data-v-0f2ff2ea]{width:120px;height:14px;margin-bottom:20px}.pd-sk--kpi[data-v-0f2ff2ea]{height:64px;border-radius:10px}.pd-sk--tab[data-v-0f2ff2ea]{width:70px;height:14px;border-radius:6px}.pd-sk--row[data-v-0f2ff2ea]{width:100%;height:44px;border-radius:8px}.pd-skeleton__header[data-v-0f2ff2ea]{background:linear-gradient(135deg,#2d2b55,#0e8c87,#3fdbbf);border-radius:14px;padding:24px 28px;margin-bottom:24px}.pd-skeleton__kpis[data-v-0f2ff2ea]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pd-skeleton__tabs[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #eef0f8}.pd-skeleton__table[data-v-0f2ff2ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.inv-table-scroll[data-v-0f2ff2ea]{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.project-detail__header[data-v-0f2ff2ea]{padding:16px}.project-detail__meta[data-v-0f2ff2ea]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.project-detail__dates[data-v-0f2ff2ea]{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.project-detail__date-block[data-v-0f2ff2ea]{padding:6px 10px}.project-detail__name[data-v-0f2ff2ea]{font-size:16px}.project-detail__kpis[data-v-0f2ff2ea]{grid-template-columns:repeat(2,1fr);gap:8px}.kpi[data-v-0f2ff2ea]{padding:10px 12px}.kpi__value[data-v-0f2ff2ea]{font-size:15px}.inv-table__header[data-v-0f2ff2ea],.inv-table__row[data-v-0f2ff2ea]{min-width:680px}.inv-table--expenses .inv-table__header[data-v-0f2ff2ea],.inv-table--expenses .inv-table__row[data-v-0f2ff2ea]{min-width:560px}.pd-skeleton__kpis[data-v-0f2ff2ea]{grid-template-columns:repeat(2,1fr)}.pd-skeleton__header[data-v-0f2ff2ea]{padding:16px}}.plan-gate[data-v-3f1ce20d]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:4rem 2rem;text-align:center;min-height:320px}.plan-gate[data-v-3f1ce20d],.plan-gate__icon[data-v-3f1ce20d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plan-gate__icon[data-v-3f1ce20d]{width:80px;height:80px;border-radius:50%;background:#f7f8fc;border:2px solid #e8e7e3;margin-bottom:1.5rem}.plan-gate__title[data-v-3f1ce20d]{font-size:1.25rem;font-weight:700;color:#2d2b55;margin-bottom:.5rem}.plan-gate__description[data-v-3f1ce20d]{color:#6b7280;font-size:.95rem;margin-bottom:1.5rem;max-width:360px}.plan-gate__btn[data-v-3f1ce20d]{display:inline-block;padding:.6rem 1.5rem;background:#2d2b55;color:#fff;border-radius:10px;font-weight:600;font-size:.9rem;text-decoration:none;-webkit-transition:background .2s;transition:background .2s}.plan-gate__btn[data-v-3f1ce20d]:hover{background:#3ecfb4;color:#fff;text-decoration:none}.projects-page[data-v-0b4b1472]{padding:24px}.projects-page__topbar[data-v-0b4b1472]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:24px}.projects-page__title h2[data-v-0b4b1472]{font-size:22px;font-weight:700;color:#2d2b55;margin:0 0 2px}.projects-page__sub[data-v-0b4b1472]{font-size:13px;color:#aaa}.summary-cards[data-v-0b4b1472]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card[data-v-0b4b1472]{background:#fff;border:1.5px solid #eef0f8;border-radius:12px;padding:16px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.summary-card--green[data-v-0b4b1472]{border-color:#b7f4e8}.summary-card__label[data-v-0b4b1472]{font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.summary-card__value[data-v-0b4b1472]{font-size:22px;font-weight:700;color:#2d2b55}.projects-grid[data-v-0b4b1472]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.projects-empty[data-v-0b4b1472],.projects-loading[data-v-0b4b1472]{text-align:center;padding:60px 20px;color:#aaa;font-size:14px}@-webkit-keyframes shimmer-0b4b1472{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmer-0b4b1472{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-line[data-v-0b4b1472]{display:block;border-radius:6px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f0f0f5),color-stop(50%,#e4e4ec),color-stop(75%,#f0f0f5));background:linear-gradient(90deg,#f0f0f5 25%,#e4e4ec 50%,#f0f0f5 75%);background-size:200% 100%;-webkit-animation:shimmer-0b4b1472 1.3s ease-in-out infinite;animation:shimmer-0b4b1472 1.3s ease-in-out infinite}.sk-line--label[data-v-0b4b1472]{width:80px;height:11px}.sk-line--value[data-v-0b4b1472]{width:120px;height:26px;margin-top:4px}.sk-line--title[data-v-0b4b1472]{width:55%;height:16px}.sk-line--metric[data-v-0b4b1472]{width:75px;height:18px;margin-top:4px}.sk-line--progress[data-v-0b4b1472]{width:100%;height:6px;border-radius:10px}.sk-line--date[data-v-0b4b1472]{width:90px;height:12px}.sk-badge[data-v-0b4b1472]{width:52px;height:22px;border-radius:20px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f0f0f5),color-stop(50%,#e4e4ec),color-stop(75%,#f0f0f5));background:linear-gradient(90deg,#f0f0f5 25%,#e4e4ec 50%,#f0f0f5 75%);background-size:200% 100%;-webkit-animation:shimmer-0b4b1472 1.3s ease-in-out infinite;animation:shimmer-0b4b1472 1.3s ease-in-out infinite}.summary-card--skeleton[data-v-0b4b1472]{gap:8px}.project-card-skeleton[data-v-0b4b1472]{background:#fff;border:1.5px solid #eef0f8;border-radius:14px;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.pcs__header[data-v-0b4b1472]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pcs__metrics[data-v-0b4b1472]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pcs__metric[data-v-0b4b1472]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pcs__footer[data-v-0b4b1472]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:4px}.btn-primary-custom[data-v-0b4b1472]{background-color:#3fdbbf;border:none;border-radius:10px;color:#fff;font-weight:600}.btn-primary-custom[data-v-0b4b1472]:focus,.btn-primary-custom[data-v-0b4b1472]:hover{background-color:#0e8c87;color:#fff}@media(max-width:768px){.projects-page[data-v-0b4b1472]{padding:16px}.projects-page__topbar[data-v-0b4b1472]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.summary-cards[data-v-0b4b1472]{grid-template-columns:repeat(2,1fr);gap:10px}.summary-card__value[data-v-0b4b1472]{font-size:18px}}