/* Quiming OS unified design system v325. Generated from latest stable design-system-v315. */
/* Quiming OS v315 — unified design system, command button removal, persistent messaging shell */
:root{
  --q-bg:#f7f4ee;
  --q-surface:#fffdf8;
  --q-surface-2:#fffaf0;
  --q-border:rgba(120,89,28,.16);
  --q-border-strong:rgba(120,89,28,.28);
  --q-text:#14120f;
  --q-muted:#766a59;
  --q-soft:#9a8b73;
  --q-accent:#d6a82f;
  --q-accent-2:#f2cc67;
  --q-accent-soft:#fff4d8;
  --q-green:#16a34a;
  --q-blue:#2563eb;
  --q-red:#dc2626;
  --q-amber:#d97706;
  --q-radius:18px;
  --q-shadow:0 18px 50px rgba(38,26,7,.08);
  --q-shadow-soft:0 10px 24px rgba(38,26,7,.06);
}

html body{
  background:var(--q-bg);
  color:var(--q-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* 1. Remove floating command button only. Keyboard command palette can still exist. */
#quimingCommandLauncher,
.qk-launcher-v280,
[data-command-launcher],
.command-floating-button,
.floating-command-button{
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* 3. Shared app surface language */
.dashboard-main,
.main-content,
.page-main,
.settings-shell,
.calendar-shell,
.finance-shell,
.clips-shell,
.vpn-shell,
.messages-shell{
  background:var(--q-bg);
}

.card,
.panel,
.module-card,
.content-card,
.qos-card,
.analytics-card,
.finance-card,
.calendar-card,
.user-card,
.table-shell,
section[class*="card"],
article[class*="card"]{
  border-radius:var(--q-radius);
  border-color:var(--q-border)!important;
  box-shadow:var(--q-shadow-soft);
}

button,
.primary-btn,
.secondary-btn,
.action-btn,
.q-btn{
  border-radius:12px;
  font-weight:800;
}

input,select,textarea,
[contenteditable="true"]{
  border-radius:12px;
  border-color:var(--q-border-strong);
  outline-color:rgba(214,168,47,.45);
}

.table, table{
  border-color:var(--q-border);
}

.q-v315-clean-auth-link{
  margin-top:14px;
  display:flex;
  justify-content:center;
  gap:6px;
  color:var(--q-muted);
  font-size:13px;
  font-weight:700;
}
.q-v315-clean-auth-link a{color:#7c5b14;font-weight:900;text-decoration:none}
.q-v315-clean-auth-link a:hover{text-decoration:underline}

/* LinkedIn-style persistent messaging dock */
.qm-dock-v315{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99990;
  display:flex;
  align-items:flex-end;
  gap:12px;
  pointer-events:none;
  max-width:calc(100vw - 32px);
}
.qm-window-v315,
.qm-launcher-v315{
  pointer-events:auto;
  font-family:inherit;
}
.qm-launcher-v315{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(214,168,47,.35);
  background:linear-gradient(135deg,#15110a,#2a241a);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 20px 42px rgba(17,24,39,.26);
  cursor:pointer;
  position:relative;
}
.qm-launcher-v315 svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qm-badge-v315{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:var(--q-red);
  color:#fff;
  font-size:11px;
  font-weight:900;
  display:none;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
}
.qm-badge-v315.show{display:flex}
.qm-window-v315{
  width:330px;
  max-width:calc(100vw - 88px);
  height:420px;
  border-radius:18px 18px 0 0;
  background:#fffdf8;
  border:1px solid rgba(120,89,28,.18);
  box-shadow:0 28px 80px rgba(17,24,39,.24);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.qm-window-v315.minimized{height:52px;grid-template-rows:52px 0 0}
.qm-head-v315{
  min-height:52px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:linear-gradient(135deg,#fffaf0,#fffdf8);
  border-bottom:1px solid rgba(120,89,28,.14);
}
.qm-person-v315{display:flex;align-items:center;gap:9px;min-width:0}
.qm-avatar-v315{
  width:32px;height:32px;border-radius:50%;background:#f1e4c0;color:#5f4207;
  display:grid;place-items:center;font-weight:900;flex:0 0 auto;overflow:hidden;
}
.qm-avatar-v315 img{width:100%;height:100%;object-fit:cover}
.qm-person-v315 strong{display:block;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.qm-person-v315 small{display:block;color:var(--q-muted);font-size:11px;font-weight:800;margin-top:2px}
.qm-controls-v315{display:flex;align-items:center;gap:5px}
.qm-controls-v315 button{
  width:30px;height:30px;border:0;background:transparent;color:#6f6250;border-radius:10px;cursor:pointer;font-weight:900;font-size:18px;line-height:1;
}
.qm-controls-v315 button:hover{background:#fff3d3;color:#111827}
.qm-body-v315{padding:12px;overflow:auto;background:#fff}
.qm-empty-v315{padding:20px;text-align:center;color:var(--q-muted);font-weight:800;font-size:13px}
.qm-message-v315{display:flex;margin:8px 0;gap:7px;align-items:flex-end}
.qm-message-v315.mine{justify-content:flex-end}
.qm-bubble-v315{max-width:78%;border-radius:16px;padding:9px 11px;background:#f4f1eb;color:#1f2937;font-size:13px;line-height:1.35;font-weight:650;white-space:pre-wrap;word-break:break-word}
.qm-message-v315.mine .qm-bubble-v315{background:#17140f;color:#fff;border-bottom-right-radius:6px}
.qm-message-v315:not(.mine) .qm-bubble-v315{border-bottom-left-radius:6px}
.qm-compose-v315{border-top:1px solid rgba(120,89,28,.14);padding:10px;background:#fffdf8;display:flex;gap:8px;align-items:flex-end}
.qm-compose-v315 textarea{height:40px;max-height:90px;resize:none;flex:1;border:1px solid rgba(120,89,28,.24);border-radius:14px;padding:10px 11px;font:700 13px/1.25 inherit;background:#fff;outline:none}
.qm-compose-v315 button{width:40px;height:40px;border:0;border-radius:14px;background:#15110a;color:#fff;cursor:pointer;font-weight:900}
.qm-list-v315{position:fixed;right:18px;bottom:84px;width:330px;max-height:440px;overflow:hidden;background:#fffdf8;border:1px solid rgba(120,89,28,.18);box-shadow:0 24px 70px rgba(17,24,39,.22);border-radius:20px;z-index:99991;display:none}
.qm-list-v315.open{display:block}
.qm-list-head-v315{padding:14px 15px;border-bottom:1px solid rgba(120,89,28,.14);display:flex;align-items:center;justify-content:space-between;background:#fffaf0}
.qm-list-head-v315 strong{font-size:14px}.qm-list-head-v315 button{border:0;background:transparent;font-size:20px;cursor:pointer;color:#6f6250}
.qm-thread-v315{width:100%;border:0;background:transparent;display:flex;gap:10px;align-items:center;padding:11px 14px;text-align:left;cursor:pointer;border-bottom:1px solid rgba(120,89,28,.08)}
.qm-thread-v315:hover{background:#fff4d8}.qm-thread-v315 strong{display:block;font-size:13px;color:#111827}.qm-thread-v315 small{display:block;color:var(--q-muted);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}

/* Public registration */
.create-account-page-v315{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,#fff4d8,transparent 36%),var(--q-bg)}
.create-account-card-v315{width:min(560px,100%);background:#fffdf8;border:1px solid rgba(120,89,28,.18);border-radius:28px;box-shadow:var(--q-shadow);padding:28px;display:grid;gap:18px}
.create-account-brand-v315{width:52px;height:52px;border-radius:18px;background:#15110a;color:#fff;display:grid;place-items:center;font-weight:950;font-size:24px}
.create-account-card-v315 h1{font-size:30px;line-height:1.08;margin:0;letter-spacing:-.05em}
.create-account-card-v315 p{margin:0;color:var(--q-muted);font-weight:700;line-height:1.55}
.create-account-form-v315{display:grid;gap:14px}.create-account-form-v315 label{display:grid;gap:7px;font-size:12px;font-weight:900;color:#5f523f;text-transform:uppercase;letter-spacing:.04em}.create-account-form-v315 input,.create-account-form-v315 textarea{width:100%;box-sizing:border-box;border:1px solid rgba(120,89,28,.2);background:#fff;border-radius:14px;padding:13px 14px;font:800 14px/1.2 inherit;color:#111827;text-transform:none;letter-spacing:0}.create-account-form-v315 textarea{min-height:84px;resize:vertical}.create-account-grid-v315{display:grid;grid-template-columns:1fr 1fr;gap:12px}.create-account-form-v315 button{border:0;background:#15110a;color:#fff;border-radius:14px;padding:14px 16px;font-weight:950;cursor:pointer}.create-account-foot-v315{font-size:13px;text-align:center;color:var(--q-muted);font-weight:700}.create-account-foot-v315 a{color:#7c5b14;font-weight:950;text-decoration:none}.create-account-note-v315{padding:12px 14px;background:#fff4d8;border:1px solid rgba(214,168,47,.3);border-radius:16px;color:#69490a;font-size:13px;font-weight:800}.create-account-message-v315{min-height:22px;font-weight:850;font-size:13px}.create-account-message-v315.success{color:var(--q-green)}.create-account-message-v315.error{color:var(--q-red)}
@media(max-width:900px){.qm-window-v315{width:min(330px,calc(100vw - 32px))}.create-account-grid-v315{grid-template-columns:1fr}}

/* v315 simple Home retained from v313/v314 but defined in current design system */
.home-simple-v314 .home-simple-main-v314{min-height:calc(100vh - 96px);display:grid;place-items:center;padding:32px}
.home-welcome-card-v314{width:min(760px,calc(100vw - 32px));background:#fffdf8;border:1px solid rgba(120,89,28,.18);border-radius:28px;box-shadow:var(--q-shadow);padding:44px;text-align:left}
.home-welcome-card-v314 h1{font-size:clamp(32px,5vw,58px);line-height:1.02;letter-spacing:-.07em;margin:8px 0 12px;color:#14120f}.home-welcome-card-v314 .muted{font-size:16px;color:#766a59;font-weight:700}.home-welcome-card-v314 .eyebrow{margin:0;color:#7c5b14;text-transform:uppercase;font-weight:950;letter-spacing:.12em;font-size:12px}

/* Approval workflow setup controls */
.approval-card-v315{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px!important}.approval-main-v315 h3{margin:4px 0 4px}.approval-detail-list-v315{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.approval-detail-list-v315 span{display:inline-flex;gap:6px;align-items:center;background:#fff4d8;border:1px solid rgba(214,168,47,.2);border-radius:999px;padding:6px 9px;font-size:12px;color:#6b5b43}.approval-setup-v315{margin-top:14px;padding:14px;border-radius:18px;background:#fffaf0;border:1px solid rgba(214,168,47,.22)}.approval-setup-v315>strong{display:block;margin-bottom:10px;font-size:13px}.approval-grid-v315{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.approval-field-v315{display:grid;gap:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#6b5b43}.approval-field-v315 input,.approval-field-v315 select,.approval-field-v315 textarea{width:100%;box-sizing:border-box;background:#fff;border:1px solid rgba(120,89,28,.2);border-radius:12px;padding:10px 11px;font:800 13px/1.2 inherit;color:#111827;text-transform:none;letter-spacing:0}.approval-field-v315.wide{margin-top:10px}.approval-field-v315 textarea{min-height:64px;resize:vertical}.approval-actions-v315{display:flex;flex-direction:column;gap:8px;position:sticky;top:90px}@media(max-width:900px){.approval-card-v315{grid-template-columns:1fr}.approval-grid-v315{grid-template-columns:1fr}.approval-actions-v315{position:static;flex-direction:row;flex-wrap:wrap}}

/* v325 Professional Home */
.home-professional-v325 .home-professional-main-v325{
  min-height:calc(100vh - 96px);
  display:grid;
  place-items:center;
  padding:clamp(24px,5vw,56px);
  background:
    radial-gradient(circle at 12% 10%, rgba(246, 190, 84, .18), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(104, 155, 255, .12), transparent 32%),
    linear-gradient(180deg,#fffaf0 0%,#f8f5ee 100%);
}
.home-hero-v325{
  width:min(900px,calc(100vw - 32px));
  background:rgba(255,255,255,.92);
  border:1px solid rgba(112,84,31,.16);
  border-radius:32px;
  box-shadow:0 24px 70px rgba(71,54,18,.14);
  padding:clamp(26px,5vw,52px);
  position:relative;
  overflow:hidden;
}
.home-hero-v325::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#f2b84b,#f6d98d,#6f8ef6);
}
.home-hero-top-v325{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.home-kicker-v325{
  margin:0 0 12px;
  color:#8a6518;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.14em;
  font-size:12px;
}
.home-hero-v325 h1{
  margin:0;
  max-width:720px;
  color:#15120d;
  font-size:clamp(34px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.home-message-v325{
  margin:20px 0 0;
  max-width:680px;
  color:#51483a;
  font-size:clamp(17px,2vw,22px);
  line-height:1.55;
  font-weight:800;
}
.home-date-pill-v325{
  flex:0 0 auto;
  min-width:190px;
  border:1px solid rgba(130,96,25,.16);
  border-radius:20px;
  background:#fff9ea;
  padding:14px 16px;
  text-align:right;
  box-shadow:0 12px 30px rgba(95,71,26,.08);
}
.home-date-pill-v325 span{
  display:block;
  color:#7c6f5d;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.home-date-pill-v325 strong{
  display:block;
  margin-top:4px;
  color:#1f1b14;
  font-size:15px;
  font-weight:950;
}
.home-user-line-v325{
  margin-top:30px;
  padding:16px 18px;
  border-radius:20px;
  background:#f7f3e9;
  border:1px solid rgba(119,92,30,.12);
  display:flex;
  align-items:center;
  gap:12px;
  color:#6b604f;
  font-size:14px;
  font-weight:750;
}
.home-role-badge-v325{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#1d1a14;
  color:#fff;
  padding:8px 11px;
  font-size:12px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}
body[data-home-role="ceo"] .home-role-badge-v325{background:#17120a;color:#ffd66f}
body[data-home-role="admin"] .home-role-badge-v325{background:#1e3a5f;color:#d9ecff}
body[data-home-role="va"] .home-role-badge-v325{background:#2f5b42;color:#dff8e7}
body[data-home-role="client"] .home-role-badge-v325{background:#633c86;color:#f2e6ff}
body[data-home-role="sub_client"] .home-role-badge-v325{background:#744b28;color:#fff1df}
@media (max-width:720px){
  .home-hero-top-v325{display:block}
  .home-date-pill-v325{text-align:left;margin-top:20px;min-width:0}
  .home-user-line-v325{align-items:flex-start;flex-direction:column}
}


/* v335 — Home alias + production dock cleanup */
.home-professional-v324 .home-professional-main-v324{min-height:calc(100vh - 96px);display:grid;place-items:center;padding:clamp(24px,5vw,56px);background:radial-gradient(circle at 12% 10%, rgba(246,190,84,.18), transparent 34%),radial-gradient(circle at 88% 12%, rgba(104,155,255,.12), transparent 32%),linear-gradient(180deg,#fffaf0 0%,#f8f5ee 100%)}
.home-professional-v324 .home-hero-v324{width:min(900px,calc(100vw - 32px));background:rgba(255,255,255,.92);border:1px solid rgba(112,84,31,.16);border-radius:32px;box-shadow:0 24px 70px rgba(71,54,18,.14);padding:clamp(26px,5vw,52px);position:relative;overflow:hidden}
.home-professional-v324 .home-hero-v324::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#f2b84b,#f6d98d,#6f8ef6)}
.home-professional-v324 .home-hero-top-v324{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.home-professional-v324 .home-kicker-v324{margin:0 0 12px;color:#8a6518;text-transform:uppercase;font-weight:950;letter-spacing:.14em;font-size:12px}
.home-professional-v324 .home-hero-v324 h1{margin:0;max-width:720px;color:#15120d;font-size:clamp(34px,5vw,62px);line-height:1.02;letter-spacing:-.06em}
.home-professional-v324 .home-message-v324{margin:20px 0 0;max-width:680px;color:#51483a;font-size:clamp(17px,2vw,22px);line-height:1.55;font-weight:800}
.home-professional-v324 .home-date-pill-v324{flex:0 0 auto;min-width:190px;border:1px solid rgba(130,96,25,.16);border-radius:20px;background:#fff9ea;padding:14px 16px;text-align:right;box-shadow:0 12px 30px rgba(95,71,26,.08)}
.home-professional-v324 .home-date-pill-v324 span{display:block;color:#7c6f5d;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.home-professional-v324 .home-date-pill-v324 strong{display:block;margin-top:4px;color:#1f1b14;font-size:15px;font-weight:950}
.home-professional-v324 .home-user-line-v324{margin-top:30px;padding:16px 18px;border-radius:20px;background:#f7f3e9;border:1px solid rgba(119,92,30,.12);display:flex;align-items:center;gap:12px;color:#6b604f;font-size:14px;font-weight:750}
.home-professional-v324 .home-role-badge-v324{display:inline-flex;align-items:center;border-radius:999px;background:#1d1a14;color:#fff;padding:8px 11px;font-size:12px;line-height:1;font-weight:950;white-space:nowrap}
.qm-launcher-v315,#qmLauncherV315{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:720px){.home-professional-v324 .home-hero-top-v324{display:block}.home-professional-v324 .home-date-pill-v324{text-align:left;margin-top:20px;min-width:0}.home-professional-v324 .home-user-line-v324{align-items:flex-start;flex-direction:column}}


/* v345 — Content Approval Clean Runtime Lock / no floating black circle */
html body.client-portal-v345 #operationalContextPillV272,
html body.client-portal-v345 .operational-context-pill-v272,
html body.client-portal-v345 [data-operational-context-pill],
html body.client-portal-v345 .context-debug-chip,
html body.client-portal-v345 .workspace-context-chip,
html body.client-portal-v345 #quimingCommandLauncher,
html body.client-portal-v345 .qk-launcher-v280,
html body.client-portal-v345 [data-command-launcher],
html body.client-portal-v345 .floating-command-button,
html body.client-portal-v345 .command-floating-button,
html body.client-portal-v345 #qmLauncherV315,
html body.client-portal-v345 .qm-launcher-v315,
html body.client-portal-v345 #qmDockV315,
html body.client-portal-v345 .qm-dock-v315,
html body.client-portal-v345 #qmListV315,
html body.client-portal-v345 .qm-list-v315,
html body.client-portal-v345 .nav-loading-placeholder-v306,
html body.client-portal-v345 .top-nav-loading-v146{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body.client-portal-v345.has-operational-context-v272{padding-top:0!important;}
html body.client-portal-v345.shell-auth-loading-v146 #topNavLinks:empty::before,
html body.client-portal-v345.shell-auth-loading-v146 #topNavLinks:empty::after,
html body.client-portal-v345.nav-transitioning-v188::before,
html body.client-portal-v345.nav-transitioning-v188::after{
  content:none!important;
  display:none!important;
}
html body.client-portal-v345 .nav-preboot-stable-v345 .profile-action-zone:empty{display:block!important;min-width:48px!important;}


/* v347 — Global No Black Circle Runtime Lock */
html body #qmLauncherV315,html body .qm-launcher-v315,html body #qmDockV315,html body .qm-dock-v315,html body #qmListV315,html body .qm-list-v315,html body .qm-window-v315,html body .qm-windows-v315,html body #quimingCommandLauncher,html body .qk-launcher-v280,html body [data-command-launcher],html body .floating-command-button,html body .command-floating-button,html body #operationalContextPillV272,html body .operational-context-pill-v272,html body [data-operational-context-pill],html body .context-debug-chip,html body .workspace-context-chip{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;max-width:0!important;max-height:0!important;overflow:hidden!important;clip-path:inset(100%)!important;}
html body.has-operational-context-v272{padding-top:0!important;}
html body.nav-transitioning-v188::before,html body.nav-transitioning-v188::after,html body.shell-auth-loading-v146 #topNavLinks:empty::before,html body.shell-auth-loading-v146 #topNavLinks:empty::after{content:none!important;display:none!important;}
