:root {
  --orange: #ff4713;
  --orange-dark: #d73608;
  --orange-soft: #fff0eb;
  --ink: #2d2a26;
  --muted: #716c64;
  --line: #e4dfd7;
  --paper: #fffdf9;
  --canvas: #f4f1ec;
  --charcoal: #272520;
  --green: #14795b;
  --green-soft: #e8f5ef;
  --blue: #315f8f;
  --blue-soft: #eaf1f8;
  --amber: #a96500;
  --amber-soft: #fff3dc;
  --red: #be3d34;
  --red-soft: #fff0ee;
  --shadow: 0 16px 42px rgba(45, 42, 38, .09);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
textarea { resize: vertical; }
.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background: var(--charcoal);
  color: white;
  padding: 24px 14px 18px;
  display: flex;
  flex-direction: column;
  z-index: 30;
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 24px; }
.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  overflow: hidden;
}
.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sidebar .brand-mark {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  padding: 6px;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.18);
}
.brand strong { display: block; font-size: 22px; line-height: 1; letter-spacing: -.02em; }
.brand span { display: block; color: #aaa59c; font-size: 11px; margin-top: 4px; }
.main-nav { display: grid; gap: 4px; }
.nav-item {
  border: 0;
  background: transparent;
  color: #c4bfb7;
  min-height: 42px;
  border-radius: 8px;
  text-align: left;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 12px;
  cursor: pointer;
  font-weight: 650;
}
.nav-item span { width: 22px; text-align: center; color: #8f8980; }
.nav-item:hover { background: #343129; color: white; }
.nav-item.active { background: var(--orange); color: white; }
.nav-item.active span { color: white; }
.business-switch {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 4px 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid #3a362f;
}
.business-switch-item {
  border: 0;
  background: transparent;
  color: #c4bfb7;
  min-height: 34px;
  border-radius: 7px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 12.5px;
  text-decoration: none;
}
.business-switch-item:hover { background: #343129; color: white; }
.business-switch-item.active { background: #343129; color: white; box-shadow: inset 3px 0 0 0 var(--bu-color, var(--orange)); }
.business-switch-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--bu-color, var(--orange));
}
.bu-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--bu-color, var(--orange));
  background: color-mix(in srgb, var(--bu-color, var(--orange)) 12%, white);
  border: 1px solid color-mix(in srgb, var(--bu-color, var(--orange)) 30%, white);
  border-radius: 999px;
  padding: 2px 9px 2px 7px;
  line-height: 1.5;
  white-space: nowrap;
}
.bu-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bu-color, var(--orange));
  flex: 0 0 6px;
}
.sidebar-bottom { margin-top: auto; }
.mode-note {
  border: 1px solid #403c35;
  background: #302d27;
  border-radius: 8px;
  padding: 11px;
  color: #aaa59c;
  font-size: 11px;
  line-height: 1.45;
  display: flex;
  gap: 9px;
}
.mode-note span {
  width: 7px;
  height: 7px;
  margin-top: 5px;
  border-radius: 50%;
  background: #e7a337;
  box-shadow: 0 0 0 4px rgba(231, 163, 55, .12);
  flex: none;
}
.mode-note p { margin: 0; }
.mode-note strong { color: #f1eee9; display: block; }
.profile-card {
  width: 100%;
  margin-top: 14px;
  padding: 14px 8px 0;
  border: 0;
  border-top: 1px solid #3e3a33;
  background: transparent;
  color: white;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #efe7dc;
  color: #4d4339;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 12px;
}
.profile-card strong, .profile-card small { display: block; }
.profile-card small { color: #99938a; font-size: 10px; margin-top: 2px; }
.sidebar-logout {
  display: block;
  margin: 12px 8px 0;
  padding: 9px 10px;
  border: 1px solid #4a453d;
  border-radius: 8px;
  color: #ddd7cf;
  text-align: center;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.sidebar-logout:hover { background: #343129; color: #fff; }
.main { min-width: 0; }
.topnav-row1 {
  height: 60px;
  flex: none;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 24px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 41;
}
.topnav-brand { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.topnav-brand .brand-mark { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px; border: 1px solid var(--line); padding: 4px; }
.topnav-brand strong { font-size: 15px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); white-space: nowrap; }
.topnav-divider { width: 1px; height: 22px; background: var(--line); flex: 0 0 auto; }
.topnav-nav { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; }
.topnav-items { display: flex; align-items: center; gap: 2px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.topnav-items::-webkit-scrollbar { display: none; }
.topnav-items .nav-item {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: auto;
  padding: 8px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
  color: var(--muted);
  background: transparent;
}
.topnav-items .nav-item span { width: auto; color: inherit; }
.topnav-items .nav-item:hover { background: var(--canvas); color: var(--ink); }
.topnav-items .nav-item.active { background: var(--orange); color: #fff; }
.topnav-items .nav-item.active span { color: #fff; }
.topnav-more { position: relative; flex: 0 0 auto; }
.topnav-more summary {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 650;
  color: var(--muted);
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
}
.topnav-more summary::-webkit-details-marker { display: none; }
.topnav-more summary:hover { background: var(--canvas); color: var(--ink); }
.topnav-more[open] summary { background: var(--canvas); color: var(--ink); }
.topnav-more .caret { font-size: 10px; }
.topnav-more-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 210px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 6px;
  z-index: 50;
}
.topnav-more-menu .nav-item { justify-content: flex-start; }
.topnav-profile {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 8px 5px 5px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--ink);
}
.topnav-profile:hover { background: var(--canvas); }
.topnav-profile strong, .topnav-profile small { display: block; }
.topnav-profile strong { font-size: 12.5px; }
.topnav-profile small { color: var(--muted); font-size: 10px; margin-top: 1px; }
.topbar {
  height: 72px;
  padding: 0 28px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 249, .94);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 60px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  row-gap: 8px;
  gap: 14px;
}
.topbar .top-actions { margin-left: auto; }
.topbar .business-switch {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  gap: 6px;
  padding: 0;
  margin: 0;
  border: 0;
}
.topbar .business-switch-item {
  color: var(--muted);
  background: #fff;
  border: 1px solid var(--line);
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  min-height: 32px;
}
.topbar .business-switch-item:hover { background: var(--canvas); color: var(--ink); }
.topbar .business-switch-item.active { background: var(--bu-color, var(--orange)); color: #fff; border-color: transparent; box-shadow: none; }
.search-box {
  width: min(500px, 46vw);
  height: 40px;
  border: 1px solid var(--line);
  background: #f8f5f0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  color: #888178;
}
.search-box input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; color: var(--ink); }
.top-actions { display: flex; align-items: center; gap: 10px; }
.quick-link, .logout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.whatsapp-link { color: var(--green); border-color: #b9dfca; background: var(--green-soft); }
.drive-link { color: var(--blue); border-color: #c9d9eb; background: var(--blue-soft); }
.logout-link { color: var(--red); border-color: #efc5c0; background: var(--red-soft); }
.quick-link:hover, .logout-link:hover { filter: brightness(.97); }
.icon-button, .primary-button, .secondary-button, .ghost-button {
  min-height: 38px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-weight: 750;
}
.icon-button { width: 38px; border: 1px solid var(--line); background: white; }
.primary-button { border: 0; padding: 0 15px; color: white; background: var(--orange); box-shadow: 0 7px 16px rgba(255, 68, 17, .15); }
.primary-button:hover { background: var(--orange-dark); }
.secondary-button { border: 1px solid var(--line); padding: 0 14px; background: white; }
.ghost-button { border: 0; padding: 0 8px; background: transparent; color: var(--orange-dark); }
.menu-button { display: none; }
.content { max-width: 1540px; margin: 0 auto; padding: 28px; }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 20px; }
.page-head h1 { margin: 0 0 6px; font-size: 30px; line-height: 1.1; letter-spacing: -.02em; }
.page-head p { margin: 0; color: var(--muted); }
.date-chip { border: 1px solid var(--line); background: white; border-radius: 8px; padding: 9px 12px; color: #625d55; font-size: 12px; white-space: nowrap; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric-card, .panel, .mini-panel {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.metric-card { padding: 16px; min-height: 112px; }
.metric-top { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--orange-soft);
  color: var(--orange);
  font-weight: 900;
}
.metric-value { font-size: 27px; line-height: 1; font-weight: 900; margin: 14px 0 7px; }
.metric-foot { color: var(--muted); font-size: 11px; }
.metric-foot strong { color: var(--green); }
.layout-2 { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .72fr); gap: 16px; }
.layout-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.stack { display: grid; gap: 16px; align-content: start; }
.panel { overflow: hidden; }
.panel-head {
  min-height: 58px;
  padding: 0 18px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.panel-title { display: flex; align-items: center; gap: 9px; min-width: 0; }
.panel-title h2 { margin: 0; font-size: 15px; }
.pill, .status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}
.pill { background: var(--orange-soft); color: var(--orange-dark); }
.status.green { background: var(--green-soft); color: var(--green); }
.status.blue { background: var(--blue-soft); color: var(--blue); }
.status.amber { background: var(--amber-soft); color: var(--amber); }
.status.red { background: var(--red-soft); color: var(--red); }
.toolbar { display: flex; gap: 10px; margin-bottom: 14px; align-items: center; }
.toolbar .search-box { background: white; width: auto; flex: 1; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th {
  text-align: left;
  color: #8b857c;
  background: #faf7f2;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 11px 16px;
}
td { border-top: 1px solid #eee9e2; padding: 13px 16px; vertical-align: top; font-size: 12px; }
.entity { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.logo {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: white;
  font-size: 11px;
  font-weight: 850;
  flex: none;
}
.entity strong, .entity small { display: block; }
.entity small { color: var(--muted); margin-top: 3px; font-size: 10px; }
.row-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.compact-actions { gap: 6px; margin-top: 10px; }
.company-shortcuts { margin-top: 18px; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin: 18px 0 10px; }
.section-heading h2 { margin:0; font-size:18px; }
.section-heading span { color:var(--muted); font-size:12px; }
.company-shortcut-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.company-shortcut { background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:14px; box-shadow:0 4px 14px rgba(45,42,38,.04); }
.company-shortcut strong, .company-shortcut small { display:block; }
.company-shortcut small { color:var(--muted); margin-top:4px; }
.danger-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 12px; border:1px solid #efc7c2; border-radius:9px; color:var(--red); background:#fff7f6; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.compact-danger { min-height:30px; padding:6px 10px; }
.edit-panel { margin: 18px 0; border-color: #f2b8a5; }
.layout-2.equal > #new + details { display:none; }
.company-structure { margin-top: 22px; }
.company-structure-grid { display:grid; gap:16px; }
.company-structure-card { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:16px; box-shadow:0 5px 16px rgba(45,42,38,.05); }
.company-structure-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.company-structure-head h3 { margin:0; font-size:19px; }
.company-structure-head small { display:block; color:var(--muted); margin-top:4px; }
.nested-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.nested-form { border:1px solid var(--line); border-radius:11px; padding:10px 12px; background:#fff; }
.nested-form summary { cursor:pointer; color:var(--ink); font-weight:800; font-size:13px; }
.nested-form[open] summary { margin-bottom:12px; }
.nested-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.company-records { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.company-records h4 { margin:0 0 7px; font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.company-records ul { list-style:none; padding:0; margin:0; display:grid; gap:7px; }
.company-records li { padding:8px 10px; border-radius:9px; background:var(--canvas); }
.company-records li strong, .company-records li small { display:block; }
.company-records li small { color:var(--muted); margin-top:3px; line-height:1.35; }
.structure-group { border:1px solid var(--line); border-radius:11px; background:var(--canvas); overflow:hidden; }
.structure-group summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; cursor:pointer; list-style:none; font-size:13px; font-weight:800; color:var(--ink); }
.structure-group summary::-webkit-details-marker { display:none; }
.structure-group summary::before { content:'+'; color:var(--orange); font-size:16px; line-height:1; }
.structure-group[open] summary::before { content:'−'; }
.structure-group summary span:first-of-type { margin-right:auto; }
.structure-group-body { padding:0 10px 10px; }
.structure-group-body .muted { margin:8px 2px 2px; }
.employee-controls { display:flex; align-items:end; gap:10px; flex-wrap:wrap; margin-bottom:14px; padding:12px; }
.employee-controls label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:700; min-width:150px; }
.employee-controls select { min-height:38px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:0 10px; color:var(--ink); font:inherit; }
.employee-search { min-width:240px; flex:1 1 250px; }
.employee-result-count { margin-left:auto; white-space:nowrap; }
.employee-filter-hint { margin:0 0 16px; padding:18px; border:1px dashed var(--line); border-radius:12px; background:var(--soft); color:var(--muted); text-align:center; font-size:13px; font-weight:700; }
.site-directory { margin-top:22px; }
.site-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.site-contact-card { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 4px 14px rgba(45,42,38,.04); }
.site-contact-card h3 { margin:4px 0; font-size:18px; }
.site-contact-card p { margin:0; color:var(--muted); font-size:12px; }
.site-contact-person { display:grid; gap:3px; padding:10px 12px; border-radius:10px; background:var(--soft); }
.site-contact-person small { color:var(--muted); }
.muted { color:var(--muted); font-size:13px; }
@media (max-width: 760px) { .nested-actions, .company-records { grid-template-columns:1fr; } .company-structure-head { flex-direction:column; } }
.kanban { display: grid; grid-template-columns: repeat(6, minmax(200px, 1fr)); gap: 12px; overflow: auto; padding-bottom: 3px; }
.lane { border: 1px solid var(--line); background: #f8f5f0; border-radius: 8px; min-height: 420px; transition: background .12s ease, box-shadow .12s ease; }
.lane-head { padding: 12px; display: flex; justify-content: space-between; color: #625d55; font-weight: 850; font-size: 12px; }
.lane-body { min-height: 340px; padding-bottom: 6px; }
.lane.lane-dragover { background: #fff2ec; box-shadow: inset 0 0 0 2px var(--orange); border-radius: 8px; }
.lead-card[draggable="true"] { cursor: grab; }
.lead-card[draggable="true"]:active { cursor: grabbing; }
.lead-card[draggable="true"] .panel-head h3::before { content: '⠿'; margin-right: 6px; color: var(--muted); font-size: 12px; letter-spacing: -1px; }
.lead-card.dragging { opacity: .4; }
.lane-contact { border-top:4px solid #8b8176; }.lane-diagnosis { border-top:4px solid #d5a500; }.lane-proposal { border-top:4px solid #4e7fc1; }.lane-negotiation { border-top:4px solid #d26a45; }.lane-won { border-top:4px solid #42a56f; }.lane-lost { border-top:4px solid #9a9a9a; }
.lead-stage-contact { border-left:4px solid #8b8176; }.lead-stage-diagnosis { border-left:4px solid #d5a500; }.lead-stage-proposal { border-left:4px solid #4e7fc1; }.lead-stage-negotiation { border-left:4px solid #d26a45; }.lead-stage-won { border-left:4px solid #42a56f; }.lead-stage-lost { border-left:4px solid #9a9a9a; opacity:.82; }
.compact-head { margin:0 0 6px; align-items:flex-start; }.compact-head .small-button { padding:5px 8px; font-size:10px; }
.lead-card, .employee-card, .invoice-card, .time-card {
  margin: 0 10px 10px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}
.lead-card h3, .employee-card h3, .invoice-card h3, .time-card h3 { margin: 0 0 6px; font-size: 14px; }
.lead-card p, .employee-card p, .invoice-card p, .time-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.card-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 11px; color: var(--muted); font-size: 10px; }
.employee-grid, .invoice-grid, .time-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.employee-card, .invoice-card, .time-card { margin: 0; }
.employee-card-actions { justify-content:space-between; align-items:center; margin:8px 0 4px; }.employee-card-actions h3 { margin:0; }
.detail-block {
  padding: 15px 18px;
  display: grid;
  gap: 12px;
}
.detail-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee9e2;
}
.detail-row:last-child { border-bottom: 0; padding-bottom: 0; }
.detail-row span { color: var(--muted); font-size: 11px; font-weight: 800; }
.detail-row strong { font-size: 13px; }
.agenda-list, .action-list { padding: 8px 18px 16px; }
.agenda-item, .action-item {
  display: grid;
  grid-template-columns: 92px 1fr auto;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #eee9e2;
  align-items: start;
}
.agenda-item:last-child, .action-item:last-child { border-bottom: 0; }
.time-box { color: var(--muted); font-size: 11px; }
.time-box strong { display: block; color: var(--ink); font-size: 16px; margin-bottom: 3px; }
.agenda-main strong, .action-main strong { display: block; font-size: 13px; }
.agenda-main p, .action-main p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.timer {
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(210px, .55fr) 1fr;
  gap: 16px;
  align-items: stretch;
}
.timer-face {
  background: var(--charcoal);
  color: white;
  border-radius: 8px;
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 10px;
}
.timer-face strong { font-size: 36px; letter-spacing: .02em; }
.timer-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.form-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form-inline label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 800; }
.form-inline input, .form-inline select, .form-inline textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  min-height: 38px;
  padding: 0 10px;
  color: var(--ink);
}
.form-inline textarea { padding: 10px; min-height: 84px; grid-column: 1 / -1; }
.report-preview {
  margin: 18px;
  border: 1px solid var(--line);
  background: white;
  border-radius: 8px;
  padding: 18px;
  line-height: 1.55;
}
.report-preview h3 { margin: 0 0 8px; font-size: 19px; }
.report-preview ul { margin: 8px 0 0; padding-left: 18px; }
.empty { padding: 40px 18px; text-align: center; color: var(--muted); }
.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 70;
  background: var(--charcoal);
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(70px);
  transition: .22s ease;
}
.toast.show { opacity: 1; transform: translateY(0); }
.modal {
  width: min(680px, calc(100vw - 28px));
  border: 0;
  padding: 0;
  border-radius: 10px;
  box-shadow: 0 28px 90px rgba(30, 25, 20, .28);
}
.modal::backdrop { background: rgba(29, 26, 22, .58); backdrop-filter: blur(3px); }
.modal form { padding: 22px; }
.modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.modal h2 { margin: 4px 0 0; font-size: 22px; }
.eyebrow { color: var(--orange-dark); text-transform: uppercase; letter-spacing: .09em; font-size: 10px; font-weight: 900; }
.close-button {
  border: 0;
  background: #f2eee8;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 20px;
  cursor: pointer;
}
.type-selector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 20px 0; }
.type-option {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  padding: 11px;
  display: flex;
  gap: 7px;
  align-items: center;
  cursor: pointer;
}
.type-option input { display: none; }
.type-option.selected { border-color: var(--orange); background: var(--orange-soft); color: var(--orange-dark); }
.field { display: grid; gap: 7px; margin: 12px 0; }
.field span { color: #625d55; font-size: 11px; font-weight: 800; }
.field input, .field select, .field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  min-height: 42px;
  padding: 0 11px;
  outline: 0;
}
.field textarea { padding: 10px 11px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px var(--orange-soft); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--line); padding-top: 17px; margin-top: 18px; }

@media print {
  body { background: white; }
  .sidebar, .topnav-row1, .topbar, .toolbar, .modal, .toast { display: none !important; }
  .app-shell { display: block; }
  .content { padding: 0; max-width: none; }
  .panel, .metric-card { break-inside: avoid; }
}

@media (max-width: 1180px) {
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .layout-2, .timer { grid-template-columns: 1fr; }
  .employee-grid, .invoice-grid, .time-grid, .layout-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .topnav-items .nav-item, .topnav-more summary { padding: 8px 9px; font-size: 12.5px; gap: 5px; }
  .topnav-profile strong, .topnav-profile small { display: none; }
  .topnav-brand strong { display: none; }
}

@media (max-width: 760px) {
  .topnav-row1 { height: 56px; padding: 0 14px; gap: 12px; justify-content: space-between; }
  .topnav-divider { display: none; }
  .topnav-brand strong { font-size: 13px; }
  .topnav-nav {
    display: none;
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
    padding: 10px;
    z-index: 45;
  }
  .topnav-nav.open { display: flex; }
  .topnav-items { flex-direction: column; align-items: stretch; overflow-x: visible; }
  .topnav-items .nav-item { width: 100%; }
  .topnav-more { width: 100%; }
  .topnav-more-menu { position: static; box-shadow: none; border: 0; padding: 0 0 0 12px; min-width: 0; }
  .topnav-profile small { display: none; }
  .topnav-profile strong { display: none; }
  .menu-button { display: inline-flex; }
  .topbar { height: auto; min-height: 66px; padding: 10px 14px; }
  .topbar .business-switch { flex-wrap: wrap; }
  .topbar > .search-box { display: none; }
  .search-box { width: auto; flex: 1; }
  .top-actions .secondary-button { display: none; }
  .top-actions .primary-button { min-width: 42px; padding: 0 12px; }
  .top-actions .primary-button span { font-size: 18px; }
  .top-actions { gap: 5px; margin-left: auto; min-width: 0; }
  .top-actions .quick-link, .top-actions .logout-link { min-height: 34px; padding: 0 7px; font-size: 11px; }
  .content { padding: 20px 12px; }
  .page-head { align-items: flex-start; }
  .date-chip { display: none; }
  .metrics, .employee-grid, .invoice-grid, .time-grid, .layout-3 { grid-template-columns: 1fr; }
  .kanban { grid-template-columns: repeat(5, 230px); }
  .agenda-item, .action-item { grid-template-columns: 74px 1fr; }
  .agenda-item .row-actions, .action-item .row-actions { grid-column: 2; }
  .form-row, .form-inline { grid-template-columns: 1fr; }
  .type-selector { grid-template-columns: repeat(2, 1fr); }
}

/* ERP operativo */
.auth-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at top left,#f7dcd2,transparent 35%),#f6f5f2; }
.auth-card { width:min(460px,100%); background:#fff; border:1px solid var(--line); border-radius:24px; padding:34px; box-shadow:0 24px 70px rgba(30,25,21,.12); }
.auth-card h1 { margin:28px 0 8px; }
.auth-card>p { color:var(--muted); margin-top:0; }
.auth-brand { color:var(--ink); }
.auth-brand .brand-mark { width:54px; height:54px; flex-basis:54px; }
.auth-form { display:grid; gap:16px; margin-top:24px; }
.auth-form label,.form-grid label,.timer-card label { display:grid; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
.auth-form input,.form-grid input,.form-grid select,.form-grid textarea,.inline-form select,.timer-card input,.timer-card select { width:100%; border:1px solid var(--line); border-radius:10px; background:#fff; padding:11px 12px; color:var(--ink); font:inherit; }
.form-grid textarea { min-height:92px; resize:vertical; }
.full-button { width:100%; justify-content:center; }
.alert { position:relative; margin-bottom:18px; padding:13px 16px; border-radius:12px; border:1px solid; font-weight:700; }
.alert.success { background:#edf8f2; border-color:#a8d8bc; color:#1e6a3f; }
.alert.error { background:#fff0ef; border-color:#efb5b0; color:#9b2d26; }
.main-nav { overflow:auto; padding-bottom:8px; }
.main-nav .nav-item { flex:0 0 auto; }
.form-panel { margin-bottom:18px; }
.form-panel summary { cursor:pointer; font-weight:800; font-size:16px; color:var(--ink); list-style:none; }
.form-panel summary::-webkit-details-marker { display:none; }
.form-panel[open] summary { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:end; }
.form-grid.one-col { grid-template-columns:1fr; }
.form-grid.compact { grid-template-columns:minmax(220px,1fr) 180px auto; }
.form-grid .span-2 { grid-column:span 2; }
.form-grid .checkbox { display:flex; grid-column:span 2; flex-direction:row; align-items:center; gap:10px; }
.form-grid .checkbox input { width:auto; }
.layout-2.equal { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.inline-form { display:flex; gap:7px; align-items:center; }
.inline-form select { min-width:120px; padding:7px 8px; }
.small-button { display:inline-flex; align-items:center; justify-content:center; padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font-size:12px; font-weight:800; text-decoration:none; cursor:pointer; }
.whatsapp { color:#147d4f; }
.whatsapp-dashboard { display:grid; gap:10px; margin-bottom:22px; }
.whatsapp-actions { margin:14px 0 4px; flex-wrap:wrap; }
.whatsapp-compose { margin-bottom:18px; }
.whatsapp-compose .row-actions { align-items:center; flex-wrap:wrap; }
.reminder-list { display:grid; gap:10px; }
.reminder-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,auto); gap:14px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.reminder-row:last-child { border-bottom:0; }
.reminder-content { display:grid; gap:3px; min-width:0; }
.reminder-actions { display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; align-items:center; max-width:470px; }
.reminder-row small { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calendar-button { color:#2367ad; border-color:#b9cfee; background:#f4f8ff; }
.calendar-state { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; background:#e9f6ee; color:#287147; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.helper-note { margin:0 18px 12px; padding:10px 12px; border-radius:10px; background:var(--soft); color:var(--muted); font-size:12px; line-height:1.45; }
.reminder-row { border-left:4px solid transparent; padding-left:10px; }.reminder-overdue { border-left-color:#c65245; }.reminder-today { border-left-color:#dc9a16; }.reminder-upcoming { border-left-color:#4e7fc1; }
.reminder-tag { width:max-content; border-radius:999px; padding:3px 7px; background:#f0ece6; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.reminder-overdue .reminder-tag { background:#fff0ed; color:#a63f32; }.reminder-today .reminder-tag { background:#fff6dc; color:#805b00; }.reminder-upcoming .reminder-tag { background:#eaf1ff; color:#285b9a; }
.manual-reminder { overflow:hidden; border:1px dashed #cfc7bd; border-radius:13px; background:#fff; }
.manual-reminder > summary,.compact-template-card > summary { cursor:pointer; list-style:none; padding:14px 16px; font-weight:850; }
.manual-reminder > summary::-webkit-details-marker,.compact-template-card > summary::-webkit-details-marker { display:none; }
.manual-reminder > summary::after,.compact-template-card > summary::after { content:'Abrir'; float:right; color:var(--accent); font-size:11px; }
.manual-reminder[open] > summary,.compact-template-card[open] > summary { border-bottom:1px solid var(--line); }
.manual-reminder[open] > summary::after,.compact-template-card[open] > summary::after { content:'Cerrar'; }
.template-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 10px; }
.template-section-head h2 { margin:0 0 4px; font-size:18px; }
.template-row { display:grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:10px; margin-bottom:18px; overflow-x:auto; padding-bottom:4px; }
.compact-template-card { min-width:210px; padding:0; overflow:hidden; align-self:start; }
.compact-template-card > summary { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.compact-contact-body { padding:16px 18px; display:grid; gap:16px; }
.compact-template { padding-bottom:14px; border-bottom:1px solid var(--line); }
.compact-template-card:not([open]) { box-shadow:none; }
.first-contact-form { margin:0; }
.first-contact-form textarea[readonly] { background:var(--soft); }
.template-form { display:grid; gap:8px; padding:10px 0; border-bottom:1px solid var(--line); }
.template-form:last-child { border-bottom:0; }
.template-form label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; }
.template-form textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:10px; padding:10px; font:inherit; color:var(--ink); }
.status-contact,.status-draft,.status-pending { background:#f5f2ed; color:#685f56; }
.status-diagnosis,.status-scheduled,.status-issued,.status-ready { background:#fff5d8; color:#7c5d00; }
.status-proposal,.status-in_progress,.status-sent { background:#eaf1ff; color:#285b9a; }
.status-negotiation,.status-overdue { background:#fff0eb; color:#a3482f; }
.status-won,.status-active,.status-completed,.status-paid,.status-received { background:#e9f8ef; color:#26714a; }
.status-lost,.status-cancelled,.status-former,.status-inactive { background:#f1f1f1; color:#777; }
.priority { width:9px; height:34px; border-radius:9px; background:#b9b5ae; }
.priority-high { background:#d95b4f; }.priority-medium { background:#e7a333; }.priority-low { background:#5f9e7a; }
.action-row { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.action-row:last-child { border-bottom:0; }
.action-row div { display:grid; gap:2px; }.action-row small { color:var(--muted); }
.employee-card .avatar { flex:0 0 42px; }
.meeting-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:14px 0; }
.meeting-grid div { display:grid; gap:4px; padding:12px; background:var(--soft); border-radius:12px; }
.meeting-grid span { color:var(--muted); font-size:12px; }.meeting-grid strong { font-size:14px; }
.long-text { line-height:1.65; color:#49423c; }
.timer-card { display:grid; gap:15px; }
.timer-card #timerDisplay { font-size:28px; font-weight:800; letter-spacing:2px; }
.security-notes { margin-top:24px; }
.compact-records { gap:10px; }
.record-details { padding:0; overflow:hidden; }
.record-details > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; cursor:pointer; list-style:none; }
.record-details > summary::-webkit-details-marker { display:none; }
.record-details > summary::after { content:'Editar'; margin-left:auto; color:var(--accent); font-size:12px; font-weight:800; }
.record-details[open] > summary { border-bottom:1px solid var(--line); background:var(--soft); }
.record-details[open] > summary::after { content:'Cerrar'; }
.record-details > summary span:first-child { display:grid; gap:4px; min-width:0; }
.record-details > summary strong,.record-details > summary small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.record-details > summary small { color:var(--muted); font-size:12px; font-weight:500; }
.record-body { padding:20px; display:grid; gap:18px; }
.danger-zone { display:flex; justify-content:flex-end; padding-top:16px; border-top:1px solid var(--line); }
.invoice-view-button { color:#2367ad; border-color:#b9cfee; background:#f4f8ff; }
.print-page { background:#eceae5; padding:30px 16px 100px; }
.viewer-toolbar { position:sticky; top:12px; z-index:10; box-sizing:border-box; width:min(210mm,100%); margin:0 auto 18px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid #d8d2ca; border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 10px 30px rgba(0,0,0,.1); backdrop-filter:blur(10px); }
.viewer-toolbar > div:first-child { display:grid; gap:3px; }.viewer-toolbar > div:first-child span { color:var(--muted); font-size:12px; }
.document { box-sizing:border-box; width:min(210mm,100%); min-height:297mm; margin:auto; background:#fff; padding:18mm 16mm; box-shadow:0 20px 60px rgba(0,0,0,.1); color:#25221f; }
.document-head { display:flex; justify-content:space-between; gap:25px; padding-bottom:28px; border-bottom:2px solid #25221f; }
.document-head h1 { font-size:34px; margin:8px 0; }.document section { margin:32px 0; }.document h2 { font-size:19px; }
.document-logo { width:64px; height:64px; object-fit:contain; flex:0 0 64px; }
.document-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.document-metrics div { display:grid; gap:8px; padding:18px; background:#f6f4f1; }.document-metrics span,.invoice-parties span { color:#746b62; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }.document-metrics strong { font-size:20px; }
.document-item { padding:14px 0; border-bottom:1px solid #ddd8d2; }.document footer { margin-top:50px; padding-top:18px; border-top:1px solid #ddd8d2; color:#746b62; font-size:12px; }
.invoice-parties { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.invoice-parties div { display:grid; gap:8px; }.invoice-parties p { line-height:1.65; margin:0; }
.invoice-table { width:100%; }.invoice-table th,.invoice-table td { vertical-align:top; }
.invoice-breakdown { width:min(340px,100%); margin:24px 0 0 auto; display:grid; gap:8px; }.invoice-breakdown div { display:flex; justify-content:space-between; gap:20px; padding:6px 0; border-bottom:1px solid #e3ded7; }.invoice-breakdown span { color:#746b62; }
.invoice-total { margin-left:auto; width:min(340px,100%); display:flex; justify-content:space-between; align-items:center; padding:22px; background:#25221f; color:#fff; }.invoice-total strong { font-size:25px; }
.print-actions { width:min(210mm,100%); margin:18px auto 0; display:flex; justify-content:flex-end; gap:10px; }
@page { size:A4 portrait; margin:0; }
@media print { html,body { width:210mm; min-height:297mm; }.print-actions,.viewer-toolbar,.sidebar,.topbar { display:none!important; }.print-page { background:#fff; padding:0; }.document { width:210mm; min-height:297mm; box-shadow:none; margin:0; padding:18mm 16mm; }.main { margin:0!important; }.content { padding:0!important; } }
@media (max-width:900px) { .meeting-grid,.document-metrics { grid-template-columns:repeat(2,1fr); }.layout-2.equal { grid-template-columns:1fr; } }
@media (max-width:640px) { .form-grid,.form-grid.compact { grid-template-columns:1fr; }.form-grid .span-2,.form-grid .checkbox { grid-column:auto; }.meeting-grid,.document-metrics,.invoice-parties { grid-template-columns:1fr; }.document { min-height:0; padding:28px 22px; }.print-actions { padding:0 16px; }.print-actions>* { flex:1; }.viewer-toolbar { position:static; align-items:stretch; flex-direction:column; }.viewer-toolbar .row-actions { display:grid; grid-template-columns:1fr; }.invoice-document section { overflow-x:auto; }.record-details > summary { align-items:flex-start; flex-wrap:wrap; }.record-details > summary::after { order:3; margin-left:0; } }
@media (max-width:640px) { .reminder-row { grid-template-columns:1fr; }.reminder-row small { white-space:normal; }.reminder-actions { justify-content:flex-start; max-width:none; }.reminder-row .small-button,.reminder-row form { justify-self:start; } }

/* Loke Command Center ----------------------------------------------------- */
.content { width:100%; max-width:1600px; margin:0 auto; }
.command-head h1,.entity-page-head h1 { letter-spacing:-.035em; }
.today-command-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr); gap:16px; margin-bottom:18px; }
.today-focus,.attention-panel { margin:0; }
.agenda-list { display:grid; }
.agenda-command { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:14px; padding:13px 2px; color:var(--ink); border-bottom:1px solid var(--line); text-decoration:none; }
.agenda-command:last-child { border-bottom:0; }
.agenda-command:hover strong { color:var(--orange-dark); }
.agenda-command time { display:grid; text-align:center; padding:8px 6px; border-radius:10px; background:var(--orange-soft); color:var(--orange-dark); }
.agenda-command time strong { font-size:16px; }.agenda-command time small { font-size:10px; }
.agenda-command > span { min-width:0; display:grid; gap:3px; }.agenda-command > span strong,.agenda-command > span small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.agenda-command > span small { color:var(--muted); }
.agenda-command > b { color:var(--orange); font-size:18px; }
.attention-list { display:grid; gap:8px; }
.attention-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; padding:0 14px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#fff; text-decoration:none; }
.attention-list a:hover { border-color:#ffc1ae; background:var(--orange-soft); }.attention-list strong { font-size:16px; }
.profitability-section { align-items:start; margin-top:18px; }
.profitability-table { display:grid; min-width:610px; }.profitability-section > .panel:first-child { overflow-x:auto; }
.profitability-row { display:grid; grid-template-columns:minmax(190px,1.7fr) repeat(3,minmax(90px,.65fr)); gap:14px; align-items:center; padding:12px 4px; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.profitability-row:not(.profitability-head):hover { background:var(--orange-soft); }.profitability-row:last-child { border-bottom:0; }
.profitability-row > span:first-child { display:grid; gap:2px; }.profitability-row small { color:var(--muted); font-size:11px; }
.profitability-head { padding-top:0; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.compact-people { display:grid; gap:5px; }.compact-people > a { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border-radius:10px; color:var(--ink); text-decoration:none; }.compact-people > a:hover { background:var(--soft); }
.compact-people > a > span:nth-child(2) { display:grid; gap:2px; min-width:0; }.compact-people small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.compact-people time { color:var(--muted); font-size:11px; }
.client-command-grid { display:grid; grid-template-columns:repeat(3,minmax(250px,1fr)); gap:12px; margin-bottom:18px; }
.client-command-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); box-shadow:0 8px 24px rgba(45,42,38,.04); text-decoration:none; }
.client-command-card:hover { transform:translateY(-1px); border-color:#ffb9a4; box-shadow:0 12px 28px rgba(45,42,38,.08); }.client-command-card > span:nth-child(2) { display:grid; min-width:0; }.client-command-card small { color:var(--muted); }.client-command-card > span:nth-child(3) { font-size:11px; color:var(--muted); }.client-command-card b { grid-column:2/-1; color:var(--orange-dark); font-size:11px; }
.employee-server-filters { display:grid; grid-template-columns:1fr 1fr minmax(240px,1.3fr) auto; gap:12px; align-items:end; margin-bottom:14px; padding:14px 16px; }
.employee-server-filters label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:800; }.employee-server-filters select,.employee-server-filters input { width:100%; min-height:40px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:0 11px; color:var(--ink); }.employee-server-filters .pill { align-self:center; white-space:nowrap; }
.employee-table { padding:6px 18px; }.people-list { display:grid; }
.person-row { display:grid; grid-template-columns:minmax(260px,1.35fr) auto minmax(210px,.85fr) auto; align-items:center; gap:16px; padding:12px 2px; border-bottom:1px solid var(--line); }.person-row:last-child { border-bottom:0; }
.person-main { display:flex; align-items:center; gap:11px; min-width:0; color:var(--ink); text-decoration:none; }.person-main > span:last-child { min-width:0; display:grid; gap:2px; }.person-main small,.person-contact small { color:var(--muted); }.person-contact { display:grid; gap:2px; font-size:12px; }
.empty-state { min-height:220px; display:grid; place-content:center; justify-items:center; gap:8px; text-align:center; }.empty-state h1,.empty-state h2,.empty-state h3,.empty-state p { margin:0; }.empty-state p { color:var(--muted); }.empty-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--orange-soft); color:var(--orange); font-size:24px; }
.detail-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:var(--muted); font-size:12px; }.detail-breadcrumb a { color:var(--orange-dark); text-decoration:none; }
.entity-page-head { padding:22px 24px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(125deg,#fffdf9 60%,#fff0eb); }.entity-title { display:flex; align-items:center; gap:15px; }.avatar-large { width:58px; height:58px; flex:0 0 58px; font-size:17px; background:var(--orange); color:#fff; }
.detail-metrics { margin-top:16px; }.detail-grid { display:grid; grid-template-columns:minmax(280px,.68fr) minmax(0,1.35fr); gap:16px; margin:18px 0; align-items:start; }.person-detail-grid { grid-template-columns:minmax(270px,.55fr) minmax(0,1.45fr); }
.contact-lines { display:grid; gap:8px; margin:10px 0 16px; }.contact-lines a { color:var(--orange-dark); word-break:break-word; }.contact-lines span { color:var(--muted); }
.compact-list { display:grid; }.compact-list > div, .compact-list > a { display:grid; gap:3px; padding:10px 0; border-bottom:1px solid var(--line); }.compact-list > a { color:var(--ink); text-decoration:none; }.compact-list > a:hover strong { color:var(--orange); }.compact-list > div:last-child, .compact-list > a:last-child { border-bottom:0; }.compact-list small { color:var(--muted); }

.workflow-presets { margin-bottom:18px; }
.template-preset-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.template-preset-grid a { display:grid; gap:5px; padding:14px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:#fff; }
.template-preset-grid a:hover { border-color:#ffb39c; background:var(--orange-soft); }
.template-preset-grid small { color:var(--muted); }
.workflow-form-panel { margin-bottom:18px; }
.workflow-step-editor { display:grid; gap:8px; }
.workflow-step-head,.workflow-step-row { display:grid; grid-template-columns:minmax(220px,2fr) 80px 100px minmax(180px,1.4fr); gap:8px; align-items:center; }
.workflow-step-head { padding:0 4px; color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.workflow-step-row input { min-width:0; }
.workflow-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.workflow-template-card { display:flex; flex-direction:column; gap:13px; }
.workflow-template-card p { margin:0; color:var(--muted); }
.workflow-template-meta { display:flex; flex-wrap:wrap; gap:7px; }
.workflow-template-meta span { padding:5px 9px; border-radius:999px; background:var(--soft); color:var(--muted); font-size:12px; }
.workflow-step-preview { display:grid; gap:7px; margin:0; padding-left:22px; }
.workflow-step-preview li { padding-left:3px; }
.workflow-step-preview li span { display:block; font-weight:700; }
.workflow-step-preview li small { color:var(--muted); }
.workflow-generate-form { display:grid; grid-template-columns:minmax(140px,1fr) minmax(135px,.8fr) auto; gap:8px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
.workflow-run-list { display:grid; gap:10px; }
.workflow-run { border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.workflow-run > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px; cursor:pointer; }
.workflow-run > summary span { display:grid; gap:3px; }
.workflow-run > summary small { color:var(--muted); }
.workflow-run > .goal-progress { margin:0 14px 10px; }
.workflow-checklist { display:grid; border-top:1px solid var(--line); }
.workflow-checklist a { display:flex; align-items:center; gap:12px; padding:11px 14px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.workflow-checklist a:last-child { border-bottom:0; }
.workflow-checklist a > b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--soft); }
.workflow-checklist a > span { display:grid; gap:2px; }
.workflow-checklist a small { color:var(--muted); }
.workflow-checklist a.state-completed { opacity:.65; }
.workflow-checklist a.state-completed strong { text-decoration:line-through; }
@media (max-width:900px) { .template-preset-grid,.workflow-template-grid { grid-template-columns:1fr 1fr; }.workflow-step-head { display:none; }.workflow-step-row { grid-template-columns:1fr 78px 90px; }.workflow-step-row input:last-child { grid-column:1/-1; }.workflow-generate-form { grid-template-columns:1fr 1fr; }.workflow-generate-form button { grid-column:1/-1; } }
@media (max-width:620px) { .template-preset-grid,.workflow-template-grid { grid-template-columns:1fr; }.workflow-step-row { grid-template-columns:1fr 72px; }.workflow-step-row input:nth-child(3),.workflow-step-row input:last-child { grid-column:1/-1; }.workflow-generate-form { grid-template-columns:1fr; }.workflow-generate-form button { grid-column:auto; } }
.timeline { display:grid; }.timeline-item { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:12px; padding:12px 0; color:var(--ink); border-bottom:1px solid var(--line); text-decoration:none; }.timeline-item:last-child { border-bottom:0; }.timeline-item > div { display:grid; gap:3px; min-width:0; }.timeline-item small { color:var(--muted); }.timeline-item p { margin:2px 0 0; color:var(--muted); line-height:1.5; }.timeline-dot { width:10px; height:10px; margin-top:5px; border-radius:50%; background:#9c958b; box-shadow:0 0 0 4px #f1eee9; }.timeline-dot.meeting,.timeline-dot.reunión { background:var(--orange); box-shadow:0 0 0 4px var(--orange-soft); }.timeline-dot.actuación { background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }.timeline-dot.whatsapp { background:#1d9f61; }.activity-timeline .timeline-item:hover { background:var(--soft); }
.action-button { color:var(--green); border-color:#aad8c4; background:var(--green-soft); }

@media (max-width:1180px) { .today-command-grid,.detail-grid,.person-detail-grid { grid-template-columns:1fr; }.client-command-grid { grid-template-columns:repeat(2,minmax(240px,1fr)); }.employee-server-filters { grid-template-columns:1fr 1fr; }.person-row { grid-template-columns:minmax(240px,1fr) auto; }.person-row .person-contact { grid-column:1; padding-left:47px; }.person-row .row-actions { grid-column:2; grid-row:1/3; } }
@media (max-width:760px) { .client-command-grid { grid-template-columns:1fr; }.employee-server-filters { grid-template-columns:1fr; }.person-row { grid-template-columns:1fr; align-items:start; }.person-row .person-contact,.person-row .row-actions { grid-column:auto; grid-row:auto; padding-left:47px; }.entity-page-head { padding:18px; }.entity-page-head,.entity-page-head .row-actions { align-items:stretch; }.entity-page-head .row-actions { display:grid; grid-template-columns:1fr; width:100%; }.today-command-grid { gap:12px; }.profitability-table { min-width:560px; }.compact-people > a { grid-template-columns:38px minmax(0,1fr); }.compact-people time { grid-column:2; }.activity-timeline .timeline-item { grid-template-columns:18px minmax(0,1fr); }.activity-timeline .status { grid-column:2; justify-self:start; } }

.crm-today { margin:0 0 18px; border:1px solid #ffd3c4; background:linear-gradient(135deg,#fffaf7,#fff); }
.service-management-panel { margin-bottom:14px; }
.service-management-panel .panel-head h2 { margin:0; font-size:16px; }
.service-management-panel .panel-head p { margin:3px 0 0; font-size:10px; }
.service-management-list { display:grid; gap:7px; }
.service-management-row { display:grid; grid-template-columns:minmax(150px,1fr) 145px 125px 125px auto auto; align-items:center; gap:7px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--soft); }
.service-management-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.service-management-row select,.service-management-row input { min-height:31px; padding:5px 7px; font-size:10px; }
@media (max-width:760px) { .service-management-row { grid-template-columns:1fr 1fr; }.service-management-row strong { grid-column:span 2; }.service-management-row .small-button { justify-self:start; } }
.crm-conversion-panel { margin:0 0 14px; padding:12px 14px; background:#faf8f4; border:1px solid var(--line); }
.crm-conversion-panel .panel-head { margin-bottom:8px; align-items:center; }
.crm-conversion-panel .panel-head h2 { margin:0; font-size:15px; }
.crm-conversion-panel .panel-head p { margin:2px 0 0; font-size:10px; }
.crm-conversion-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:8px; }
.crm-conversion-card { display:grid; grid-template-columns:minmax(120px,1fr) 110px 125px auto; align-items:center; gap:7px; padding:8px 9px; background:#fff; border:1px solid #e7dfd7; border-radius:9px; }
.crm-conversion-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.crm-conversion-card small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.crm-conversion-card label { display:grid; gap:2px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.crm-conversion-card select,.crm-conversion-card input { min-height:30px; padding:5px 7px; font-size:10px; }
.crm-conversion-card .row-actions { gap:4px; flex-wrap:nowrap; }
.crm-conversion-card .primary-button,.crm-conversion-card .danger-button { min-height:30px; padding:6px 8px; font-size:9px; white-space:nowrap; }
@media (max-width:760px) { .crm-conversion-card { grid-template-columns:1fr 1fr; }.crm-conversion-card strong,.crm-conversion-card small { grid-column:span 2; }.crm-conversion-card .row-actions { grid-column:span 2; justify-content:flex-start; } }
.crm-today .panel-head { align-items:flex-start; }
.crm-today .panel-head h2 { margin:2px 0 3px; font-size:26px; letter-spacing:.08em; }
.crm-today-stats { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.crm-today-stats span { padding:8px 10px; border-radius:10px; background:#fff; border:1px solid #f0dfd6; color:var(--muted); font-size:10px; }
.crm-today-stats b { color:var(--ink); font-size:15px; margin-right:3px; }
.crm-today-list { display:grid; gap:7px; }
.crm-today-item { display:grid; grid-template-columns:30px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:9px 10px; background:#fff; border:1px solid #eee2da; border-radius:10px; }
.crm-today-item > div { min-width:0; display:grid; gap:3px; }
.crm-today-item strong,.crm-today-item small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-today-item small { color:var(--muted); font-size:10px; }
.crm-today-icon { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; background:var(--orange-soft); color:var(--orange-dark); font-weight:900; }
.crm-today-date { color:var(--orange-dark); font-size:10px; font-weight:900; }
@media (max-width:760px) { .crm-today .panel-head { display:grid; gap:12px; }.crm-today-stats { justify-content:flex-start; }.crm-today-item { grid-template-columns:30px minmax(0,1fr) auto; }.crm-today-item .small-button { grid-column:2 / -1; justify-self:start; } }

/* Objetivos, planificación y foco -------------------------------------- */
.focus-home-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.85fr) minmax(280px,.85fr); gap:14px; margin-bottom:14px; }
.focus-home-grid > .panel { margin:0; min-width:0; }
.now-panel { color:#fff; background:linear-gradient(140deg,#292621,#3b3630); border-color:#292621; }
.now-panel .panel-head { border-color:rgba(255,255,255,.12); }.now-panel .eyebrow,.now-panel p { color:#c9c2b9; }.now-panel .ghost-button { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.06); }
.now-body { display:grid; gap:10px; align-content:start; min-height:145px; }.now-body h3,.focus-now-content h3 { margin:0; font-size:clamp(21px,2vw,29px); line-height:1.13; letter-spacing:-.025em; }.now-body p { margin:0; }.now-body .row-actions { margin-top:auto; padding-top:8px; }.now-body .secondary-button { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); }
.focus-kicker { color:#ffac91; font-size:10px; font-weight:900; letter-spacing:.11em; }.focus-clock { font-variant-numeric:tabular-nums; font-size:20px; font-weight:900; letter-spacing:.05em; }.estimate-chip { width:max-content; padding:5px 9px; border-radius:999px; color:#fff; background:rgba(255,255,255,.1); font-size:11px; font-weight:800; }
.daily-priority-list { display:grid; gap:7px; }.daily-priority-list > a { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:45px; padding:7px 9px; color:var(--ink); border-radius:10px; background:var(--soft); text-decoration:none; }.daily-priority-list > a:hover { background:var(--orange-soft); }.daily-priority-list b,.today-priority-row > b { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:var(--orange-dark); background:#fff; border:1px solid #ffd0c2; }.daily-priority-list span { min-width:0; display:grid; gap:2px; }.daily-priority-list strong,.daily-priority-list small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.daily-priority-list small { color:var(--muted); font-size:10px; }.daily-priority-list em { color:var(--green); font-size:10px; font-style:normal; font-weight:900; }.daily-priority-list .empty-priority { color:var(--muted); background:transparent; border:1px dashed var(--line); }
.capture-panel > p,.focus-capture-panel > p { color:var(--muted); line-height:1.55; }.capture-form { display:grid; gap:9px; }.capture-form input { min-height:43px; width:100%; border:1px solid var(--line); border-radius:10px; padding:0 12px; color:var(--ink); background:#fff; }.capture-form input:focus { outline:0; border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-soft); }
.monthly-intention-strip { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); align-items:center; gap:22px; margin:0 0 16px; padding:14px 18px; color:var(--ink); border:1px solid #ffd2c4; border-radius:14px; background:linear-gradient(100deg,#fffaf7,#fff0eb); text-decoration:none; }.monthly-intention-strip > span { display:grid; gap:4px; }.monthly-intention-strip > span:last-child { text-align:right; }.monthly-intention-strip small { color:var(--orange-dark); font-size:9px; font-weight:900; letter-spacing:.11em; }.monthly-intention-strip i { display:block; height:5px; margin-top:5px; overflow:hidden; border-radius:99px; background:#f2d8cf; }.monthly-intention-strip u { display:block; height:100%; border-radius:99px; background:var(--orange); text-decoration:none; }

.focus-page-head { margin-bottom:18px; }.focus-page-head .primary-button { flex:0 0 auto; }
.focus-top-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:16px; margin-bottom:16px; }.focus-top-grid > .panel { margin:0; }
.focus-now-panel { position:relative; min-height:260px; overflow:hidden; color:#fff; background:radial-gradient(circle at 88% 15%,rgba(255,71,19,.3),transparent 30%),linear-gradient(140deg,#26231f,#3a342d); border-color:#26231f; }.focus-now-panel::after { content:''; position:absolute; right:-40px; bottom:-70px; width:220px; height:220px; border:1px solid rgba(255,255,255,.07); border-radius:50%; }.focus-now-panel .panel-head { position:relative; z-index:1; border-color:rgba(255,255,255,.12); }.focus-now-panel .eyebrow { color:#ffab90; }.focus-now-content { position:relative; z-index:1; display:grid; gap:12px; align-content:start; max-width:760px; }.focus-now-content p { max-width:650px; margin:0; color:#cec7bd; line-height:1.55; }.focus-context { display:flex; flex-wrap:wrap; gap:7px; }.focus-context span { padding:5px 8px; border-radius:999px; color:#ddd6cd; background:rgba(255,255,255,.07); font-size:10px; font-weight:750; }.focus-now-content .secondary-button { color:#fff; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.07); }.focus-empty { position:relative; z-index:1; color:#fff; }.focus-empty p { color:#c9c2b9; }
.focus-capture-panel { display:grid; align-content:start; background:linear-gradient(145deg,#fffdf9,#f8f3eb); }.capture-form-large { margin-top:12px; }
.focus-planning-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:16px; margin-bottom:16px; }.focus-planning-grid > .panel { margin:0; }
.today-priority-stack { display:grid; gap:8px; }.today-priority-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:58px; padding:8px 10px; border:1px solid var(--line); border-radius:11px; background:#fff; }.today-priority-row > span { min-width:0; display:grid; gap:3px; }.today-priority-row small { color:var(--muted); }.today-priority-row.is-empty { border-style:dashed; color:var(--muted); background:var(--soft); }.priority-actions { display:flex; gap:5px; }.priority-actions form { display:flex; }
.week-intention-panel { background:linear-gradient(145deg,#fff8f4,#fffdf9); }.week-intention-panel h2 { font-size:19px; line-height:1.25; }.week-intention-panel p { color:var(--muted); line-height:1.55; }
.week-panel { margin-bottom:16px; overflow:hidden; }.week-board { display:grid; grid-template-columns:repeat(7,minmax(130px,1fr)); gap:8px; overflow-x:auto; padding-bottom:5px; }.week-day { min-height:175px; padding:9px; border:1px solid var(--line); border-radius:11px; background:var(--soft); }.week-day.is-today { border-color:#ff9e7e; background:var(--orange-soft); box-shadow:inset 0 3px 0 var(--orange); }.week-day > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:var(--muted); font-size:11px; }.week-day.is-today > header { color:var(--orange-dark); }.week-day > div { display:grid; gap:6px; }.week-task { display:grid; gap:3px; padding:8px; color:var(--ink); border:1px solid #e8e1d8; border-left:3px solid var(--orange); border-radius:8px; background:#fff; text-decoration:none; }.week-task strong { font-size:11px; line-height:1.3; }.week-task small { color:var(--muted); font-size:9px; }.week-task.state-completed { opacity:.55; border-left-color:var(--green); text-decoration:line-through; }.week-task.state-doing { border-left-color:var(--green); box-shadow:0 0 0 2px rgba(20,121,91,.1); }.week-add { min-height:35px; display:grid; place-items:center; color:#aaa197; border:1px dashed #d4ccc3; border-radius:8px; text-decoration:none; }
.focus-state-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding:14px 0; border-top:1px solid var(--line); }
.focus-state-actions > span { display:grid; gap:3px; }
.focus-state-actions small { color:var(--muted); }
.focus-state-actions form { margin:0; }
.goals-panel { margin-bottom:16px; }.section-help { max-width:820px; color:var(--muted); line-height:1.55; }.goal-cascade { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:11px; align-items:start; margin-top:16px; }.goal-card { position:relative; display:grid; gap:9px; min-width:0; padding:15px; border:1px solid var(--line); border-top:4px solid #aaa; border-radius:13px; background:#fff; }.goal-card.goal-level-annual { border-top-color:#2d2a26; }.goal-card.goal-level-quarterly { border-top-color:#ff4713; }.goal-card.goal-level-monthly { border-top-color:#e79920; }.goal-card.goal-level-weekly { border-top-color:#14795b; }.goal-card.status-border-at_risk { box-shadow:0 0 0 2px rgba(190,61,52,.12); }.goal-card h3 { margin:0; line-height:1.25; }.goal-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.goal-card-top,.goal-card-actions,.goal-numbers { display:flex; align-items:center; justify-content:space-between; gap:8px; }.goal-level { font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.goal-meta { display:grid; gap:3px; min-height:30px; color:var(--muted); font-size:10px; }.goal-numbers strong { font-size:17px; }.goal-numbers span { color:var(--muted); font-size:10px; }.goal-progress { height:6px; overflow:hidden; border-radius:99px; background:#eee9e3; }.goal-progress > span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--orange),#ff916e); }.goal-card-actions { justify-content:flex-start; flex-wrap:wrap; padding-top:2px; }.goal-card-actions form { display:flex; margin-left:auto; }.goal-child-button { color:var(--orange-dark); background:var(--orange-soft); border-color:#ffd0c2; }.icon-danger { width:30px; height:30px; display:grid; place-items:center; border:1px solid #ecc8c4; border-radius:8px; color:var(--red); background:var(--red-soft); cursor:pointer; }.goal-empty { grid-column:1/-1; }
.focus-management-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:16px; align-items:start; margin-bottom:16px; }.focus-management-grid > * { margin:0; }.inbox-list { display:grid; }.inbox-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }.inbox-item:last-child { border-bottom:0; }.inbox-item > span { min-width:0; display:grid; gap:3px; }.inbox-item small { color:var(--muted); }.inbox-item > div { display:flex; gap:6px; }.inbox-item form { display:flex; }.goal-form-panel { margin-bottom:30px; }.goal-period-field[hidden],.manual-progress-field[hidden] { display:none; }
.status-at_risk { color:#98372f; background:#fff0ee; }.status-dropped { color:#777; background:#f1f1f1; }
.focus-mode[hidden] { display:none; }.focus-mode { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:30px; color:#fff; background:radial-gradient(circle at 75% 20%,rgba(255,71,19,.22),transparent 30%),#24211d; }.focus-mode-inner { width:min(760px,100%); display:grid; justify-items:center; gap:20px; text-align:center; }.focus-mode-inner > span { color:#ff9878; font-size:11px; font-weight:900; letter-spacing:.16em; }.focus-mode-inner h2 { max-width:720px; margin:0; font-size:clamp(35px,7vw,78px); line-height:1.03; letter-spacing:-.045em; }.focus-mode-inner p { max-width:620px; margin:0; color:#cfc7bd; font-size:16px; line-height:1.6; }.focus-mode-clock { font-size:clamp(28px,4vw,48px); }.focus-mode-inner small { color:#8e877e; }.focus-mode-close { position:absolute; top:25px; right:28px; width:46px; height:46px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(255,255,255,.05); font-size:28px; cursor:pointer; }

@media (max-width:1180px) { .focus-home-grid { grid-template-columns:1fr 1fr; }.now-panel { grid-column:1/-1; }.focus-top-grid,.focus-planning-grid,.focus-management-grid { grid-template-columns:1fr; }.goal-cascade { grid-template-columns:repeat(2,minmax(230px,1fr)); } }
@media (max-width:760px) { .focus-home-grid,.goal-cascade { grid-template-columns:1fr; }.now-panel { grid-column:auto; }.monthly-intention-strip { grid-template-columns:1fr; gap:10px; }.monthly-intention-strip > span:last-child { text-align:left; }.focus-page-head { gap:14px; }.focus-page-head .primary-button { width:100%; }.focus-now-panel { min-height:0; }.focus-now-panel .row-actions,.today-priority-row { align-items:stretch; }.today-priority-row { grid-template-columns:32px minmax(0,1fr); }.today-priority-row .priority-actions,.today-priority-row > .small-button { grid-column:2; justify-self:start; }.week-board { grid-template-columns:repeat(7,150px); }.goal-card-actions { align-items:stretch; }.focus-management-grid { gap:12px; }.inbox-item { align-items:flex-start; flex-direction:column; }.inbox-item > div { width:100%; justify-content:flex-end; } }

/* Menús de objetivo y nuevo estudio WhatsApp --------------------------- */
.goal-card-tools { display:flex; align-items:center; gap:6px; }
.goal-actions-menu { position:relative; }
.goal-actions-menu > summary { width:30px; height:30px; display:grid; place-items:center; list-style:none; cursor:pointer; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); font-size:20px; font-weight:900; line-height:1; }
.goal-actions-menu > summary::-webkit-details-marker { display:none; }
.goal-actions-menu[open] > summary,.goal-actions-menu > summary:hover { border-color:#ffb9a4; color:var(--orange-dark); background:var(--orange-soft); }
.goal-actions-menu > div { position:absolute; top:36px; right:0; z-index:20; width:190px; overflow:hidden; padding:6px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 18px 45px rgba(45,42,38,.18); }
.goal-actions-menu a,.goal-actions-menu button { width:100%; min-height:35px; display:flex; align-items:center; padding:0 10px; border:0; border-radius:7px; color:var(--ink); background:transparent; font:inherit; font-size:12px; font-weight:750; text-align:left; text-decoration:none; cursor:pointer; }
.goal-actions-menu a:hover { background:var(--soft); }.goal-actions-menu form { margin-top:4px; padding-top:4px; border-top:1px solid var(--line); }.goal-actions-menu button { color:var(--red); }.goal-actions-menu button:hover { background:var(--red-soft); }

.whatsapp-studio { margin:18px 0; padding:0; overflow:hidden; border-color:#d8d2c9; box-shadow:0 16px 45px rgba(45,42,38,.08); }
.whatsapp-studio-head { margin:0; padding:20px 22px; background:linear-gradient(115deg,#fffdf9,#f8f4ec); }.whatsapp-studio-head h2 { margin:4px 0; font-size:24px; }.whatsapp-studio-head .muted { display:block; max-width:760px; line-height:1.5; }
.studio-status { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; color:#14744c; background:#e9f7ef; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }.studio-status i { width:7px; height:7px; border-radius:50%; background:#20a66b; box-shadow:0 0 0 3px rgba(32,166,107,.12); }
.studio-steps { display:flex; align-items:center; gap:8px; padding:13px 22px; border-bottom:1px solid var(--line); background:#fff; }.studio-steps span { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; font-weight:800; }.studio-steps span:not(:last-child)::after { content:'→'; margin-left:5px; color:#bbb3aa; }.studio-steps b { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:var(--orange-dark); background:var(--orange-soft); font-size:10px; }
.whatsapp-studio-form { display:grid; gap:17px; padding:22px; }.studio-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.studio-controls label,.studio-message-label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:800; }.studio-controls select,.studio-message-label textarea { width:100%; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fff; padding:11px 12px; font:inherit; }.studio-controls select:focus,.studio-message-label textarea:focus { outline:0; border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-soft); }.studio-message-label textarea { min-height:145px; line-height:1.55; }.studio-message-label small { color:var(--muted); font-weight:500; }
.template-variable-chips { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }.template-variable-chips > span { margin-right:3px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }.template-variable-chips b { padding:4px 7px; border:1px solid #ded7cd; border-radius:999px; color:#6b6259; background:#f8f5f0; font-size:9px; font-weight:850; }
.studio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:2px; }.whatsapp-studio-open { background:#168453; box-shadow:0 7px 18px rgba(22,132,83,.18); }.whatsapp-studio-open:hover { background:#106d44; }.whatsapp-studio-open[aria-disabled="true"] { opacity:.48; box-shadow:none; }.studio-sent-button { color:#14744c; border-color:#add8c2; background:#edf8f2; }
.template-manager { margin:18px 0; padding:0; overflow:visible; }.template-manager > summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 20px; list-style:none; cursor:pointer; }.template-manager > summary::-webkit-details-marker { display:none; }.template-manager > summary span { display:grid; gap:3px; }.template-manager > summary small { color:var(--muted); font-weight:500; }.template-manager > summary > b { color:var(--orange-dark); font-size:11px; }.template-manager[open] > summary { border-bottom:1px solid var(--line); background:var(--soft); }.template-manager[open] > summary > b::after { content:' · Cerrar'; }
.template-manager-body { display:grid; gap:16px; padding:18px 20px 20px; }.template-manager-intro { display:flex; align-items:center; justify-content:space-between; gap:18px; }.template-manager-intro p { max-width:720px; margin:0; color:var(--muted); line-height:1.5; }.template-manager-list { display:grid; gap:7px; }.template-editor-row { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#fff; }.template-editor-row > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; list-style:none; cursor:pointer; }.template-editor-row > summary::-webkit-details-marker { display:none; }.template-editor-row > summary span { min-width:0; display:grid; gap:3px; }.template-editor-row > summary small { overflow:hidden; color:var(--muted); font-weight:500; white-space:nowrap; text-overflow:ellipsis; }.template-editor-row > summary > b { color:var(--orange-dark); font-size:10px; }.template-editor-row[open] > summary { border-bottom:1px solid var(--line); background:#fffaf7; }.template-editor-form { display:grid; gap:12px; padding:14px; }.template-editor-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:800; }.template-editor-form textarea { width:100%; min-height:105px; border:1px solid var(--line); border-radius:10px; padding:11px; color:var(--ink); font:inherit; line-height:1.5; }

/* Planificación horaria y Google Calendar */
.calendar-day-panel { margin-bottom:16px; padding:0; overflow:hidden; }
.calendar-day-head { align-items:flex-start; padding:20px 22px; background:linear-gradient(120deg,#fffdf9,#f6f1e9); }
.calendar-day-head h2 { margin:4px 0; font-size:24px; }.calendar-day-head p { margin:4px 0 0; color:var(--muted); }
.calendar-summary { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }.calendar-summary > span { padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:10px; font-weight:800; }.calendar-summary b { color:var(--ink); }
.calendar-connection.is-connected { color:#287147; border-color:#b9dfc9; background:#eff9f3; }.calendar-connection.is-offline { color:#9a6b1c; background:#fff8e8; }
.day-timeline { display:grid; padding:4px 22px 18px; }.day-block { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:14px; min-height:68px; padding:10px 0; border-bottom:1px solid var(--line); }.day-block:last-child { border-bottom:0; }.day-block::before { content:''; position:absolute; left:62px; width:4px; height:38px; border-radius:5px; background:var(--orange); }.day-block.type-meeting::before { background:#4c7cc5; }.day-block time { display:grid; color:var(--ink); font-size:15px; font-weight:900; }.day-block time small,.day-block > span small { color:var(--muted); font-size:10px; font-weight:600; }.day-block > span { min-width:0; display:grid; gap:3px; padding-left:8px; }.day-block > span strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.calendar-pending { color:#9b9288; font-size:10px; font-weight:800; }
.calendar-empty { margin:4px 22px 20px; padding:24px; border:1px dashed var(--line); border-radius:12px; background:var(--soft); }.calendar-empty p { margin:5px 0 14px; color:var(--muted); }
.overdue-planner { border-top:1px solid var(--line); background:#fffaf3; }.overdue-planner > summary { padding:13px 22px; color:#9a5c16; cursor:pointer; font-size:11px; font-weight:850; }.overdue-list { display:grid; padding:0 22px 16px; }.overdue-list > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 0; border-top:1px solid #eee2d4; }.overdue-list > div > span { display:grid; gap:2px; }.overdue-list small { color:var(--muted); }.carry-form { display:flex; gap:6px; }.carry-form select { border:1px solid var(--line); border-radius:8px; padding:7px 9px; background:#fff; font-size:11px; }
.focus-planner-form label > small { color:var(--muted); font-size:10px; font-weight:500; }.calendar-sync-choice { display:flex!important; align-items:flex-start!important; gap:10px!important; padding:13px 14px; border:1px solid #c8dbf4; border-radius:11px; background:#f5f9ff; }.calendar-sync-choice input { flex:0 0 auto; width:auto!important; margin-top:3px; }.calendar-sync-choice span { display:grid; gap:3px; }.calendar-sync-choice strong { color:#245f9e; }
.quick-capture-button { position:fixed; right:24px; bottom:22px; z-index:45; display:flex; align-items:center; gap:8px; min-height:45px; padding:0 16px; color:#fff; border:0; border-radius:999px; background:linear-gradient(135deg,var(--orange),#e33d0d); box-shadow:0 14px 35px rgba(216,66,22,.3); font-weight:850; cursor:pointer; }.quick-capture-button span { font-size:21px; line-height:1; }.quick-capture-button:hover { transform:translateY(-1px); box-shadow:0 17px 38px rgba(216,66,22,.36); }
.quick-capture-dialog { width:min(650px,calc(100% - 28px)); max-height:calc(100vh - 34px); padding:0; border:0; border-radius:18px; color:var(--ink); background:#fff; box-shadow:0 30px 90px rgba(26,22,18,.35); }.quick-capture-dialog::backdrop { background:rgba(31,28,24,.62); backdrop-filter:blur(3px); }.quick-capture-shell { overflow:auto; max-height:calc(100vh - 34px); }.quick-capture-shell > header { position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:21px 22px; border-bottom:1px solid var(--line); background:rgba(255,253,249,.96); }.quick-capture-shell h2 { margin:3px 0; font-size:25px; }.quick-capture-shell header p { margin:0; color:var(--muted); }.quick-capture-shell header > button { width:34px; height:34px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:#fff; font-size:23px; cursor:pointer; }
.quick-capture-options { display:grid; gap:8px; padding:16px; }.quick-capture-options details { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; }.quick-capture-options summary { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; column-gap:10px; padding:12px 14px; list-style:none; cursor:pointer; }.quick-capture-options summary::-webkit-details-marker { display:none; }.quick-capture-options summary > span { grid-row:1/3; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--orange-dark); background:var(--orange-soft); font-weight:900; }.quick-capture-options summary strong { font-size:13px; }.quick-capture-options summary small { color:var(--muted); font-size:10px; }.quick-capture-options details[open] summary { border-bottom:1px solid var(--line); background:#fffaf7; }.quick-capture-options form { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:13px; }.quick-capture-options input,.quick-capture-options select,.quick-capture-options textarea { width:100%; border:1px solid var(--line); border-radius:9px; padding:10px 11px; color:var(--ink); background:#fff; font:inherit; }.quick-capture-options textarea,.quick-capture-options form > button:first-of-type { grid-column:1/-1; }.quick-capture-options textarea { min-height:72px; resize:vertical; }.quick-capture-options .primary-button { justify-self:start; }

.lead-card .stage-autosubmit { position:relative; display:block; margin-top:10px; }.lead-card .stage-autosubmit::before { content:'Cambiar etapa'; position:absolute; left:11px; top:7px; z-index:1; color:var(--muted); font-size:8px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; pointer-events:none; }.lead-card .stage-autosubmit select { width:100%; min-height:47px; padding:19px 34px 6px 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#faf8f4; font-size:11px; font-weight:800; cursor:pointer; appearance:auto; }.lead-card .stage-autosubmit select:hover,.lead-card .stage-autosubmit select:focus { border-color:#ef9b7f; background:#fffaf7; outline:0; box-shadow:0 0 0 3px var(--orange-soft); }.lead-card .stage-autosubmit select:disabled { opacity:.62; cursor:wait; }.lead-card .stage-autosubmit button { display:none; }
.lead-card-actions { display:grid; gap:6px; margin-top:10px; }
.crm-closed-panel { margin-top:16px; }
.crm-closed-panel > summary { cursor:pointer; font-weight:900; color:var(--ink); }
.crm-closed-panel .section-help { margin:10px 0 14px; }
.crm-closed-list { display:grid; gap:7px; }
.crm-closed-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); }
.crm-closed-row > div:first-child { min-width:0; display:grid; gap:3px; }
.crm-closed-row strong,.crm-closed-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-closed-row small { color:var(--muted); }
.crm-closed-row .row-actions { flex-wrap:nowrap; }
.week-switcher { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.week-switcher a:not(.ghost-button) { display:inline-flex; align-items:center; min-height:30px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:#fff; font-size:10px; font-weight:850; text-decoration:none; }
.week-switcher a:not(.ghost-button):hover,.week-switcher a.is-active { border-color:#ef9b7f; color:var(--orange-dark); background:var(--orange-soft); }
.week-switcher .week-nav-button { min-width:145px; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:10px; font-weight:700; }
.week-switcher .week-nav-button > span:not(.week-nav-icon) { display:grid; gap:2px; text-align:left; }
.week-switcher .week-nav-button:last-of-type > span:not(.week-nav-icon) { text-align:right; }
.week-switcher .week-nav-button small { color:inherit; font-size:9px; letter-spacing:.04em; text-transform:uppercase; }
.week-switcher .week-nav-button strong { color:var(--ink); font-size:10px; white-space:nowrap; }
.week-switcher .week-nav-button.is-active strong { color:var(--orange-dark); }
.week-nav-icon { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:var(--orange-dark); background:#fff4ed; font-size:14px; line-height:1; }
@media (max-width:760px) { .week-switcher .week-nav-button { flex:1 1 145px; min-width:0; }.week-switcher .week-nav-button:last-of-type > span:not(.week-nav-icon) { text-align:left; } }
@media (max-width:760px) { .crm-closed-row { align-items:flex-start; flex-direction:column; }.crm-closed-row .row-actions { width:100%; justify-content:flex-end; }.week-switcher { justify-content:flex-start; }.week-switcher .ghost-button { width:100%; justify-content:center; } }

@media (max-width:900px) { .studio-controls { grid-template-columns:1fr; }.template-manager-intro { align-items:flex-start; flex-direction:column; } }
@media (max-width:760px) { .calendar-day-head { gap:14px; }.calendar-summary { justify-content:flex-start; }.day-timeline { padding-inline:14px; }.day-block { grid-template-columns:58px minmax(0,1fr); gap:10px; }.day-block::before { left:51px; }.day-block > div { grid-column:2; }.calendar-empty { margin-inline:14px; }.overdue-list { padding-inline:14px; }.overdue-list > div { align-items:flex-start; flex-direction:column; }.carry-form { width:100%; }.carry-form select { flex:1; } }
@media (max-width:640px) { .whatsapp-studio-head { align-items:flex-start; }.studio-status { display:none; }.studio-steps { align-items:flex-start; flex-direction:column; }.studio-steps span:not(:last-child)::after { display:none; }.whatsapp-studio-form { padding:16px; }.studio-actions { display:grid; grid-template-columns:1fr 1fr; }.studio-actions > * { width:100%; }.template-manager > summary { align-items:flex-start; }.goal-actions-menu > div { position:fixed; top:auto; right:14px; bottom:18px; left:14px; width:auto; z-index:60; padding:9px; border-radius:14px; }.quick-capture-button { right:14px; bottom:14px; width:47px; height:47px; justify-content:center; padding:0; }.quick-capture-button:not(:focus) { font-size:0; }.quick-capture-button span { font-size:24px; }.quick-capture-dialog { width:100%; max-width:none; max-height:94vh; margin:auto 0 0; border-radius:18px 18px 0 0; }.quick-capture-shell { max-height:94vh; }.quick-capture-options form { grid-template-columns:1fr; }.quick-capture-options textarea,.quick-capture-options form > button:first-of-type { grid-column:auto; } }
