/* Shared visual layer. Operational status colors retain their existing meaning. */
:root { --bg:#f3f6f5; --ink:#182d28; --muted:#5c6e67; --line:#dce5e0; --shadow-soft:0 3px 14px #172e2608; --shadow-lift:0 8px 24px #172e2610; }
body { grid-template-columns:224px minmax(0,1fr); font-size:14px; line-height:1.5; }
main { min-width:0; padding:24px 32px 40px; }
body.home-view main { width:min(1320px,100%); }
.sidebar { position:sticky; top:0; height:100dvh; overflow-y:auto; padding:28px 16px; }
.brand { gap:10px; margin-bottom:36px; }
.brand-mark { width:40px; height:40px; flex-shrink:0; }
.brand-copy strong { font-size:17px; }
.brand-copy img { margin-top:12px; opacity:.9; }
.sidebar nav { display:grid; grid-template-columns:1fr; gap:5px; }
.sidebar nav a { min-height:44px; border-radius:8px; font-size:13px; padding:10px 12px; }
.sidebar nav a.active { border-left:3px solid #8fd0b4; background:#284139; }
.nav-section { font-size:10px; letter-spacing:.12em; padding:18px 12px 6px; }
.topbar { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:0 0 18px; margin-bottom:24px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; box-shadow:none; }
.topbar > div:first-of-type { margin-right:auto; }
.topbar h1 { font-size:20px; letter-spacing:-.6px; line-height:1.25; margin:0; }
.topbar p { margin:3px 0 0; font-size:12px; }
.session-box { gap:12px; flex-wrap:wrap; }
.session-box span { font-size:12px; font-weight:500; }
.session-box button { min-height:36px; font-size:12px; }
#navigationToggle { display:none; }
.panel,.module-card,.user-card { border-radius:12px; box-shadow:var(--shadow-soft); }
.panel { padding:24px; }
h2 { font-size:21px; letter-spacing:-.5px; line-height:1.3; }
h3 { font-size:16px; letter-spacing:-.2px; }
button,.mini { font-weight:600; border-radius:8px; min-height:40px; }
button:not(:disabled):hover,.mini:not(:disabled):hover { box-shadow:0 2px 6px #142d2114; }
input,select,textarea { min-height:42px; border-radius:8px; font:inherit; font-weight:400; }
input::placeholder,textarea::placeholder { color:#75837d; font-weight:400; }
:is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #1d8062; outline-offset:3px; }
.panel-header { align-items:center; gap:16px; flex-wrap:wrap; }
.panel-header span { line-height:1.5; font-weight:400; }
.home-hero { min-height:0; padding:32px; border-radius:14px; }
#inicio { padding:0; border:0; background:transparent; box-shadow:none; }
.home-hero-copy > strong { font-size:34px; letter-spacing:-1px; }
.home-hero-copy > p { font-weight:400; line-height:1.6; max-width:650px; }
.home-hero-status em { font-weight:500; }
.home-command { display:none; }
.home-live-strip,.home-event-flow { display:none; }
.home-orbit { min-height:300px; }
.module-roadmap { gap:18px; }
.module-card { padding:24px; min-height:0; }
.module-card p { font-weight:400; line-height:1.6; }
.module-card:hover { transform:translateY(-2px); }
.rounds-module-header,.alarm-hero,.visitors-hero { border-radius:12px; }
.user-role-choices { gap:8px; }
.user-role-option { padding:12px; }
.user-card small { line-height:1.6; font-weight:400; overflow-wrap:anywhere; }
.user-card em { font-style:normal; font-weight:500; }
.user-permissions { font-size:12px; color:var(--muted); }
.user-permissions summary { cursor:pointer; padding:8px 0; }
.force-bar-row progress { appearance:none; width:100%; height:8px; border:0; border-radius:8px; overflow:hidden; background:#e8eeeb; }
.force-bar-row progress::-webkit-progress-bar { background:#e8eeeb; }
.force-bar-row progress::-webkit-progress-value { background:#438a65; }
.force-bar-row.warning progress::-webkit-progress-value { background:#b18431; }
.force-bar-row.danger progress::-webkit-progress-value { background:#b84d58; }
.force-bar-row.neutral progress::-webkit-progress-value { background:#84978d; }
.force-bar-row progress::-moz-progress-bar { background:#438a65; }
.empty-state { padding:32px 20px; color:var(--muted); }
.topbar .sentinel-voice-panel { position:relative; inset:auto; width:auto; height:auto; min-height:36px; display:flex; align-items:center; gap:4px; border:0; border-left:1px solid var(--line); border-radius:0; padding:0 0 0 12px; background:none; box-shadow:none; z-index:3; }
.topbar .sentinel-voice-panel::before,.topbar .sentinel-voice-panel::after { display:none; }
.topbar .voice-record-button { position:static; inset:auto; min-width:76px; height:36px; display:inline-flex; gap:7px; padding:0 10px; border:1px solid #ceddd5; border-radius:8px; background:#edf5f1; color:#245c46; box-shadow:none; }
.topbar .voice-record-button #voiceRecordLabel { position:static; width:auto; height:auto; clip:auto; overflow:visible; font-size:12px; }
.topbar .voice-dot { width:8px; height:8px; background:currentColor; }
.topbar .voice-record-button.is-recording { background:#b3313a; color:white; }
.topbar .voice-icon-action { position:static; transform:none; opacity:1; pointer-events:auto; width:32px; min-width:32px; height:36px; border:0; box-shadow:none; background:transparent; }
.topbar .sentinel-voice-panel #voiceStatus { top:100%; bottom:auto; right:0; margin-top:8px; max-width:min(300px,85vw); height:auto; white-space:normal; line-height:1.5; padding:8px 12px; }
.sentinel-signal-toast { bottom:24px; }
@media(max-width:1200px) { main { padding:20px; } .topbar { gap:12px; } }
@media(max-width:980px) {
  body { grid-template-columns:minmax(0,1fr); }
  #navigationToggle { display:inline-flex; align-items:center; gap:8px; min-height:40px; background:white; color:var(--ink); border:1px solid var(--line); }
  body.home-view #navigationToggle { display:none; }
  .sidebar { display:none; position:static; height:auto; max-height:65dvh; padding:20px; grid-row:2; }
  body.navigation-open .sidebar { display:block; }
  body.navigation-open { display:flex; flex-direction:column; }
  body.navigation-open .sidebar { order:0; }
  body.navigation-open main { order:1; }
  .sidebar .brand { display:none; }
  .sidebar nav { grid-template-columns:1fr; }
  .topbar { display:flex; }
  .topbar .session-box { margin-left:auto; }
  .home-command { grid-template-columns:1fr; }
  .home-orbit { min-height:320px; }
}
@media(min-width:601px) and (max-width:980px) {
  .module-roadmap { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-hero-mark { display:none; }
}
@media(max-width:600px) {
  main { padding:16px 12px 28px; }
  .topbar { gap:10px; padding-bottom:14px; margin-bottom:16px; }
  .topbar h1 { font-size:18px; }
  .topbar .session-box { width:100%; justify-content:flex-start; order:3; gap:10px; }
  .session-box #sessionUser { flex:1; }
  .topbar .sentinel-voice-panel { margin-left:auto; padding-left:6px; }
  .topbar .voice-record-button { min-width:64px; padding:0 8px; }
  .topbar .voice-icon-action { min-width:28px; width:28px; }
  #navigationToggle span { display:none; }
  .panel { padding:18px 14px; }
  .home-hero { padding:24px 18px; }
  .home-hero-copy > strong { font-size:28px; }
  .home-command { display:none; }
  .home-hero-mark { display:none; }
  .module-roadmap { grid-template-columns:1fr; }
  .module-card { min-height:0; padding:20px; }
  .module-card .module-icon { width:48px; height:48px; }
  .panel-header { align-items:flex-start; }
  .visitors-search { display:flex; flex-direction:column; align-items:stretch; }
  .visitors-search label { width:100%; min-width:0; }
  .visitors-tabs { flex-wrap:wrap; }
  .visitors-module table { min-width:640px; }
  .visitors-module .panel { overflow-x:auto; }
  .rounds-module-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
  .rounds-module-stats > div { padding:12px 8px; min-height:88px; }
  .rounds-module-stats strong { font-size:17px; }
  .rounds-module-stats small,.rounds-module-stats span { font-size:10px; overflow-wrap:anywhere; }
  .force-dashboard { grid-template-columns:1fr; }
  .force-gauge-card { grid-template-columns:100px minmax(0,1fr); }
  .user-role-choices { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { #navigationToggle,.topbar .sentinel-voice-panel { display:none!important; } }

/* Module interiors: flexible tracks prevent clipped fields inside nested panels. */
.tenant-settings-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
.connector-config-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tenant-cloud-layout > *, .tenant-settings-form > *, .connector-config-form > *, .connectors-hero > * { min-width:0; }
.tenant-settings-form :is(input,select), .connector-config-form :is(input,select) { width:100%; min-width:0; }
.connectors-hero { grid-template-columns:minmax(0,1fr) minmax(180px,260px); min-height:0; }
.connectors-hero label { min-width:0; }
.connectors-hero .admin-tenant-picker { color:var(--muted); }
.connectors-hero select { width:100%; min-width:0; }
.overtime-ranking-progress { appearance:none; display:block; width:100%; height:8px; border:0; border-radius:8px; overflow:hidden; background:#e8eeeb; }
.overtime-ranking-progress::-webkit-progress-bar { background:#e8eeeb; }
.overtime-ranking-progress::-webkit-progress-value { background:#438a65; }
.overtime-ranking-progress::-moz-progress-bar { background:#438a65; }
.assist-feedback:not(:empty),.assist-ste-feedback:not(:empty) { padding:12px 16px; border:1px solid #b97822; border-radius:8px; color:#673e08; background:#fff4df; line-height:1.6; }
#supportDrawer .assist-feedback:not(:empty) { color:#673e08; background:#fff4df; }
.assist-ticket-card em { color:#24557d; }
.module-scope-note { padding:14px 18px; border-left:3px solid #b18431; background:#fff8e9; color:#604819; border-radius:8px; }
.patrol-tabs { gap:8px; }
.patrol-tabs button { flex:1 1 130px; }
.visitors-tabs button { min-height:44px; }
.post-form-section { border:1px solid var(--line); border-radius:10px; background:#fbfdfc; }
.post-form-section > summary { padding:16px; cursor:pointer; font-weight:600; }
.post-form-section > .force-builder,.post-form-section > .schedule-builder { margin:0; border:0; }
.overtime-payment-status { display:grid; gap:5px; padding:12px; border-left:3px solid #b18431; background:#fff8e9; color:#604819; }
.overtime-payment-status.ready { border-color:#438a65; background:#edf6f0; color:#245c46; }
.overtime-note { font-size:12px; color:var(--muted); }
.overtime-note summary { cursor:pointer; padding:8px 0; }
.structured-input-grid > label { display:grid; gap:6px; min-width:0; font-size:12px; }
.structured-input-grid > button { align-self:end; }
.assist-ste-ticket em,.assist-ste-detail-head em { color:#245a83; }
.assist-ste-capacity-progress { width:100%; height:8px; accent-color:#245a83; }
.assist-ste-capacity-progress.status-critical { accent-color:#a22c2c; }
.assist-ste-capacity-progress.status-warning { accent-color:#976400; }
.assist-ste-history-values { display:block; font-size:12px; line-height:1.5; color:#4d6168; overflow-wrap:anywhere; }
.force-coverage-indicator { display:grid; gap:8px; align-content:center; text-align:center; min-width:0; padding:12px; border:1px solid #dce6df; border-radius:14px; background:#f5faf7; }
.force-coverage-indicator strong { font-size:28px; }
.force-coverage-indicator span,.force-coverage-indicator small { font-size:12px; }
.force-coverage-indicator progress { width:100%; height:10px; accent-color:#438a65; }
.alarm-detail-head { grid-template-columns:44px minmax(0,1fr); }
.alarm-detail-head em { grid-column:2; justify-self:start; }
.alarm-event-detail { padding:0; }
.alarm-detail-head p { font-weight:400; overflow-wrap:anywhere; }
@media(min-width:1101px) { .alarm-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); } }
@media(max-width:980px) {
  .tenant-settings-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .connectors-hero,.tenant-settings-form,.connector-config-form { grid-template-columns:minmax(0,1fr); }
  .connector-config-form .wide { grid-column:1/-1; }
  .connectors-hero,.overtime-hero,.alarm-hero { padding:18px; min-height:0; gap:12px; }
  :is(.connectors-hero,.overtime-hero,.alarm-hero) .module-hero-icon { display:none; }
  .overtime-kpis,.overtime-executive-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .connector-kpis,.alarm-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overtime-kpis > *, .overtime-executive-summary > * { min-width:0; padding:12px; }
  .overtime-kpis strong,.overtime-executive-summary strong { font-size:20px; overflow-wrap:anywhere; }
  .assist-empty { padding:24px 16px; }
}

/* Product-led login; authentication behavior remains unchanged. */
.login-screen {
  overflow-y:auto;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(135deg,#101716 0%,#1d3f39 38%,#f4f7f6 38%);
  background-size:44px 44px,44px 44px,auto;
}
.login-layout { width:min(1080px,100%); display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); gap:clamp(32px,6vw,88px); align-items:center; }
.login-panel { width:100%; padding:36px 36px 24px; gap:22px; border-radius:20px; }
.login-product-brand { display:grid; gap:6px; }
.login-product-brand strong { color:#183d34; font-size:44px; line-height:1.1; letter-spacing:-1.6px; }
.login-product-brand span { color:#526b62; font-size:15px; }
.login-panel h1 { margin:6px 0 0; font-size:22px; line-height:1.3; }
.login-panel .login-form label { font-size:12px; letter-spacing:.05em; font-weight:750; }
.login-panel .login-form input { font-size:16px; font-weight:500; min-height:50px; }
.login-panel .login-form button[type="submit"] { background:#183d34; color:#fff; border:1px solid #183d34; box-shadow:0 4px 10px #183d3420; min-height:50px; }
.login-panel .login-form button[type="submit"]:hover { background:#245546; }
.login-panel #loginStatus:empty { display:none; }
.login-submit-block { display:grid; gap:8px; }
.login-submit-block .form-status { line-height:1.5; overflow-wrap:anywhere; }
.login-product-footer { display:grid; justify-items:center; border-top:1px solid #e8eeeb; padding-top:30px; }
.login-product-footer small { color:#597167; font-size:13px; line-height:1; margin-bottom:2px; }
.login-product-footer img { display:block; width:140px; max-width:100%; height:auto; }
.login-brand-message { padding:32px 0; color:#183d34; }
.login-password-field { display:grid; gap:8px; }
.login-password-control { position:relative; }
.login-panel .login-password-control input { padding-right:84px; min-height:52px; }
.login-panel .login-password-control button { position:absolute; right:4px; top:4px; min-height:44px; min-width:72px; padding:8px; border:0; background:transparent; color:#245546; font-size:13px; box-shadow:none; }
.login-panel .login-form button:disabled { opacity:.7; cursor:wait; }
.login-access-help { font-size:14px; color:#405e51; line-height:1.6; }
.login-access-help summary { cursor:pointer; padding:10px 0; min-height:44px; }
.login-access-help summary:focus-visible { outline:2px solid #245546; outline-offset:3px; border-radius:4px; }
.login-access-help p { margin:8px 0 0; }
.login-brand-message h2 { margin:0 0 24px; font-size:clamp(38px,4vw,58px); line-height:1.08; letter-spacing:-1.8px; }
.login-brand-message p { margin:0 0 22px; font-size:20px; line-height:1.5; }
.login-brand-message > span { display:block; color:#344f45; font-size:14px; line-height:1.8; font-weight:600; }
/* Production visual audit: readable, compact, consistent module workspaces. */
.health-center-module .health-center-hero-panel { background:#fff; color:var(--ink); }
.health-center-hero { min-height:0; padding:0 0 20px; }
.health-center-hero strong { color:var(--ink); font-size:28px; }
.health-center-hero span { color:#386c56; }
.health-center-hero p { color:var(--muted); font-weight:400; }
.health-center-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--line); gap:1px; }
.health-center-kpi { min-height:86px; background:#f6f9f7; color:var(--ink); }
.health-center-kpi small,.health-center-kpi span { color:var(--muted); font-weight:500; }
.health-center-kpi strong { font-size:24px; }
.home-hero { padding:24px 28px; }
.home-hero-copy > strong { font-size:30px; }
.module-card { display:flex; flex-direction:column; gap:12px; padding:20px; }
.module-card .module-visual { margin:0; min-height:0; height:44px; }
.module-card .module-visual { width:44px; padding:0; border:0; background:none; box-shadow:none; }
.module-card .module-visual .module-icon { position:static; }
.module-card .module-icon { width:44px; height:44px; }
.module-card > strong { margin:0; font-size:24px; }
.module-card > p { margin:0; flex:1; }
.module-card-foot { margin-top:0; padding-top:12px; justify-content:flex-end; }
.module-card.planned { background:#f6f7f8; border-color:#d3dade; border-top-color:#7c8993; }
.module-card.planned .module-head b { color:#465661; background:#e7ecef; }
.module-card.planned .module-icon { color:#566a77; }
.module-card .module-head > span { color:var(--muted); }
.module-card-foot small { font-size:12px; letter-spacing:0; text-transform:none; }
.workspace-disclosure { border:1px solid var(--line); border-radius:12px; background:#fff; margin:0 0 18px; overflow:hidden; }
.workspace-disclosure > summary { cursor:pointer; padding:16px 20px; font-weight:600; color:var(--ink); }
.workspace-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.workspace-disclosure > .panel { border:0; margin:0; box-shadow:none; }
#userEditor > form { padding:20px; }
.planned-workspace { max-width:960px; }
.planned-workspace h2 { font-size:30px; margin:12px 0; }
.planned-workspace p { color:var(--muted); font-weight:400; line-height:1.7; }
.planned-workspace .secondary-action { display:inline-flex; padding:10px 14px; margin-top:20px; border:1px solid var(--line); border-radius:8px; color:var(--ink); }
.availability-label { font-size:12px; font-weight:600; color:#465661; }
.module-detail-card::after { display:none; }
.module-detail-hero.planned { min-height:0; padding:16px; border:1px solid var(--line); background:#f6f8f7; box-shadow:none; }
.module-detail-hero p,.module-detail-card p,.module-detail-card li { font-weight:400; line-height:1.6; }
.module-detail-hero p { margin:0; }
.module-detail-view .panel-header { margin-bottom:12px; }
.module-detail-hero > div > strong { display:none; }
.visitors-entry-context { align-self:center; padding:10px 14px; color:#315d4b; font-weight:600; }
.visitors-table table { table-layout:fixed; min-width:900px; }
.visitors-table th,.visitors-table td { white-space:normal; overflow-wrap:anywhere; }
.visitors-table th:nth-child(1) { width:23%; }
.visitors-table th:nth-child(2) { width:22%; }
.visitors-table th:nth-child(3) { width:17%; }
.visitors-table th:nth-child(4) { width:16%; }
.visitors-table th:nth-child(5) { width:9%; }
.visitors-table th:nth-child(6) { width:13%; }
.visitors-table td:last-child button { display:block; width:100%; margin:0 0 8px; white-space:normal; }
:is(.alarm-hero,.overtime-hero,.connectors-hero) { min-height:0; padding:18px 20px; gap:16px; }
:is(.alarm-hero,.overtime-hero,.connectors-hero) strong { font-size:28px; }
:is(.alarm-hero,.overtime-hero,.connectors-hero) p { font-size:14px; font-weight:400; margin:8px 0 0; }
.module-hero-icon { width:48px; height:48px; flex-shrink:0; }
.connectors-hero .module-hero-icon { display:none; }
.connector-contract p,.connector-contract span,.force-gauge-copy span,.force-gauge-copy small { font-weight:400; }
.overtime-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
.overtime-filters input { width:100%; min-width:0; }
.overtime-list .overtime-case { padding:16px; box-shadow:none; }
.overtime-list .overtime-case-top strong { font-size:15px; }
.overtime-list .overtime-case-top span { font-weight:400; }
.overtime-case-secondary { margin:12px 0; }
.overtime-case-secondary > summary { cursor:pointer; font-size:13px; color:var(--muted); padding:8px 0; }
.force-dashboard { gap:12px; }
.force-dashboard > div { box-shadow:none; }
.force-client-grid { margin-top:18px; }
.patrol-hero-panel { border-top:3px solid #437a60; }
.patrol-hero-panel h2 { font-size:26px; }
.patrol-hero-panel p { color:var(--muted); }
#patrolFeedback:empty { display:none; }
.patrol-tabs { justify-content:flex-start; }
.patrol-tabs button { flex:0 1 auto; min-height:44px; }
.patrol-route { padding:16px; border:1px solid var(--line); border-radius:10px; margin:12px 0; }
.patrol-route h4 { margin:0 0 8px; font-size:16px; }
.patrol-route p { margin:5px 0; color:var(--muted); }
.patrol-route ol { margin:12px 0 0; }
#control-rondas .patrol-route { gap:6px; }
#control-rondas .patrol-route h4,#control-rondas .patrol-route p { margin:0; }
#control-rondas .patrol-route details { margin:4px 0; }
#control-rondas .patrol-route summary { padding:6px 0; }
#control-rondas .patrol-route > button { justify-self:start; }
#control-rondas .patrol-tabs { margin:0; }
.patrol-previous > summary { padding:14px 0; cursor:pointer; font-weight:600; }
.patrol-alerts:not(.patrol-alerts-active) { padding:16px 20px; }
.patrol-alerts:not(.patrol-alerts-active) h2 { font-size:16px; }
.patrol-alerts:not(.patrol-alerts-active) p { margin:8px 0 0; font-size:12px; }
#supportDrawer .assist-hero > div:first-child { display:none; }
#supportDrawer .assist-hero { padding:14px 18px; margin-top:0; }
#supportDrawer .assist-summary { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
#supportDrawer .assist-summary > div { padding:10px; min-width:0; }
#supportDrawerContent { padding-top:20px; }
#eventRows .event { padding:12px 14px; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; gap:4px; }
#eventRows .event > span { font-weight:400; }
body.operational-module-view,body.module-detail-view { grid-template-columns:minmax(0,1fr); }
body.operational-module-view .sidebar,body.module-detail-view .sidebar { display:none; }
body.operational-module-view main,body.module-detail-view main { width:min(1440px,100%); margin:0 auto; }
.workspace-home-link { color:#315d4b; font-size:13px; text-decoration:none; padding:8px 0; display:none; }
body.operational-module-view .workspace-home-link,body.module-detail-view .workspace-home-link { display:inline-flex; }
body.operational-module-view #navigationToggle,body.module-detail-view #navigationToggle { display:none; }
@media(max-width:700px) {
  .health-center-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .health-center-hero .module-hero-icon { display:none; }
  .health-center-layout { grid-template-columns:minmax(0,1fr); }
  .module-card { gap:10px; padding:18px; }
  .module-card .module-visual { display:none; }
  .module-card .module-head { margin-bottom:0; }
  .home-hero { padding:20px; }
  .home-hero-status { display:none; }
  .overtime-filters { grid-template-columns:minmax(0,1fr); }
  #control-rondas .patrol-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .visitors-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .visitors-table::before { content:'Desliza la tabla para consultar todas las columnas →'; display:block; width:280px; padding:10px 0; font-size:12px; color:var(--muted); }
  .workspace-home-link { order:4; width:100%; }
}
@media(max-width:760px) {
  .login-screen { padding:24px 16px; place-items:start center; }
  .login-layout { max-width:440px; grid-template-columns:minmax(0,1fr); gap:20px; margin:auto; }
  .login-panel { padding:28px 24px 24px; }
  .login-brand-message { padding:4px 12px 12px; }
  .login-brand-message h2 { font-size:24px; line-height:1.25; letter-spacing:-.6px; margin-bottom:10px; }
  .login-brand-message h2 br { display:none; }
  .login-brand-message h2 { word-spacing:normal; }
  .login-brand-message p { font-size:16px; margin-bottom:10px; }
  .login-brand-message > span { font-size:13px; }
}

/* Patrol navigation remains accessible independently of the main sidebar. */
#control-rondas .patrol-heading-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#control-rondas .patrol-heading-navigation a,.critical-alert-home{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid currentColor;border-radius:8px;color:inherit;background:#fff;text-decoration:none;font-weight:700;box-sizing:border-box}
#control-rondas .patrol-hero-panel{position:sticky;top:0;z-index:12}
#control-rondas .patrol-heading-navigation a:focus-visible,.critical-alert-home:focus-visible{outline:3px solid #2563eb;outline-offset:3px}

/* Client artwork is shown only for the active Majadas workspace. */
.tenant-brand{display:inline-flex;flex:0 0 auto;align-items:center;border-radius:8px;overflow:hidden;line-height:0;background:#000}
.tenant-brand[hidden]{display:none!important}
.tenant-brand img{display:block;width:104px;height:104px;object-fit:contain}
.tenant-brand:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
@media(max-width:600px){.tenant-brand img{width:80px;height:80px}}

/* Keep the escape link readable inside the red communication/emergency card. */
#criticalAlerts .critical-alert-home { color:#74121c; background:#fff; border-color:#fff; margin-left:8px; }
