/* Identidad de Inversiones A&C. Se carga después de estilo.css y conta.css y solo en la instalación de A&C.
   Tomada de la guía de identidad visual de A&C Ventas (27-oct-2026): morado del isotipo #5B1496 como único acento,
   fondo papel, tinta para las cifras; Italiana en el título de cada pantalla, Instrument Sans para leer e
   IBM Plex Mono para cifras, códigos y etiquetas. Líneas finas, esquinas de 2 px, sin sombras ni cajas de color.
   Las letras van dentro del sistema (licencia SIL Open Font License), sin depender de un servidor externo. */

@font-face{font-family:"Titulo AC";src:url("marca/ac/fuentes/Italiana-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
/* Italiana dibuja los números a la antigua («oo1»): en los títulos, las cifras y códigos salen en Plex Mono, la letra de las cifras */
@font-face{font-family:"Titulo AC";src:url("marca/ac/fuentes/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap;unicode-range:U+0030-0039}
@font-face{font-family:"Instrument Sans";src:url("marca/ac/fuentes/InstrumentSans-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("marca/ac/fuentes/InstrumentSans-Bold.ttf") format("truetype");font-weight:600 700;font-display:swap}
@font-face{font-family:"Plex Mono AC";src:url("marca/ac/fuentes/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}

:root{
  --acento:#5B1496; --acento2:#48107A; --acento-suave:#F2ECF8;
  --azul:#5B1496; --azul2:#5B1496; --azul-tenue:#F2ECF8; --azul-borde:#D9C8EA;
  --amar:#FBF3DE; --amar-bd:#8A5F00; --amar-tx:#6E4D00;
  --verde:#205927; --verde-tenue:#E8F0E9;
  --ambar:#8A5F00; --ambar-tenue:#FBF3DE;
  --rojo:#A63D40; --rojo-tenue:#F8E9E9; --sobre:#A63D40; --serie:#5B1496;
  --tinta:#16121C; --tinta2:#4E4858; --tinta3:#6B6575;
  --papel:#FBFAFC; --sup:#FFFFFF; --sup2:#F8F6FA; --linea:#D6D0DE; --linea2:#E7E3EC;
  --barra:#FFFFFF; --barra-tx:#16121C;
  --sombra:none;
  --display:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --cuerpo:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --titulo:"Titulo AC",Georgia,serif;
  --cifra:"Plex Mono AC","IBM Plex Mono",ui-monospace,monospace;
  --radio:2px;
}
:root[data-tema="oscuro"]{
  --acento:#C9A2F0; --acento2:#DCC2F7; --acento-suave:#241A30;
  --azul:#C9A2F0; --azul2:#C9A2F0; --azul-tenue:#241A30; --azul-borde:#3D2F4E;
  --amar:#2D2512; --amar-bd:#D9B060; --amar-tx:#E8CD8E;
  --verde:#8FC79A; --verde-tenue:#16241A;
  --ambar:#E0B866; --ambar-tenue:#2B2312;
  --rojo:#E6A0A2; --rojo-tenue:#2E1A1C; --sobre:#E6A0A2; --serie:#C9A2F0;
  --tinta:#EDE9F2; --tinta2:#B9B1C4; --tinta3:#9A92A6;
  --papel:#0F0C14; --sup:#17131D; --sup2:#1C1724; --linea:#2E2738; --linea2:#231D2C;
  --barra:#17131D; --barra-tx:#EDE9F2;
  --sombra:none;
}

body{font-size:14px;-webkit-font-smoothing:antialiased}
::selection{background:#5B1496;color:#FFFFFF}
.num,td.d,.tile .v,.fila-dato > b{font-family:var(--cifra);font-variant-numeric:tabular-nums}

/* encabezado: blanco, con el logo de A&C a la izquierda */
.top{border-bottom:1px solid var(--linea2)}
.top-in{max-width:var(--ancho,1220px);margin:0 auto;padding:12px 20px}
.marca{display:flex;align-items:center;gap:18px;color:var(--tinta)}
.marca img{display:block;height:44px;width:auto}
.marca .logo-oscuro{display:none}
:root[data-tema="oscuro"] .marca .logo-claro{display:none}
:root[data-tema="oscuro"] .marca .logo-oscuro{display:block}
.marca span{display:block;padding-left:18px;border-left:1px solid var(--linea);font-family:var(--cifra);font-size:10.5px;font-weight:400;letter-spacing:.08em;opacity:1;color:var(--tinta3)}
.top .quien{opacity:1;color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--linea);padding-bottom:1px}
.top button,.top a.enl{border:1px solid var(--linea);border-radius:var(--radio);color:var(--tinta2);font-weight:400}
.top button:hover,.top a.enl:hover{background:transparent;border-color:var(--acento);color:var(--acento)}

/* secciones: texto gris y la activa en tinta con raya morada */
.nav-conta{background:var(--sup)}
.nav-conta .in{gap:28px}
.nav-conta a{padding:12px 0 11px;font-weight:400;font-size:13.5px;color:var(--tinta3);border-bottom-width:1.5px}
.nav-conta a:hover{color:var(--tinta)}
.nav-conta a[aria-current="page"]{color:var(--tinta);border-bottom-color:var(--acento);font-weight:400}
.nav-sub{background:var(--papel);border-bottom:1px solid var(--linea2)}
.nav-sub .in{gap:24px}
.nav-sub a{padding:10px 0 9px;font-family:var(--cifra);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta3);border-bottom-width:1px}
.nav-sub a:hover{color:var(--tinta)}
.nav-sub a[aria-current="page"]{color:var(--acento);border-bottom-color:var(--acento);font-weight:400}
.top a.enl[aria-current="page"]{border-color:var(--acento);color:var(--acento)}

/* títulos: Italiana solo en el título de la pantalla; las tarjetas en Instrument Sans */
.wrap{padding:36px 20px 64px}
.cab{margin-bottom:28px;gap:20px}
.cab h2{font-family:var(--titulo);font-weight:400;font-size:44px;line-height:1.05;letter-spacing:.02em;color:var(--tinta)}
.cab .sub{margin-top:10px;color:var(--tinta3);font-family:var(--cifra);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.movil .cab h2{font-size:34px}
.cab .ceja{font-family:var(--cifra);font-size:11px;letter-spacing:.08em;color:var(--tinta3)}
.tarj-cab h3{font-family:var(--cuerpo);font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--tinta)}
.rot,.formu label.et,.tile .k,table.lista th,.periodo .mini{font-family:var(--cifra);font-weight:400;font-size:10.5px;letter-spacing:.07em;color:var(--tinta3)}

/* piezas: esquinas casi rectas, sin sombras */
.btn,.campo,.tarj,.tile,.aviso,.msj,.alerta,details.part,.foto,.opcs label,.chk,.totales,.foto-campo,.seg{border-radius:var(--radio)}
.tarj,.tile,.alerta,details.part{box-shadow:none}
.tarj{border-color:var(--linea)}
.tarj-cab{background:var(--sup);padding:16px 18px 12px;border-bottom-color:var(--linea2)}
.btn{font-weight:400;font-size:13px;border-color:var(--linea);color:var(--tinta)}
.btn:hover{border-color:var(--tinta3)}
.btn.pri{background:var(--acento);border-color:var(--acento);color:#FFFFFF}
.btn.pri:hover{background:var(--acento2);border-color:var(--acento2);filter:none}
.btn.lleno{text-transform:uppercase;letter-spacing:.14em;font-size:12px;padding:13px}
.btn:focus-visible,.campo:focus{outline:2px solid var(--acento);outline-offset:1px}
.btn[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--sup)}
.seg{background:transparent;padding:0;gap:6px}
a{color:var(--acento)}
:root[data-tema="oscuro"] .btn.pri{color:#17131D}

/* cifras del mes: una franja con líneas finas; la seleccionada lleva la raya morada */
:root .tiles{gap:0;border:1px solid var(--linea);border-top:2px solid var(--tinta);margin-bottom:36px;background:var(--sup)}
:root .tiles>.tile{background:transparent;border:0;border-left:1px solid var(--linea);border-radius:0;padding:20px 22px}
:root .tiles>.tile:first-child{border-left:0}
.tile .v{font-size:24px;font-weight:400;letter-spacing:0;margin-top:12px;color:var(--tinta)}
.tile .n{margin-top:8px;color:var(--tinta3)}
:root .tiles>.tile.bien .v,:root .tiles>.tile.acento .v{color:var(--tinta)}
:root .tiles>.tile.ojo .v,:root .tiles>.tile.ojo .k{color:var(--ambar)}
:root .tiles>.tile.mal .v,:root .tiles>.tile.mal .k{color:var(--rojo)}
:root .tiles>.tile.ojo{border-left:1px solid var(--linea)}

/* estados: etiqueta en mono mayúscula, solo borde y texto de color */
.pill{background:transparent!important;border:1px solid currentColor;border-radius:2px;padding:3px 7px;font-family:var(--cifra);font-size:10.5px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;gap:6px}
.pill .punto{display:none}
.pill.ok{color:var(--verde)} .pill.av{color:var(--ambar)} .pill.cr{color:var(--rojo)} .pill.nu{color:var(--tinta3);border-color:var(--linea)}
.pill.in{color:var(--acento)}

/* tablas: encabezado en mono gris con línea tinta, filas con línea fina, cifras a la derecha */
table.lista{font-size:13px}
table.lista th{background:transparent;padding:12px 12px 9px;border-bottom:1px solid var(--tinta);text-transform:uppercase}
table.lista td{padding:11px 12px;border-bottom-color:var(--linea2)}
table.lista td.d{font-size:12.5px}
table.lista tbody tr:hover td{background:var(--sup2)}
table.lista tfoot td{background:transparent;border-top:1px solid var(--tinta);color:var(--tinta);font-weight:600}
table.lista tr.sel td{background:var(--acento-suave)}
table.lista tr.sel td:first-child{box-shadow:inset 2px 0 0 var(--acento)}
.nom{font-weight:600;color:var(--tinta)}
.nom small{color:var(--tinta3);margin-top:2px;font-weight:400}
table.lista tr.n1 td{font-weight:600;background:transparent;color:var(--tinta)}
table.estado tr.tot td{border-top-color:var(--tinta);color:var(--tinta)}
table.estado tr.sub td{background:transparent}
.fila-dato{padding:11px 0}
.fila-dato b{font-weight:400;color:var(--tinta)}

/* barras de uso y termómetro de proyectos */
.barra{border-radius:0;background:var(--linea2)}
.barra i{border-radius:0;background:var(--tinta)}
.barra.ojo i{background:var(--ambar)} .barra.mal i{background:var(--rojo)}

/* tablero: la página respira */
.abierto .tarj{background:transparent;border:0}
.abierto .tarj-cab{background:transparent;padding:0 0 12px;border-bottom:0;min-height:44px;align-items:flex-end}
.abierto .tarj-cab h3{font-family:var(--cifra);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta3)}
.abierto .tarj-cpo{padding:0}
.abierto .tarj-cpo .fila-dato:first-child{border-top:1px solid var(--tinta)}
.abierto table.lista th:first-child,.abierto table.lista td:first-child{padding-left:0}
.abierto table.lista th:last-child,.abierto table.lista td:last-child{padding-right:0}
.abierto .sep{background:transparent;margin:28px 0}
.abierto .dos{gap:56px}
.abierto .tarj-cpo a.pend:first-child{border-top:1px solid var(--tinta)}

/* otras piezas */
details.part .pid{font-family:var(--cifra);font-weight:400;color:var(--tinta)}
.alerta h4{font-weight:600;color:var(--tinta)}
.alerta .tira{width:2px}
.aviso.info{background:var(--sup2);border-color:var(--linea)}
.msj{border-width:0 0 0 3px;background:var(--sup)}
.msj.success{background:var(--verde-tenue);border-color:var(--verde)}
.msj.error{background:var(--rojo-tenue);border-color:var(--rojo)}
.msj.info,.msj.warning{background:var(--ambar-tenue);border-color:var(--ambar)}
.totales{background:var(--sup2);border-color:var(--linea)}
.opcs label:has(input:checked){border-color:var(--acento);background:var(--acento-suave)}
.opcs input,.chk input,.formu .chk-l input,.formu input[type=radio],.formu input[type=checkbox]{accent-color:var(--acento)}
.foto-campo{border-style:dashed;border-color:var(--azul-borde);background:var(--sup);color:var(--acento)}
a.pend{border-bottom-color:var(--linea2)} a.pend b{font-weight:600}

/* vista del ejecutivo en el teléfono */
.cifras-ej{border-top-color:var(--tinta)}
.cifras-ej .k{font-family:var(--cifra);font-weight:400;letter-spacing:.07em;color:var(--tinta3)}
.cifras-ej .v{font-family:var(--cifra);font-weight:400;color:var(--tinta)}
.cifras-ej .mal{color:var(--rojo)}
.movil .tarj{border:0;background:transparent}
.movil .tarj-cpo{padding:0}
.item{padding:16px 0;border-bottom-color:var(--linea2)}
.item .l1 b{font-weight:600;color:var(--tinta)}

/* pantalla de ingreso: A&C arriba, Fresh Food abajo como marca comercial */
.entrada-ac{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;max-width:400px;margin:0 auto}
.entrada-ac .logo{margin:0;width:100%;max-width:300px}
.entrada-ac .logo img{display:block;width:100%;height:auto}
.entrada-ac .logo-oscuro{display:none!important}
:root[data-tema="oscuro"] .entrada-ac .logo-claro{display:none!important}
:root[data-tema="oscuro"] .entrada-ac .logo-oscuro{display:block!important}
.entrada-ac .raya{width:40px;height:2px;background:var(--acento);margin:34px 0 16px}
.entrada-ac .sistema{margin:0;font-family:var(--cifra);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta3)}
.entrada-ac form{width:100%;margin-top:40px}
.entrada-ac label{display:block;margin:20px 0 8px;font-family:var(--cifra);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta3)}
.entrada-ac .campo{width:100%;height:46px;padding:0 14px;font-size:15px;border-color:var(--linea);color:var(--tinta)}
.entrada-ac .btn{width:100%;margin-top:28px;height:48px;font-size:13px;letter-spacing:.06em}
.entrada-ac .error{margin-top:14px;font-size:12.5px;color:var(--rojo)}
.entrada-ac .comercial{margin-top:56px;display:flex;align-items:center;gap:14px;width:100%}
.entrada-ac .comercial::before,.entrada-ac .comercial::after{content:"";flex:1;height:1px;background:var(--linea2)}
.entrada-ac .comercial img{display:block;height:30px;width:auto}
.entrada-ac .pie{margin:22px 0 0;font-size:12px;color:var(--tinta3);text-align:center}
.entrada-ac .pie .empresa{white-space:nowrap}

@media (max-width:820px){
  .cab h2{font-size:36px}
  :root .tiles>.tile{padding:16px 14px}
  :root .tiles>.tile:nth-child(odd){border-left:0}
  .marca img{height:38px}
}
@media (max-width:600px){
  .marca img{height:34px}
  .marca span{display:none}
  .top .der{margin-left:0;width:100%;flex-wrap:wrap;gap:6px}
  .top .quien{flex-basis:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:0;margin-bottom:2px}
  .top button,.top a.enl{padding:5px 9px;font-size:11.5px}
  .tile .v{font-size:20px;white-space:nowrap}
  .cab h2{font-size:32px}
}

/* bordes de campos con contraste suficiente (WCAG 1.4.11) */
.campo,.formu input[type=text],.formu input[type=number],.formu input[type=date],.formu input[type=email],.formu input[type=search],.formu select,.formu textarea{border-color:#A79DB3}
:root[data-tema="oscuro"] .campo,:root[data-tema="oscuro"] .formu input,:root[data-tema="oscuro"] .formu select,:root[data-tema="oscuro"] .formu textarea{border-color:#4A405A}

.formu input[type=text],.formu input[type=number],.formu input[type=date],.formu input[type=email],.formu input[type=search],
.formu select,.formu textarea,table.lista.lineas select,table.lista.lineas input,table.lista.lineas textarea{border-radius:var(--radio)}

/* al imprimir, siempre en colores claros */
@media print{
  :root[data-tema="oscuro"]{
    --acento:#5B1496; --acento2:#48107A; --acento-suave:#F2ECF8;
    --azul:#5B1496; --azul2:#5B1496; --azul-tenue:#F2ECF8; --azul-borde:#D9C8EA;
    --amar:#FBF3DE; --amar-bd:#8A5F00; --amar-tx:#6E4D00;
    --verde:#205927; --verde-tenue:#E8F0E9; --ambar:#8A5F00; --ambar-tenue:#FBF3DE; --rojo:#A63D40; --rojo-tenue:#F8E9E9;
    --sobre:#A63D40; --serie:#5B1496;
    --tinta:#16121C; --tinta2:#4E4858; --tinta3:#6B6575;
    --papel:#FFFFFF; --sup:#FFFFFF; --sup2:#F8F6FA; --linea:#D6D0DE; --linea2:#E7E3EC;
    --barra:#FFFFFF; --barra-tx:#16121C;
  }
}

/* tablero: el morado solo marca; los textos van en tinta */
a.atajo-cuadro{border:1px solid var(--linea);border-top:3px solid var(--acento);border-radius:0;background:var(--sup)}
a.atajo-cuadro b{color:var(--tinta);font-weight:700}
a.atajo-cuadro:hover{border-color:var(--tinta3);border-top-color:var(--acento)}
.avisos{border-top-color:var(--tinta)}
.avisos a b{color:var(--tinta);font-weight:400}
.avisos a:hover b{color:var(--acento)}
.avisos small{font-family:var(--cifra);font-size:11px}
a.pend b{color:var(--tinta)}
a.pend:hover b{color:var(--acento);text-decoration:none}
a.pend .pill{width:9px;height:9px;padding:0;border-width:1.5px;margin-top:6px}
.fila-dato b:first-child:not(:last-child){font-family:var(--cuerpo)}

.tarj-proy .t{color:var(--tinta)}
table.lista td.d,table.estado tr.tot td.d,table.estado td.d,table.lista tfoot td.d{font-family:var(--cifra);font-variant-numeric:tabular-nums}

/* pantallas de acceso seguro (doble factor, equipo nuevo): mismas piezas, con la letra y el color de A&C */
:root .acceso .sello{font-family:var(--cifra);font-size:11px;font-weight:400;letter-spacing:.14em;color:var(--tinta3)}
:root .acceso .raya{height:2px;background:var(--acento)}
:root .acceso h1{font-weight:400;color:var(--tinta)}
:root .acceso label,:root .acceso .paso{font-family:var(--cifra);font-weight:400;letter-spacing:.1em;color:var(--tinta3)}
:root .acceso .codigo{font-family:var(--cifra);color:var(--tinta)}
:root .acceso .codigos{font-family:var(--cifra);color:var(--tinta)}
:root .acceso .clave code{font-family:var(--cifra)}
:root .acceso ol li::before{border-color:var(--acento);color:var(--acento)}
:root .acceso .qr .caja::before,:root .acceso .qr .caja::after{border-color:var(--tinta)}
:root .acceso .btn{letter-spacing:.06em;text-transform:none;font-size:13px}
