:root{
  --rc-primary:#1A73E8;
  --rc-primary-contrast:#FFFFFF;
  --rc-accent:#E8F0FE;
  --rc-bg:#F5F7FB;
  --rc-surface:#FFFFFF;
  --rc-text:#202124;
  --rc-muted:#5F6368;
  --rc-border:#DADCE0;
  --rc-success:#137333;
  --rc-warning:#B06000;
  --rc-danger:#B3261E;
  --rc-radius:16px;
  --rc-radius-sm:10px;
  --rc-space:12px;
  --rc-rowpad:11px 14px;
  --rc-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --rc-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --rc-shadow-lg:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.04);
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html,body{
  font-family:var(--rc-font)!important;
  background:var(--rc-bg)!important;
  color:var(--rc-text)!important;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
h1{font-size:22px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}
h2{font-size:17px;font-weight:600;margin:18px 0 10px}
h3{font-size:14px;font-weight:600;margin:14px 0 8px}
p{line-height:1.6}
a{color:var(--rc-primary);text-decoration:none}
a:hover{text-decoration:underline}
small{color:var(--rc-muted)}

/* ---------- Contenedores ---------- */
.wrap,.card,.panel{
  background-color:var(--rc-surface)!important;
  border:0.5px solid var(--rc-border)!important;
  border-radius:var(--rc-radius)!important;
  box-shadow:var(--rc-shadow);
}
.panel{padding:20px}
.side,.main,.top,.head{
  background-color:var(--rc-surface)!important;
  border-color:var(--rc-border)!important;
}

/* ---------- Botones ---------- */
button,.btn{
  font-family:var(--rc-font)!important;
  font-size:13px;font-weight:500;
  border-radius:var(--rc-radius-sm)!important;
  border:0.5px solid var(--rc-border);
  background:var(--rc-surface);
  color:var(--rc-text);
  padding:9px 15px;
  cursor:pointer;
  transition:background .12s,border-color .12s,transform .04s;
}
button:hover,.btn:hover{background:var(--rc-bg);border-color:var(--rc-muted)}
button:active,.btn:active{transform:scale(.985)}
.primary,button[type=submit],.btn.primary{
  background:var(--rc-primary)!important;
  color:var(--rc-primary-contrast)!important;
  border-color:var(--rc-primary)!important;
}
.primary:hover,button[type=submit]:hover{filter:brightness(.94)}
.danger,button.danger{
  background:var(--rc-surface);color:var(--rc-danger);border-color:var(--rc-danger)
}
.mini{padding:5px 11px;font-size:12px;border-radius:20px}

/* ---------- Formularios ---------- */
input,textarea,select{
  font-family:var(--rc-font)!important;
  font-size:13px;
  border:0.5px solid var(--rc-border)!important;
  background:var(--rc-surface)!important;
  color:var(--rc-text)!important;
  border-radius:var(--rc-radius-sm)!important;
  padding:9px 11px;
  transition:border-color .12s,box-shadow .12s;
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--rc-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rc-primary) 15%,transparent);
}
label{display:block;font-size:12px;font-weight:500;color:var(--rc-muted);margin:12px 0 5px}

/* ---------- Tablas ---------- */
table{width:100%;border-collapse:collapse;font-size:13px}
th{
  text-align:left;font-weight:500;font-size:11px;letter-spacing:.03em;
  text-transform:uppercase;color:var(--rc-muted);
  padding:var(--rc-rowpad);border-bottom:0.5px solid var(--rc-border);
}
td{padding:var(--rc-rowpad);border-bottom:0.5px solid var(--rc-border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr{transition:background .1s}
tbody tr:hover{background:var(--rc-bg)}

/* ---------- Avatares e iniciales ---------- */
.av,.avatar{
  background:var(--rc-primary)!important;color:var(--rc-primary-contrast)!important;
  display:flex;align-items:center;justify-content:center;font-weight:500;
}

/* ---------- Espacios (lista de chats) ---------- */
.space{border-radius:var(--rc-radius-sm);transition:background .1s}
.space:hover{background:var(--rc-bg)!important}
.space.active{background:var(--rc-accent)!important}

/* ---------- Estados / avisos ---------- */
.ok,.err,.notice,.state{border-radius:var(--rc-radius);padding:12px 14px;font-size:13px;border:0.5px solid transparent}
.ok{background:color-mix(in srgb,var(--rc-success) 12%,var(--rc-surface));color:var(--rc-success);border-color:color-mix(in srgb,var(--rc-success) 25%,transparent)}
.err{background:color-mix(in srgb,var(--rc-danger) 10%,var(--rc-surface));color:var(--rc-danger);border-color:color-mix(in srgb,var(--rc-danger) 25%,transparent)}
.notice{background:color-mix(in srgb,var(--rc-warning) 12%,var(--rc-surface));color:var(--rc-warning);border-color:color-mix(in srgb,var(--rc-warning) 25%,transparent)}

.muted,small{color:var(--rc-muted)!important}

/* ---------- Enlaces de navegación superior ---------- */
.wrap>p:first-of-type a,.navbar a{font-size:13px}

/* ---------- Chips de archivo ---------- */
.file{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--rc-bg)!important;border:0.5px solid var(--rc-border);
  padding:7px 11px!important;border-radius:var(--rc-radius-sm)!important;
  font-size:12px;color:var(--rc-primary)!important;text-decoration:none!important;
}
.file:hover{border-color:var(--rc-muted)}

/* ---------- Foco visible accesible ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--rc-primary);outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
