/* Main content */
body{
	margin:0;
	padding: 20px;
	background-color:#f4f7f6;
	color: #333;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	font-size: 13px;
}
a{color:#4a90e2;text-decoration:none;transition: color 0.3s;}
a:hover{color:#d0021b;text-decoration:none;}

.header-container, 
.main-content-table, 
.main-container,
.breadcrumb-nav {
    max-width: 1000px;
    width: 1000px !important; /* Force width to be consistent across all major blocks */
    margin: 0 auto !important;
    box-sizing: border-box;
}

.breadcrumb-nav.detail-nav {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 20px 0 !important;
}

.main-container {
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.header-container {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    margin-bottom: 0;
}

.breadcrumb-nav {
    background: #e5effb;
    padding: 12px 25px;
    font-size: 12px;
    border-top: 1px solid rgba(0,0,0,0.05);
    display: flex;
    justify-content: space-between;
    align-items: center; /* Vertical center */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.view-links {
    font-size: 11px;
    color: #666;
    display: flex;
    gap: 10px;
    align-items: center;
}

.view-links a {
    color: #666;
    font-weight: normal;
}

.breadcrumb-nav a {
    text-decoration: none;
    color: #2b6cb0;
    font-weight: 500;
}

.breadcrumb-nav a.active {
    color: #d0021b;
    font-weight: bold;
    border-bottom: 2px solid #d0021b;
    padding-bottom: 2px;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
    background: #fff;
}

.logos {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo-main img { height: 45px; width: auto; }
.logo-apple img { height: 40px; width: auto; }

.top-info {
    text-align: right;
    font-size: 12px;
    color: #666;
}

.top-links {
    margin-top: 5px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.top-links a {
    color: #4a90e2;
    font-weight: 600;
}

/* Navegador Principal (Blue Bar) */
.main-nav {
    background: #94b2da;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    flex-wrap: wrap;
    gap: 10px;
}

.nav-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-form label {
    color: #fff;
    font-weight: bold;
    margin-right: 5px;
}

.nav-form input[type="text"] {
    padding: 5px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 12px;
}

.nav-form input[type="submit"], .nav-form button {
    padding: 5px 15px;
    background: #fff;
    color: #94b2da;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 11px;
}

.nav-form input[type="submit"]:hover {
    background: #eef7fe;
}

.nav-links {
    display: flex;
    gap: 15px;
    align-items: center;
}

.nav-links a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    font-size: 12px;
}

.nav-links a:hover {
    text-decoration: underline;
}

.user-info {
    font-weight: bold;
    background: rgba(255,255,255,0.2);
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
}

/* Breadcrumbs (Step Navigation) */
.breadcrumb-nav {
    background: #e5effb;
    padding: 8px 25px;
    font-size: 12px;
    border-top: 1px solid rgba(0,0,0,0.05);
    display: flex;
    justify-content: space-between;
}

.steps {
    display: flex;
    gap: 10px;
    align-items: center;
    color: #555;
}

.steps a { color: #333; font-weight: 600; }
.steps span.active { color: #4a90e2; font-weight: bold; }

/* Table Improvements */
.main-content-table {
    font-size: 13px; /* Standardize font size */
}

.asistencias-table {
    width: 1000px;
    table-layout: fixed; /* Crucial to respect column widths */
    border-collapse: collapse;
    margin-top: 0;
}

.asistencias-table th {
    background: #f8f9fa;
    color: #555;
    font-weight: 600;
    padding: 12px 10px;
    text-align: left;
    border-bottom: 2px solid #dee2e6;
    font-size: 12px;
    text-transform: uppercase;
}

.asistencias-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #d1d9e0;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Precise Column Widths */
.col-estado { width: 160px !important; }
.col-asistencia { width: 75px !important; }
.col-edad { width: 40px !important; }
.col-icon { width: 35px !important; }
.col-serie { width: 120px !important; }
.col-cliente { width: 160px !important; }
.col-centro { width: 60px !important; }
.col-cobertura { width: 100px !important; }

/* The device column takes the remaining space */
.col-dispositivo { 
    width: auto !important; 
    font-size: 11px; 
}

/* Accordion Styles */
.group-row {
    cursor: pointer;
    user-select: none;
}

.group-row:hover {
    background: #e2e8f0 !important;
}

.group-header::before {
    content: '▼';
    display: inline-block;
    margin-right: 10px;
    font-size: 10px;
    transition: transform 0.2s;
}

.group-row.collapsed .group-header::before {
    transform: rotate(-90deg);
}

/* Center Alignments */
.asistencias-table th.col-estado,
.asistencias-table th.col-asistencia,
.asistencias-table th.col-edad,
.asistencias-table th.col-serie,
.asistencias-table th.col-dispositivo,
.asistencias-table th.col-cliente,
.asistencias-table td.col-estado,
.asistencias-table td.col-asistencia,
.asistencias-table td.col-edad,
.asistencias-table td.col-serie {
    text-align: center !important;
}

/* Specific overrides for status badge to keep it clean */
.asistencias-table td.EstadoSolicitud,
.asistencias-table td.EstadoDiagnostico,
.asistencias-table td.EstadoPresupuesto,
.asistencias-table td.EstadoIntervencion,
.asistencias-table td.EstadoCierre {
    white-space: nowrap;
    min-width: 150px;
}

.asistencias-table tr:hover {
    background-color: #f1f5f9;
}

/* Grouping Row */
.group-header {
    background: #edf2f7 !important;
    font-weight: bold;
    color: #2d3748;
    padding: 10px 15px !important;
    border-left: 5px solid #94b2da;
    border-bottom: 1px solid #d1d9e0;
    font-size: 11px;
    letter-spacing: 0.5px;
}

.asistencia-id {
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    color: #4a90e2;
}

/* Form & Layout Improvements */
.page-content-wrapper {
    padding: 20px 30px;
}

.alert {
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 13px;
    border: 1px solid transparent;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.alert-warning {
    background: #fffaf0;
    border-color: #feebc8;
    color: #c05621;
}

.alert-info {
    background: #ebf8ff;
    border-color: #bee3f8;
    color: #2b6cb0;
}

.internal-notes {
    background: #fff5f5;
    border: 1px solid #feb2b2;
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.notes-content {
    font-family: 'Courier New', Courier, monospace;
    color: #c53030;
    margin-top: 5px;
}

.modern-form .form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #4a5568;
    font-size: 12px;
}

.form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    font-family: inherit;
    font-size: 13px;
    box-sizing: border-box;
}

.form-control.readonly {
    background: #f7fafc;
    color: #718096;
}

.form-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #edf2f7;
}

.coverage-selector {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.help-text {
    font-size: 11px;
    color: #718096;
}

.btn {
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.2s;
}

.btn-primary {
    background: #3182ce;
    color: #fff;
}

.btn-primary:hover {
    background: #2b6cb0;
}
.asistencia-header-info {
    background: #fff;
    border: 1px solid #e1e8ed;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.info-top {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 10px;
    margin-bottom: 15px;
    font-size: 14px;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    text-align: center;
    margin-bottom: 15px;
}

.status-center .estado-badge {
    padding: 6px 15px;
    font-size: 12px;
}

.extra-info {
    text-align: center;
    margin-bottom: 15px;
    font-size: 12px;
}

.client-info-bar {
    background: #f8fafc;
    border-radius: 6px;
    padding: 12px;
    border: 1px solid #edf2f7;
}

.motivo-box {
    color: #e53e3e;
    font-size: 13px;
    margin-bottom: 8px;
}

.client-details {
    font-size: 12px;
    color: #4a5568;
}

.contact-item {
    color: #2b6cb0;
}

.estado-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    display: inline-block;
    color: #fff;
}
.textfieldRequiredMsg, .passwordRequiredMsg {
    display: none;
    position: absolute;
    background: #f00;
    color: #fff;
    padding: 2px 5px;
    font-size: 9px;
    border-radius: 3px;
    margin-top: 25px;
    z-index: 10;
}

.spry-active .textfieldRequiredMsg {
    display: block;
}

.main-content-table {
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-bottom: 40px;
    border-collapse: collapse;
    border: none; /* Ensure no extra borders */
}

.main-content-table td.contents {
    padding: 20px 30px;
}

/* Specific for list page to match header width exactly */
.list-page-content {
    padding: 20px 0 !important;
}

.list-page-content .Titulo {
    padding: 0 30px;
}
.header, .contents, .footer, .menu, .ftr{
	background-color:#ffffff;
}
.topmenu{padding-right:12px;}
.logo{
	padding:10px 12px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	text-align: center;
}
/* Top menu */
.menu{background:#94b2da url(templates/images/menubg.gif) repeat-x;height:25px;}
.menu a{font:bold 12px Arial, Helvetica, sans-serif;color:#ffffff;text-decoration:none;}
.menu a:hover{font:bold 12px Arial, Helvetica, sans-serif;color:#ff9966;text-decoration:none;}

.submenu{background:#94b2da url(templates/images/menubg.gif) repeat-x;height:35px;}
.submenu a{font:bold 11px Arial, Helvetica, sans-serif;color:#000000;text-decoration:none;}
.submenu a:hover{font:bold 11px Arial, Helvetica, sans-serif;color:#ff9966;text-decoration:none;}

.navegador{background:#94b2da url(templates/images/menubg.gif) repeat-x;height:25px;}
.navegador a{font:bold 12px Arial, Helvetica, sans-serif;color:#000000;text-decoration:none;}
.navegador a:hover{font:bold 12px Arial, Helvetica, sans-serif;color:#ff9966;text-decoration:none;}


.submenuvistas{background:#94b2da url(templates/images/menubg.gif) repeat-x;height:15px;}
.submenuvistas a{font:bold 11px Arial, Helvetica, sans-serif;color:#000000;text-decoration:none;}
.submenuvistas a:hover{font:bold 11px Arial, Helvetica, sans-serif;color:#ff9966;text-decoration:none;}

.contents{padding:12px 18px; margin-right:20px}
/* Left content */
ul.leftmenu{margin:0;padding:0;}
ul.leftmenu li{list-style:none;line-height:30px;border-bottom:1px dashed #dddddd;}
ul.leftmenu li a{background:url(templates/images/arrow_menu_off.gif) right 25px no-repeat;display:block;}
ul.leftmenu li a:hover{background:url(templates/images/arrow_menu_on.gif) right 25px no-repeat;color:#ff9966;}
ul.leftmenu li a.active{background:url(templates/images/arrow_menu_on.gif) right 25px no-repeat;}
/* Body content */
label {
	font:bold;
	text-align: left;
	font-size: 11px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
.contents {
	padding:0 32px 0 32px;
	text-align: left;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
.contents h2{font:bold 30px "Trebuchet MS";color:#999999;border-bottom:1px dashed #dddddd;background:url(templates/images/arrow_hdng.gif) right 30px no-repeat;margin:-7px 0;padding:0;text-transform:uppercase;}
.contents h3{
	color:#333;
	border-bottom:1px dashed #dddddd;
	background:url(templates/images/arrow_hdng.gif) right 30px no-repeat;
	margin:-7px 0;
	padding:0;
	text-align:center;
	font-family: "Trebuchet MS";
	font-size: 18px;
	font-weight: bold;
}

.red{color:#ff0000;}
.customers_txt{color:#ffffff;padding:0 8px;}
.customers_txt h2{font:bold 16px Arial, Helvetica, sans-serif;margin:0 0 8px 0;}
.ftr_contents{border-left:1px solid #94b2da;border-right:1px solid #94b2da;padding:0 8px;}
.txtfield{border:1px solid #d0d0d0;display:block;width:150px}
/* Footer content */
.dotted{border-left:1px dashed #dddddd;padding:0 6px;}
.dotted ul{margin:0;padding:0;}
.dotted ul li{list-style:none;background:url(templates/images/arrow_ftr.gif) left no-repeat;padding-left:12px;}

.Titulo {
	font-weight: bold;
	font-size: 14px;
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
.EpigrafeTabla {
	font-weight: bold;
}
.contents fieldset legend {
	font-weight: bold;
	color: #666;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}


.Chequeos {
	font-size: 9px;
}
.clausulas {
	font-size: 8px;
	font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
	font-weight: normal;
}

.clausulas2 {
	font-size: 8px;
	font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
	font-weight: normal;
	
}
.TituloDocumento {
	font-weight: bold;
}
.TituloDocumento {
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	text-align: center;
}
.contents fieldset table tr td {
	text-align: left;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
.BotoneraAdicional {
	text-align: right;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}

.Aviso {
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #333;
	background-color: #FF9;
	text-align: center;
}

.AvisoPrestamo {
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: white;
	background-color: green;
	text-align: center;
}

.Info {
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #FFF;
	background-color: #39F;
	text-align: center;
}

.Error {
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #FFF;
	background-color: #F00;
	text-align: center;
	
}


.EstadoSolicitud
{
	background-color: #F00;
	color: #FFF;	
}

.EstadoDiagnostico
{
	background-color: #F90;
	color: #FFF;
}

.EstadoPresupuesto
{
	background-color: #FF0;
	color: #333;
}


.EstadoIntervencion
{
	background-color: #0C0;
	color: #FFF;
}

.EstadoCierre
{
	background-color: #09F;
	color: #FFF;
	
	
}
.IntervencionRechazada
{
	background-color: #F00;
	color: #FFF;
	alignment-adjust:central;
	text-align:center;
}

.AvisoEnRojo
{
	background-color: #F00;
	color: #FFF;
	alignment-adjust:central;
	text-align:center;
}

.AvisoEnAzul
{
	color: #00F;
	alignment-adjust:central;
	text-align:center;
}

.buscador-container {
    position: relative;
    display: inline-block;
  }

  .buscador-input {
    padding-right: 30px; /* Asegura espacio para el ícono dentro del campo */
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px;
    width: calc(100% - 30px); /* Ajusta el ancho para compensar el padding y el botón */
  }

  .buscador-btn {
    position: absolute;
    right: 0;
    top: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 8px;
    border-radius: 0 4px 4px 0; /* Curva las esquinas derechas del botón */
  }

  .buscador-btn img {
    width: 20px; /* Ajusta el tamaño del ícono */
    height: auto;
  }
