/* Shared frontend layout primitives. Keep responsive changes at 900px and 640px. */
.rp-card,.rp-form,.rp-alert,.rp-fieldset,.rp-table-responsive,.rp-resultados-grid,.rp-provider-context{box-sizing:border-box;max-width:100%;min-width:0}
.rp-card *,.rp-form *,.rp-table-responsive *,.rp-provider-context *{box-sizing:border-box}
.rp-card img,.rp-form img,.rp-provider-context img{height:auto;max-width:100%}
.rp-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.06);padding:20px;margin:20px 0;overflow-wrap:anywhere}
.rp-form label{display:block;margin:12px 0 6px;font-weight:600}
.rp-form input[type=text],.rp-form input[type=tel],.rp-form input[type=email],.rp-form input[type=password],.rp-form input[type=number],.rp-form input[type=url],.rp-form input[type=date],.rp-form input[type=datetime-local],.rp-form input[type=file],.rp-form select,.rp-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:9px 11px;border:1px solid #d9e1ea;border-radius:8px;background:#fff;color:#1f2a37;font-family:inherit;font-size:16px;line-height:1.4}
.rp-form input[type=file]{height:auto;overflow:hidden;padding:7px}
.rp-form input[type=file]::file-selector-button{min-height:36px;margin:-2px 10px -2px -2px;padding:6px 10px;border:1px solid #b8c5d1;border-radius:6px;background:#f4f7f9;color:#1f2a37;font:inherit;cursor:pointer}
.rp-form textarea{min-height:110px;resize:vertical}
.rp-form input[readonly]{background:#f4f6f8;color:#52606d}
.rp-form input:focus-visible,.rp-form select:focus-visible,.rp-form textarea:focus-visible,.rp-form button:focus-visible,.rp-btn:focus-visible,.rp-link-button:focus-visible,.rp-collapsible>summary:focus-visible{outline:3px solid rgba(0,120,185,.3);outline-offset:2px;border-color:#0078b9}
.rp-form input[aria-invalid=true],.rp-form select[aria-invalid=true],.rp-form textarea[aria-invalid=true],.rp-form input.rp-validation-invalid:invalid,.rp-form select.rp-validation-invalid:invalid,.rp-form textarea.rp-validation-invalid:invalid{border-color:#a40000}
.rp-btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:42px;box-sizing:border-box;background:#0078b9;color:#fff;padding:8px 14px;border-radius:10px;text-decoration:none;border:1px solid transparent;cursor:pointer;margin-top:12px;font:inherit;font-weight:600;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
.rp-btn--sec{background:#e5f1f7;color:#1f2a37}.rp-btn--warning{background:#fff4d6;border-color:#e4bd55;color:#654b00}.rp-btn--danger{background:#fff0f0;border-color:#e4a3a3;color:#8a1f1f}
.rp-btn:hover,.rp-btn:focus-visible{filter:brightness(.96);text-decoration:none}
.rp-alert{padding:12px;border-radius:10px;overflow-wrap:anywhere}.rp-alert--err{background:#ffecec;border:1px solid #ffb3b3;color:#a40000}.rp-alert--ok{background:#e6f7e9;border:1px solid #9fd3a8;color:#1e6b34}.rp-alert--info{background:#edf6ff;border:1px solid #b9dafc;color:#1d4b7a}
.rp-msg--error{margin-top:8px;padding:10px 12px;border:1px solid #ffb3b3;border-radius:10px;background:#ffecec;color:#a40000;font-weight:600;overflow-wrap:anywhere}.rp-msg--error:focus{outline:3px solid rgba(164,0,0,.2);outline-offset:2px}.rp-legal{margin-top:8px;font-size:13px}
/* Data tables remain comparison tables and own their horizontal scroll. */
.rp-table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.rp-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;overscroll-behavior-inline:contain}
.rp-table thead,.rp-table tbody,.rp-table tfoot{white-space:nowrap}.rp-table th,.rp-table td{padding:10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.rp-table td{white-space:normal;overflow-wrap:anywhere}
.rp-badge{display:inline-flex;align-items:center;min-height:24px;box-sizing:border-box;background:#e5f1f7;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.2}
.rp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rp-grid-2>*{min-width:0}.rp-colspan-2{grid-column:span 2 / span 2}
.rp-fieldset{margin-top:16px;border:1px solid #e5f1f7;border-radius:12px;padding:12px;min-inline-size:0}.rp-fieldset legend{max-width:100%;padding:0 5px;overflow-wrap:anywhere}
.rp-check{display:flex;align-items:flex-start;gap:7px;margin:6px 0;min-height:32px}.rp-check input{flex:0 0 auto;margin-top:4px}.rp-rubros{max-height:280px;overflow:auto;padding:6px;border:1px dashed #d9e1ea;border-radius:10px}
.rp-form .rp-phone-field__whatsapp{margin:8px 0 0}.rp-phone-field__whatsapp-help{margin:2px 0 0}
.rp-classification{margin-top:18px}.rp-classification h5{margin:0 0 10px;font-size:1rem}.rp-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rp-category{min-width:0;border:1px solid #d9e1ea;border-radius:10px;padding:10px;background:#fff}.rp-category__title{margin-top:0!important}.rp-subcategory-list{margin:7px 0 0 22px;padding-left:10px;border-left:2px solid #e5f1f7}.rp-subcategory-list .rp-check{font-weight:400}
.rp-tourism{margin-top:18px;padding:14px;border:1px solid #b9dafc;border-radius:10px;background:#f7fbff}.rp-tourism>p{margin:6px 0 12px}.rp-tourism__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.rp-tourism__option{display:flex!important;align-items:flex-start;gap:7px}.rp-tourism__option small{display:block;font-weight:400;color:#52606d;margin-top:2px}.rp-tourism__notice{padding:9px;border-radius:8px;background:#edf6ff;font-size:14px}
.rp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%}.rp-actions>*{min-width:0}.rp-actions form{margin:0}.rp-actions .rp-btn{margin-top:0}.rp-back-link{margin-bottom:12px}
.rp-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0 20px}.rp-filter>div{flex:1 1 160px;max-width:240px;min-width:0}.rp-filter label{margin-top:0}.rp-filter .rp-btn{margin:0}.rp-muted{color:#6c7a89;font-size:14px}.rp-section-title{margin-top:24px}
.rp-table--compact th,.rp-table--compact td{padding:8px}.rp-table--striped tbody tr:nth-child(even){background:#fafbfc}.rp-cot-detalle-row{display:none}.rp-cot-detalle-row.is-open{display:table-row}.rp-cot-detalle-wrap{max-width:100%;padding:12px}.rp-table--inner{width:100%}
.rp-pill{display:inline-block;border:1px solid #d9e1ea;border-radius:999px;padding:2px 10px;font-size:12px}.rp-btn--sm{min-height:36px;padding:6px 10px;border-radius:8px;font-size:13px}.rp-inline,.rp-invite-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%}.rp-invite-list{margin-top:10px}.rp-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid #d9e1ea;border-radius:999px;padding:4px 10px;background:#f8fafc;overflow-wrap:anywhere}.rp-chip-remove{min-width:32px;min-height:32px;border:none;background:transparent;color:#6c7a89;font-size:16px;cursor:pointer;line-height:1}.rp-link-button{min-height:40px;padding:6px;border:0;background:transparent;color:#0078b9;text-decoration:underline;cursor:pointer}
.rp-services-heading h4{margin-bottom:3px}.rp-services-heading p{margin:0}.rp-servicio-solicitud{padding:0;overflow:hidden}.rp-service-header{display:flex;align-items:center;gap:10px;padding:12px}.rp-service-header>form{flex:0 0 auto;margin:0}.rp-service-toggle{display:flex;flex:1;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:44px;padding:4px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.rp-service-toggle>span:first-child{display:flex;flex-direction:column;min-width:0}.rp-service-toggle strong,.rp-service-toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-service-toggle small{margin-top:3px;color:#6c7a89;font-weight:400}.rp-service-toggle__action{flex:0 0 auto;color:#0078b9;font-size:14px;font-weight:600}.rp-service-panel{padding:0 12px 12px;border-top:1px solid #e5f1f7}.rp-servicio-solicitud:not(.is-open) .rp-service-panel{display:none}.rp-servicio-solicitud.is-open .rp-service-toggle__action{visibility:hidden}.rp-item-actions{white-space:normal}.rp-item-remove-note{display:block;margin-top:4px}
.rp-rupe-update .rp-rupe-form select,.rp-rupe-update .rp-rupe-form input[type=datetime-local],.rp-rupe-update .rp-rupe-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:8px;border:1px solid #d9e1ea;border-radius:6px;font-size:16px}
.rp-user-card{padding:16px;border:1px solid #e5f1f7;border-radius:10px;background:#fbfcfd;margin-top:12px}.rp-user-card__identity p{margin:5px 0;color:#52606d;line-height:1.55}.rp-user-actions{align-items:flex-start}.rp-user-editor[open]{flex-basis:100%;order:2}
.rp-collapsible>summary{list-style:none;width:max-content;max-width:100%;margin-top:0;cursor:pointer}.rp-collapsible>summary::-webkit-details-marker{display:none}.rp-disclosure{gap:8px}.rp-disclosure::after{content:'\25BE';font-size:.9em;transition:transform .15s ease}.rp-collapsible[open]>.rp-disclosure::after{transform:rotate(180deg)}.rp-collapsible-form{margin-top:12px;padding:16px;border:1px solid #d9e1ea;border-radius:10px;background:#fff}.rp-collapsible-form h5{margin:0 0 8px;font-size:1rem}.rp-collapsible--header[open]{width:min(440px,100%)}.rp-collapsible--header[open] .rp-collapsible-form{position:absolute;z-index:2;right:0;width:min(440px,100%);box-sizing:border-box;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.rp-dashboard-table th:nth-child(1),.rp-dashboard-table td:nth-child(1){width:45px}.rp-dashboard-table th:nth-child(5),.rp-dashboard-table td:nth-child(5),.rp-dashboard-table th:nth-child(7),.rp-dashboard-table td:nth-child(7){min-width:180px}.rp-dashboard-table th:nth-child(7),.rp-dashboard-table td:nth-child(7){overflow-wrap:anywhere}.rp-dashboard-table th:last-child,.rp-dashboard-table td:last-child{min-width:190px}.rp-actions--compact{gap:6px}
.rp-data-list{display:grid;gap:8px;margin:10px 0 14px}.rp-data-list>div{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:12px}.rp-data-list dt{font-weight:600}.rp-data-list dd{margin:0;min-width:0;overflow-wrap:anywhere}
.rp-resultados-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px}.rp-proveedor-card{min-width:0;overflow-wrap:anywhere}.rp-paginacion{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}.rp-provider-context{overflow-wrap:anywhere}
.rp-status-badge{display:inline-flex;align-items:center;margin-left:7px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3;vertical-align:middle}.rp-status-badge--activo{color:#166534;background:#dcfce7}.rp-status-badge--suspendido{color:#854d0e;background:#fef3c7}.rp-status-badge--baja{color:#991b1b;background:#fee2e2}.rp-service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.rp-service-actions form{margin:0}.rp-services-inactive-heading{margin:24px 0 8px;padding-top:18px;border-top:1px solid #d9e1ea;color:#52606d}
.rp-provider-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0;padding:20px;border:1px solid #d9e1ea;border-radius:12px;background:#f8fafc}.rp-provider-hero h4,.rp-provider-hero p{margin:0 0 8px}.rp-provider-hero__identity,.rp-provider-hero__status{min-width:0}.rp-provider-hero__identity{overflow-wrap:anywhere}.rp-provider-hero__status{flex:0 1 auto}.rp-provider-hero__actions{margin-top:12px}.rp-status-badge--pendiente{color:#854d0e;background:#fef3c7}.rp-status-badge--aprobado{color:#166534;background:#dcfce7}.rp-status-badge--rechazado{color:#991b1b;background:#fee2e2}.rp-section-disclosure>summary,.rp-classification-disclosure>summary{display:flex;width:100%;box-sizing:border-box;align-items:flex-start;gap:10px;min-height:48px;padding:11px 14px;border:1px solid #b8c5d1;border-radius:10px;background:#f4f7f9;overflow-wrap:anywhere;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.rp-section-disclosure>summary:hover,.rp-classification-disclosure>summary:hover{border-color:#8da5b8;background:#eaf2f7}.rp-section-disclosure>.rp-disclosure::after,.rp-classification-disclosure>.rp-disclosure::after{flex:0 0 auto;margin-left:auto;color:#0078b9;font-size:1.25em;line-height:1}.rp-section-disclosure[open]>summary,.rp-classification-disclosure[open]>summary{border-color:#b8c5d1;border-radius:10px 10px 0 0;background:#e5f1f7}.rp-section-disclosure>.rp-collapsible-content,.rp-classification-disclosure>.rp-collapsible-content{box-sizing:border-box;margin-top:0;padding:12px;border:1px solid #b8c5d1;border-top:0;border-radius:0 0 10px 10px;background:#fff}.rp-classification-disclosure{margin:16px 0}.rp-classification-disclosure .rp-classification{margin-top:0}

@media (max-width:900px){
  .rp-category-list,.rp-tourism__options{grid-template-columns:1fr}
  .rp-dashboard-table th:last-child,.rp-dashboard-table td:last-child{min-width:170px}
  .rp-actions--compact{align-items:stretch}
}

@media (max-width:640px){
  .rp-card{padding:14px;margin:14px 0;border-radius:10px}.rp-fieldset{padding:10px;margin-top:12px}
  .rp-grid-2{grid-template-columns:minmax(0,1fr);gap:10px}.rp-colspan-2{grid-column:auto}
  .rp-subcategory-list{margin-left:8px;padding-left:8px}.rp-tourism{padding:10px}
  .rp-filter{gap:10px}.rp-filter>div{max-width:none;flex-basis:100%}.rp-filter>.rp-btn{width:100%}
  .rp-service-header{flex-direction:column;align-items:stretch}.rp-service-toggle{width:100%}.rp-service-toggle strong,.rp-service-toggle small{white-space:normal;text-overflow:clip}.rp-service-header>form{align-self:flex-end}.rp-service-panel{padding:0 10px 10px}
  .rp-collapsible--header,.rp-collapsible--header[open]{width:100%}.rp-collapsible--header[open] .rp-collapsible-form{position:static;width:100%;box-shadow:none}.rp-collapsible-form{padding:12px}
  .rp-user-card{padding:12px}.rp-user-actions{align-items:stretch}.rp-user-actions form,.rp-user-actions>.rp-collapsible{width:100%}
  .rp-data-list>div{grid-template-columns:minmax(0,1fr);gap:2px;padding-bottom:8px;border-bottom:1px solid #edf0f2}
  .rp-actions{align-items:stretch}.rp-actions form{max-width:100%}
  .rp-table th,.rp-table td{padding:8px}.rp-table{font-size:14px}
  .rp-paginacion{justify-content:space-between}.rp-paginacion span{flex-basis:100%}
  .rp-provider-hero{flex-direction:column;padding:14px}.rp-provider-hero__status,.rp-provider-hero__actions{width:100%}.rp-section-disclosure>summary,.rp-classification-disclosure>summary{padding:10px 12px}.rp-section-disclosure>summary>*,.rp-classification-disclosure>summary>*{min-width:0}
}
