/* Shared geometry and typography: theme changes colors only. */
#app[data-theme] .page-top>.button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
#app[data-theme] .member-card .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#app[data-theme] .panel-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
#app[data-theme] .page-top h1{width:fit-content}
#app[data-theme] .trip-header{border:1px solid var(--line)}
#app[data-theme]{font-family:'Airbnb Cereal VF',Circular,-apple-system,system-ui,Roboto,'Helvetica Neue','Microsoft YaHei',sans-serif}
#app[data-theme] .workspace>header{border-bottom:1px solid var(--line);height:80px}
#app[data-theme] aside{border-right:1px solid var(--line)}
#app[data-theme] .home-switch{border:0;border-radius:20px;padding:16px 12px;margin-top:28px}
#app[data-theme] .home-switch strong{font-size:14px}
#app[data-theme] #nav a{min-height:44px;border-radius:8px;font-size:14px;font-weight:500}
#app[data-theme] #nav a.active{font-weight:600}
#app[data-theme] main{padding-top:32px;padding-bottom:32px}
#app[data-theme] .page-top h1{font-family:inherit;font-size:28px;font-weight:700;line-height:1.43;letter-spacing:normal}
#app[data-theme] .page-top p{font-size:14px;line-height:1.43}
#app[data-theme] :is(.panel,.record-card,.plan-card,.daily-brief){border:1px solid var(--line);border-radius:20px}
#app[data-theme] :is(.panel-head h2,.record-card h3){font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.18px}
#app[data-theme] .daily-brief-heading h2{font-size:16px;font-weight:600}
#app[data-theme] :is(.record-card,.daily-brief,.product-search){border:0}
#app[data-theme] .button{border-radius:8px;min-height:44px;padding:10px 20px;font-size:14px;font-weight:500;line-height:1.25}
#app[data-theme] .task-actions .button{min-height:32px;padding:6px 12px;font-size:12px}
#app[data-theme] :is(input,select,textarea){border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px}
#app[data-theme] :is(.icon-button,.theme-toggle){border-radius:50%}
#app[data-theme] .theme-toggle{border-radius:32px;padding:8px 12px}
#app[data-theme] .user-pill{border-radius:32px}
#app[data-theme] .product-search{border-radius:32px;padding:10px 16px}
#app[data-theme] :is(.hero,.overview-lead .hero){border-radius:32px;overflow:hidden}
#app[data-theme] .agent-form{border:0;border-radius:20px;padding:8px 8px 8px 16px}
#app[data-theme] .agent-form input{border:0}
#app[data-theme] .scene-grid{border-radius:20px}
#app[data-theme] :is(.trip-header,#map-config,.product-onboarding){border-radius:20px}
#app[data-theme] .badge{border-radius:14px;font-size:11px;font-weight:600;font-feature-settings:'salt'}
#app[data-theme] .notice{border:0;border-radius:8px}
#app[data-theme] .notice.error{border:1px solid var(--line)}
#app[data-theme] .assistant-panel{border-radius:20px}
html[data-app-theme] #editor,html[data-app-theme] #product-search-dialog,html[data-app-theme] #inventory-import-dialog,html[data-app-theme] #shortcut-dialog{border-radius:20px}
@media(max-width:950px){#app[data-theme] .overview-lead{grid-template-columns:1fr}}
@media(max-width:744px){#app[data-theme] main{padding:24px 16px}
#app[data-theme] .workspace>header{height:64px}
#app[data-theme] .page-top h1{font-size:24px}
#app[data-theme] .panel-head h2{font-size:18px}
#app[data-theme] :is(.panel,.record-card,.daily-brief){padding:20px}
#app[data-theme] .button{font-size:13px;padding:10px 14px}
#app[data-theme] aside .brand{font-size:0}
#app[data-theme] .product-search{padding:9px}
#app[data-theme] .theme-toggle{padding:8px}
#app[data-theme] .overview-lead .hero{border-radius:20px;padding:24px}}
/* Member actions span the card rather than the avatar column. */
#app[data-view="members"] #main>.cards:has(.member-avatar)>.record-card>.task-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}#app[data-view="members"] .record-card>.task-actions .button{white-space:nowrap;margin:0;flex:0 0 auto}

.state-update-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:35;max-width:calc(100vw - 32px);box-shadow:0 5px 20px #0002;white-space:nowrap}#app .state-update-notice{background:var(--paper);color:var(--ink);border-color:var(--green)}
