/* SixMindData | Brand refresh v2.0
   Hoja incremental: cargar DESPUÉS de styles.css.
   No modifica formularios, estados, enlaces ni JavaScript. */
:root {
  --smd-electric: #258cff;
  --smd-cyan: #39d9f5;
  --smd-light: #e7f4ff;
  --smd-bg: #030c19;
  --smd-line: rgba(97, 174, 255, .19);
  --smd-card: #081b31;
  --smd-shadow: 0 18px 50px rgba(0, 0, 0, .27);
}
html { scroll-padding-top: 104px; }
body {
  background: radial-gradient(ellipse 42% 25% at 88% 0%, rgba(26, 114, 246, .16), transparent 78%),
              radial-gradient(ellipse 30% 28% at 4% 50%, rgba(0, 193, 227, .048), transparent 76%),
              #030c19;
  color: #eef6ff;
}
::selection { background: rgba(25, 167, 255, .35); color: white; }
:focus-visible { outline: 2px solid #5bdfff; outline-offset: 3px; }
/* -------------------- Global action buttons -------------------- */
.btn {
  border-radius: 11px;
  min-height: 44px;
  padding: 11px 17px;
  font-weight: 750;
  letter-spacing: .008em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn.primary, .btn.blue {
  background: linear-gradient(108deg, #005fe3, #148bff 58%, #13baf0);
  box-shadow: 0 10px 22px rgba(0, 112, 255, .19);
}
.btn.primary:hover, .btn.blue:hover {
  box-shadow: 0 15px 32px rgba(0, 122, 255, .29);
}
.btn.ghost { background: rgba(17, 104, 192, .095); border-color: rgba(79, 165, 241, .28); }
.btn.ghost:hover { background: rgba(27, 145, 255, .155); border-color: rgba(78, 195, 255, .58); }
.btn:active { transform: translateY(0) scale(.986); }
/* -------------------- Sidebar -------------------- */
.sidebar {
  background: linear-gradient(180deg, rgba(6, 21, 39, .99), rgba(2, 11, 24, .99));
  border-right-color: rgba(65, 161, 252, .16);
  box-shadow: 10px 0 32px rgba(0, 0, 0, .09);
  padding-top: 17px;
}
.side-logo {
  display: grid; place-items: center;
  width: 49px; height: 49px;
  padding: 5px;
  margin-bottom: 33px;
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(37, 148, 255, .19), rgba(42, 221, 247, .08));
  border: 1px solid rgba(78, 179, 252, .3);
  box-shadow: 0 9px 22px rgba(0, 122, 255, .16), inset 0 1px rgba(255,255,255,.08);
  text-decoration: none;
}
.side-logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(18, 165, 255, .25)); }
.sidebar nav { gap: 12px; }
.sidebar nav a {
  border: 1px solid transparent;
  color: #95b9db;
  font-size: 22px;
  transition: .19s ease;
}
.sidebar nav a.active, .sidebar nav a:hover {
  color: #bbf1ff;
  background: linear-gradient(135deg, rgba(22, 143, 254, .23), rgba(12, 210, 231, .07));
  border-color: rgba(57, 185, 255, .18);
  box-shadow: inset 3px 0 #1cabf7;
}
/* -------------------- Header -------------------- */
.topbar {
  min-height: 91px;
  background: rgba(3, 13, 26, .88);
  border-bottom-color: rgba(87, 169, 245, .16);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .11);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.top-brand { gap: 12px; min-width: 0; }
.smd-header-logo {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 208px; height: 57px;
  padding: 3px 9px;
  border-radius: 13px;
  background: linear-gradient(140deg, rgba(241, 249, 255, .97), rgba(201, 231, 253, .92));
  border: 1px solid rgba(213, 244, 255, .49);
  box-shadow: 0 8px 21px rgba(0,0,0,.15), inset 0 1px rgba(255,255,255,.85);
}
.smd-header-logo img { width: 100%; height: 100%; object-fit: contain; }
.top-brand .crest-mini { width: 40px; height: 40px; border-radius: 12px; }
.top-brand strong { font-size: 13px; white-space: nowrap; }
.top-brand small { max-width: 350px; line-height: 1.35; font-size: 10px; }
.userbox {
  padding: 7px 9px 7px 12px;
  border-radius: 12px;
  background: rgba(21, 57, 87, .27);
  border: 1px solid rgba(95, 165, 228, .11);
}
.userbox strong { color: #ecf8ff; }
.logout-link { transition: color .17s ease; }
.logout-link:hover { color: #4ac8ff; }
/* -------------------- Dashboard hero -------------------- */
.dashboard { max-width: 1580px; padding: 30px 34px 50px; }
.hero-dashboard {
  min-height: 414px;
  border-radius: 25px;
  border-color: rgba(73, 167, 255, .27);
  background:
      radial-gradient(ellipse at 89% 33%, rgba(29, 146, 255, .24), transparent 37%),
      radial-gradient(ellipse at 37% -30%, rgba(2, 208, 252, .075), transparent 66%),
      linear-gradient(117deg, #061426, #08233b 60%, #072341);
  box-shadow: 0 18px 54px rgba(0,0,0,.19), inset 0 1px rgba(255,255,255,.03);
}
.hero-dashboard::before {
  content: '';
  position: absolute;
  right: 8%; top: -47px;
  width: 390px; height: 390px;
  opacity: .075;
  background: url('../img/sixmind-icon.png') center / contain no-repeat;
  filter: saturate(1.2);
  pointer-events: none;
}
.hero-copy h1 {
  font-weight: 875;
  letter-spacing: -.055em;
  font-size: clamp(35px, 4.4vw, 65px);
  text-shadow: 0 5px 22px rgba(4, 15, 35, .18);
}
.hero-copy h1 span {
  background: linear-gradient(90deg, #7edaff 0%, #21aaff 47%, #35f0ee 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero-copy > p { color: #b4cde4; font-size: 13px; max-width: 730px; }
.pill {
  padding: 8px 12px;
  border-color: rgba(86, 184, 255, .24);
  color: #a7e9ff;
  background: rgba(27, 156, 255, .1);
}
.smd-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.smd-hero-chips span {
  font-size: 10px; font-weight: 720; letter-spacing: .018em;
  color: #c5deed; padding: 7px 11px;
  border: 1px solid rgba(89, 170, 255, .14);
  background: rgba(18, 71, 113, .23);
  border-radius: 50px;
}
.smd-hero-chips span::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #55caff; margin-right: 7px; vertical-align: 2px; }
.hero-actions { margin-top: 22px; }
.online-chip { color: #9af8d2; background: rgba(18, 148, 106, .14); border-color: rgba(70, 239, 187, .25); }
.stat-grid { gap: 10px; }
.stat-grid div {
  min-height: 92px;
  border-radius: 15px;
  border-color: rgba(96, 180, 252, .20);
  background: rgba(2, 14, 29, .65);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.stat-grid b { font-size: 26px; letter-spacing: -.025em; }
.stat-grid span { color: #91b6d5; font-size: 11px; }
/* -------------------- Sections & cards -------------------- */
.dashboard-section { margin-top: 45px; }
.section-title { margin-bottom: 17px; }
.section-title h2 { font-size: 25px; letter-spacing: -.025em; }
.section-kicker { letter-spacing: .17em; color: #49bcff; }
.workspace-card {
  border-radius: 19px;
  border-color: rgba(36, 170, 252, .28);
  background:
      linear-gradient(113deg, rgba(18, 126, 229, .12), rgba(10, 33, 55, .08)),
      #081b2f;
  box-shadow: var(--smd-shadow);
}
.workspace-card .card-icon { font-size: 30px; text-shadow: 0 0 18px rgba(53, 192, 255, .32); }
.member-card, .service-card, .layer {
  border-color: rgba(81, 162, 233, .18);
  background: linear-gradient(153deg, rgba(12, 40, 67, .99), rgba(5, 21, 37, .99));
  border-radius: 19px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .10);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.member-card:hover, .service-card:hover, .layer:hover {
  transform: translateY(-3px);
  border-color: rgba(66, 180, 250, .43);
  box-shadow: 0 18px 32px rgba(0, 0, 0, .22);
}
.team-grid { gap: 16px; }
.member-card { padding: 23px; display: flex; flex-direction: column; min-height: 236px; }
.member-card h3 { font-size: 17px; }
.member-card p { margin-bottom: 15px; }
.member-card .btn { margin-top: auto; }
.avatar {
  width: 48px; height: 48px;
  border-radius: 14px;
  color: #d8f8ff;
  background: linear-gradient(150deg, rgba(30, 142, 255, .16), rgba(19, 213, 233, .08));
  border-color: rgba(48, 172, 250, .28);
}
.role-tag { color: #8ed8ff; padding: 5px 9px; }
.service-state.online { color: #97f6c7; }
.service-card {
  position: relative;
  overflow: hidden;
  padding: 21px;
  min-height: 205px;
  display: flex; flex-direction: column;
}
.service-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(49, 185, 255, .65), transparent);
  opacity: .55;
}
.service-card h3 { font-size: 16px; letter-spacing: -.01em; }
.service-card .btn { margin-top: auto; }
.service-card .service-icon {
  width: 46px; height: 46px;
  background: linear-gradient(138deg, rgba(29, 145, 255, .17), rgba(21, 209, 244, .07));
  border-color: rgba(90, 181, 247, .25);
  color: #a5f0ff;
  font-size: 17px;
  border-radius: 13px;
}
.services-grid { gap: 16px; }
.internal-label { font-size: 11px; }
.medallion-grid { gap: 16px; }
.layer { padding: 27px; }
.layer::before { content:''; position:absolute; width: 4px; height: 72px; top: 25px; left: 0; border-radius: 0 8px 8px 0; background: rgba(116, 166, 210, .55); }
.layer.bronze::before { background: #b86c3e; }
.layer.silver::before { background: #a8c8e6; }
.layer.gold::before { background: #e7ba53; }
.layer h3 { font-size: 26px; }
.arch-node {
  background: linear-gradient(145deg, #0b2844, #071b30);
  border-color: rgba(82, 170, 251, .2);
  border-radius: 14px;
}
.arch-node.highlighted { background: rgba(27, 137, 255, .15); border-color: rgba(69, 175, 250, .49); }
footer { margin-top: 54px; border-top-color: rgba(81, 159, 233, .13); }
/* -------------------- Login -------------------- */
.login-page { background: #041122; }
.login-brand-panel {
  background:
      radial-gradient(ellipse 62% 45% at 73% 53%, rgba(28, 133, 243, .17), transparent 80%),
      linear-gradient(135deg, #06182d 2%, #051323 45%, #092b47 100%);
}
.login-brand-panel::before {
  content: ''; position: absolute;
  left: 19%; bottom: 10%;
  width: 500px; height: 500px;
  background: url('../img/sixmind-icon.png') center / contain no-repeat;
  opacity: .08; transform: rotate(-13deg);
  pointer-events: none;
}
.smd-login-logo {
  position: relative; z-index: 3;
  align-self: flex-start;
  width: 302px; max-width: 76%; height: 103px;
  padding: 6px 12px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(246, 251, 255, .97), rgba(198, 234, 255, .91));
  border: 1px solid rgba(204, 242, 255, .5);
  border-radius: 18px;
  box-shadow: 0 17px 34px rgba(0, 0, 0, .2);
}
.smd-login-logo img { width: 100%; height: 100%; object-fit: contain; }
.university-lockup { margin: 30px 0; }
.university-lockup h1 { font-size: clamp(24px, 2.65vw, 40px); letter-spacing: -.027em; }
.crest-frame { border-radius: 16px; background: rgba(255, 201, 87, .07); }
.login-visual h2 { font-size: clamp(37px, 4.6vw, 68px); max-width: 800px; letter-spacing: -.045em; line-height: 1.035; }
.login-visual > p { color: #b2c9df; font-size: 15px; }
.login-form-panel { background: radial-gradient(circle at 100% 0%, rgba(29, 120, 228, .08), transparent 38%), #041324; }
.login-card {
  border-radius: 24px;
  border-color: rgba(88, 163, 232, .27);
  background: linear-gradient(159deg, rgba(9, 34, 58, .99), rgba(4, 20, 39, .99));
  box-shadow: 0 28px 85px rgba(0, 0, 0, .33), inset 0 1px rgba(255, 255, 255, .03);
  padding: 42px;
}
.login-card h2 { font-size: 37px; letter-spacing: -.028em; }
.login-card .muted { line-height: 1.6; }
.login-card input {
  background: rgba(3, 17, 34, .75);
  border: 1px solid rgba(115, 163, 211, .22);
  border-radius: 12px;
  min-height: 47px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.login-card input:focus {
  border-color: rgba(34, 185, 255, .78);
  box-shadow: 0 0 0 4px rgba(24, 153, 253, .12);
}
.login-card .btn.full { margin-top: 8px; min-height: 49px; }
.security-note { color: #8baac4; }
/* -------------------- Responsive -------------------- */
@media (max-width: 1320px) {
  .smd-header-logo { width: 169px; height: 50px; }
  .top-brand .crest-mini { width: 36px; height: 36px; }
  .top-brand strong { font-size: 12px; }
  .top-brand small { font-size: 9px; }
  .topbar { padding-inline: 19px; }
}
@media (max-width: 1100px) {
  .hero-dashboard::before { width: 290px; right: -20px; }
  .dashboard { padding: 23px; }
  .hero-dashboard { min-height: 340px; }
  .team-grid, .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .top-brand .crest-mini { display: none; }
  .top-brand small { max-width: 260px; }
  .topbar { gap: 10px; }
  .smd-header-logo { width: 130px; height: 43px; border-radius: 10px; padding: 3px 5px; }
}
@media (max-width: 760px) {
  .dashboard { padding: 17px; }
  .topbar { min-height: 78px; padding: 14px 17px; }
  .smd-header-logo { width: 156px; height: 49px; }
  .top-brand strong { font-size: 12px; }
  .top-brand small { font-size: 9px; }
  .userbox { align-self: flex-start; }
  .hero-dashboard { padding: 32px 24px; border-radius: 20px; }
  .hero-dashboard::before { opacity: .06; width: 250px; right: -70px; top: 0; }
  .hero-copy h1 { font-size: clamp(34px, 7.8vw, 52px); }
  .stat-grid div { min-height: 80px; padding: 16px; }
  .team-grid, .services-grid, .medallion-grid { grid-template-columns: 1fr; }
  .login-shell { grid-template-columns: 1fr; }
  .login-brand-panel { min-height: 58vh; padding: 28px 23px; gap: 24px; }
  .smd-login-logo { width: 250px; height: 80px; }
  .university-lockup { margin: 12px 0; }
  .university-lockup h1 { font-size: clamp(22px, 5.8vw, 31px); }
  .login-visual { padding-bottom: 15px; }
  .login-visual h2 { font-size: clamp(31px, 8vw, 50px); }
  .login-form-panel { padding: 22px 16px 42px; }
  .login-card { padding: 27px 23px; }
  footer { gap: 7px; }
}
@media (max-width: 440px) {
  .top-brand { gap: 8px; }
  .top-brand > div:last-child small { max-width: 220px; }
  .smd-header-logo { width: 122px; height: 43px; }
  .hero-actions .btn { width: 100%; }
  .smd-hero-chips { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
