/* NiceMove UI 2: app composition. Foundations live in design-system.css.
   Publication typography in article.css deliberately stays independent. */
.topbar {padding-inline:24px;border-bottom-color:var(--nm-color-border);}
.top-label {font-size:var(--nm-text-meta);font-weight:var(--nm-weight-medium);color:var(--nm-color-muted);}
.sidebar {gap:24px;padding:24px 16px;background:var(--nm-color-surface);}
.workspace-label {padding:0 12px;font-size:var(--nm-text-sm);font-weight:var(--nm-weight-semibold);}
.workspace-label small {font-size:var(--nm-text-meta);font-weight:var(--nm-weight-regular);}
.app-nav {margin-bottom:0;gap:4px;}
.app-nav button {min-height:48px;padding:12px;font-size:var(--nm-text-control);font-weight:var(--nm-weight-medium);border-radius:var(--nm-radius-sm);}
.app-nav button.active {background:var(--nm-color-accent-soft);color:var(--nm-color-ink);font-weight:var(--nm-weight-semibold);}
.app-nav button svg {width:22px;height:22px;}
.nav-heading {padding:0 12px;font-size:var(--nm-text-meta);font-weight:var(--nm-weight-medium);color:var(--nm-color-muted);}
.project-nav {gap:4px;}
.project-link {min-height:48px;border-radius:var(--nm-radius-sm);}
.project-link strong {font-size:var(--nm-text-sm);font-weight:var(--nm-weight-medium);}
.project-link small {font-size:var(--nm-text-meta);line-height:var(--nm-line-meta);}
.nav-bottom {display:flex;flex-direction:column;gap:4px;}
.nav-bottom :is(button,a) {display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:var(--nm-text-meta);line-height:var(--nm-line-control);text-decoration:none;border-radius:var(--nm-radius-sm);color:var(--nm-color-muted);background:transparent;}
.nav-bottom :is(button,a):hover {background:var(--nm-color-hover);color:var(--nm-color-ink);}
.nm-client-context {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:12px 40px;background:var(--nm-color-surface);border-bottom:1px solid var(--nm-color-border);}
.client-breadcrumb {display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;font-size:var(--nm-text-sm);line-height:1.5;color:var(--nm-color-muted);}
.client-breadcrumb button {padding:8px 0;min-height:40px;background:transparent;color:var(--nm-color-muted);}
.client-breadcrumb button:hover {color:var(--nm-color-ink);}
.client-breadcrumb strong {font-weight:var(--nm-weight-semibold);color:var(--nm-color-ink);}
.client-breadcrumb svg {width:14px;height:14px;color:var(--nm-color-subtle);}
.nm-client-context .client-context-actions {gap:8px;flex-wrap:wrap;margin:0;}
.mobile-client-account {display:none;}
.home-content,.clients-home {padding:40px;}
.home-heading,.clients-heading {margin-bottom:32px;}
.home-heading h1,.clients-heading h1,.feed-intro h1 {font-size:var(--nm-text-title);line-height:var(--nm-line-heading);letter-spacing:var(--nm-tracking-heading);font-weight:var(--nm-weight-bold);}
.home-heading p,.clients-heading p,.feed-intro p {font-size:var(--nm-text-sm);line-height:var(--nm-line-body);color:var(--nm-color-muted);}
.project-card,.client-card {box-shadow:none;border-color:var(--nm-color-border);border-radius:var(--nm-radius-md);}
.client-card h2,.project-card h2 {font-weight:var(--nm-weight-semibold);}
.client-card:hover,.project-card:hover {box-shadow:none;border-color:var(--nm-color-border-strong);transform:none;}
.client-card p,.client-card-summary {line-height:var(--nm-line-body);}
.feed-home {padding-top:32px;}
.feed-intro {margin-bottom:28px;}
.review-heading h1 {font-size:var(--nm-text-heading);line-height:var(--nm-line-heading);font-weight:var(--nm-weight-bold);letter-spacing:var(--nm-tracking-heading);}
.project-meta {font-size:var(--nm-text-meta);line-height:var(--nm-line-meta);}
.tab {min-height:48px;font-size:var(--nm-text-sm);font-weight:var(--nm-weight-medium);}
.tab.active {font-weight:var(--nm-weight-semibold);}
.tab-right {font-size:var(--nm-text-meta);}
.reference-context {padding:0 28px;border-bottom:1px solid var(--nm-color-border);background:var(--nm-color-surface);font-size:var(--nm-text-meta);color:var(--nm-color-muted);}
.reference-context summary {min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;}
.reference-context summary::-webkit-details-marker {display:none;}
.reference-context summary::after {content:'+';margin-left:auto;font-size:20px;line-height:1;color:var(--nm-color-muted);}
.reference-context[open] summary::after {content:'−';}
.reference-context>div {padding:0 0 16px 24px;}
.reference-context p {margin:0 0 8px;font-size:var(--nm-text-sm);line-height:var(--nm-line-body);}
.workflow-banner {padding:20px 28px;gap:24px;}
.workflow-banner.is-internal,.workflow-banner.is-ready {background:var(--nm-color-canvas);}
.workflow-copy h2,.workflow-copy>strong {font-size:var(--nm-text-base);font-weight:var(--nm-weight-semibold);}
.workflow-copy p {font-size:var(--nm-text-sm);line-height:var(--nm-line-body);max-width:680px;}
.workflow-eyebrow {font-size:var(--nm-text-meta);color:var(--nm-color-muted);}
.workflow-step-list {font-size:var(--nm-text-meta);gap:12px;margin-top:12px;flex-wrap:wrap;}
.workflow-step-list li {gap:12px;}
.workflow-step-list .active {font-weight:var(--nm-weight-semibold);}
.workflow-client-summary {font-size:var(--nm-text-meta);line-height:var(--nm-line-meta);}
.comments-panel {padding:24px;}
.feedback-header h2,.comments-header h2 {font-size:var(--nm-text-base);font-weight:var(--nm-weight-semibold);}
.panel-description,.feedback-note,.composer-privacy {line-height:var(--nm-line-meta);}
.comment-person {font-size:var(--nm-text-sm);font-weight:var(--nm-weight-semibold);}
.comment-body {font-size:var(--nm-text-sm);line-height:var(--nm-line-body);}
.comment-anchor {font-size:var(--nm-text-meta);line-height:var(--nm-line-body);border-left:3px solid var(--nm-color-border-strong);border-radius:0 8px 8px 0;}
.comment-anchor:hover {background:var(--nm-color-accent-soft);color:var(--nm-color-secondary);}
.comment-footer button,.filter-row button {min-height:36px;font-size:var(--nm-text-meta);}
.feedback-audience-filter {padding:0 0 16px;gap:8px;}
.feedback-audience-filter button {min-height:36px;padding:6px 10px;border-radius:var(--nm-radius-xs);}
.feedback-audience-filter button.active {background:var(--nm-color-hover);font-weight:var(--nm-weight-semibold);}
.composer {box-shadow:none;padding:16px;border-radius:var(--nm-radius-md);}
.composer h3 {font-size:var(--nm-text-sm);font-weight:var(--nm-weight-semibold);}
.composer h3 .icon-btn {height:36px;width:36px;padding:8px;}
.composer textarea {font-size:var(--nm-text-sm);line-height:var(--nm-line-body);padding:12px;border-radius:var(--nm-radius-sm);}
.message-row.is-self .message-bubble {background:var(--nm-color-accent-soft);}
.message-composer textarea {border-radius:var(--nm-radius-sm);}
dialog {border:0;border-radius:var(--nm-radius-xl);}
.modal-head {padding:24px 24px 16px;border-bottom:0;}
.modal-head h2 {font-size:var(--nm-text-heading);line-height:var(--nm-line-heading);font-weight:var(--nm-weight-bold);letter-spacing:var(--nm-tracking-heading);}
.modal-body {padding:8px 24px 24px;}
.modal-body p {font-size:var(--nm-text-sm);line-height:var(--nm-line-body);}
.modal-body h3 {font-size:var(--nm-text-base);font-weight:var(--nm-weight-semibold);}
.modal-footer {padding:16px 24px 24px;border-top:0;gap:8px;}
.member-row strong {font-size:var(--nm-text-sm);}
.info-card {background:var(--nm-color-canvas);border-radius:var(--nm-radius-sm);}
@media(max-width:1250px) and (min-width:901px) {
  .sidebar {padding:24px 12px;}
  .nm-client-context {padding-inline:28px;}
}
@media(max-width:900px) and (min-width:671px) {
  .sidebar {padding:24px 12px;}
  .app-nav button {font-size:0;padding:12px;}
  .nm-client-context {padding-inline:24px;}
  .home-content,.clients-home {padding:28px;}
  .comments-panel {padding:20px 16px;}
}
@media(max-width:670px) {
  .topbar {padding-inline:16px;}
  .topbar .icon-btn {width:44px;height:44px;}
  .nm-client-context {padding:12px 20px;min-height:64px;gap:8px;align-items:flex-start;}
  .client-breadcrumb {gap:5px;font-size:var(--nm-text-meta);}
  .client-breadcrumb>strong,.client-breadcrumb>svg:last-of-type {display:none;}
  .client-breadcrumb button {min-height:44px;}
  .client-context-actions {gap:4px;justify-content:flex-end;}
  .client-context-actions>.btn:not(.mobile-client-account) {display:none;}
  .mobile-client-account {display:inline-flex;}
  .home-content,.clients-home,.feed-home {padding:24px 20px 40px;}
  .home-heading,.clients-heading {margin-bottom:24px;}
  .home-heading h1,.clients-heading h1,.feed-intro h1 {font-size:var(--nm-text-heading);}
  .app-mobile-nav {gap:0;padding-inline:8px;}
  .app-mobile-nav button {min-width:0;min-height:48px;flex:1;font-size:var(--nm-text-caption);gap:4px;}
  .app-mobile-nav button.active {color:var(--nm-color-ink);}
  .app-mobile-nav button.active svg {stroke:var(--nm-color-accent-text);}
  .review-heading h1 {font-size:var(--nm-text-lg);}
  .reference-context {padding-inline:20px;}
  .reference-context>div {padding-left:0;}
  .workflow-banner {padding:20px;gap:16px;}
  .workflow-copy p {font-size:var(--nm-text-sm);}
  .workflow-actions {flex-wrap:wrap;}
  .comments-panel {padding:24px 20px;}
  .comment-footer button,.filter-row button,.feedback-audience-filter button {min-height:44px;}
  .composer h3 .icon-btn {width:44px;height:44px;}
  .composer textarea {font-size:16px;}
  .mobile-tabs button {min-height:48px;font-size:var(--nm-text-sm);}
  .modal-head {padding:24px 20px 16px;}
  .modal-head h2 {font-size:var(--nm-text-lg);}
  .modal-body {padding:8px 20px 24px;}
  .modal-footer {padding:16px 20px 24px;}
}

/* The account control stays available on small screens for invite recovery. */
.account-menu-trigger {padding:5px 8px;background:transparent;border-radius:var(--nm-radius-sm);text-align:left;min-height:44px;color:var(--nm-color-ink);}
.account-menu-trigger:hover {background:var(--nm-color-hover);}
.account-menu-trigger>svg {flex-shrink:0;color:var(--nm-color-muted);}
.account-menu-identity {display:flex;align-items:center;gap:12px;padding:4px 0 20px;}
.account-menu-identity>div {min-width:0;display:grid;gap:4px;}
.account-menu-identity strong {font-size:var(--nm-text-base);font-weight:var(--nm-weight-semibold);}
.account-menu-identity span:not(.avatar) {font-size:var(--nm-text-sm);color:var(--nm-color-muted);overflow-wrap:anywhere;}
.account-menu-actions {display:grid;gap:4px;border-top:1px solid var(--nm-color-border);padding-top:12px;}
.account-menu-actions button {display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;background:transparent;text-align:left;border-radius:var(--nm-radius-sm);font-size:var(--nm-text-sm);color:var(--nm-color-ink);}
.account-menu-actions button:hover {background:var(--nm-color-hover);}
.account-menu-actions button span {flex:1;}
.account-menu-actions button svg {flex-shrink:0;color:var(--nm-color-muted);}
@media(max-width:670px) {
 .topbar.has-account-menu {gap:8px;}
 .topbar .account-menu-trigger {display:flex;width:44px;min-width:44px;height:44px;justify-content:center;padding:5px;}
 .topbar .account-menu-trigger>.account-chip-label,.topbar .account-menu-trigger>svg,.topbar.has-account-menu>.icon-btn[data-action="info"] {display:none;}
 .topbar.has-account-menu .sync-status {min-width:0;overflow:hidden;text-overflow:ellipsis;}
}
