/* Shared visual direction measured from Expo; no Expo brand assets are reused. */
:root{--font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:var(--font);--bg:#f2f4f1;--surface:#fafbf9;--raised:#eaeee9;--sidebar:#ecefec;--ink:#202024;--muted:#60646c;--line:#d9d9e0;--accent:var(--chat-action);--on-accent:var(--chat-on-action);--soft:var(--chat-activity-soft);--own:var(--chat-own);--radius:8px;--motion:150ms;--shadow:0 3px 12px #0000000c;--button-bg:#fff;--input-bg:#fff}
html[data-theme=dark]{--bg:#111111;--surface:#202020;--raised:#292c2a;--sidebar:#191b1a;--ink:#f0f2f1;--muted:#a3aaa7;--line:#363b38;--accent:var(--chat-action);--on-accent:var(--chat-on-action);--soft:var(--chat-activity-soft);--own:var(--chat-own);--shadow:0 8px 24px #00000040;--button-bg:#212225;--input-bg:#18191b}
body{font-family:var(--font);font-feature-settings:'cv11','ss01';text-rendering:optimizeLegibility}
button,input,textarea,select{font:inherit}.icon{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.button{border-radius:999px;font-weight:500;transition:background-color 150ms cubic-bezier(.4,0,.2,1),color 150ms cubic-bezier(.4,0,.2,1),border-color 150ms cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1)}
.button:active:not(:disabled){transform:scale(.98)}.button.icon-button{border-radius:8px}.workspace-nav .button,.rail-control{border-radius:8px}
.field input,.field select,.field textarea,.search{border-radius:8px}.contact-filters{border-radius:8px}
.person-button{border-radius:8px}.person-copy strong,.peer-head h2{font-weight:600}.peer-head h2{letter-spacing:-.25px}
.app-rail .icon,.workspace-nav .icon,.button .icon,.date-trigger svg{stroke-width:2}
.welcome h1,.entry-card h1,.audit-head h1,.onboarding h1{font-weight:600;letter-spacing:-.5px;line-height:1.1}
.notice,.demand-card,.file-card,.entry-card{border-radius:12px}.bubble{border-radius:12px}.calendar-dialog,.pending-dialog,.request-sheet,.profile-dialog{border-radius:16px}
.request-body .field input,.request-body .field textarea,.request-body .field select{border-radius:8px}.request-head h2{font-size:20px;font-weight:600;letter-spacing:-.25px}.request-sheet{border-radius:16px}
dialog[open]{animation:ui-panel-in 180ms cubic-bezier(.2,.5,.2,1)}dialog::backdrop{animation:ui-backdrop-in 150ms ease-out}
@keyframes ui-panel-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ui-backdrop-in{from{opacity:0}to{opacity:1}}
.route-progress-bar{position:fixed;top:0;left:0;width:100%;height:2px;z-index:1031;pointer-events:none;background:var(--accent);transform-origin:left;transform:scaleX(.05)}
.route-progress-bar.loading{animation:route-trickle 60s cubic-bezier(.2,.5,.2,1) forwards}.route-progress-bar.complete{animation:none;transform:scaleX(1);opacity:0;transition:transform 150ms ease-out,opacity 200ms ease-in 100ms}
@keyframes route-trickle{0%{transform:scaleX(.05)}20%{transform:scaleX(.5)}80%{transform:scaleX(.8)}100%{transform:scaleX(.99)}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog::backdrop,.route-progress-bar.loading{animation:none}.route-progress-bar.loading{transform:scaleX(.65)}.button,.route-progress-bar.complete{transition:none}.button:active:not(:disabled){transform:none}}
@media(max-width:640px){input,textarea,select,.field input,.field select,.field textarea{font-size:16px}.button{min-height:44px}.icon-button{min-width:44px}}
@media(min-width:1280px){
  .shell{grid-template-columns:184px var(--contacts-width,320px) 8px minmax(0,1fr)}
  .app-rail{align-items:stretch;padding:18px 12px;background:var(--sidebar)}
  .app-rail .brand{width:auto;justify-content:flex-start;gap:9px;padding:0 8px}.app-rail .brand-mark{width:27px;height:27px}.app-rail .brand-word{display:inline;font-size:19px;font-weight:600}
  .app-rail .workspace-nav{align-items:stretch;width:100%;gap:4px}
  .app-rail .button,.app-rail .workspace-nav .audit-link{width:100%;justify-content:flex-start;padding:8px 10px;gap:10px;min-height:40px;border-radius:8px}
  .app-rail .rail-label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;display:inline;font-size:12px;font-weight:500}
  .app-rail .my-profile>div{display:block;text-align:left;min-width:0}.app-rail .my-profile strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-rail .my-profile small{display:none}
  .app-rail .rail-control::after{display:none}.rail-footer{align-items:stretch;width:100%}
}
