/* éxodo cloud motion and interaction language. All state readings are real. */
:root{--motion-fast:160ms;--motion-medium:280ms}
.form-grid{align-items:end}
.live-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 36px;background:var(--ink);color:var(--exodo-gris);border-bottom:1px solid var(--exodo-linea-oscuro);min-height:43px;font:11px var(--exodo-fuente-mono)}
.neural-instrument{display:flex;align-items:center;gap:12px;min-width:0;font:11px var(--exodo-fuente-mono)}.instrument-label{text-transform:uppercase;letter-spacing:.12em;color:var(--exodo-gris)}.latency-history{width:42px;height:22px;flex:none;overflow:visible}.latency-history rect{fill:var(--exodo-gris);transition:height .6s var(--exodo-curva),y .6s var(--exodo-curva),fill .3s}.latency-history .sample-empty{opacity:.25}.latency-history .sample-previous{opacity:.55}.latency-history .sample-latest{fill:var(--exodo-azul-luz)}.latency-history .sample-failed{fill:var(--exodo-naranja)}
.live-status{display:inline-flex;align-items:center;gap:7px;color:var(--exodo-gris-claro);min-width:140px}.live-status i{width:5px;height:5px;flex:none;border-radius:50%;background:var(--exodo-gris)}.live-status[data-health=online] i{background:var(--exodo-verde)}.live-status[data-health=offline] i{background:var(--exodo-naranja)}.live-status[data-health=saving] i{background:var(--exodo-azul-luz);animation:live-breathe 1.2s ease-in-out infinite}.live-ping{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--exodo-gris)}.live-ping b{display:inline-block;min-width:54px;font-weight:400;color:var(--bone)}.live-context,.live-clock{display:flex;align-items:center;gap:14px;white-space:nowrap}.live-clock{gap:10px;font-variant-numeric:tabular-nums}.live-clock time{color:var(--bone);min-width:66px}.live-clock>[data-live-date]{text-transform:uppercase}.live-context>[data-live-sync]{border-right:1px solid var(--exodo-linea-oscuro);padding-right:14px}
.access-instrument{position:absolute;bottom:27px;left:34px;z-index:1}.access-time{font-variant-numeric:tabular-nums}.access-meta .dot{background:var(--exodo-azul-luz)}
.greeting{position:relative;isolation:isolate;overflow:hidden;background-image:none}.hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.greeting:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,10,11,.5),transparent 65%)}
button,a,input,select,textarea,summary,.case-card,.metric,.home-table tr,.table-wrap tr{transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),outline-color var(--motion-fast),transform var(--motion-medium) var(--exodo-curva)}
button:disabled{cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.topbar nav button{position:relative;border-bottom-color:transparent!important}.topbar nav button:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--exodo-azul-luz);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-medium) var(--exodo-curva)}.topbar nav button.selected:after{transform:scaleX(1)}
.metric.selected{outline:0;border-color:var(--blue);background:var(--exodo-curso-fondo)}.metric[aria-pressed=true] .label{color:var(--bluetext)}
.deadline-filter[aria-pressed=true]{box-shadow:none;outline:2px solid var(--blue);outline-offset:2px}.deadline-filter[aria-pressed=true] span{color:var(--bluetext)}.deadline-filter:not(.overdue):not(.today):not(.soon)[aria-pressed=true]{background:var(--exodo-curso-fondo)}
.layout-switch button[aria-pressed=true],.case-tabs button[aria-pressed=true]{background:var(--exodo-curso-fondo);color:var(--bluetext)}
.hero-search{transition:background-color var(--motion-fast),border-color var(--motion-fast)}.hero-search:focus-within{border-color:var(--exodo-azul-luz);background:rgba(243,241,236,.04)}.hero-search input:focus-visible{outline:none}
.action-square .icon{transition:transform var(--motion-medium) var(--exodo-curva)}.action-square .after{transition:color var(--motion-fast)}.action-square:before,.action-square:after{transition:width var(--motion-medium),height var(--motion-medium),border-color var(--motion-fast)}
dialog[open]{animation:panel-arrive .25s var(--exodo-curva)}dialog[open]::backdrop{animation:veil-arrive .2s ease-out}#toast:not([hidden]){animation:notice-arrive .22s var(--exodo-curva)}
.access-field .icon{transition:color var(--motion-fast),transform var(--motion-fast)}.access-field:focus-within .icon{color:var(--exodo-azul-luz);transform:translateY(-1px)}
@media(hover:hover){
 button:hover:not(:disabled){border-color:var(--exodo-gris-claro)}
 .topbar nav button:hover{color:var(--bone)}.topbar nav button:not(.selected):hover:after{transform:scaleX(.35)}
 .account button:hover{background:var(--exodo-tinta-suave);border-color:var(--exodo-gris-oscuro)}
 .metric:hover:not(:disabled),.deadline-filter:hover:not(:disabled){transform:translateY(-2px);border-color:var(--blue)}
 .case-card:hover{transform:translateY(-2px);border-color:var(--blue)}.case-card.dragging{transform:none}
 .table-wrap tbody tr:hover,.table-wrap tbody tr:hover td{background:var(--soft)}.table-wrap tbody tr:hover button{border-color:var(--exodo-gris-claro)}
 .layout-switch button:not([aria-pressed=true]):hover,.case-tabs button:not([aria-pressed=true]):hover{background:var(--bone)}
 .greeting .action-square:hover{background:rgba(111,193,224,.08);border-color:var(--exodo-azul-luz)}.action-square:hover .icon{transform:rotate(90deg)}.action-square:hover .after{color:var(--bone)}.action-square:hover:before,.action-square:hover:after{width:22px;height:22px;border-color:var(--exodo-azul-luz)}
 .hero-search:hover{border-color:var(--exodo-gris-oscuro)}.login .primary:hover .icon{transform:translateX(3px)}.login .primary .icon{transition:transform var(--motion-medium) var(--exodo-curva)}
 summary:hover{color:var(--bluetext)}
}
@keyframes live-breathe{50%{opacity:.35}}@keyframes panel-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes veil-arrive{from{opacity:0}to{opacity:1}}@keyframes notice-arrive{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){.live-strip{padding-left:28px;padding-right:28px}.live-context>[data-live-sync]{display:none}.neural-instrument{gap:9px}}
@media(max-width:760px){.live-strip{padding:10px 18px;gap:10px;flex-wrap:wrap}.live-strip .instrument-label{display:none}.live-strip .live-context{margin-left:auto}.live-clock>[data-live-date]{display:none}.neural-instrument{gap:8px}.live-status{min-width:0;font-size:11px}.live-ping{font-size:11px}.live-ping b{min-width:46px}.live-strip .latency-history{width:32px}.live-clock{gap:6px;font-size:11px}.live-clock time{min-width:59px}.access-instrument{left:28px;right:28px;bottom:64px}.access-instrument .neural-instrument{flex-wrap:wrap;gap:8px 12px}.access-instrument .instrument-label{font-size:11px;letter-spacing:.08em}.access-screen{padding-bottom:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.metric:hover,.case-card:hover,.deadline-filter:hover,button:active:not(:disabled){transform:none}}

/* Compact shell: centered navigation, measured connection, one account entry. */
.user-menu{margin-top:0}.user-menu[open] .user-popover{animation:panel-arrive .2s var(--exodo-curva)}
.topbar{display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);gap:24px;padding:0 28px}.topbar .brand{justify-self:start}.topbar nav{justify-self:center;justify-content:center;gap:24px}.account{justify-self:end;margin:0;gap:18px}.header-health{display:flex;align-items:center;gap:14px;font:11px var(--exodo-fuente-mono)}.header-health .live-status{min-width:0;white-space:nowrap}.header-health .live-ping b{min-width:48px}.header-health .live-ping{font-size:11px}
.user-menu{position:relative;flex:none}.user-menu summary{list-style:none;cursor:pointer;color:var(--bone);width:36px;height:36px;border-color:var(--exodo-linea-oscuro);background:var(--exodo-tinta-suave);transition:border-color var(--motion-fast),background-color var(--motion-fast)}.user-menu summary::-webkit-details-marker{display:none}.user-menu[open] summary{border-color:var(--exodo-azul-luz);background:var(--exodo-panel)}.user-menu summary:hover{border-color:var(--exodo-gris);color:var(--bone)}
.user-popover{position:absolute;right:0;top:calc(100% + 14px);width:310px;max-width:calc(100vw - 36px);padding:22px;background:var(--exodo-tinta-suave);border:1px solid var(--exodo-linea-oscuro);border-radius:12px;color:var(--bone);box-shadow:0 16px 36px rgba(10,10,11,.25);z-index:30;animation:panel-arrive .2s var(--exodo-curva)}.user-popover .label{color:var(--exodo-gris)}.user-popover h2{font-size:18px;font-weight:600;margin:12px 0 5px;letter-spacing:-.02em}.account-email{font-size:13px;color:var(--exodo-gris-claro);overflow-wrap:anywhere;margin:0;line-height:1.5}.user-popover dl{border-top:1px solid var(--exodo-linea-oscuro);border-bottom:1px solid var(--exodo-linea-oscuro);padding:16px 0;margin:18px 0;display:grid;gap:14px}.user-popover dt{font-size:12px;color:var(--exodo-gris);margin-bottom:5px}.user-popover dd{font-size:13px;margin:0}.user-popover dd small{display:block;font-size:11px;color:var(--exodo-gris);margin-top:4px}.account-clock{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--exodo-gris)}.account-clock time{font:11px var(--exodo-fuente-mono);font-variant-numeric:tabular-nums;color:var(--bone)}.user-popover #logout{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:18px}.delivery-state{font-size:12px;color:var(--exodo-gris-claro);margin:14px 0 0;display:flex;align-items:center;gap:7px}.delivery-state i{height:5px;width:5px;border-radius:50%;background:var(--exodo-amarillo)}
@media(max-width:1100px){.topbar{padding:0 24px;gap:18px}.topbar nav{gap:16px}.account{gap:12px}.header-health{gap:10px}}
@media(max-width:980px){.topbar,body.scrolled .topbar{height:auto;min-height:108px;grid-template-columns:1fr auto;row-gap:4px;padding-top:14px}.topbar nav{grid-column:1/-1;grid-row:2;height:42px;width:auto;gap:28px;margin:0}.account{grid-column:2;grid-row:1}.brand{grid-column:1;grid-row:1}}
@media(max-width:760px){.topbar,body.scrolled .topbar{padding:14px 18px 0;gap:8px 10px}.topbar nav{width:100%;gap:0;justify-content:space-between;min-width:0}.topbar nav button{font-size:12px}.topbar .account{margin-left:0;gap:12px}.header-health{flex-direction:column;gap:3px;align-items:flex-end}.header-health .live-status{font-size:11px}.header-health .live-ping{font-size:11px}.user-menu summary{height:34px;width:34px}.user-popover{top:calc(100% + 13px)}.brand{font-size:24px}}
