/* Exclusive Construction. Identity sits above the existing functional layouts;
   status/channel choices and document/signature rendering keep their own colors. */
:root {
  --ec-ink:#181816; --ec-muted:#646462; --ec-yellow:#fff000;
  --ec-canvas:#f4f4f2; --ec-line:#dededc; --ec-soft:#eeeeec;
  --green:#2c2c2a; --light:#f4f4e7; --muted:var(--ec-muted);
  --border:var(--ec-line); --line:var(--ec-line); --surface:#fff;
  color:var(--ec-ink); background:var(--ec-canvas);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body { color:var(--ec-ink); background:var(--ec-canvas); }
button { transition:background-color .15s,border-color .15s,box-shadow .15s; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid #272725; outline-offset:3px; box-shadow:0 0 0 5px #fff00066;
}
input,select,textarea { color:var(--ec-ink); background:#fff; border-color:#d1d1cf; border-radius:8px; }
input::placeholder,textarea::placeholder { color:#777775; }
input[type=checkbox],input[type=radio] { accent-color:#383836; }
body .primary { color:#151600; background:var(--ec-yellow); border:1px solid #e4d600; box-shadow:0 1px 2px #15151510; font-weight:700; }
body .primary:hover { background:#efdf00; border-color:#cfc100; }
body .secondary { color:#333331; background:#fff; border-color:#d6d6d4; }
body .secondary:hover { background:#f2f2f0; border-color:#b1b1af; }
body .text-button,body .icon-button { color:#525250; }
body .text-button:hover,body .icon-button:hover { background:#eeeeec; color:#252523; }
body .muted,body .field-help,body .optional { color:var(--ec-muted); }
body .eyebrow,body .record-kind { color:#696967; font-size:10px; font-weight:750; letter-spacing:1.6px; }
body .demo-notice { background:#eaeae8; color:#464644; border-bottom:1px solid #dbdbd9; min-height:34px; }
body .demo-dot { background:#777775; }
body .notice-text { color:#5d5d5b; }
.company-lockup { display:inline-flex; align-items:center; gap:12px; text-decoration:none; min-width:0; }
.company-symbol { position:relative; display:block; overflow:hidden; width:48px; height:48px; flex:0 0 48px; background:#000; border-radius:4px; }
/* Frame the exact supplied image without stretching or changing its pixels. */
.company-symbol img { position:absolute; width:212.64%; height:auto; max-width:none; left:-44.8%; top:-22.4%; }
.company-wordmark { display:block; color:#fff; font-size:21px; line-height:1.08; letter-spacing:-.6px; font-weight:760; }
.company-wordmark>span { display:block; margin-top:5px; color:#c7c7c5; font-size:9px; line-height:1.4; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; }
body .sidebar { display:flex; flex-direction:column; width:244px; min-height:calc(100dvh - 34px); padding:30px 18px 22px; background:#161614; border-right:1px solid #292927; color:#e7e7e5; }
.sidebar .brand { padding:0 6px; gap:10px; font-size:inherit; letter-spacing:normal; }
.sidebar .workspace-label { margin:38px 13px 12px; color:#9c9c9a; font-size:10px; letter-spacing:1.8px; }
body .sidebar .nav-button { padding:13px 12px; min-height:50px; margin:4px 0; gap:12px; border-radius:8px; color:#c9c9c7; font-size:13px; font-weight:550; }
body .sidebar .nav-button:hover { background:#2a2a28; color:#fff; }
body .sidebar .nav-button.active { color:#fff000; background:#323230; box-shadow:inset 3px 0 #fff000; font-weight:650; }
.sidebar .nav-count { background:#484846; color:#fff7a4; padding:3px 7px; border-radius:5px; }
.sidebar .nav-symbol { color:inherit; }
.sidebar .nav-settings-knob { fill:#161614; }
body .sidebar-bottom { position:static; margin-top:auto; padding:28px 6px 0; gap:11px; align-items:flex-start; color:#c9c9c7; }
.sidebar-bottom>div:last-child { min-width:0; }
.sidebar .current-staff { display:block; color:#e3e3e1; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.sidebar .session-avatar { width:36px; height:36px; flex:0 0 36px; background:#383836; color:#fff000; border:1px solid #4f4f4d; border-radius:50%; font-size:11px; letter-spacing:.4px; }
.sidebar-bottom .text-button { color:#b2b2b0; font-size:11px; padding:6px 0; margin:3px 9px 0 0; }
.sidebar-bottom .text-button:hover { color:#fff000; background:transparent; }
body .main,body:is(.board-workspace,.chat-workspace,.agreements-workspace) .main { background:var(--ec-canvas); }
body .topbar { background:#fff; border-color:var(--ec-line); min-height:70px; height:auto; padding-top:14px; padding-bottom:14px; gap:20px; }
body .breadcrumb { color:#7a7a78; font-size:12px; }
.breadcrumb strong { color:#2a2a28; font-weight:650; }
body .breadcrumb span { color:#bebebc; }
body .notifications-button { background:#fff; color:#3b3b39; border-color:#dededc; min-height:38px; }
body .notifications-button:hover { background:#f3f3f1; }
body .notification-count { background:#383836; color:#fff; }
body .local-status { color:#6c6c6a; }
.company-mobile-brand { display:none; }
body .heading h1,body:is(.chat-workspace,.agreements-workspace) .heading h1 { color:#232321; font-weight:700; letter-spacing:-.8px; }
body .heading p { color:var(--ec-muted); font-size:13px; }
body .workspace-footer,body.board-workspace .workspace-footer { color:#787876; font-size:10px; }
/* Boards: clearer hierarchy, compact controls and neutral working surfaces. */
body .board-workspace-top { border-color:#dededc; }
body .board-record-shortcuts,body .crm-tabs,body .settings-tabs { background:#eaeae8; border-color:#dfdfdd; border-radius:8px; }
body .board-record-shortcuts button,body .crm-tabs button,body .settings-tabs button { color:#676765; }
body .board-record-shortcuts button.active,body .crm-tabs button.active,body .settings-tabs button.active { background:#fff; color:#292927; box-shadow:0 1px 4px #28282610; }
body.board-workspace .workspace-selector-label { color:#686866; letter-spacing:1.2px; }
body.board-workspace .workspace-selector-label select { color:#2b2b29; border-color:#d2d2d0; }
body.board-workspace .board-workspace-top>.text-button { color:#60605e; }
body .board-overview-heading h2,body.board-workspace .board-heading h2 { color:#252523; font-weight:720; font-size:30px; letter-spacing:-.9px; }
body .board-overview-heading p,body.board-workspace .board-heading p { color:var(--ec-muted); }
body .board-overview-search { color:#363634; border-color:#d7d7d5; }
body .board-overview-card { border:1px solid #dadad8; border-top:4px solid #d5cf39; border-radius:12px; padding:26px; background:#fff; box-shadow:0 3px 10px #2323210a; }
body .board-overview-card:hover { border-color:#959593; border-top-color:#bab000; box-shadow:0 8px 24px #29292710; }
body .board-overview-card h3 { color:#2b2b29; font-size:20px; font-weight:700; letter-spacing:-.45px; }
body .board-overview-count { color:#535351; background:#f3f3d7; border:1px solid #e7e6b8; font-size:11px; }
body .board-overview-description { color:#676765; font-size:13px; }
body .board-overview-meta { color:#787876; border-color:#e6e6e4; font-size:11px; }
body .board-overview-stage { color:#61615f; background:#f4f4f2; border-color:#e3e3e1; }
body .board-back-link,body .board-help,body .hide-empty-label,body .board-count { color:#6a6a68; }
body .board-column:not([class*="status-color-"]) { background:#ebebe9; border-color:#dfdfdd; }
body .board-column-heading h3 { color:#434341; font-weight:700; }
body .column-card-count { color:#71716f; }
body .board-card { background:#fff; border-color:#dcdcda; border-radius:9px; box-shadow:0 2px 3px #2e2e2c08; }
body .board-card:hover { border-color:#acacaa; box-shadow:0 4px 12px #2e2e2c12; }
body .board-card-title { color:#2f2f2d; font-weight:650; }
body .board-card-customer,body .board-card-address { color:#71716f; }
body .card-due,body .card-count { color:#6c6c6a; }
body .card-assignee { color:#484846; background:#ebebe9; }
body .card-quick-move,body .column-add-card { color:#696967; }
body .board-column-empty { color:#737371; }
body .column-drag-handle { color:#7d7d7b; }
body .board-column.column-drop-target { outline-color:#71716f; }
body .board-column-name { color:#353533; border-color:#dadad8; }
body .board-column-note,body .board-workflow-help { color:#737371; }
/* Team chat, tools and document packets share the same visual language. */
body .chat-layout,body .context-layout { border-color:#dddddb; box-shadow:0 3px 14px #2e2e2c06; }
body .chat-sidebar,body .context-sidebar { background:#f0f0ee; border-color:#e0e0de; }
body .chat-sidebar-heading h2,body .context-sidebar h2 { color:#41413f; }
body .channel-list-item { color:#51514f; border-color:transparent; }
body .channel-list-item.active,body .context-job-item.active,body .context-job-item.selected { background:#fff; border-color:#d4d4d2; box-shadow:0 2px 5px #3e3e3c08; }
body .channel-list-item:hover,body .context-job-item:hover { background:#f9f9f7; }
body .channel-name,body .context-job-item strong { color:#434341; }
body .channel-list-meta,body .chat-access-note,body .chat-job-count { color:#747472; }
body .channel-heading,body .context-heading { border-bottom-color:#e7e7e5; }
body .channel-heading h2,body .context-heading h2 { color:#2f2f2d; font-weight:700; }
body .channel-heading-copy p,body .context-heading-copy p,body .channel-heading .record-kind,body .context-heading .record-kind { color:#727270; }
body .channel-tool-tabs { border-color:#e2e2e0; }
body .channel-tool-tabs button { color:#747472; }
body .channel-tool-tabs button.active { background:#f9f9df; border-bottom-color:#aca400; color:#454543; }
body .message .avatar { background:#eeeeec; color:#5f5f5d; border:1px solid #e4e4e2; }
body .message-meta,body .message-author { color:#434341; }
body .message-meta time,body .message-file .file-size,body .channel-sync { color:#81817f; }
body .message p { color:#4e4e4c; font-size:14px; line-height:1.7; }
body .message.reply { border-color:#e3e3e1; }
body .composer,body .channel-composer { border-color:#d3d3d1; background:#fff; border-radius:10px; }
body .composer:focus-within { border-color:#939391; box-shadow:0 0 0 3px #e7e7e5; }
body .composer textarea { background:#fff; color:#383836; font-size:14px; }
body .composer-footer>span,body .channel-composer .composer-footer>span { color:#7a7a78; }
body .message-reaction.active { color:#4c4c4a; border-color:#cfcd72; background:#f9f6cf; }
body .channel-tool-heading h3,body .channel-task h4,body .channel-event h4,body .channel-calendar-toolbar h4 { color:#3f3f3d; }
body .channel-task-description,body .channel-tool-heading p,body .channel-item-meta,body .channel-event>p { color:#727270; }
body .channel-task,body .channel-library-file { border-color:#e2e2e0; }
body .channel-tool-empty { background:#f7f7f5; color:#797977; border-color:#dcdcda; }
body .agreement-template-card { background:#f8f7dd; border:1px solid #e3dfb0; border-left:4px solid #d0c600; border-radius:10px; }
body .agreement-template-card h3 { color:#393937; }
body .agreement-template-card p { color:#6c6c6a; }
body .template-meta { color:#747472; }
body .packet-card { background:#fff; border-color:#dddddb; border-radius:10px; box-shadow:0 2px 7px #3a3a3806; }
body .packet-card h3 { color:#383836; font-size:16px; font-weight:700; }
body .document-row { border-color:#e7e7e5; color:#595957; }
body .file-symbol,body .doc-type { color:#696967; background:#f1f1ef; }
body .packet-actions { border-color:#e5e5e3; }
/* Forms and record cards. Semantic error/success colors remain unchanged. */
body dialog { color:#2f2f2d; border-color:#dddddb; box-shadow:0 24px 90px #1b1b1955; }
body dialog::backdrop { background:#17171570; }
body .job-card-heading h2,body .job-card-heading h1,body .card-contact strong { color:#30302e; }
body .card-location,body .job-card-heading p,body .card-summary-form label,body .card-move-form label,body .card-linked-records dt { color:#757573; }
body .card-linked-records { background:#f6f6f4; border-color:#e1e1df; }
body .card-linked-records dd { color:#4c4c4a; }
body .card-detail-tabs button { color:#787876; }
body .card-detail-tabs button.active { border-color:#a59b00; color:#525250; }
body .card-move-form,body .card-comment-form { background:#f6f6f4; border-color:#e1e1df; }
body .card-move-form h3,body .card-comment-form h3 { color:#5b5b59; }
body .card-file-upload { background:#f7f7f5; border-color:#d7d7d5; }
body .card-file-upload h3,body .card-file-upload .muted { color:#6e6e6c; }
body .activity-author,body .card-activity p { color:#747472; }
body .card-activity .activity-comment p { color:#555553; background:#f5f5f3; border-color:#e5e5e3; }
body .empty-state p,body .empty-list,body .scope-note { color:#787876; }
body .empty-symbol { color:#747472; background:#f2f3d7; }
body .subtle-note { background:#f7f8eb; border-color:#e2e2e0; color:#6f6f6d; }
/* Sign-in: company identity beside a quiet, readable staff form. */
body .auth-screen { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,1fr); gap:0; min-height:calc(100dvh - 34px); padding:0; background:#f2f2f0; align-items:stretch; }
body .auth-screen[hidden] { display:none; }
.auth-story { grid-column:1; grid-row:1/3; display:flex; flex-direction:column; justify-content:center; padding:clamp(40px,7vw,110px); background:#141412; border-right:1px solid #2f2f2d; }
.auth-story .auth-brand { justify-content:flex-start; margin:0 0 76px; gap:15px; }
.auth-story .company-symbol { width:64px; height:64px; flex-basis:64px; }
.auth-story .company-wordmark { font-size:30px; }
.auth-story .company-wordmark>span { color:#d4d4d2; font-size:11px; letter-spacing:3.6px; }
.auth-intro { max-width:480px; }
.auth-intro .eyebrow { color:#d9dd76; font-size:10px; letter-spacing:2px; margin-bottom:18px; }
.auth-intro h2 { color:#fff; font-size:clamp(34px,4.1vw,56px); font-weight:700; line-height:1.1; letter-spacing:-1.9px; margin:0 0 24px; }
.auth-intro p { color:#b6b6b4; font-size:15px; line-height:1.85; max-width:37ch; margin:0; }
body .auth-card { grid-column:2; grid-row:1; align-self:end; width:calc(100% - 80px); max-width:440px; margin:64px auto 0; padding:34px; border:1px solid #dededc; border-radius:16px; background:#fff; box-shadow:0 12px 45px #2e2e2c0a; }
body .auth-card h1 { color:#31312f; font-size:30px; font-weight:700; margin-bottom:12px; letter-spacing:-1px; }
body .auth-card p,body .auth-card label { color:#6f6f6d; }
body .auth-card .primary { min-height:46px; }
body .auth-footnote { grid-column:2; grid-row:2; align-self:start; width:calc(100% - 80px); max-width:440px; padding:0 10px; margin:20px auto 64px; color:#80807e; font-size:11px; line-height:1.8; }
/* Client-facing screens carry company identity without touching PDF content. */
body .company-client-header { display:flex; align-items:center; justify-content:space-between; gap:16px; background:#191917; border-bottom:1px solid #3f3f3d; padding:20px 32px; }
.company-client-header .company-symbol { width:42px; height:42px; flex-basis:42px; }
.company-client-header .company-wordmark { font-size:19px; }
.company-client-header .company-wordmark>span { font-size:8px; letter-spacing:2.3px; }
body .company-client-header .secondary { background:#2b2b29; color:#ececea; border-color:#5b5b59; }
body.standalone-signing,body.client-copy-shell { background:#f4f4f2; }
body .sign-demo { color:#676765; background:#f3f1d1; border-color:#dedbad; }
body .signing-packet-head h1,body .client-copy-page h1 { color:#393937; }
body .sign-doc-button.active { background:#f9f7d3; border-color:#c6c062; color:#4e4e4c; }
body .signing-access-note { color:#747472; background:#eeeeec; border-color:#dededc; }
body .standalone-review,body .client-copy-document { border-color:#e1e1df; background:#fff; }
body .client-copy-page { padding-top:40px; }
body .client-copy-document h2 { color:#41413f; }
body .review-progress { color:#747472; }
@media(min-width:951px) {
  body .sidebar { position:sticky; top:0; align-self:flex-start; height:calc(100dvh - 34px); min-height:610px; }
}
@media(max-width:1100px) and (min-width:951px) {
  body .sidebar { width:220px; padding-left:12px; padding-right:12px; }
  .sidebar .company-wordmark { font-size:19px; }
  .sidebar .company-symbol { width:42px; height:42px; flex-basis:42px; }
}
@media(max-width:950px) {
  body .sidebar { display:none; }
  body .topbar,body:is(.board-workspace,.chat-workspace,.agreements-workspace) .topbar { gap:12px; padding:14px 24px; flex-wrap:wrap; height:auto; background:#1b1b19; border-color:#41413f; }
  .company-mobile-brand { display:inline-flex; margin-right:auto; gap:8px; }
  .company-mobile-brand .company-symbol { width:32px; height:32px; flex-basis:32px; }
  .company-mobile-brand .company-wordmark { font-size:16px; }
  .company-mobile-brand .company-wordmark>span { font-size:7px; letter-spacing:1.7px; margin-top:3px; }
  body .topbar .breadcrumb { display:none; }
  body .topbar-tools { margin:0; }
  body .topbar .notifications-button { color:#e3e3e1; background:#30302e; border-color:#555553; }
  body .topbar .local-status { color:#bdbdbb; }
  body .mobile-account { background:#fff; color:#767674; border-color:#e4e4e2; }
  body .workspace-view-tabs { background:var(--ec-canvas); gap:6px; }
  body .workspace-view-tabs button { color:#737371; border-color:#e0e0de; background:#fff; }
  body .workspace-view-tabs button.active { background:#f7f2bb; color:#4f4f4d; border-color:#d4cc67; }
  body .auth-screen { grid-template-columns:minmax(0,1fr); }
  .auth-story { grid-column:1; grid-row:1; padding:32px 40px; }
  .auth-story .auth-brand { margin-bottom:28px; }
  .auth-story .company-symbol { width:48px; height:48px; flex-basis:48px; }
  .auth-story .company-wordmark { font-size:24px; }
  .auth-intro { max-width:580px; }
  .auth-intro h2 { font-size:34px; max-width:20ch; letter-spacing:-1px; margin-bottom:14px; }
  .auth-intro p { max-width:48ch; font-size:13px; }
  body .auth-card { grid-column:1; grid-row:2; margin:28px auto 0; width:calc(100% - 48px); }
  body .auth-footnote { grid-column:1; grid-row:3; width:calc(100% - 48px); margin-bottom:28px; }
}
@media(max-width:680px) {
  body .topbar,body:is(.board-workspace,.chat-workspace,.agreements-workspace) .topbar { padding:13px 16px; gap:8px; }
  body .topbar .local-status { display:none; }
  body .notifications-button { min-width:44px; min-height:44px; }
  body .board-overview-heading h2,body.board-workspace .board-heading h2 { font-size:26px; }
  body .board-overview-card { padding:20px; }
  body .board-overview-card h3 { font-size:19px; }
  body .board-overview-card-head { flex-wrap:wrap; }
  body .board-overview-count { margin-left:auto; }
  body .auth-story { padding:26px 24px 30px; }
  .auth-story .auth-brand { margin-bottom:26px; }
  .auth-intro h2 { font-size:31px; }
  body .auth-card { padding:26px 24px; width:calc(100% - 32px); }
  body .auth-card h1 { font-size:26px; }
  body .auth-card input,body .auth-card select { font-size:16px; min-height:46px; }
  body .company-client-header { padding:16px; flex-wrap:wrap; }
  .company-client-header .company-wordmark { font-size:18px; }
  body .company-client-header .secondary { min-height:44px; }
  body .client-copy-page { padding-top:28px; }
  body .client-copy-page h1 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { button { transition:none; } }
/* Final component specificity for the existing shared layouts. */
body .context-job { color:#4c4c48; }
body .context-job.active { background:#fff; border-color:#d0d0c7; box-shadow:0 2px 5px #22220a08; }
body .context-job:hover { background:#f9f9f4; }
body .context-job>.context-job-copy,body .context-job-copy strong { color:#3d3d37; }
body .context-job-copy>span { color:#6b6b61; }
body .template-badges,body .agreement-template-card .template-test-note { color:#717143; }
body .message-actions .text-button { color:#67675d; }
body .message-actions .text-button:hover { color:#29291e; }
body.board-workspace .board-record-shortcuts button.active { color:#3d3d2d; }
body .sidebar-bottom { border-top-color:#34342e; }
body .signing-packet-head p { color:#69695f; }
@media(max-width:680px) {
  body .standalone-document-list .sign-doc-button { flex-direction:column; align-items:flex-start; justify-content:space-between; gap:8px; padding:12px; text-align:left; }
  body .standalone-document-list .sign-doc-button>span:first-child { width:100%; font-weight:600; line-height:1.5; }
  body .standalone-document-list .sign-doc-button>span:last-child { font-size:11px; line-height:1.4; }
}
