/* The rules of the design files' <style> blocks, merged (apps/console/design/*.html), plus the console's menu popover. Everything else
   is inline style on the components, copied from the design. */
body{margin:0;background:#FAFAF9}
a{color:#111111;text-decoration:none}
a:hover{color:#000000}
.cnav:hover{background:#EFEEEB;color:#111111}
.btn-primary:hover{opacity:0.88}
.btn-ghost:hover{background:#F5F5F4;border-color:#A8A29E}
.btn-oauth:hover{background:#F5F5F4;border-color:#A8A29E}
.icon-btn:hover{background:#F5F5F4}
.chip:hover{border-color:#A8A29E}
.text-link:hover{text-decoration:underline;text-underline-offset:3px}
.text-btn:hover{color:#000000;text-decoration:underline;text-underline-offset:3px}
.bar:hover{background:#111111}
.src:hover{border-color:#A8A29E}
label.src:has(input:checked){border-color:#111111 !important;box-shadow:0 0 0 1px #111111}
.seg:hover{color:#111111}
.seg[aria-pressed="true"]{background:#FFFFFF;color:#111111;box-shadow:0 1px 2px rgba(0,0,0,0.08)}
.seg[aria-pressed="false"]{background:transparent;color:#57534E;box-shadow:none}
.field:focus{outline:none;border-color:#111111;box-shadow:0 0 0 3px rgba(17,17,17,0.08)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none !important}
.bgfield::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url(assets/caas-dotfield.png);background-size:1320px 1320px;background-repeat:repeat;background-position:center top;opacity:var(--bg-op,0.5)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #111111;outline-offset:2px;border-radius:6px}
.bgfield a:focus-visible,.bgfield button:focus-visible{border-radius:8px}

/* Not in the design: disabled controls, and the popover menus of the workspace switcher and row ••• buttons. */
button:disabled{opacity:0.5;cursor:default}
.field:disabled{background:#F5F5F4;color:#6B6B6B}
.menu-anchor{position:relative;display:inline-block;width:0;height:0;vertical-align:bottom}
.menu-anchor-wide{display:block;width:auto;margin-top:-20px}
.menu{position:absolute;z-index:20;top:4px;right:0;min-width:160px;box-sizing:border-box;display:flex;flex-direction:column;padding:4px;background:#FFFFFF;border:1px solid #E7E5E4;border-radius:10px;box-shadow:0 8px 24px rgba(17,17,17,0.12);text-align:left}
.menu-anchor-wide .menu{left:0;right:0}
.menu-item{height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;font-family:inherit;font-size:14px;color:#111111;text-align:left;white-space:nowrap;cursor:pointer}
.menu-item:hover{background:#F5F5F4}
.menu-item[aria-current]{font-weight:600}
.menu-item-danger{color:#B91C1C}
/* Not in the design: the themed select (components/Select.tsx), a trigger like the inputs and a list like the menus. */
.select-trigger:hover{border-color:#A8A29E}
.select-trigger:focus-visible{outline:none}
.select-trigger[aria-expanded="true"]{border-color:#111111;box-shadow:0 0 0 3px rgba(17,17,17,0.08)}
.select-list{z-index:30;right:auto;max-height:280px;overflow-y:auto;margin:0;list-style:none;font-family:'Geist', ui-sans-serif, system-ui, sans-serif}
.select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;line-height:32px}
.select-option:hover{background:transparent}
.select-option[data-active]{background:#F5F5F4}
.select-option[aria-selected="true"]{font-weight:500}
/* Not in the design: the full-page loader (components/BootScreen.tsx). The logo eases between full and faint, never vanishing;
   an opacity animation runs on the compositor, so it stays smooth while the app's script loads and runs. */
.boot{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#FAFAF9;transition:opacity 300ms ease}
.boot[data-done]{opacity:0;pointer-events:none}
.boot-logo{display:block;width:148px;animation:boot-pulse 1.2s cubic-bezier(0.37,0,0.63,1) infinite alternate;will-change:opacity}
.boot-logo svg{display:block;width:100%;height:auto}
@keyframes boot-pulse{from{opacity:1}to{opacity:0.28}}
@media (prefers-reduced-motion:reduce){.boot-logo{animation-duration:2.4s}}
