/* Ajustes propios sobre el diseño de Harvey */
nav a {
  display: flex; align-items: center; gap: 10px; width: 100%;
  height: 32px; padding: 0 10px; border-radius: var(--r-sm);
  color: var(--text-2); text-decoration: none;
  font: 500 var(--fs-ui)/1 var(--sans);
  transition-property: background-color, color; transition-duration: 120ms; transition-timing-function: ease;
}
nav a .icon { color: var(--text-3); transition: color 120ms ease; }
nav a .label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (hover: hover) { nav a:hover { background: var(--surface-2); color: var(--text); } nav a:hover .icon { color: var(--text-2); } }
nav a.active { background: var(--surface); color: var(--text); box-shadow: var(--shadow-border); }
nav a.active .icon { color: var(--accent); }
.nav-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.biz-pick { padding: 0 2px; }
.biz-pick .nav-label { display: block; padding: 0 8px 6px; }
.biz-pick select { height: 34px; font-weight: 500; font-size: var(--fs-ui); box-shadow: inset 4px 0 0 var(--c); padding-left: 14px; }

.toast { cursor: pointer; }
.toast.hide { opacity: 0; translate: 0 8px; pointer-events: none; }
.banner .icon { flex: none; }
.banner div { color: inherit; }

.inline { display: inline; }
form.inline { display: inline; }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; }
.right { margin-left: auto; }
.mt { margin-top: var(--sp-4); }
.mb0 { margin-bottom: 0; }
.small { font-size: var(--fs-caption); }
.text-2 { color: var(--text-2); }
.good { color: var(--good); } .bad { color: var(--bad); } .wait { color: var(--wait); }
.pre { white-space: pre-wrap; }
.nowrap { white-space: nowrap; }
.tags { display: flex; gap: 4px; flex-wrap: wrap; }
.check-line input, .radio input { accent-color: var(--accent); }
.radio { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-ui); color: var(--text-2); cursor: pointer; }
.sig-decide .radio { padding: 0 8px; height: 28px; border-radius: var(--r-sm); box-shadow: var(--btn-shadow); background: var(--surface); }
.sig-decide .radio:has(input:checked) { background: var(--accent-soft); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent-line); }
.sig-decide .radio.no:has(input:checked) { background: var(--surface-2); color: var(--text-2); box-shadow: inset 0 0 0 1px var(--line-strong); }
.sig-decide .radio input { position: absolute; opacity: 0; pointer-events: none; }
.cohort-pick select { margin-left: auto; height: 26px; font: inherit; font-size: 12px; border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: var(--surface); color: var(--text); }
.cohort-pick.must { background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent-line); }
.cohort-pick.not { background: var(--bad-bg); box-shadow: inset 0 0 0 1px var(--bad-line); }
.cohort-sample { font-size: var(--fs-caption); color: var(--text-3); margin-top: 6px; }
.desk-item { text-decoration: none; color: inherit; }
.desk-filter { margin-bottom: var(--sp-3); }
.segmented a { height: 28px; padding: 0 10px; border-radius: var(--r-sm); display: inline-flex; align-items: center; gap: 6px; flex: none;
  font: 500 var(--fs-caption)/1 var(--sans); color: var(--text-2); text-decoration: none; }
.segmented a .n { color: var(--text-3); }
.segmented a.on { background: var(--surface); color: var(--text); box-shadow: var(--shadow-border); }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 var(--sp-3); }
.form-grid .wide { grid-column: 1 / -1; }
.hint-text { font-size: var(--fs-caption); color: var(--text-3); margin-top: 4px; }
.prov-card input[type=radio] { display: none; }
.prov-card:has(input:checked) { box-shadow: 0 0 0 1.5px var(--accent), 0 0 0 5px var(--accent-soft); }
.biz-chip { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-caption); color: var(--text-2); }
.biz-chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--c); }
.log-viewer .warn { color: #F0B84F; } .log-viewer .error { color: #FF7A85; }
.overlay { position: fixed; inset: 0; background: rgb(14 14 16 / .45); display: grid; place-items: center; z-index: 100; padding: 16px; }
.overlay-box { background: var(--surface); padding: var(--sp-5) var(--sp-6); border-radius: var(--r-lg); box-shadow: var(--shadow-pop); text-align: center; max-width: 360px; font-size: var(--fs-ui); }
.spinner { width: 28px; height: 28px; border: 3px solid var(--surface-3); border-top-color: var(--accent); border-radius: 50%; margin: 0 auto 12px; animation: spin 1s linear infinite; }
@keyframes spin { to { rotate: 360deg; } }
.auth-wrap { min-height: 100dvh; display: grid; place-items: center; padding: 16px; }
.auth-wrap .card { width: 100%; max-width: 420px; box-shadow: var(--shadow-pop); }
.auth-wrap h1 { font-size: var(--fs-h2); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 4px; }
.auth-wrap .lede { margin: 0 0 var(--sp-4); }
.btn.full { width: 100%; }
td .btn-sm + .btn-sm, form.inline + form.inline { margin-left: 4px; }
.legacy { font-size: 15px; }
@media (max-width: 900px) {
  .biz-pick { order: 2; flex: 1 1 160px; }
  .biz-pick .nav-label { display: none; }
  nav a { width: auto; height: 30px; flex: none; }
}

.cohort-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.cohort-pick { height: auto; min-height: 44px; padding: 6px 8px 6px 12px; }
.cohort-pick > span { flex: 1; line-height: 1.3; }
.cohort-pick select { flex: none; max-width: 190px; }

.desk-group { display: flex; align-items: center; gap: 6px; padding: 10px 10px 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.desk-group i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.desk-group:not(:first-child) { margin-top: 6px; border-top: 1px solid var(--line); }

.reject-box { display: inline-block; }
.reject-box > summary { list-style: none; }
.reject-box > summary::before { display: none; }
.reject-box[open] { display: block; flex-basis: 100%; order: 10; }
.reject-panel { margin-top: 10px; padding: 14px; border-radius: var(--r-md); background: var(--bad-bg); box-shadow: inset 0 0 0 1px var(--bad-line); }
.reject-title { font-size: var(--fs-ui); font-weight: 600; margin-bottom: 10px; color: var(--text); }
.reject-alt { margin-top: 8px; }
