.rto-panel-page {
    padding: 14px;
    background: #fff;
    font-size: 13px;
}

.rto-panel-grid,
.rto-two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.rto-box {
    border: 1px solid #aeb6bf;
    border-radius: 7px;
    background: #fff;
    padding: 10px;
}

.rto-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #111;
}

.rto-title span {
    color: #008bd2;
    margin-right: 5px;
}

.rto-form-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rto-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rto-row label {
    width: 145px;
    font-weight: 600;
}

.rto-control {
    height: 27px;
    border: 1px solid #adb5bd;
    border-radius: 4px;
    padding: 3px 7px;
    min-width: 170px;
    font-size: 13px;
}

textarea.rto-control {
    min-height: 90px;
    resize: vertical;
}

.rto-dominio-input {
    font-size: 20px;
    font-weight: 800;
    color: #1fb042;
    text-transform: uppercase;
}

.rto-mini {
    min-width: 95px;
    width: 95px;
}

.rto-row-search {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rto-row-search .rto-control {
    width: 170px;
}

.rto-btn {
    background: #0078b8;
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 7px 16px;
    font-weight: 600;
    cursor: pointer;
}

.rto-btn:hover {
    background: #005f91;
}

.rto-btn-large {
    min-width: 130px;
    height: 46px;
}

.rto-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.rto-info-box {
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    padding: 8px;
    min-height: 32px;
    background: #fff;
}

.rto-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #0078b8;
    margin-bottom: 22px;
}

.rto-tabs span {
    background: #0078b8;
    color: white;
    padding: 10px 22px;
    font-weight: 700;
    border-radius: 3px 3px 0 0;
}

.rto-tabs .active {
    background: #005f91;
}

.rto-unlock {
    margin-top: 14px;
    padding: 14px;
    border-radius: 7px;
    background: linear-gradient(#ffe4e4, #ff9b9b);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rto-unlock label {
    width: 145px;
    font-weight: 600;
}

.rto-save-center {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.rto-status-bar {
    min-height: 58px;
    border: 1px solid #d3d3d3;
    border-bottom: 2px solid #ff6b00;
    border-radius: 7px;
    background: #f4f4f4;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 8px 16px;
    margin-bottom: 16px;
    box-shadow: inset 0 1px 0 #fff;
}

.rto-status-item {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #000;
    font-size: 14px;
    white-space: nowrap;
}

.rto-status-icon {
    width: 24px;
    height: 31px;
    display: inline-block;
    background: linear-gradient(
        135deg,
        #ff6b00 0%,
        #ff6b00 45%,
        #ffffff 46%,
        #ffffff 100%
    );
    border-left: 3px solid #111;
    filter: drop-shadow(3px 3px 2px #222);
    margin-right: 3px;
}

.rto-timer {
    border: 1px solid #b9b9b9;
    background: white;
    border-radius: 7px;
    padding: 4px 13px;
    font-weight: 700;
    font-family: monospace;
}

.rto-status-car {
    margin-left: auto;
    font-size: 32px;
    color: #ff6b00;
}

/* LISTA DE PLANILLAS GENERAL */

.rto-lista-box {
    margin-top: 20px;
}

.rto-table-wrap {
    margin: 12px 12px 4px;
    border-radius: 8px;
    border: 1px solid #c9c9c9;
    overflow: auto;
    box-shadow: 5px 0 4px rgba(0, 0, 0, 0.35);
}

.rto-planillas-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    font-weight: 700;
    background: white;
}

.rto-planillas-table thead th {
    background: linear-gradient(#d8f4ff, #a8daf1);
    color: #000;
    padding: 8px 10px;
    border-right: 2px solid #fff;
    text-align: center;
}

.rto-planillas-table tbody td {
    padding: 8px 14px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #eee;
    vertical-align: top;
}

.rto-planillas-table tbody tr:nth-child(even) {
    background: linear-gradient(#d8d8d8, #eeeeee);
}

.rto-planillas-table tbody tr:nth-child(odd) {
    background: linear-gradient(#ffffff, #f2f2f2);
}

.rto-estados {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 220px;
}

.rto-estados a {
    text-decoration: none;
}

.estado-verde {
    color: green;
    font-weight: 800;
}

.estado-rojo {
    color: red;
    font-weight: 800;
}

.estado-negro {
    color: black;
    font-weight: 800;
}

.rto-empty {
    text-align: center;
    padding: 20px;
    color: #777;
}

.rto-pagination {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin: 15px 0 5px;
    font-weight: 700;
}

.rto-pagination a {
    background: #0078b8;
    color: white;
    padding: 6px 14px;
    border-radius: 5px;
    text-decoration: none;
}

/* CONSULTA DOMINIO */

.rto-domain-wrap {
    width: 100%;
}

.rto-alert {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
}

.rto-alert-success {
    background: #d1e7dd;
    color: #0f5132;
}

.rto-alert-error,
.rto-alert-danger {
    background: linear-gradient(#ffe3e3, #ff8585);
    color: #7a0000;
}

.rto-alert-warning {
    background: #fff3cd;
    border: 1px solid #ffda6a;
    color: #664d03;
}

/* LINKS COMO BOTONES EN LISTA DE PLANILLAS */

.rto-inline-form {
    display: inline;
}

.rto-link-btn {
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

/* HELPERS */

.mt-2 {
    margin-top: 8px;
}

.mt-3 {
    margin-top: 1rem;
}

.mb-3 {
    margin-bottom: 14px;
}

.mb-4 {
    margin-bottom: 18px;
}

@media (max-width: 900px) {
    .rto-panel-grid,
    .rto-two-cols {
        grid-template-columns: 1fr;
    }

    .rto-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .rto-row label {
        width: auto;
    }

    .rto-status-bar {
        flex-wrap: wrap;
    }
}
.rto-historial-title {
    font-size: 13px;
    margin-bottom: 6px;
}

.rto-historial-table-wrap {
    border: 1px solid #c9c9c9;
    border-radius: 8px;
    overflow: auto;
    box-shadow: 5px 0 4px rgba(0,0,0,.35);
}

.rto-historial-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-weight: 700;
}

.rto-historial-table th {
    background: linear-gradient(#d8f4ff, #a8daf1);
    padding: 7px;
    text-align: center;
    border-right: 2px solid #fff;
}

.rto-historial-table td {
    padding: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #eee;
    text-align: center;
}

.rto-historial-table tr:nth-child(even) {
    background: #eee;
}

.rto-btn-detalle-historial {
    background: #0786d8;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

.rto-btn-detalle-historial:hover {
    background: #0569aa;
}

.rto-modal-historial {
    width: 850px;
}

.rto-detalle-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 18px;
    font-size: 13px;
    margin-bottom: 14px;
}

.rto-subtitle-modal {
    font-size: 15px;
    margin: 12px 0 8px;
}

.rto-anomalias-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.rto-anomalias-table th {
    background: #bfe5f6;
    padding: 7px;
    border: 1px solid #fff;
}

.rto-anomalias-table td {
    padding: 7px;
    border: 1px solid #ddd;
}
.rto-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 99999;
    align-items: center;
    justify-content: center;
}

.rto-modal-overlay.activo {
    display: flex;
}

/* =========================================================
   HISTORIAL REVISIONES
   ========================================================= */

.rto-historial-title{
    font-size:13px;
    margin-bottom:8px;
    font-weight:600;
}

.rto-historial-table-wrap{
    border:1px solid #c9c9c9;
    border-radius:8px;
    overflow:auto;
    box-shadow:5px 0 4px rgba(0,0,0,.35);
}

.rto-historial-table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
    font-weight:700;
    background:#fff;
}

.rto-historial-table th{
    background:linear-gradient(#d8f4ff,#a8daf1);
    color:#000;
    padding:8px;
    border-right:2px solid #fff;
    text-align:center;
}

.rto-historial-table td{
    padding:8px;
    border-right:2px solid #fff;
    border-bottom:2px solid #eee;
    text-align:center;
}

.rto-historial-table tbody tr:nth-child(even){
    background:#eeeeee;
}

.rto-historial-table tbody tr:nth-child(odd){
    background:#fafafa;
}

.rto-btn-detalle-historial{
    background:#0a83d9;
    color:#fff;
    border:none;
    border-radius:6px;
    padding:8px 12px;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    transition:.15s;
}

.rto-btn-detalle-historial:hover{
    background:#076eb7;
}

/* =========================================================
   MODAL HISTORIAL RTO
   ========================================================= */

.rto-modal-overlay{
    display:none !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100vh !important;
    background:rgba(0,0,0,.55) !important;
    z-index:999999 !important;
    align-items:center !important;
    justify-content:center !important;
    padding:20px !important;
    box-sizing:border-box !important;
}

.rto-modal-overlay.activo{
    display:flex !important;
}

.rto-modal-box{
    position:relative !important;
    width:900px !important;
    max-width:96vw !important;
    max-height:90vh !important;
    overflow:auto !important;
    background:#fff !important;
    border-radius:8px !important;
    padding:18px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.45) !important;
    z-index:1000000 !important;
}

.rto-modal-header{
    position:sticky;
    top:0;
    background:#fff;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:10px;
    margin-bottom:12px;
    border-bottom:1px solid #ddd;
}

.rto-modal-header h2{
    margin:0 !important;
    font-size:18px !important;
}

.rto-modal-close{
    width:34px;
    height:34px;
    border:1px solid #999;
    background:#fff;
    border-radius:4px;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}

.rto-modal-content-box{
    border:1px solid #ccc;
    border-radius:7px;
    padding:14px;
}

.rto-subtitle-modal{
    margin:0 0 12px;
    font-size:15px;
}

.rto-detalle-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 18px;
    font-size:13px;
    margin-bottom:14px;
}

.rto-detalle-grid strong{
    color:#000;
}

.rto-anomalias-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}

.rto-anomalias-table th{
    background:#bfe5f6;
    padding:8px;
    border:1px solid #fff;
    text-align:left;
}

.rto-anomalias-table td{
    padding:8px;
    border:1px solid #ddd;
}

@media(max-width:900px){

    .rto-detalle-grid{
        grid-template-columns:1fr;
    }

    .rto-modal-box{
        width:98vw !important;
    }
}