/* One Place's white surfaces; keep the supplied Dimension kit reusable. */
:root {
  --ds-canvas: #ffffff;
  --ds-surface: #ffffff;
  --ds-panel-surface: #ffffff;
  --ds-panel-border: #e4e4e4;
  --ds-section-border-width: 2px;
  --ds-panel-shadow: 0 8px 28px #24242406;
  --line: #2424241a;
  --ds-line: var(--line);
  --blush: #ffffff;
  --surface-soft: #f7f7f7;
  --surface-selected: #ededed;
}

/* One shared keyline for enclosed sections. Controls and row dividers keep
   their finer borders; component rules can still remove a joined edge. */
html[data-surface] :is(
  .panel, .understanding-panel, .questions-panel, .physical-scope, .brief-details,
  .physical-group, .review-card, .task-card, .scan-card, .metric, .project-card,
  .document-card, .chat-layout, .kanban-column, .florence-note, .review-stage,
  .team-strip, .milestones, .home-summary, .draft-banner, .site-group,
  .linked-artwork-intro, .linked-artwork-card, .shared-start-card,
  .artwork-source, .artwork-creation-details, [data-campaign-review],
  .account-metric, .account-home-entry, .briefing-waiting,
  dialog, .nav-dropdown, .jump-panel
) { border-width: var(--ds-section-border-width); }

.app-chrome { background: #fffffff2; }
.sidebar, .nav-dropdown, dialog { background: #ffffff; }
.nav-dropdown, dialog { border-color: var(--ds-panel-border); }

.welcome-panel, .review-image, .review-stage,
.project-card .project-visual { background: var(--surface-soft); }

.first-look-layout .panel, .understanding-panel, .questions-panel,
.physical-scope, .brief-details, .cp-timeline.panel,
.review-card, .task-card, .scan-card, .metric, .project-card,
.document-card, .chat-layout {
  background: #ffffff;
  border-color: var(--ds-panel-border);
}

.workspace, .physical-group, .kanban-column, .florence-note,
.message.highlight, .composer, .file-chip, .signal, .doc-icon,
.client-logo, .skip, .orb-drop-cue, .segmented,
.cp-timeline-head, .cp-label-head, .cp-label {
  background: var(--surface-soft);
  border-color: var(--ds-panel-border);
}

input:not([type=checkbox]), textarea, select,
.intake-form input, .clarification textarea {
  background: #ffffff;
  border-color: #d4d4d4;
}

.btn:not(.primary), .btn.light, .icon-btn, .review-tab,
.project-switcher > summary, .dropzone {
  background: var(--surface-soft);
  border-color: var(--ds-panel-border);
  --origin-hover-fill: #ededed;
}

.project-tab:hover, .nav-link:hover, .dropdown-link:hover,
.project-option:hover, .project-switcher > summary:hover,
.intake-files > summary:hover, .brief-jumps a:hover {
  background: var(--surface-soft);
}

.project-tab[aria-current=page], .project-tab.selected,
.nav-link[aria-current=page], .dropdown-link[aria-current=page],
.project-option[aria-current=true], .project-switcher[open] > summary,
.more-navigation[open] > summary, .attention-link[aria-current=page],
.segmented button[aria-pressed=true], .channel[aria-pressed=true],
.review-tab[aria-pressed=true], .dropzone.dragover {
  background: var(--surface-selected);
  border-color: var(--ds-panel-border);
}

.attention-dot, .count, .project-monogram,
.pill:not(.green,.amber,.rose,.blue,.lilac) { background: var(--surface-selected); }
.attention-pip, .avatar { border-color: #ffffff; }
.donut:before { background: #ffffff; }

.step-button { background: #ffffff; border-color: #e4e4e4; }
.step-button.current { background: #ededed; border-color: #d4d4d4; box-shadow: none; }
.step-button:not(:disabled):hover { background: #f3f3f3; border-color: #bdbdbd; box-shadow: 0 3px 10px #24242408; }

/* Legacy blush removed. Overlays, tracks, borders and selected states are neutral;
   burgundy stays for accents. Status colours, team avatars, file-type icons, the orb
   palette and illustrations keep their own colours on purpose. */
dialog::backdrop { background: #2424243d; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
#toast { background: #393541; color: #ffffff; box-shadow: 0 6px 24px #24242426; }
.bar-track { background: #ededed; }
.bar-fill { background: #79546b; }
.donut { background: conic-gradient(#99b0a2 calc(var(--value) * 1%), #e6e6e6 0); }
.milestone .node { background: #f7f7f7; border-color: #d4d4d4; }
.review-stage { border-color: var(--ds-panel-border); }
.review-image .tag { background: #ffffff; color: #481729; border: 1px solid var(--ds-panel-border); }
.reaction { border-color: var(--ds-panel-border); }
.reaction[aria-pressed=true] { background: var(--surface-selected); border-color: #d4d4d4; color: #481729; }
.source-file-type { border-color: var(--ds-panel-border); }
/* Critical path: not-started bars are neutral; done, in progress and blocked keep their status colours. */
.cp-bar { background: #e2e2e2; border-color: #c9c9c9; color: #393541; box-shadow: 0 2px 5px #24242408; }
.cp-link-dot { background: #ffffff; border-color: #79546b; }

/* Control centre milestones: a thin burgundy line draws in under the stage name on hover
   or keyboard focus, instead of the kit's block fill (which looked odd on these open items). */
.milestone[data-origin-hover]::before { display: none; }
.milestone:after { background: #d4d4d4; }
.milestone strong {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 3px;
  background: linear-gradient(#79546b, #79546b) left bottom / 0 1.5px no-repeat;
  transition: background-size 350ms cubic-bezier(.22, 1, .36, 1), color 200ms;
}
.milestone:hover strong, .milestone:focus-visible strong { background-size: 100% 1.5px; color: #481729; }
.milestone:focus-visible { outline: 2px solid #79546b; outline-offset: 6px; border-radius: 10px; }
@media (prefers-reduced-motion: reduce) { .milestone strong { transition: none; } }

/* Anchor card: one card per page carries the orb's glow as a soft wash with dark copy, so the
   eye has a starting point. Loose sections (your people, the way forward) sit in white cards. */
:root {
  --glow-coral: #ff7c7c; --glow-sun: #ffd166; --glow-mint: #80ed99;
  --glow-teal: #72efdd; --glow-lilac: #a882dd; --glow-pink: #e07be0;
}
/* .panel.welcome-panel outranks the generic panel surface rules in the surface studies. */
html[data-surface] :is(.panel.welcome-panel, .home-welcome) {
  background:
    radial-gradient(circle at 80% 42%, color-mix(in oklab, var(--glow-lilac) 30%, transparent), transparent 38%),
    radial-gradient(circle at 96% 8%, color-mix(in oklab, var(--glow-coral) 24%, transparent), transparent 36%),
    radial-gradient(circle at 66% 100%, color-mix(in oklab, var(--glow-teal) 26%, transparent), transparent 42%),
    radial-gradient(circle at 100% 90%, color-mix(in oklab, var(--glow-sun) 22%, transparent), transparent 34%),
    radial-gradient(circle at 0% 0%, color-mix(in oklab, var(--glow-pink) 9%, transparent), transparent 44%),
    #ffffff;
  border: var(--ds-section-border-width) solid #ece8ef;
  box-shadow: 0 2px 6px #00000004, 0 16px 40px #a882dd14;
}
html[data-surface] .home-welcome { padding: 34px 36px; border-radius: 28px; margin-bottom: 22px; }
.team-strip, .milestones {
  background: #ffffff;
  border: 1px solid var(--ds-panel-border);
  border-radius: 22px;
  box-shadow: var(--ds-panel-shadow);
}
.team-strip { padding: 20px 22px; }
.milestones { padding: 22px 22px 18px; }
@media (max-width: 600px) { html[data-surface] .home-welcome { padding: 24px 20px; } }

/* Project documents retain source wording in a readable, neutral layout. */
.project-document{color:var(--ink);overflow-wrap:anywhere}
.project-document section+section{margin-top:28px;padding-top:20px;border-top:1.5px solid #dedede}
.project-document h3{font-size:23px;line-height:1.2;margin:0 0 12px}
.project-document p,.project-document li{font-size:13px;line-height:1.65;white-space:pre-line}
.project-document p+p{margin-top:12px}
.project-document ul{padding-left:20px;margin:12px 0}
.project-document-table{overflow-x:auto;border:1.5px solid #dedede;border-radius:12px;margin-top:16px}
.project-document table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}
.project-document th{background:#ededed;font-weight:600}
.project-document th,.project-document td{padding:12px;vertical-align:top;min-width:100px;white-space:pre-line}
.project-document tr+tr td{border-top:1px solid #e4e4e4}
