:root{
    --hm-color-primary:#0042B6;
    --hm-color-secondary:#002464;
    --hm-color-bg:#F7F8FE;
    --hm-color-bg-active:#E6F2F8;
    --hm-color-white:#FFFFFF;
    --hm-color-text:#1f2937;
    --hm-color-text-soft:#5b6475;
    --hm-color-border:#d9e2f2;
    --hm-color-success-bg:#dcfce7;
    --hm-color-success-text:#166534;
    --hm-color-warning-bg:#fef3c7;
    --hm-color-warning-text:#92400e;
    --hm-color-danger-bg:#ffe4e6;
    --hm-color-danger-text:#be123c;
    --hm-color-info-bg:#dbeafe;
    --hm-color-info-text:#1d4ed8;
    --hm-shadow-soft:0 10px 30px rgba(0, 36, 100, .08);
    --hm-radius-lg:18px;
    --hm-radius-md:14px;
    --hm-radius-sm:10px;
}

.hm-requests-wrap{
    max-width:1100px;
    margin:32px auto;
    padding:24px;
    border:1px solid var(--hm-color-border);
    border-radius:var(--hm-radius-lg);
    background:var(--hm-color-white);
    box-shadow:var(--hm-shadow-soft);
}

.hm-requests-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

.hm-requests-title{
    margin:0;
    font-size:32px;
    line-height:1.1;
    color:var(--hm-color-secondary);
}

.hm-requests-subtitle{
    margin:8px 0 0;
    color:var(--hm-color-text-soft);
}

.hm-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 18px;
    border-radius:12px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    font-weight:700;
    transition:.2s ease;
}

.hm-btn-primary{
    background:var(--hm-color-primary);
    color:var(--hm-color-white);
}

.hm-btn-primary:hover{
    background:var(--hm-color-secondary);
}

.hm-btn-secondary{
    background:var(--hm-color-white);
    color:var(--hm-color-primary);
    border-color:var(--hm-color-primary);
}

.hm-btn-secondary:hover{
    background:var(--hm-color-bg-active);
}

.hm-btn-full{
    width:100%;
}

.hm-request-list{
    display:grid;
    gap:16px;
}

.hm-request-card{
    border:1px solid var(--hm-color-border);
    border-radius:16px;
    background:var(--hm-color-bg);
    overflow:hidden;
}

.hm-request-summary{
    width:100%;
    border:none;
    background:transparent;
    padding:18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    text-align:left;
    cursor:pointer;
    transition:.2s ease;
}

.hm-request-summary:hover{
    background:var(--hm-color-bg-active);
}

.hm-request-summary-main{
    flex:1 1 auto;
}

.hm-request-summary-side{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    justify-content: space-between;
}

.hm-request-mini{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:120px;
}

.hm-request-mini strong{
    color:var(--hm-color-secondary);
    font-size:13px;
}

.hm-request-mini span{
    color:var(--hm-color-text);
}

.hm-request-card-title{
    margin:0;
    font-size:22px;
    color:var(--hm-color-secondary);
}

.hm-request-date{
    margin:6px 0 0;
    color:var(--hm-color-text-soft);
    font-size:14px;
}

.hm-request-status{
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

.hm-status-tasacion{
    background:var(--hm-color-warning-bg);
    color:var(--hm-color-warning-text);
}

.hm-status-en-evaluacion{
    background:var(--hm-color-info-bg);
    color:var(--hm-color-info-text);
}

.hm-status-oferta{
    background:#e9e5ff;
    color:#5b21b6;
}

.hm-status-retasacion{
    background:var(--hm-color-danger-bg);
    color:var(--hm-color-danger-text);
}

.hm-status-aceptada{
    background:var(--hm-color-success-bg);
    color:var(--hm-color-success-text);
}

.hm-status-rechazada{
    background:#edf2f7;
    color:#475569;
}

.hm-request-chevron{
    font-size:20px;
    line-height:1;
    color:var(--hm-color-primary);
    transition:transform .2s ease;
}

.hm-request-card.is-open .hm-request-chevron{
    transform:rotate(180deg);
}

.hm-request-details{
    display:none;
    padding:0 18px 18px;
}

.hm-request-card.is-open .hm-request-details{
    display:block;
}

.hm-request-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.hm-request-item{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:14px;
    background:var(--hm-color-white);
    border-radius:12px;
    border:1px solid var(--hm-color-border);
}

.hm-request-item strong{
    color:var(--hm-color-secondary);
}

.hm-request-item span,
.hm-request-item a{
    color:var(--hm-color-text);
}

.hm-request-item a{
    color:var(--hm-color-primary);
    text-decoration:none;
    font-weight:600;
}

.hm-request-item a:hover{
    color:var(--hm-color-secondary);
}

.hm-request-item-full{
    grid-column:1 / -1;
}

.hm-request-upload-box{
    padding:16px;
    background:var(--hm-color-white);
    border:1px solid var(--hm-color-border);
    border-radius:14px;
}

.hm-request-upload-info{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:14px;
}

.hm-request-upload-info strong{
    color:var(--hm-color-secondary);
}

.hm-upload-form-stack{
    display:grid;
    gap:14px;
}

.hm-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.hm-field-stack{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.hm-field-stack label{
    color:var(--hm-color-secondary);
    font-weight:600;
}

.hm-field-stack input,
.hm-field-stack textarea,
.hm-field-stack select{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--hm-color-border);
    border-radius:12px;
    background:var(--hm-color-white);
    color:var(--hm-color-text);
}

.hm-field-stack input:focus,
.hm-field-stack textarea:focus,
.hm-field-stack select:focus{
    outline:none;
    border-color:var(--hm-color-primary);
    box-shadow:0 0 0 3px rgba(0, 66, 182, .12);
}

.hm-upload-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.hm-empty-state{
    padding:30px;
    border:1px dashed var(--hm-color-border);
    border-radius:16px;
    text-align:center;
    background:var(--hm-color-bg);
}

.hm-empty-state h3{
    margin-top:0;
    color:var(--hm-color-secondary);
}

.hm-box{
    max-width:900px;
    margin:24px auto;
    padding:20px;
    border-radius:16px;
    background:var(--hm-color-white);
    border:1px solid var(--hm-color-border);
}

.hm-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
}

.hm-modal.is-open{
    display:block;
}

.hm-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0, 36, 100, .45);
}

.hm-modal-dialog{
    position:relative;
    max-width:720px;
    margin:60px auto;
    background:var(--hm-color-white);
    border-radius:18px;
    padding:24px;
    z-index:2;
    box-shadow:0 30px 80px rgba(0, 36, 100, .22);
}

.hm-modal-title{
    margin:0 0 8px;
    font-size:28px;
    color:var(--hm-color-secondary);
}

.hm-modal-subtitle{
    margin:0 0 20px;
    color:var(--hm-color-text-soft);
}

.hm-modal-close{
    position:absolute;
    top:12px;
    right:12px;
    width:38px;
    height:38px;
    border:none;
    border-radius:999px;
    background:var(--hm-color-bg);
    color:var(--hm-color-secondary);
    font-size:22px;
    cursor:pointer;
}

.hm-modal-close:hover{
    background:var(--hm-color-bg-active);
}

.hm-form-request{
    display:grid;
    gap:14px;
}

.hm-auth-msg{
    padding:12px 14px;
    border-radius:10px;
    margin-bottom:18px;
    font-size:14px;
}

.hm-auth-msg.error{
    background:#fff1f2;
    color:#9f1239;
    border:1px solid #fecdd3;
}

.hm-auth-msg.success{
    background:#ecfdf5;
    color:#065f46;
    border:1px solid #a7f3d0;
}

@media (max-width: 768px){
    .hm-request-summary{
        flex-direction:column;
        align-items:flex-start;
    }

    .hm-request-summary-side{
        width:100%;
        gap:10px;
    }

    .hm-request-grid,
    .hm-upload-grid{
        grid-template-columns:1fr;
    }

    .hm-modal-dialog{
        margin:20px 12px;
        padding:20px;
    }
}
/*ancho del registro*/
.hm-requests-wrap .hm-request-summary, .hm-requests-wrap .hm-request-summary:focus, .hm-requests-wrap .hm-request-summary:active, .hm-requests-wrap .hm-request-summary:hover {
    width: 100%;
    margin-bottom: 10px;
}

/* Override de colores ajenos al sistema */
.hm-requests-wrap,
.hm-requests-wrap * {
    accent-color: var(--hm-color-primary);
}

.hm-requests-wrap a,
.hm-requests-wrap button,
.hm-requests-wrap input[type="submit"],
.hm-requests-wrap input[type="button"]{
    transition:.2s ease;
}

.hm-requests-wrap .hm-btn-primary,
.hm-requests-wrap .hm-btn-primary:visited,
.hm-requests-wrap .hm-btn-primary:focus,
.hm-requests-wrap .hm-btn-primary:active{
    background:var(--hm-color-primary) !important;
    color:var(--hm-color-white) !important;
    border-color:var(--hm-color-primary) !important;
}

.hm-requests-wrap .hm-btn-primary:hover{
    background:var(--hm-color-secondary) !important;
    border-color:var(--hm-color-secondary) !important;
    color:var(--hm-color-white) !important;
}

.hm-requests-wrap .hm-btn-secondary,
.hm-requests-wrap .hm-btn-secondary:visited,
.hm-requests-wrap .hm-btn-secondary:focus,
.hm-requests-wrap .hm-btn-secondary:active{
    background:var(--hm-color-white) !important;
    color:var(--hm-color-primary) !important;
    border-color:var(--hm-color-primary) !important;
}

.hm-requests-wrap .hm-btn-secondary:hover{
    background:var(--hm-color-bg-active) !important;
    color:var(--hm-color-secondary) !important;
    border-color:var(--hm-color-secondary) !important;
}

.hm-requests-wrap .hm-request-summary,
.hm-requests-wrap .hm-request-summary:focus,
.hm-requests-wrap .hm-request-summary:active,
.hm-requests-wrap .hm-request-summary:hover{
    color:var(--hm-color-text) !important;
    border-color:transparent !important;
    outline:none;
}

.hm-requests-wrap .hm-request-card-title,
.hm-requests-wrap .hm-request-summary strong,
.hm-requests-wrap .hm-request-item strong,
.hm-requests-wrap .hm-modal-title,
.hm-requests-wrap .hm-requests-title{
    color:var(--hm-color-secondary) !important;
}

.hm-requests-wrap .hm-request-chevron{
    color:var(--hm-color-primary) !important;
}

.hm-requests-wrap input:focus,
.hm-requests-wrap textarea:focus,
.hm-requests-wrap select:focus,
.hm-requests-wrap button:focus{
    outline:none !important;
    border-color:var(--hm-color-primary) !important;
    box-shadow:0 0 0 3px rgba(0, 66, 182, .12) !important;
}

.hm-requests-wrap a{
    color:var(--hm-color-primary) !important;
}

.hm-requests-wrap a:hover{
    color:var(--hm-color-secondary) !important;
}
/*fondo registro listado*/
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: #dbe3f6!important;
}
