.vs-app{max-width:760px;margin:0 auto;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);font-family:Arial,Helvetica,sans-serif;color:#222}
.vs-app *{box-sizing:border-box}
.vs-title{text-align:center;font-size:1.4em;font-weight:700;color:#222}
.vs-main-title{margin-bottom:2px}
.vs-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;margin-bottom:0}
.vs-form input{flex:1;min-width:180px;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:16px;background:#fff}
.vs-form button{padding:10px 16px;border:none;border-radius:8px;background:#8A2D4D;color:#fff;font-weight:600;cursor:pointer}
.vs-form button:hover{background:#6A142F}
table.vs-table{width:100%;border-collapse:collapse;margin-top:8px}
table.vs-table th{background:#8A2D4D;color:#fff;padding:10px 8px;font-size:.9em;text-align:left}
table.vs-table td{padding:10px 8px;border-bottom:1px solid #eee;font-size:.95em;vertical-align:top}
.vs-pvp{font-weight:700;color:#8A2D4D;cursor:pointer;user-select:none;display:inline-block}
.vs-pvp:hover{text-decoration:underline}
.vs-tiers{display:none;margin-top:6px;background:#fff5f8;border:1px dashed #d6336c;border-radius:8px;padding:6px 10px;font-size:.85em;line-height:1.2;position:relative}
.vs-tiers.show{display:block}
.vs-tiers-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}
.vs-tiers-title{font-weight:700;padding:0}
.vs-tiers-close{background:none;border:none;color:#8A2D4D;font-size:16px;line-height:1;font-weight:700;cursor:pointer;padding:0 2px}
.vs-tiers-close:hover{color:#6A142F}
.vs-tiers div{padding:1px 0}
.vs-cunit{font-size:.52em;vertical-align:baseline;position:relative;top:.08em;margin-left:2px;line-height:1}
.vs-del{color:#999;cursor:pointer;font-size:.95em;font-weight:700;display:inline-block;padding:4px 8px;background:none;border:none}
.vs-del:hover{color:#c00}
.vs-note{font-size:.8em;color:#666;text-align:center}
.vs-note a{color:#8A2D4D;text-decoration:none}
.vs-note a:hover{text-decoration:underline}
.vs-top-hint{margin-top:0;margin-bottom:8px}
.vs-empty{text-align:center;color:#777;padding:16px}
.vs-table th:nth-child(2), .vs-table td:nth-child(2){border-right:none;padding-right:0}
.vs-table th:nth-child(3), .vs-table td:nth-child(3){border-left:none;width:40px;padding-left:0;text-align:right}
.vs-table th:nth-child(3){color:transparent}
.vs-admin-title{margin-top:10px;margin-bottom:2px;font-weight:700;color:#222;font-size:15px}
#vsAdminWelcome{margin-top:0;margin-bottom:6px;text-align:center;font-size:16px;color:#8A2D4D;font-style:italic;font-weight:700;line-height:1.1;display:none}
.vs-admin-hint{margin-top:0;margin-bottom:4px;line-height:1.1}
.vs-admin-access{text-align:center;margin-top:4px}

#vsBtnLogin{
  padding:10px 16px;
  border:none;
  border-radius:8px;
  background:#8A2D4D;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  display:inline-block
}
#vsBtnLogin:hover{background:#6A142F}

#vsBtnAgregar{
  background:#FFD400;
  color:#c00000;
  border:none;
  border-radius:8px;
  font-weight:700;
  cursor:pointer
}
#vsBtnAgregar:hover{
  background:#e6bf00;
  color:#a00000
}

#vsBtnLogout{
  padding:7px 10px;
  background:#fff;
  color:#c00000;
  border:2px solid #c00000;
  border-radius:8px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
  display:inline-block
}
#vsBtnLogout:hover{
  background:#fff5f5;
  color:#a00000;
  border-color:#a00000
}

.vs-preview-panel{margin-top:8px;text-align:center;background:#fff5f8;border:1px dashed #d6336c;border-radius:8px;padding:6px 10px;font-size:.85em;line-height:1.2}
.vs-preview-title{font-weight:700;margin-bottom:3px}
.vs-preview-row{padding:1px 0}

.vs-admin-actions{text-align:center;margin-top:8px}
#vsFooterNote{margin-top:10px}

@media (max-width:600px){
  .vs-form{flex-direction:column}
  .vs-form button{width:100%}
  .vs-admin-access{text-align:center}
  #vsBtnLogin{
    width:auto;
    max-width:70%;
    display:inline-block
  }
  #vsBtnAgregar{width:100%}
  .vs-admin-actions{text-align:center}
  #vsBtnLogout{
    width:auto;
    max-width:70%;
    display:inline-block
  }
  table.vs-table th, table.vs-table td{font-size:.9em}
}
