@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --bg: #EEF3F9;
  --panel: #FFFFFF;
  --navy: #0B1440;
  --navy-2: #121E5A;
  --steel: #4A76A8;
  --steel-dark: #35597E;
  --steel-soft: #E3EBF5;
  --ink: #13224D;
  --muted: #5B6B85;
  --border: #DCE3EE;
  --white: #FFFFFF;

  --pending: #C98A2E;
  --pending-soft: #FBEEDA;
  --done: #2F8F5B;
  --done-soft: #E1F3E7;
  --cancel: #B8493D;
  --cancel-soft: #F8E4E1;
  --inactive: #8B95A8;
  --inactive-soft: #EAEDF2;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
}

#app-root {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
}

.app-frame {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
}
.app-footer {
  flex-shrink: 0;
  width: 100%;
  text-align: center;
  padding: 10px 16px;
  font-size: 12px;
  color: var(--muted);
  background: var(--panel);
  border-top: 1px solid var(--border);
}

h1, h2, h3, .display { font-family: 'Sora', sans-serif; }
.mono { font-family: 'IBM Plex Mono', monospace; }

.loading-screen {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 80px 20px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.loading-logo {
  max-width: 220px;
  width: 55%;
  height: auto;
}

/* ---------- Brand ---------- */
.brand-row {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}
.brand-logo-sidebar {
  width: 100%;
  max-width: 168px;
  height: auto;
  display: block;
}
.brand-sub {
  font-size: 11px;
  color: #9FB0CC;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 22px;
  margin-top: 6px;
}

.auth-banner {
  width: 100%;
  height: auto;
  display: block;
}

.auth-card-body {
  padding: 24px 34px 34px 34px;
}


/* ---------- Layout ---------- */
.shell {
  display: flex;
  width: 100%;
  flex: 1;
  min-height: 0;
}

.sidebar {
  width: 232px;
  flex-shrink: 0;
  background: var(--navy);
  background-image: linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%);
  color: #DCE4F0;
  padding: 26px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
}

.nav-item {
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: #C7D3E6;
  transition: background 0.15s, color 0.15s;
}
.nav-item:hover { background: rgba(255,255,255,0.07); color: #fff; }
.nav-item.active { background: var(--steel); color: #fff; }

.sidebar-top-row { display: block; }
.mobile-nav-toggle { display: none; }
.nav-items-wrap { display: flex; flex-direction: column; gap: 4px; }

.nav-spacer { flex: 1; }

.user-chip {
  border-top: 1px solid rgba(255,255,255,0.14);
  padding-top: 14px;
  font-size: 13px;
  color: #A9B7CE;
}
.user-chip b { color: #fff; display: block; font-size: 14px; margin-bottom: 2px; }
.logout-link { cursor: pointer; color: #8FC3E8; font-size: 12px; margin-top: 6px; display: inline-block; }
.logout-link:hover { text-decoration: underline; }

.main {
  flex: 1;
  min-width: 0;
  padding: 30px 34px;
  overflow-y: auto;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 22px;
  gap: 16px;
  flex-wrap: wrap;
  position: sticky;
  top: -30px;
  background: var(--bg);
  padding-top: 30px;
  margin-top: -30px;
  z-index: 6;
}
.topbar h1 { font-size: 22px; margin: 0 0 4px 0; color: var(--navy); }
.topbar p { margin: 0; color: var(--muted); font-size: 13px; }

/* ---------- Buttons ---------- */
.btn {
  font-family: 'Inter', sans-serif;
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.1s, box-shadow 0.15s, background 0.15s;
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--steel); color: #fff; }
.btn-primary:hover { background: var(--steel-dark); box-shadow: 0 4px 14px rgba(74,118,168,0.35); }
.btn-ghost { background: transparent; color: var(--ink); border: 1px solid var(--border); }
.btn-ghost:hover { background: #fff; }
.btn-danger-text { background: none; border: none; color: var(--cancel); font-size: 12.5px; cursor: pointer; font-weight: 600; }
.btn-muted-text { background: none; border: none; color: var(--muted); font-size: 12.5px; cursor: pointer; font-weight: 600; }
.link-btn { background: none; border: none; color: var(--steel); font-size: 13px; cursor: pointer; font-weight: 600; padding: 0; }
.link-btn:hover { text-decoration: underline; }

/* ---------- Reminders ---------- */
.reminders {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--pending);
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 22px;
}
.reminders h3 { font-size: 13px; margin: 0 0 8px 0; color: var(--pending); text-transform: uppercase; letter-spacing: 0.04em; }
.reminder-line { font-size: 13.5px; margin-bottom: 4px; color: var(--ink); }
.reminder-line .mono { color: var(--muted); font-size: 12px; }
.reminders-empty { color: var(--muted); font-size: 13px; }

/* ---------- Filters ---------- */
.filters { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.filter-chip {
  font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: 999px;
  border: 1px solid var(--border); background: #fff; color: var(--muted); cursor: pointer;
}
.filter-chip.active { background: var(--navy); color: #fff; border-color: var(--navy); }

/* ---------- Task cards ---------- */
.task-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.task-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.task-title { font-weight: 600; font-size: 15px; margin: 0; color: var(--ink); }
.task-title.done { text-decoration: line-through; color: var(--muted); }
.task-desc { font-size: 13.5px; color: var(--muted); margin: 2px 0 0 0; }
.task-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }

.status-record {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 6px;
  width: fit-content;
}
.status-record b { font-weight: 700; }
.status-record.is-done { background: var(--done-soft); color: var(--done); }
.status-record.is-cancelled { background: var(--cancel-soft); color: var(--cancel); }
.task-meta span b { color: var(--ink); }
.ticket { font-size: 11px; color: var(--muted); white-space: nowrap; }

.pillgroup { display: flex; border-radius: 8px; overflow: hidden; border: 1px solid var(--border); flex-shrink: 0; }
.pill { padding: 7px 12px; font-size: 12px; font-weight: 600; cursor: pointer; background: #fff; color: var(--muted); border-right: 1px solid var(--border); }
.pill:last-child { border-right: none; }
.pill.sel-pendiente { background: var(--pending-soft); color: var(--pending); }
.pill.sel-hecho { background: var(--done-soft); color: var(--done); }
.pill.sel-cancelado { background: var(--cancel-soft); color: var(--cancel); }

.task-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.task-actions { display: flex; gap: 12px; }

.empty-state { text-align: center; padding: 60px 20px; color: var(--muted); }
.empty-state .display { font-size: 16px; color: var(--ink); margin-bottom: 6px; }

/* ---------- Modal ---------- */
.modal-bg {
  position: fixed; inset: 0; background: rgba(11,20,64,0.5);
  display: flex; align-items: center; justify-content: center; z-index: 50; padding: 20px;
}
.modal {
  background: #fff; border-radius: 14px; padding: 26px; width: 100%; max-width: 440px;
  max-height: 88vh; overflow: auto;
}
.modal h2 { font-size: 17px; margin: 0 0 16px 0; color: var(--navy); }
.field { margin-bottom: 14px; }
.field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-bottom: 5px; }
.field input, .field select, .field textarea {
  width: 100%; padding: 9px 11px; border-radius: 8px; border: 1px solid var(--border);
  font-family: 'Inter', sans-serif; font-size: 13.5px; background: #F9FAFC; color: var(--ink);
}
.field textarea { resize: vertical; min-height: 60px; }
.field-row { display: flex; gap: 10px; margin-bottom: 14px; }
.field-row > div label { display: block; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-bottom: 5px; }
.field-row > div select { width: 100%; padding: 9px 11px; border-radius: 8px; border: 1px solid var(--border); font-family: 'Inter', sans-serif; font-size: 13.5px; background: #F9FAFC; color: var(--ink); }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }

/* ---------- Login / setup ---------- */
.center-screen { width: 100%; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 30px; background-image: linear-gradient(rgba(11,20,64,0.82), rgba(11,20,64,0.88)), url('data:image/jpeg;base64,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'); background-size: cover; background-position: center; background-attachment: fixed; }
.auth-card { background: #fff; border-radius: 16px; padding: 0; width: 100%; max-width: 380px; border: 1px solid var(--border); box-shadow: 0 10px 40px rgba(11,20,64,0.08); overflow: hidden; }
.auth-card h1 { font-size: 20px; margin: 0 0 4px 0; color: var(--navy); text-align: center; }
.auth-card p.sub { color: var(--muted); font-size: 13px; margin: 0 0 22px 0; text-align: center; }
.userlist { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.userrow {
  display: flex; justify-content: space-between; align-items: center;
  border: 1px solid var(--border); border-radius: 10px; padding: 10px 14px; cursor: pointer;
}
.userrow:hover { border-color: var(--steel); background: var(--steel-soft); }
.userrow.inactive { opacity: 0.55; cursor: not-allowed; }
.userrow .role-badge { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--steel); }
.userrow .inactive-badge { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--inactive); }
.error-text { color: var(--cancel); font-size: 12.5px; margin-top: 8px; }

.pin-field-wrap { position: relative; }
.pin-field-wrap input { padding-right: 68px; letter-spacing: 2px; }
.pin-eye-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--steel);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 6px;
}
.pin-eye-toggle:hover { text-decoration: underline; }
.forgot-pin-link { display: block; width: 100%; text-align: center; margin-top: 12px; font-size: 12.5px; }
.storage-banner {
  background: var(--pending-soft); color: var(--pending-dark, #8A5A16);
  font-size: 12px; text-align: center; padding: 8px 14px; border-radius: 8px; margin-bottom: 18px;
}

/* ---------- Inicio (welcome) view ---------- */
.inicio-hero {
  background: var(--navy);
  background-image: linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%);
  border-radius: 16px;
  padding: 40px 34px;
  text-align: center;
  margin-bottom: 24px;
}
.inicio-logo { max-width: 220px; width: 55%; height: auto; margin-bottom: 20px; }
.inicio-greeting { font-size: 26px; color: #fff; margin: 0 0 8px 0; }
.inicio-date { font-size: 14px; color: #B9C6E0; margin: 0; text-transform: capitalize; }

.inicio-stats { display: flex; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.inicio-stat-card {
  flex: 1;
  min-width: 180px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 22px;
  text-align: center;
}
.inicio-stat-num { font-family: 'Sora', sans-serif; font-size: 34px; font-weight: 700; color: var(--steel); }
.inicio-stat-label { font-size: 13px; color: var(--muted); margin-top: 4px; }

.inicio-cta { text-align: center; }

/* ---------- Resumen view ---------- */
.resumen-subtitle { font-size: 15px; color: var(--navy); margin: 28px 0 12px 0; font-family: 'Sora', sans-serif; font-weight: 700; }
.stats-table { width: 100%; border-collapse: collapse; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.stats-table th {
  background: var(--navy); color: #fff; text-align: left; font-size: 12.5px;
  padding: 12px 16px; font-weight: 600;
}
.stats-table th:not(:first-child), .stats-table td:not(:first-child) { text-align: center; }
.stats-table td { padding: 12px 16px; font-size: 14px; border-top: 1px solid var(--border); color: var(--ink); }
.stats-table td.num { font-weight: 700; font-family: 'IBM Plex Mono', monospace; }
.stats-table td.pend { color: var(--pending); }
.stats-table td.done { color: var(--done); }
.stats-table td.cancel { color: var(--cancel); }
.stats-table td.total { color: var(--navy); }

.activity-line {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 8px;
  font-size: 13.5px;
  color: var(--ink);
}

/* ---------- Users admin view ---------- */
.security-setting-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--steel);
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.reset-request-badge {
  background: var(--pending-soft);
  color: var(--pending);
  font-size: 12.5px;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 8px;
  margin-top: 8px;
}
.reset-request-badge .link-btn { color: var(--pending); font-weight: 700; }
.role-select {
  border-radius: 8px; border: 1px solid var(--border); padding: 7px 10px; font-size: 12.5px;
  font-family: 'Inter', sans-serif; background: #fff; color: var(--ink);
}
.status-tag { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; padding: 3px 8px; border-radius: 6px; }
.status-tag.active { background: var(--done-soft); color: var(--done); }
.status-tag.inactive { background: var(--inactive-soft); color: var(--inactive); }

/* ---------- Responsive ---------- */
/* Tablet / iPad */
@media (max-width: 1024px) {
  .main { padding: 24px; }
  .sidebar { width: 200px; padding: 22px 14px; }
}

/* iPad portrait / small tablet */
@media (max-width: 860px) {
  .shell { flex-direction: column; }
  .sidebar {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 14px 16px;
    gap: 4px;
    overflow: visible;
    flex-shrink: 0;
  }
  .sidebar-top-row { width: 100%; display: flex; align-items: center; justify-content: space-between; }
  .brand-row { margin-bottom: 0; }
  .brand-sub { display: none; }
  .mobile-nav-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: rgba(255,255,255,0.08);
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
  }
  .mobile-nav-toggle .chev { font-size: 10px; color: #9FB0CC; }
  .nav-items-wrap {
    display: none;
    flex-direction: column;
    gap: 2px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--navy);
    padding: 8px 14px 14px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.35);
    z-index: 30;
    border-radius: 0 0 14px 14px;
  }
  .nav-items-wrap.open { display: flex; }
  .nav-spacer { display: none; }
  .nav-item { padding: 11px 12px; font-size: 14px; }
  .user-chip { border-top: none; padding-top: 0; margin-left: 0; text-align: left; margin-top: 8px; }
  .main { padding: 20px; }
}

/* Phone */
@media (max-width: 560px) {
  .center-screen { background-attachment: scroll; }
  .sidebar { padding: 12px; gap: 10px; }
  .brand-logo-sidebar { max-width: 120px; }
  .nav-item { padding: 7px 9px; font-size: 12.5px; }
  .user-chip { font-size: 11.5px; }
  .user-chip b { font-size: 12.5px; }
  .main { padding: 16px; }
  .topbar h1 { font-size: 19px; }
  .task-top { flex-direction: column; }
  .pillgroup { align-self: stretch; }
  .pill { flex: 1; text-align: center; }
  .task-meta { gap: 8px; }
  .auth-card-body { padding: 20px 20px 24px 20px; }
  .modal { padding: 20px; }
}
