/* Shared working surfaces. Brand and diary state meanings remain unchanged. */
:root {
  --vv-canvas: #f5f4f2;
  --vv-ink: #29232f;
  --vv-muted: #655e6d;
  --vv-line: #dfdce3;
  --vv-tint: #f3eff6;
  --vv-shadow: 0 2px 6px #24113204, 0 8px 28px #24113204;
  --vv-space-1: 4px;
  --vv-space-2: 8px;
  --vv-space-3: 12px;
  --vv-space-4: 16px;
  --vv-space-5: 24px;
  --vv-space-6: 32px;
}
body.mv-signedin { background: var(--vv-canvas); }
body.mv-signedin #mv-workspace { font-size: 14px; line-height: 1.55; }
body.mv-signedin #mv-workspace :is(.mv-page-heading,.mv-section-heading,.mv-home-heading,.mv-doc-heading) :is(h1,h2) { font-size: 28px; font-weight: 600; letter-spacing: -.035em; }
body.mv-signedin #mv-workspace :is(.mv-page-heading,.mv-section-heading,.mv-home-heading,.mv-doc-heading) p { font-size: 14px; line-height: 1.55; }
body.mv-signedin #mv-workspace .mv-card { border-radius: 12px; box-shadow: var(--vv-shadow); padding: 24px; }
body.mv-signedin #mv-workspace .mv-card :is(h2,h3) { font-weight: 600; }
body.mv-signedin #mv-workspace .mv-card h2 { font-size: 19px; }
body.mv-signedin #mv-workspace :is(.mv-work-card,.mv-track-row) { box-shadow: var(--vv-shadow); }
body.mv-signedin #mv-workspace :is(.mv-work-facts,.mv-track-next p,.mv-money-invoice-row,.mv-agenda-slot) { font-size: 14px; }
body.mv-signedin #mv-workspace :is(.mv-work-card h3,.mv-track-row h2) { font-weight: 600; }
body.mv-signedin #mv-workspace :is(.mv-home-action small,.mv-track-row small,.mv-money-invoice-row small,.mv-doc-summary small) { font-size: 12px; line-height: 1.5; }
body.mv-signedin :is(button,a,summary,input,select,textarea):focus-visible { outline: 2px solid #6e4285; outline-offset: 3px; }
body.mv-signedin :is(.btn,.mv-text-button,.mv-icon-button,.mv-refresh-control) { transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease; }
body.mv-signedin #mv-workspace .mv-billing-profile-card>header>.mv-badge::before { display: none; }
body.mv-signedin .btn.primary:hover { background: var(--vv-brand-hover); border-color: var(--vv-brand-hover); }
body.mv-signedin .btn.ghost:hover { background: var(--vv-tint); border-color: #bfb1c8; }
body.mv-signedin :is(button,input,select,textarea):disabled { opacity: .6; cursor: not-allowed; }
body.mv-signedin button[aria-busy=true] { cursor: wait; }
body.mv-signedin button[aria-busy=true]::after { content: ''; display: inline-block; width: 12px; height: 12px; margin-left: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: middle; animation: vv-working .8s linear infinite; }
body.mv-signedin #mv-status[data-tone=error]:not(:empty) { color: #7c293d; border-color: #d9aab6; border-left-color: #933b4e; background: #fff5f7; }
@keyframes vv-working { to { transform: rotate(360deg); } }

/* A compact utility bar, with account controls kept together. */
body.mv-signedin #mv-workspace>header.mv-toolbar { min-height: 64px; padding: 8px 0; margin-bottom: 24px; background: #f5f4f2eb; box-shadow: none; }
@supports(backdrop-filter:blur(1px)) { body.mv-signedin #mv-workspace>header.mv-toolbar { backdrop-filter: blur(16px); } }
.mv-toolbar-brand { font-weight: 600; color: var(--vv-ink); }
.mv-refresh-control { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: var(--vv-muted); font: inherit; font-size: 12px; cursor: pointer; }
.mv-refresh-control:hover { background: #ebe7ee; color: var(--vv-brand); }
.mv-refresh-control svg { width: 17px; height: 17px; }
.mv-account-menu { position: relative; z-index: 25; }
.mv-account-menu>summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 8px; border-radius: 9px; cursor: pointer; list-style: none; }
.mv-account-menu>summary::-webkit-details-marker { display: none; }
.mv-account-menu[open]>summary,.mv-account-menu>summary:hover { background: #ebe7ee; }
.mv-account-menu>summary>svg { width: 14px; height: 14px; color: var(--vv-muted); }
.mv-account-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border: 1px solid #d5c8dd; border-radius: 50%; background: #ece5f1; color: var(--vv-brand); font-size: 12px; font-weight: 600; }
body.mv-signedin #mv-workspace .mv-account-menu .mv-toolbar-person { text-align: left; }
body.mv-signedin #mv-workspace .mv-toolbar #mv-welcome { font: 600 13px/1.4 var(--body); }
body.mv-signedin #mv-workspace .mv-toolbar #mv-profession { font-size: 12px; color: var(--vv-muted); }
.mv-account-popover { position: absolute; right: 0; top: calc(100% + 8px); width: 250px; max-width: calc(100vw - 32px); padding: 12px; border: 1px solid var(--vv-line); border-radius: 12px; background: #fff; box-shadow: 0 12px 40px #24113218; }
.mv-account-popover>p { font-size: 12px; color: var(--vv-muted); margin: 4px 8px; }
.mv-account-popover>strong { display: block; margin: 0 8px 12px; font-size: 15px; overflow-wrap: anywhere; }
.mv-account-popover>button { display: block; width: 100%; min-height: 44px; border: 0; border-radius: 7px; padding: 10px 8px; text-align: left; background: #fff; color: var(--vv-ink); font: inherit; font-size: 14px; cursor: pointer; }
.mv-account-popover>button:hover { background: var(--vv-tint); }
.mv-account-popover>#mv-logout { color: #84344b; border-top: 1px solid var(--vv-line); border-radius: 0; margin-top: 4px; }

/* Home gives the next shift and immediate tasks their own visual hierarchy. */
body.mv-signedin #mv-workspace #mv-home { gap: 20px; }
body.mv-signedin #mv-workspace .mv-home-heading { margin: 0; padding-bottom: 4px; }
body.mv-signedin #mv-workspace .mv-home-heading .eyebrow { font-size: 12px; letter-spacing: .07em; margin-bottom: 8px; }
body.mv-signedin #mv-workspace .mv-home-heading>div { max-width: 720px; }
body.mv-signedin #mv-workspace #mv-home-primary { min-height: 44px; flex-shrink: 0; }
body.mv-signedin #mv-workspace #mv-home-primary[data-urgent=true] { box-shadow: 0 3px 12px #2e004818; }
body.mv-signedin #mv-workspace .mv-home-primary-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 20px; align-items: stretch; }
body.mv-signedin #mv-workspace #mv-home-week { grid-column: 1/-1; }
body.mv-signedin #mv-workspace #mv-home-shift { border-top: 0; background: linear-gradient(120deg,#f7f3f9,#fff 65%); padding: 20px; }
body.mv-signedin #mv-home .mv-home-section-heading h2 { font-size: 18px; }
body.mv-signedin #mv-home .mv-home-section-heading .eyebrow { margin: 0; font-size: 11px; letter-spacing: .08em; }
.mv-home-shift-main { display: flex; align-items: flex-start; gap: 16px; margin: 12px 0; min-width: 0; }
.mv-home-shift-main>div:last-child { min-width: 0; }
.mv-home-shift-date { display: grid; justify-items: center; gap: 1px; width: 64px; flex-shrink: 0; padding: 8px; background: #fff; color: var(--vv-brand); border: 1px solid #ded3e6; border-radius: 10px; }
.mv-home-shift-date span { font-size: 12px; }
.mv-home-shift-date strong { font-size: 27px; line-height: 1.1; letter-spacing: -.05em; }
body.mv-signedin #mv-home-shift .mv-home-shift-main h2 { margin: 0 0 8px; font-size: 21px; line-height: 1.3; }
body.mv-signedin #mv-home .mv-home-shift-time { font-size: 14px; font-weight: 500; margin: 0 0 6px; }
body.mv-signedin #mv-home .mv-home-shift-role { font-size: 14px; margin: 0 0 8px; }
body.mv-signedin #mv-home .mv-home-shift-main .mv-muted { font-size: 13px; margin: 0; }
.mv-home-shift-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 8px; border-top: 1px solid var(--vv-line); }
body.mv-signedin #mv-home .mv-home-preparation { max-width: 230px; flex: 1; margin: 0; font-size: 12px; }
body.mv-signedin #mv-home .mv-home-shift-footer>.btn { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; flex-shrink: 0; }
body.mv-signedin #mv-home-actions { border-left: 3px solid #cab7d5; box-shadow: none; }
body.mv-signedin #mv-home[data-urgent=true] #mv-home-actions { border-left-color: #b7894f; }
body.mv-signedin #mv-home .mv-home-action { padding: 12px 0; gap: 12px; border-top-color: var(--vv-line); }
body.mv-signedin #mv-home .mv-home-action strong { font-size: 14px; font-weight: 600; }
body.mv-signedin #mv-home .mv-home-action small { font-size: 12px; }
body.mv-signedin #mv-home .mv-home-action-mark { width: 23px; height: 23px; }
body.mv-signedin #mv-home .mv-home-more-actions { padding-top: 8px!important; }
body.mv-signedin #mv-home .mv-home-more-actions summary { font-size: 13px; }
body.mv-signedin #mv-home .mv-home-calendar-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; }
body.mv-signedin #mv-home .mv-home-calendar-heading h2 { font-size: 19px; margin: 0 0 4px; }
body.mv-signedin #mv-home .mv-home-calendar-heading p { font-size: 13px; color: var(--vv-muted); margin: 0; }
body.mv-signedin #mv-home .mv-home-week-toolbar { display: flex; align-items: center; gap: 6px; margin: 0; }
body.mv-signedin #mv-home .mv-home-diary-footer>[data-full-diary] { float: right; margin-left: 16px; }

body.mv-signedin #mv-home .mv-home-day { min-height: 118px; padding: 12px; gap: 6px; box-shadow: none; }
body.mv-signedin #mv-home .mv-home-day-state { font-size: 12px; min-height: 0; }
body.mv-signedin #mv-home .mv-home-day-name,body.mv-signedin #mv-home .mv-home-day-summary { font-size: 12px; }
body.mv-signedin #mv-home .mv-home-day[data-state=unknown] .mv-home-day-summary { display: none; }
body.mv-signedin #mv-home .mv-home-today-label { font-size: 11px; }
body.mv-signedin #mv-home .mv-home-legend { font-size: 12px; margin: 16px 0; }
body.mv-signedin #mv-home .mv-home-day-agenda { padding-top: 16px; }
body.mv-signedin #mv-home .mv-home-agenda-row p { font-size: 13px; }
body.mv-signedin #mv-home .mv-home-secondary-grid { gap: 20px; }
body.mv-signedin #mv-home .mv-home-opportunities { box-shadow: none; background: #faf9f7; }

/* Optional financial totals stay separate from the invoice working list. */
.mv-money-overview { border: 1px solid var(--vv-line); border-radius: 10px; background: #f9f8f6; }
.mv-money-overview>summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; min-height: 44px; align-items: center; padding: 12px 16px; cursor: pointer; font-size: 13px; font-weight: 500; }
.mv-money-overview>summary::before { content: '+'; font-size: 16px; color: var(--vv-brand); }
.mv-money-overview[open]>summary::before { content: '−'; }
.mv-money-overview>summary>span { margin-left: auto; color: var(--vv-muted); font-size: 12px; }
body.mv-signedin #mv-workspace .mv-money-overview .mv-money-summary-compact { margin: 0; border: 0; border-top: 1px solid var(--vv-line); background: #fff; border-radius: 0 0 10px 10px; }
.mv-money-picker { display: none; }
body.mv-signedin #mv-workspace .mv-invoice-action-grid>button:hover { border-color: #b29ac2; background: #faf7fc; }
body.mv-signedin #mv-workspace .mv-money-workspace[data-money-view=setup]>:is(#mv-invoice-actions,#mv-money-overview),body.mv-signedin #mv-workspace .mv-money-workspace[data-money-view=work]>:is(#mv-invoice-actions,#mv-money-overview) { display: none; }

@media(max-width:1000px) {
  body.mv-signedin #mv-workspace .mv-home-primary-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media(max-width:760px) {
  body.mv-signedin .mv-layout { padding: 0 16px 100px; }
  body.mv-signedin #mv-workspace>header.mv-toolbar { min-height: 58px; padding: 6px 0; gap: 8px; margin-bottom: 20px; flex-wrap: nowrap; }
  body.mv-signedin #mv-workspace .mv-toolbar .mv-button-row { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
  body.mv-signedin #mv-workspace .mv-toolbar-context { font-size: 13px; }
  body.mv-signedin #mv-workspace .mv-toolbar-context>:not(.mv-toolbar-brand) { display: none; }
  body.mv-signedin #mv-workspace .mv-refresh-control { min-width: 40px; min-height: 44px; }
  .mv-refresh-control>span,.mv-account-menu .mv-toolbar-person,.mv-account-menu>summary>svg { display: none!important; }
  .mv-account-menu>summary { padding: 4px; min-width: 44px; justify-content: center; }
  body.mv-signedin #mv-workspace #mv-last-refreshed { display: block; font-size: 10px; margin-right: 2px; white-space: nowrap; }
  body.mv-signedin #mv-workspace :is(.mv-page-heading,.mv-section-heading,.mv-home-heading,.mv-doc-heading) :is(h1,h2) { font-size: 26px; line-height: 1.2; }
  body.mv-signedin #mv-workspace .mv-card { padding: 20px 16px; }
  body.mv-signedin #mv-workspace #mv-home { display: grid; gap: 20px; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-primary-grid { display: grid!important; grid-template-columns: minmax(0,1fr); gap: 16px; order: 1; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-heading { order: 0; gap: 12px; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-heading p { font-size: 13px; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-heading .eyebrow { font-size: 11px; margin-bottom: 6px; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-primary-grid #mv-home-shift { order: 0; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-primary-grid #mv-home-week { order: 1; }
  body.mv-signedin #mv-workspace #mv-home .mv-home-primary-grid #mv-home-actions { order: 2; }
  body.mv-signedin #mv-workspace #mv-home-readiness { order: 0; }
  body.mv-signedin #mv-workspace #mv-home>:is(.mv-home-secondary-grid,.mv-home-opportunities,.mv-home-recruiter,.mv-home-activity) { order: 2; }
  body.mv-signedin #mv-workspace #mv-home-shift { padding: 16px; }
  .mv-home-shift-main { margin: 12px 0; gap: 12px; }
  .mv-home-shift-date { width: 52px; padding: 6px; }
  .mv-home-shift-date strong { font-size: 24px; }
  .mv-home-shift-date span { font-size: 11px; }
  body.mv-signedin #mv-home-shift .mv-home-shift-main h2 { font-size: 18px; margin-bottom: 6px; }
  body.mv-signedin #mv-home .mv-home-shift-time { font-size: 13px; }
  body.mv-signedin #mv-home .mv-home-preparation { font-size: 11px; }
  body.mv-signedin #mv-home .mv-home-shift-footer>.btn { min-height: 40px; padding: 8px 10px; font-size: 12px; }
  body.mv-signedin #mv-home .mv-home-section-heading h2 { font-size: 18px; }
  body.mv-signedin #mv-home .mv-home-calendar-heading { gap: 8px; margin-bottom: 14px; }
  body.mv-signedin #mv-home .mv-home-calendar-heading h2 { font-size: 18px; }
  body.mv-signedin #mv-home .mv-home-calendar-heading p { font-size: 11px; }
  body.mv-signedin #mv-home .mv-home-calendar-heading p>span { display: none; }
  body.mv-signedin #mv-home .mv-home-week-toolbar { gap: 4px; margin: 0; flex-shrink: 0; }
  body.mv-signedin #mv-home .mv-home-diary-footer>[data-full-diary] { float: none; margin: 0 0 8px; }
  body.mv-signedin #mv-home .mv-home-week-toolbar>p { font-size: 12px; }
  body.mv-signedin #mv-home .mv-home-day { min-height: 90px; padding: 8px 2px; gap: 4px; }
  body.mv-signedin #mv-home .mv-home-day-name { font-size: 11px; }
  body.mv-signedin #mv-home .mv-home-mobile-state { font-size: 10px; }
  body.mv-signedin #mv-home :is(.mv-home-day-state,.mv-home-day-summary) { display: none; }
  body.mv-signedin #mv-home .mv-home-today-label { font-size: 9px; }
  body.mv-signedin #mv-home .mv-home-legend { font-size: 11px; gap: 6px 10px; }
  body.mv-signedin #mv-workspace .mv-money-workspace { display: grid; gap: 16px; }
  body.mv-signedin #mv-workspace .mv-money-workspace>.mv-page-heading { order: 0; margin: 0; }
  body.mv-signedin #mv-workspace .mv-money-workspace>.mv-money-tabs { display: none; }
  body.mv-signedin #mv-workspace .mv-money-picker { display: grid; gap: 6px; order: 1; font-size: 12px; }
  .mv-money-picker>select { min-height: 44px; width: 100%; font: inherit; font-size: 16px; padding: 9px 12px; }
  body.mv-signedin #mv-workspace #mv-invoice-actions { order: 2; margin: 0; }
  body.mv-signedin #mv-workspace .mv-money-workspace>[data-money-panel],body.mv-signedin #mv-workspace #mv-timesheet-card { order: 3; }
  body.mv-signedin #mv-workspace #mv-money-overview { order: 4; }
  body.mv-signedin #mv-workspace #mv-receipts-forecast { order: 5; }
  body.mv-signedin #mv-workspace .mv-invoice-action-grid>button { min-height: 52px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px 12px; }
  body.mv-signedin #mv-workspace .mv-invoice-action-grid>button>span { font-size: 12px; }
  body.mv-signedin #mv-workspace .mv-invoice-action-grid>button>strong { grid-row: 1; font-size: 17px; white-space: nowrap; }
  body.mv-signedin #mv-workspace .mv-invoice-action-grid>button>b { display: none; }
  body.mv-signedin #mv-workspace .mv-invoice-queue { padding: 16px; margin: 0; gap: 12px; }
  body.mv-signedin #mv-workspace .mv-invoice-queue h2 { font-size: 19px; }
  body.mv-signedin #mv-workspace .mv-money-search,body.mv-signedin #mv-workspace .mv-invoice-mobile-filter { font-size: 12px; }
  body.mv-signedin #mv-workspace .mv-money-invoice-row>.mv-money-amount { font-size: 20px; font-weight: 600; }
  body.mv-signedin #mv-workspace .mv-money-overview .mv-money-summary-compact { display: block; }
  body.mv-signedin #mv-workspace .mv-money-overview .mv-money-summary-compact>div { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--vv-line); }
  body.mv-signedin #mv-workspace .mv-money-overview .mv-money-summary-compact strong { font-size: 20px; }
  .mv-money-overview>summary>span { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  body.mv-signedin :is(button,a,summary,input,select,textarea) { transition: none; scroll-behavior: auto; }
  body.mv-signedin button[aria-busy=true]::after { animation: none; }
}
