/* Donaciones dirigidas: comparte los tokens de Un Amigo Fiel. */
/* Requerimientos públicos y aportaciones individuales: los colores no son la única identificación. */
.dog-detail-column{min-width:0}.dp-ficha{min-width:0;width:100%;box-sizing:border-box}.dp-ficha .dp-status{white-space:normal}.dp-ficha .dp-recaudado{white-space:normal;overflow-wrap:anywhere}
.dp-requiere{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:9px}
.dp-requiere>li{min-width:0}.dp-need{position:relative;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-light)}
.dp-need summary{display:grid;grid-template-columns:auto minmax(0,1fr) 24px;gap:12px;align-items:center;padding:15px 16px;min-height:54px;cursor:pointer;list-style:none}
.dp-need summary::-webkit-details-marker{display:none}.dp-need-cost{color:var(--primary-text);font-size:1rem}.dp-need-name{font-weight:700;overflow-wrap:anywhere}.dp-need-name small{display:block;font-size:.75rem;color:var(--success-solid)}.dp-need-more{text-align:center;color:var(--text-muted)}
.dp-need[open]{border-color:var(--primary-text)}.dp-need-detail{padding:16px;background:var(--bg-white);border-top:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow-wrap:anywhere}.dp-need-detail p{margin:6px 0 10px;color:var(--text-muted);line-height:1.6}.dp-need-detail small{color:var(--text-muted)}
.dp-funding{--dp-pie-group:#64748b;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;border-top:1px solid var(--border-color);padding-top:22px}
.dp-pie-panel{--dp-pie-empty:#e3e8ef;--dp-pie-group:#64748b;--dp-slice-sat:68%;--dp-slice-light:34%;min-width:0;text-align:center}
.dp-pie-visual{position:relative;min-width:0;width:100%;max-width:280px;margin:auto}.dp-pie{width:100%;max-width:100%;min-width:0;height:auto;display:block;overflow:visible}
.dp-pie-base,.dp-pie-sector{fill:none;stroke-width:34;stroke-linecap:butt}.dp-pie-base{stroke:var(--dp-pie-empty)}.dp-pie-sector{stroke:hsl(var(--dp-slice-hue) var(--dp-slice-sat) var(--dp-slice-light));cursor:pointer;pointer-events:stroke}.dp-pie-group{stroke:var(--dp-pie-group)}
.dp-pie-sector:focus-visible,.dp-pie-base:focus-visible,.dp-pie-sector.dp-sector-active{stroke-width:40;outline:none;filter:drop-shadow(0 0 2px var(--text-dark))}.dp-pie-percent{text-anchor:middle;fill:var(--text-dark);font:800 28px Outfit,system-ui,sans-serif;pointer-events:none}.dp-pie-caption{text-anchor:middle;fill:var(--text-muted);font:500 13px Outfit,system-ui,sans-serif;pointer-events:none}
.dp-pie-tooltip{position:absolute;z-index:15;top:calc(100% + 6px);bottom:auto;left:50%;transform:translateX(-50%);width:min(250px,100%);padding:12px;background:var(--text-dark);color:var(--bg-white);border-radius:var(--radius-sm);font-size:.85rem;line-height:1.5;box-shadow:var(--shadow-md);overflow-wrap:anywhere}.dp-pie-tooltip[hidden]{display:none}
.dp-pie-help{font-size:.8rem;line-height:1.6;color:var(--text-muted);margin:10px 0}.dp-pie-selection{font-size:.85rem;line-height:1.5;min-height:3em;color:var(--text-dark);margin:10px 0 0}
.dp-pie-dot{--dp-slice-sat:68%;--dp-slice-light:34%;display:inline-block;flex-shrink:0;width:12px;height:12px;border-radius:50%;background:hsl(var(--dp-slice-hue) var(--dp-slice-sat) var(--dp-slice-light))}.dp-pie-dot-empty{background:var(--dp-pie-empty)}.dp-pie-dot-group{background:var(--dp-pie-group)}
.dp-funding-data{min-width:0}.dp-funding-data h3{margin:0 0 10px}.dp-funding-data h4{font-size:.9rem;margin:20px 0 8px}.dp-funding-totals{margin:0;display:grid;gap:11px}.dp-funding-totals>div{padding-bottom:10px;border-bottom:1px solid var(--border-color)}.dp-funding-totals dt{font-size:.85rem;color:var(--text-muted)}.dp-funding-totals dd{margin:3px 0 0;font-size:1.25rem;font-weight:800;overflow-wrap:anywhere}
.dp-pie-legend{margin:0 0 12px;padding:0;list-style:none;max-height:240px;overflow:auto}.dp-pie-legend-item{display:flex;align-items:start;gap:10px;width:100%;text-align:left;min-height:48px;padding:10px 4px;border:0;border-bottom:1px solid var(--border-color);background:transparent;font:inherit;color:var(--text-dark);cursor:pointer}.dp-pie-legend-item .dp-pie-dot{margin-top:6px}.dp-pie-legend-item strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.dp-pie-legend-item small{display:block;color:var(--text-muted);font-size:.8rem}.dp-pie-legend-item.dp-sector-active{background:var(--primary-light)}
@media(min-width:640px){.dp-need-detail{position:absolute;z-index:30;left:0;top:calc(100% - 3px);width:min(420px,100%);border:1px solid var(--border-color)}}
@media(min-width:1100px){.dp-funding{grid-template-columns:minmax(180px,1fr) minmax(0,1fr);gap:18px}}
@media(max-width:639px){.dp-need summary{padding:12px;gap:9px}.dp-need-cost{font-size:.9rem}.dp-need-name{font-size:.95rem}.dp-pie-visual{max-width:250px}.dp-funding{gap:15px}}
/* La sesión administrativa agrega enlaces al menú público; conservarlos dentro del ancho útil. */
@media(min-width:1351px) and (max-width:1600px){.navbar .nav-menu{gap:4px}.navbar .nav-link{font-size:.9rem}}
.dp-page{max-width:940px;margin:0 auto;color:var(--text-dark);padding:8px 0 30px}.dp-box{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin:22px 0;box-shadow:var(--shadow-sm);min-width:0}.dp-ficha{grid-column:1/-1}.dp-page h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;margin:6px 0 12px}.dp-box h2{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.25;margin:6px 0 10px}.dp-box h3{font-size:1.1rem;margin:0 0 12px}.dp-heading{display:flex;gap:16px;justify-content:space-between;align-items:start;flex-wrap:wrap}.dp-eyebrow{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-text)}.dp-muted,.dp-fine{color:var(--text-muted);line-height:1.65}.dp-fine{font-size:.85rem;margin:15px 0 0}.dp-status,.dp-chip{display:inline-block;font-size:.8rem;line-height:1.3;font-weight:700;padding:6px 10px;background:var(--primary-light);color:var(--primary-text);border-radius:var(--radius-sm)}.dp-chip{margin-left:8px;background:var(--secondary-light);color:var(--secondary-solid)}.dp-table-wrap{max-width:100%;overflow:auto;margin:18px 0}.dp-table{width:100%;border-collapse:collapse;text-align:left}.dp-table th,.dp-table td{padding:14px 10px;border-bottom:1px solid var(--border-color);vertical-align:top}.dp-table th{font-size:.85rem;background:var(--bg-light);color:var(--text-muted)}.dp-table td strong{font-weight:600}.dp-table td small{display:block;color:var(--text-muted);line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.dp-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dp-totales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.dp-totales>div{padding:16px;background:var(--bg-light);border-radius:var(--radius-md);min-width:0}.dp-totales span,.dp-totales small{display:block;color:var(--text-muted);font-size:.85rem}.dp-totales strong,.dp-totales .dp-recaudado{display:block;font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:700;margin-top:6px;overflow-wrap:anywhere}.dp-totales .dp-recaudado{color:var(--primary-text);min-height:44px;text-decoration:underline;text-underline-offset:4px}.dp-totales .dp-recaudado span{display:inline;color:inherit;font-size:inherit}.dp-progress-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.dp-ficha progress{display:block;width:100%;height:12px;accent-color:var(--success-solid);margin-bottom:20px;border:0;border-radius:var(--radius-sm);overflow:hidden}.dp-ficha progress::-webkit-progress-bar{background:var(--secondary-light)}.dp-ficha progress::-webkit-progress-value{background:var(--success-solid)}.dp-ficha progress::-moz-progress-bar{background:var(--success-solid)}.dp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.dp-button,.dp-link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:12px 18px;border-radius:var(--radius-md);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid var(--primary-solid);background:var(--primary-solid);color:var(--bg-white);text-align:center}.dp-link-button{background:var(--bg-white);color:var(--primary-text);border-color:var(--border-color)}.dp-button:hover{background:var(--primary-text);color:var(--bg-white)}.dp-button:disabled,.dp-link-button:disabled{background:var(--bg-light);color:var(--text-muted);border-color:var(--border-color);cursor:not-allowed}.dp-notice{padding:15px 18px;border-left:4px solid var(--secondary-solid);background:var(--secondary-light);border-radius:var(--radius-md);line-height:1.6;margin:16px 0}.dp-success{border-color:var(--success-solid)}.dp-error{border-color:var(--primary-text);color:var(--primary-text)}.dp-back{display:inline-flex;align-items:center;min-height:44px;color:var(--primary-text);font-weight:600;gap:6px}.dp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dp-field label{display:block;font-weight:600;margin-bottom:6px}.dp-form input:not([type=checkbox]),.dp-form textarea,.dp-form select{display:block;width:100%;min-height:46px;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-light);color:var(--text-dark);font:inherit;font-size:1rem}.dp-form input[type=file]{max-width:100%;font-size:.9rem;overflow:hidden}.dp-field small{display:block;font-size:.85rem;color:var(--text-muted);margin-top:6px;line-height:1.5}.dp-check{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.55;margin:18px 0}.dp-check input{width:22px;height:22px;min-width:22px;margin-top:3px;accent-color:var(--primary-solid)}.dp-check span{overflow-wrap:anywhere}.dp-bank{margin:0;display:grid;gap:12px}.dp-bank>div{padding-bottom:12px;border-bottom:1px solid var(--border-color)}.dp-bank dt{font-size:.85rem;color:var(--text-muted);margin-bottom:4px}.dp-bank dd{margin:0;overflow-wrap:anywhere;font-weight:600}.dp-copy-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dp-copy-row code{font:inherit;letter-spacing:.03em;overflow-wrap:anywhere}.dp-copy{min-height:44px;padding:9px 13px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--primary-text);font:inherit;font-weight:600;cursor:pointer;flex-shrink:0}.dp-methods{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 20px}.dp-methods .dp-button{font-size:.9rem}.dp-sr,.dp-trampa{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dp-dialog{position:fixed;inset:0;margin:auto;width:min(900px,calc(100% - 24px));height:min(850px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-white);color:var(--text-dark);overflow:hidden;box-shadow:var(--shadow-lg)}.dp-dialog::backdrop{background:color-mix(in srgb,var(--text-dark) 65%,transparent)}.dp-dialog[open]{display:flex;flex-direction:column}.dp-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0}.dp-dialog-bar h2{font-size:1.1rem;line-height:1.3;margin:0}.dp-close{display:inline-flex;gap:7px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-dark);font:inherit;font-weight:600;cursor:pointer;flex-shrink:0}.dp-close span{font-size:1.4rem}.dp-frame{width:100%;flex:1;min-height:0;border:0;background:var(--bg-white)}.dp-frame-status{padding:12px 18px;margin:0;color:var(--text-muted)}.dp-modal-body{margin:0;background:var(--bg-white);color:var(--text-dark);font-family:'Outfit',sans-serif}.dp-modal-body .dp-page{max-width:820px;padding:20px}.dp-modal-body .dp-box{box-shadow:none;margin:18px 0}.dp-modal-body .dp-page>h1{font-size:1.55rem}.dp-pagination{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.dp-page :focus-visible,.dp-ficha :focus-visible,.dp-dialog :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.dp-amount-total{font-size:1.6rem;font-weight:700;margin:8px 0;color:var(--primary-text)}
@media(max-width:639px){.dp-box{padding:18px}.dp-totales{grid-template-columns:1fr;gap:8px}.dp-totales>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:12px}.dp-totales strong,.dp-totales .dp-recaudado{margin:0;font-size:1.1rem}.dp-totales small{grid-column:1/-1}.dp-grid{grid-template-columns:1fr;gap:16px}.dp-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:var(--radius-md)}.dp-dialog-bar{padding:8px 12px}.dp-modal-body .dp-page{padding:14px}.dp-table th,.dp-table td{padding:12px 8px;font-size:.9rem}.dp-actions>.dp-button{width:100%}.dp-copy-row{align-items:start}.dp-chip{margin-left:0;margin-top:5px}.dp-bank .dp-copy{padding:9px}.dp-field input[type=file]{padding:10px 8px}.dp-methods .dp-button{width:100%}}
.dp-status-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dp-status-etapa{background:var(--secondary-light);color:var(--secondary-solid)}
.dp-avances{margin:24px 0;padding-top:20px;border-top:1px solid var(--border-color)}.dp-avances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;margin-top:16px}
.dp-avance-card{background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px}
.dp-avance-header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem}
.dp-avance-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-text);font-weight:700;font-size:.8rem}
.dp-avance-header time{color:var(--text-muted);font-weight:600}.dp-avance-title{font-size:1.05rem;margin:2px 0 0;font-weight:700;color:var(--text-dark)}.dp-avance-desc{font-size:.9rem;line-height:1.55;color:var(--text-dark);margin:0}
.dp-avance-media{margin-top:auto;padding-top:8px}.dp-avance-link{display:block;text-decoration:none}.dp-avance-img{width:100%;height:160px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);display:block}.dp-avance-link span{display:block;color:var(--primary-text);font-size:.8rem;font-weight:600;margin-top:4px}

