:root{--bg:#f5f7f9;--surface:#fff;--text:#172033;--muted:#6d7583;--line:#e3e7ec;--primary:#155eef;--primary-dark:#0d47bd;--soft:#edf4ff;--success:#137a4b;--success-bg:#eaf8f1;--warning:#9a5b00;--warning-bg:#fff6df;--danger:#b42318;--danger-bg:#fff0ee;--info:#365899;--info-bg:#edf3ff;--sidebar:#111827;--radius:12px;--shadow:0 10px 30px rgba(17,24,39,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand{height:48px;display:flex;align-items:center;gap:10px;padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:36px;height:36px;border-radius:9px;background:#fff;color:#111827;display:grid;place-items:center;font-weight:900}.brand strong{font-size:.98rem;letter-spacing:.02em}.sidebar nav{flex:1;overflow:auto;padding:12px 0}.sidebar nav section+section{margin-top:14px}.nav-group{display:block;padding:0 10px 6px;color:#7f8a9d;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.nav-item{width:100%;border:0;background:transparent;color:#cbd2dd;text-align:left;padding:10px 11px;border-radius:8px;margin:2px 0;font-weight:650}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.user-card{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding:14px 6px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#2e3b51;display:grid;place-items:center;font-size:.72rem;font-weight:800}.user-card strong,.user-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card strong{font-size:.78rem}.user-card span{font-size:.68rem;color:#98a3b5;margin-top:2px}.user-card button{border:0;background:transparent;color:#cbd2dd;font-size:1rem}.topbar{min-height:76px;position:sticky;top:0;z-index:15;background:rgba(245,247,249,.95);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 26px;border-bottom:1px solid var(--line)}.topbar h1{font-size:1.55rem;margin:0}.top-controls{display:flex;align-items:end;gap:12px}.project-picker{display:grid;gap:4px}.project-picker span{font-size:.68rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.project-picker select{min-width:260px}.mobile-menu{display:none;border:0;background:transparent;font-size:1.3rem}.content{padding:22px 26px 50px;max-width:1600px;margin:0 auto}.primary,.secondary,.danger-button,.mini,.link-button,.icon-button{border-radius:8px;border:1px solid transparent;font-weight:750}.primary{background:var(--primary);color:#fff;padding:10px 14px}.primary:hover{background:var(--primary-dark)}.secondary{background:#fff;color:var(--text);border-color:var(--line);padding:10px 14px}.secondary:hover{background:#f8fafc}.danger-button{background:var(--danger-bg);color:var(--danger);padding:10px 14px}.mini{padding:8px 10px;background:#fff;border-color:var(--line);white-space:nowrap}.link-button{background:transparent;color:var(--primary);padding:5px 6px}.icon-button{width:34px;height:34px;background:#f2f4f7;color:var(--text);font-size:1.3rem}.split-actions{display:flex;gap:8px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2,.drawer h2,.modal h2{font-size:1.05rem;margin:0}.panel h3,.report h3{font-size:.95rem;margin:24px 0 10px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0}.metric span,.metric-strip span,.detail-grid span,.summary-box span{display:block;color:var(--muted);font-size:.75rem;font-weight:650}.metric strong{display:block;font-size:1.25rem;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}.metric-strip>div{padding:15px 17px;border-right:1px solid var(--line)}.metric-strip>div:last-child{border-right:0}.metric-strip strong{display:block;font-size:1.05rem;margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:14px}.span-2{grid-column:1/-1}.alerts{display:grid;gap:8px}.alert{border:1px solid var(--line);border-left:3px solid #e9a23b;border-radius:8px;padding:10px 11px;display:grid;gap:3px}.alert.danger{border-left-color:var(--danger)}.alert strong{font-size:.78rem}.alert span{color:var(--muted);font-size:.82rem}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.84rem}th{text-align:left;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #edf0f3;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}td strong{font-size:.84rem}td .muted,.muted{font-size:.73rem;color:var(--muted);margin-top:3px}.actions-cell{width:46px;text-align:right}.row-menu{position:relative}.row-menu>summary{list-style:none;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-weight:900;color:var(--muted)}.row-menu>summary::-webkit-details-marker{display:none}.row-menu[open]>summary{background:#eef1f5}.row-menu>div{position:absolute;right:0;top:34px;min-width:155px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:5px;z-index:10}.row-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px}.row-menu button:hover{background:#f4f6f8}.row-menu button.danger{color:var(--danger)}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f0f2f5;color:#56606f;font-size:.69rem;font-weight:800}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.negative{color:var(--danger)!important}.empty{min-height:120px;display:grid;place-items:center;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow:auto}.tab{border:0;background:transparent;color:var(--muted);padding:10px 12px;border-bottom:2px solid transparent;white-space:nowrap;font-weight:750}.tab.active{color:var(--primary);border-color:var(--primary)}.filter-box{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.filter-box summary{padding:11px 14px;font-weight:750;cursor:pointer}.filter-box summary::marker{color:var(--primary)}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid label{display:grid;gap:5px;align-content:start}.form-grid label>span{font-size:.75rem;font-weight:750;color:#485164}.form-grid input,.form-grid select,.form-grid textarea,.project-picker select,.filter-grid input,.filter-grid select{width:100%;min-height:40px;border:1px solid #cfd5dd;border-radius:8px;background:#fff;color:var(--text);padding:8px 10px;outline:none}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.project-picker select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,94,239,.1)}.form-grid footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.advanced{border:1px solid var(--line);border-radius:9px;padding:0}.advanced summary{padding:10px 12px;font-weight:750;cursor:pointer}.advanced>.form-grid{padding:4px 12px 13px}.field-with-button{display:flex;align-items:end}.field-with-button label{display:none}.summary-box{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--soft);border:1px solid #cfe0ff;border-radius:9px;padding:12px 14px}.summary-box strong{font-size:1.05rem}.day-list{display:grid;gap:12px}.inventory-grid,.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-grid>div{border:1px solid var(--line);border-radius:9px;padding:12px}.detail-grid strong{display:block;margin-top:5px}.drawer-section{margin-top:22px}.drawer-section h3{font-size:.86rem;margin:0 0 10px}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:rgba(9,15,25,.44);z-index:100;display:flex}.modal-backdrop{align-items:center;justify-content:center;padding:18px}.modal{width:min(650px,100%);max-height:92vh;background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.modal.wide{width:min(900px,100%)}.modal>header,.drawer>header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.modal-body{padding:18px;max-height:calc(92vh - 58px);overflow:auto}.drawer-backdrop{justify-content:flex-end}.drawer{width:min(520px,100%);height:100%;background:#fff;box-shadow:var(--shadow)}.drawer-body{padding:18px;overflow:auto;height:calc(100% - 58px)}.toast-root{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px}.toast{max-width:370px;background:#172033;color:#fff;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);font-size:.84rem}.toast.error{background:var(--danger)}.toast.warning{background:#8a5200}.error-panel,.fatal{padding:22px;background:var(--danger-bg);border:1px solid #ffcbc5;color:var(--danger);border-radius:10px}.fatal{max-width:600px;margin:80px auto}.report{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.report>header{display:flex;justify-content:space-between;border-bottom:2px solid var(--text);padding-bottom:14px;margin-bottom:18px}.report>header h2{margin:0}.report>header span{color:var(--muted)}.action-list{display:grid;gap:9px}.is-loading:after{content:"";position:fixed;inset:0;background:rgba(255,255,255,.4);z-index:300}.is-loading:before{content:"";position:fixed;left:50%;top:50%;width:30px;height:30px;margin:-15px;border:3px solid #d7e1f4;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;z-index:301}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.dashboard-grid .span-2{grid-column:1}.filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.layout{display:block}.sidebar{position:fixed;left:-245px;width:230px;transition:left .2s}.menu-open .sidebar{left:0}.mobile-menu{display:block}.topbar{padding:12px 14px}.topbar h1{font-size:1.25rem}.top-controls{margin-left:auto}.project-picker select{min-width:180px}.content{padding:16px 12px 40px}.metric-grid{grid-template-columns:repeat(2,1fr)}.inventory-grid,.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid footer{grid-column:1}.filter-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip>div:nth-child(2){border-right:0}.metric-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:600px){.topbar{align-items:center}.top-controls{gap:7px}.project-picker span{display:none}.project-picker select{min-width:135px;max-width:150px}.split-actions .secondary{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:13px}.metric strong{font-size:1rem}.panel{padding:13px}table,thead,tbody,tr,th,td{display:block}thead{display:none}tbody{display:grid;gap:9px}tbody tr{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff}tbody tr:hover{background:#fff}td{display:flex;justify-content:space-between;gap:15px;padding:6px 4px;border:0;text-align:right}td:before{content:attr(data-label);font-size:.69rem;font-weight:750;color:var(--muted);text-transform:uppercase;text-align:left}.actions-cell{width:auto;justify-content:flex-end}.actions-cell:before{display:none}.row-menu>div{right:0}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.wide{width:100%;border-radius:14px 14px 0 0;max-height:94vh}.drawer{width:100%}.detail-grid{grid-template-columns:1fr 1fr}.report{padding:14px}}@media print{.sidebar,.topbar,.filter-box,#page-actions,.tabs,.row-menu{display:none!important}.layout{display:block}.content{padding:0}.panel,.report{border:0}.report{padding:0}.table-wrap{overflow:visible}body{background:#fff}}

.file-link{display:block;padding:9px 10px;border:1px solid var(--line);border-radius:8px;color:var(--primary);text-decoration:none;margin-bottom:7px}.upload-form{display:flex;gap:8px;align-items:center;margin-top:10px}.upload-form input[type=file]{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:7px}


.line-items{display:grid;gap:10px;margin-top:12px}.line-items-head{display:flex;align-items:center;justify-content:space-between}.line-item{display:grid;grid-template-columns:minmax(170px,2fr) 80px 100px 120px 110px minmax(150px,1.3fr) 38px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff}.line-item input,.line-item select{width:100%;min-width:0}.danger-text{color:var(--danger)}@media(max-width:760px){.line-item{grid-template-columns:1fr 1fr}.line-item [data-key="descripcion"],.line-item [data-key="partida_id"]{grid-column:1/-1}.line-item .icon-button{justify-self:end}}


/* WDPROYECTOS 2.1: dashboard empresarial y altas rápidas */
.enterprise-view .project-picker{display:none}
.enterprise-report{display:grid;gap:16px}
.enterprise-metrics{margin-bottom:0}
.enterprise-strip{margin-bottom:0}
.enterprise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.enterprise-project-list{padding:0;overflow:hidden}
.enterprise-project-list>summary{list-style:none;padding:16px 18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.enterprise-project-list>summary::-webkit-details-marker{display:none}
.enterprise-project-list>summary:after{content:"⌄";color:var(--primary);font-size:1.1rem}
.enterprise-project-list[open]>summary{border-bottom:1px solid var(--line)}
.enterprise-project-list[open]>summary:after{transform:rotate(180deg)}
.enterprise-table{padding:0 18px 18px}
.compact-bars{display:grid;gap:13px}
.compact-bar>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
.compact-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#485164}
.compact-bar strong{font-size:.78rem;white-space:nowrap}
.bar-track{height:9px;background:#edf0f4;border-radius:999px;overflow:hidden}
.bar-track i{display:block;height:100%;background:var(--primary);border-radius:inherit}
.cashflow-bars{display:grid;gap:10px}
.cashflow-row{display:grid;grid-template-columns:64px minmax(0,1fr) 110px;align-items:center;gap:10px}
.cashflow-row>span{font-size:.72rem;color:var(--muted)}
.cashflow-row>strong{font-size:.76rem;text-align:right}
.cashflow-pair{display:grid;gap:3px}
.cashflow-pair i{display:block;height:6px;border-radius:999px;min-width:2px}
.cashflow-pair .income,.chart-legend .income{background:var(--primary)}
.cashflow-pair .payment,.chart-legend .payment{background:#6b7280}
.chart-legend{display:flex;justify-content:flex-end;gap:14px;margin-top:4px;color:var(--muted);font-size:.7rem}
.chart-legend span{display:flex;align-items:center;gap:5px}
.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}
.contact-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;min-width:0}
.contact-picker>label{min-width:0}
.contact-picker>.mini{height:40px}
@media(max-width:1100px){.enterprise-grid{grid-template-columns:1fr}}
@media(max-width:850px){.enterprise-view .top-controls{margin-left:auto}.enterprise-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.enterprise-strip{grid-template-columns:1fr 1fr}.cashflow-row{grid-template-columns:54px minmax(0,1fr);}.cashflow-row>strong{grid-column:2;text-align:left}.contact-picker{grid-template-columns:minmax(0,1fr) auto}.contact-picker>.mini{padding:8px}.enterprise-table{padding:0 12px 12px}}
@media print{.enterprise-project-list{display:block!important}.enterprise-project-list>summary{display:none}.enterprise-table{padding:0}}

/* WDPROYECTOS 2.2: estados claros de guardado */
.form-message {
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 700;
  line-height: 1.4;
}
.form-message.success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.form-message[hidden] { display: none !important; }
button:disabled {
  cursor: wait;
  opacity: .68;
}


/* WDPROYECTOS 2.4: resumen unificado, formularios simples y borradores */
/* WDPROYECTOS 3.0: estructura simple basada en el flujo del Excel */
.projects-view .project-picker{display:none}
.projects-list-panel{min-height:430px;overflow:visible;position:relative;padding-bottom:34px}
.projects-list-panel .table-wrap{overflow-x:auto;overflow-y:visible;min-height:330px}
.projects-list-panel .row-menu>div{z-index:60}
.project-link{border:0;background:transparent;padding:0;text-align:left;color:var(--text);display:grid;gap:3px}
.project-link:hover strong{color:var(--primary)}
.project-link strong{font-size:.86rem}
.project-link span{font-size:.73rem;color:var(--muted)}
.project-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.project-summary-heading h2{margin:5px 0 2px;font-size:1.28rem}
.project-summary-heading span{color:var(--muted);font-size:.82rem}
.project-back-link{border:0;background:transparent;color:var(--primary);font-weight:750;padding:0}
.project-shortcuts{display:flex;gap:8px;overflow:auto;margin:0 0 16px;padding-bottom:2px}
.project-shortcuts button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:8px;padding:9px 12px;white-space:nowrap;font-weight:700}
.project-shortcuts button:hover{border-color:#b9cdf8;color:var(--primary)}
.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e7;border:1px solid #f3d899;border-radius:9px;padding:10px 12px;color:#73510c;font-size:.8rem;font-weight:700}
.draft-banner button{border:0;background:transparent;color:#8a5b00;font-weight:800;text-decoration:underline}
@media(max-width:600px){.projects-list-panel{min-height:480px}.project-summary-heading{align-items:flex-start}.project-shortcuts{margin-left:-2px;margin-right:-2px}}

/* WDPROYECTOS 3.0: estructura simple basada en el flujo del Excel */
.simple-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric.highlight{background:var(--soft);border-color:#c9dbff}.positive{color:var(--success)!important}.portfolio-metrics{margin-bottom:14px}.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{padding:17px;overflow:visible}.project-card-head,.project-card-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-card .project-link{min-width:0}.project-card-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 13px}.project-card-values>div{background:#f8fafc;border-radius:9px;padding:10px}.project-card-values span{display:block;color:var(--muted);font-size:.7rem}.project-card-values strong{display:block;margin-top:4px;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-foot{align-items:center;margin-top:10px;color:var(--muted);font-size:.73rem}.project-card .row-menu>div{z-index:80}.financial-list{display:grid}.financial-list>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.financial-list>div:last-child{border-bottom:0}.financial-list span{color:var(--muted);font-size:.78rem}.financial-list strong{font-size:.83rem}.info-panel{display:grid;gap:4px;background:#f5f8ff;border:1px solid #cfddff;border-radius:10px;padding:13px 15px;margin-bottom:13px}.info-panel strong{font-size:.84rem}.info-panel span{color:var(--muted);font-size:.8rem}.budget-overview{display:grid;gap:10px}.budget-chapter{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:visible}.budget-chapter>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:#fafbfc}.budget-chapter>summary::-webkit-details-marker{display:none}.budget-chapter>summary>div{display:grid;gap:3px}.budget-chapter>summary>div:last-child{text-align:right}.budget-chapter>summary span{color:var(--muted);font-size:.72rem}.budget-chapter-body{border-top:1px solid var(--line);padding:10px 15px 14px}.budget-chapter.general>summary{background:#fffaf0}.chapter-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card h2{margin:0 0 8px}.tool-card p{color:var(--muted);font-size:.82rem;line-height:1.5;min-height:40px}.report-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.projects-view .project-picker{display:none}
@media(max-width:1200px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.simple-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-grid{grid-template-columns:1fr 1fr}.project-card-grid{grid-template-columns:1fr}}
@media(max-width:600px){.simple-metrics,.report-metrics{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr}.budget-chapter>summary{align-items:flex-start}.budget-chapter>summary>div:last-child{text-align:left}.project-card-values{grid-template-columns:1fr 1fr}}

/* WDPROYECTOS 3.1: borradores silenciosos y Panel de estado */
.draft-banner{display:none!important}
.status-filter-card{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.status-filter-card>div:first-child{display:grid;gap:4px;min-width:180px}
.status-filter-card>div:first-child span{color:var(--muted);font-size:.78rem}
.status-filter-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;gap:10px;align-items:end;flex:1}
.status-filter-grid label{display:grid;gap:5px}
.status-filter-grid label>span{font-size:.72rem;font-weight:750;color:#485164}
.status-filter-grid input,.status-filter-grid select{width:100%;min-height:40px;border:1px solid #cfd5dd;border-radius:8px;background:#fff;color:var(--text);padding:8px 10px;outline:none}
.status-filter-grid input:focus,.status-filter-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,94,239,.1)}
.status-filter-actions{display:flex;gap:8px}
.status-panel-report{display:grid;gap:14px}
.status-report-header{display:flex;justify-content:space-between;align-items:flex-end;padding:2px 2px 0}
.status-report-header h2{margin:0 0 3px;font-size:1.22rem}
.status-report-header span{color:var(--muted);font-size:.78rem}
.status-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:0}
.status-chart-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px}
.status-chart.wide{grid-column:1/-1}
.status-chart>header>div{display:grid;gap:3px}
.status-chart>header span{color:var(--muted);font-size:.74rem}
.status-monthly-chart{height:270px;display:flex;align-items:stretch;gap:10px;padding:14px 8px 0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}
.status-month{flex:1;min-width:56px;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center}
.status-columns{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:225px}
.status-columns i{display:block;width:min(22px,38%);min-height:3px;border-radius:5px 5px 0 0}
.status-columns .income{background:var(--primary)}
.status-columns .expense{background:#e8a321}
.status-month>span{font-size:.68rem;color:var(--muted);white-space:nowrap}
.chart-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:.72rem}
.chart-legend span{display:flex;align-items:center;gap:6px}
.chart-legend i{width:11px;height:11px;border-radius:3px;background:#94a3b8}
.chart-legend i.income{background:var(--primary)}
.chart-legend i.expense{background:#e8a321}
.chart-legend i.budget{background:#c9d7f5}
.chart-legend i.executed{background:var(--primary)}
.donut-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;min-height:235px}
.donut-chart{width:180px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}
.donut-chart>div{width:105px;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;padding:8px;box-shadow:inset 0 0 0 1px var(--line)}
.donut-chart strong{font-size:.88rem}
.donut-chart span{font-size:.68rem;color:var(--muted);margin-top:2px}
.donut-legend{display:grid;gap:9px}
.donut-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center}
.donut-legend i{width:10px;height:10px;border-radius:3px}
.donut-legend span{color:var(--muted);font-size:.74rem}
.donut-legend strong{font-size:.74rem}
.comparison-chart{display:grid;gap:13px}
.comparison-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(160px,1.5fr) 58px;gap:10px;align-items:center}
.comparison-row>div:first-child{display:grid;gap:2px;min-width:0}
.comparison-row>div:first-child strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comparison-row>div:first-child span{color:var(--muted);font-size:.67rem}
.comparison-row>strong{text-align:right;font-size:.72rem}
.comparison-bars{display:grid;gap:4px}
.comparison-bars i{display:block;height:8px;border-radius:999px;min-width:2px}
.comparison-bars .budget{background:#c9d7f5}
.comparison-bars .executed{background:var(--primary)}
.status-progress-list{display:grid;gap:14px}
.status-progress-list>div{display:grid;gap:7px}
.status-progress-list header,.status-progress-list footer{display:flex;justify-content:space-between;gap:12px}
.status-progress-list header span{font-size:.77rem;font-weight:750}
.status-progress-list header strong{font-size:.73rem}
.status-progress-list footer{color:var(--muted);font-size:.67rem}
@media(max-width:1200px){.status-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.status-chart-grid{grid-template-columns:1fr}.status-chart.wide{grid-column:1}.status-filter-card{align-items:stretch;flex-direction:column}.status-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}
@media(max-width:850px){.status-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.status-filter-grid{grid-template-columns:1fr 1fr}.status-filter-grid label:first-child{grid-column:1/-1}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}}
@media(max-width:600px){.status-metrics{grid-template-columns:1fr 1fr}.status-filter-grid{grid-template-columns:1fr}.status-filter-grid label:first-child{grid-column:auto}.status-filter-actions{justify-content:flex-end}.comparison-row{grid-template-columns:100px minmax(120px,1fr) 48px}.status-monthly-chart{height:235px}.status-columns{height:190px}}
@media print{.no-print{display:none!important}.status-panel-report{gap:10px}.status-chart-grid{grid-template-columns:1fr 1fr;gap:10px}.status-chart.wide{grid-column:1/-1}.status-metrics{grid-template-columns:repeat(5,1fr)}.status-chart{break-inside:avoid;padding:12px}.status-monthly-chart{height:220px}.status-columns{height:175px}.status-report-header{padding-bottom:8px;border-bottom:2px solid var(--text)}}
