/* BuildFlow AI — colors sampled from the supplied BF AI / Лого1.png artwork. */
:root {
  color-scheme: dark;
  --ink:#e6edf7; --muted:#a0aec2; --line:#253253; --soft:#141f3c;
  --blue:#4469ff; --blue-dark:#3150d8; --green:#6ed6a5; --green-soft:#11342c;
  --amber:#efc16d; --white:#0d152c;
}
html { background:#050919; }
body { background:#050919; color:var(--ink); }
::selection { background:#315897; color:#fff; }
a { color:#8dbaff; }
button,input,textarea,select { font:inherit; }
button,input,textarea,select,summary,a { outline-offset:3px; }
:focus-visible { outline:2px solid #45d7f2!important; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select {
  color:var(--ink); background:#080f24!important; border:1px solid #354367!important;
  border-radius:7px; padding:9px 10px;
}
input::placeholder,textarea::placeholder { color:#899bb4; opacity:1; }
input[type="checkbox"],input[type="radio"] { accent-color:#39c6ef; width:16px; height:16px; }
input:disabled,textarea:disabled,select:disabled { opacity:.65; }
label,legend { color:var(--ink); }
hr { border:0; border-top:1px solid var(--line); }
.topbar { background:#080e23; border-color:#253253; box-shadow:0 4px 20px #0002; }
.brand,.auth-brand { color:#edf3ff; letter-spacing:-.025em; }
.brand b,.auth-brand b { color:#78aaff; }
.brand-mark { background:linear-gradient(145deg,#5c9aff,#225cce); box-shadow:inset 0 0 0 1px #ffffff25,0 4px 14px #174b9955; border-radius:9px; color:white; }
.project-switcher { background:#19263b; color:#cbd8ec; border-color:#30415b; }
.avatar { background:#233c62; color:#a9cdff; border:1px solid #365783; }
.icon-button { color:#b5c4d9; }
.sidebar { background:#080e23; border-color:var(--line); }
.nav-caption,.eyebrow { color:#93a6c4; }
.nav-link { color:#b4c2d8; }
.nav-link:hover { background:#1b2a40; color:#f4f7ff; }
.nav-link.is-active { color:#a1e6f7; background:#152b4a; box-shadow:inset 3px 0 #41d6ef; }
.sidebar-footer { border-color:var(--line); color:var(--muted); }
.storage-label { color:#b9c7dc; }
.storage-track { background:#26344a; }
.main-content { background:transparent; }
.page-intro h1,.project-detail h2 { letter-spacing:-.025em; }
.lead,.step-heading p:not(.eyebrow),.project-docs small,.signature-note,.project-card-head small { color:var(--muted); }
.intro-status,.workflow-card,.projects-panel,.project-detail,.project-stage,.assistant-panel,
.admin-stats>div,.users-table,.document-table,.plans article,.support-card,.new-project,
.profile-dropdown,.auth-card { background:#0d152c!important; color:var(--ink); border-color:var(--line)!important; }
.workflow-card.active-step { border-color:#4c76b3!important; box-shadow:0 6px 20px #0002; }
.workflow-card.is-locked { opacity:.7; }
.active-step .step-index { color:#8fbcff; }
.step-index { color:#9cabc1; }
.project-card,.user-row,.document-row,.source-document-row+.source-document-row,
.actual-vsoim-section+.actual-vsoim-section,.stage-part,.block-completion { border-color:var(--line); }
.project-card:hover { background:#1b2b42; border-radius:7px; }
.project-docs>div,.vsoim-document-card { border-color:#34445c!important; }
.project-source-documents,.actual-vsoim-document { background:#0d152c; }
.source-document-row,.actual-vsoim-section,.vsoim-document-card { background:transparent; }
.new-project { border-color:#35557b!important; background:#182a43!important; }
.new-project p:not(.eyebrow) { color:#b5c8e4; }
.button,.project-docs button { text-decoration:none; line-height:1.3; }
.button.primary,.project-docs .button.primary { background:#354feb!important; color:#fff!important; border:1px solid #6984ff!important; box-shadow:0 2px 5px #0002; }
.button.primary:hover,.project-docs .button.primary:hover { background:#4665ff!important; }
.button.secondary,.project-docs button,.filter-button,.library-tab { background:#223149; color:#d2e1f6; border:1px solid #435775; }
.button.secondary:hover,.project-docs button:hover,.filter-button:hover { background:#2a405f; color:#fff; }
button:disabled,.button:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.project-docs .rating-star,.rating-star { background:transparent!important; border:0!important; box-shadow:none; color:#91a2bc; }
.project-docs .rating-star.is-selected,.rating-star.is-selected { color:#ffd06b; }
.rating-star:hover { color:#ffe1a0!important; }
.library-tab.is-active { background:#203c62; border-color:#6699e2; color:#c4dcff; }
.library-hint,.document-owner { color:#a5b7cf; }
.library-dropzone,.upload-zone,.compact-upload { background:#111c2c; color:#dce7f6; border-color:#516682; }
.library-dropzone:hover,.upload-zone:hover,.compact-upload:hover { background:#1b2d47; border-color:#74aaff; }
.upload-icon { color:#a2c9ff; background:#243f66; }
.file-type,.step-state { color:#b9c8dd; border-color:#42546f; background:#1a293e; }
.file-row,.compile-panel,.muted-preview { background:#1b2a3f; color:#c6d4e8; }
.file-row b { color:#9bc3ff; }
.progress-track { background:#2b3b53; }
.step-result { background:#153a2d; color:#a6ebc8; }
.comparison-result { background:#3b2e19; color:#f7d798; }
.recognized,.access-status.active { color:#76dfac; }
.access-status.pending { color:#f1c470; }
.access-status.revoked { color:#b0bdcf; }
.document-table-head { background:#1d2c42; color:#b8c9e0; }
.tag { background:#273f60; color:#c5dfff; }
.doc-icon { background:#4a2c30; color:#ffc2b6; }
.empty-library,.empty-library b { color:#b7c8e0; }
.document-actions button { color:#9bc5ff; }
.document-actions button:last-child { color:#ffaaaa; }
.auth-screen { background:radial-gradient(ellipse at 15% 10%,#18365b 0,transparent 55%),#050919; }
.auth-message h1 { color:#f0f5ff; }
.auth-message>p,.auth-form>p { color:#b4c6df; }
.auth-tabs { border-color:var(--line); }
.auth-tab { color:#a8b9cf; }
.auth-tab.is-active { color:#91bdff; border-color:#639fff; }
.auth-form label { color:#c2d2e8; }
.auth-card { box-shadow:0 18px 55px #0005; }
.profile-dropdown { box-shadow:0 12px 35px #0006; }
.profile-dropdown small { color:#afc1dc; }
.profile-dropdown button { background:transparent; color:#d9e7fc; }
.profile-dropdown button:hover { background:#273d59; }
.assistant-panel { box-shadow:-5px 0 22px #0002; }
.assistant-panel h3:before { content:'✦'; color:#4fd6f2; padding-right:8px; }
.assistant-panel>p { color:#b1c1d7; }
.assistant-events [data-state="done"] { color:#91ddb5; }
.assistant-events [data-state="running"] { color:#9cc7ff; }
.assistant-panel .assistant-events [data-state="error"] { color:#ffaaaa; }
.stage-dialog { background:#101a34; color:#e6edf7; border-color:#49617e; box-shadow:0 20px 80px #0008; }
.stage-dialog::backdrop { background:#030812b8; }
.toast { background:#244366; border:1px solid #6b93c5; color:#f4f8ff; box-shadow:0 7px 25px #0007; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
:root .participant-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
:root .participant-grid label { display:flex; flex-direction:column; gap:6px; min-width:0; }
:root .participant-grid input, :root .participant-grid select { width:100%; box-sizing:border-box; }
:root .act-signer-fields { margin:14px 0; padding:16px; border:1px solid var(--border,#34435b); border-radius:12px; }
:root .act-signer-fields > button { margin-top:12px; }
:root .block-notes { display:block; width:100%; margin-top:16px; padding-top:12px; border-top:1px solid var(--border,#34435b); }
:root .block-notes form { margin-top:10px; }
:root .block-notes label { display:flex; flex-direction:column; gap:6px; }
:root .block-notes textarea { width:100%; box-sizing:border-box; resize:vertical; }
:root .execution-dialog { width:min(1100px,94vw); max-width:94vw; }
:root #execution-rows { max-height:45vh; overflow:auto; margin:14px 0; }
:root #execution-rows details { padding:10px; border-bottom:1px solid var(--border,#34435b); }
:root #execution-rows label, :root #hidden-work-fields label, :root #execution-conclusion-label { display:flex; flex-direction:column; gap:6px; margin:8px 0; }

/* The original artwork is displayed intact; the compact lockup is a CSS viewport,
   not a redrawn or destructively cropped logo. */
:root {
  --brand-cyan:#36cfee; --brand-violet:#7761ff; --border:var(--line);
  --brand-action:linear-gradient(115deg,#5443dc 0%,#315be5 58%,#087aaf 100%);
}
body { background:radial-gradient(ellipse at 70% 0%,#16255155,transparent 55%),#050919; }
.brand-lockup { position:relative; display:block; overflow:hidden; width:180px; aspect-ratio:1035 / 277; flex-shrink:0; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent); mask-composite:intersect; }
.brand-lockup img { position:absolute; width:161.546%; max-width:none; height:auto; left:-33.043%; top:-111.191%; }
.topbar { padding:0 24px; gap:24px; background:#070c1cf2; border-bottom:1px solid #2d3b62; }
.topbar .brand { flex-shrink:0; }
.brand-descriptor { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.topbar .project-switcher { min-width:0; max-width:38vw; background:#101a33; border-color:#283958; }
.topbar #project-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar { background:linear-gradient(180deg,#0a1025,#080d1d); }
.nav-link { transition:background .15s,color .15s; }
.nav-link.is-active { background:linear-gradient(100deg,#3846b63d,#13729220); box-shadow:inset 3px 0 var(--brand-cyan); color:#c0f0fc; }
.nav-caption,.eyebrow { color:#90a4d1; letter-spacing:.13em; }
.button,.project-docs button { transition:background .15s,border-color .15s,box-shadow .15s; }
.button.primary,.project-docs .button.primary { background:var(--brand-action)!important; border-color:#687cf0!important; box-shadow:0 3px 12px #17299a33; }
.button.primary:hover,.project-docs .button.primary:hover { background:linear-gradient(115deg,#6452ed,#3c6cef 58%,#0989ba)!important; border-color:#91acff!important; box-shadow:0 4px 16px #344dcc55; }
.button.secondary,.project-docs button,.filter-button,.library-tab { background:#16213c; border-color:#334567; color:#c7d7ef; }
.button.secondary:hover,.project-docs button:hover,.filter-button:hover { background:#202e50; border-color:#6479bd; }
.avatar { background:linear-gradient(140deg,#413480,#163e61); border-color:#5265a4; color:#e2f4ff; }
.storage-track span,.progress-track span { background:linear-gradient(90deg,var(--brand-violet),#3c79ff,var(--brand-cyan)); }
.workflow-card,.project-detail,.projects-panel,.assistant-panel { box-shadow:0 8px 26px #01051533; }
.project-card { padding:16px 10px 10px; margin-left:-10px; margin-right:-10px; border-radius:9px; }
.project-card:hover { background:#172441; }
.project-card:focus-within { background:#172441; }
.project-stage h3,.project-detail h2 { color:#f1f5ff; }
.library-dropzone,.upload-zone,.compact-upload { background:#0a132b; border-color:#3d5284; }
.library-dropzone:hover,.upload-zone:hover,.compact-upload:hover { background:#122346; border-color:var(--brand-cyan); }
.assistant-panel { border-top:2px solid #5067e4!important; background:linear-gradient(175deg,#121c3a,#0d152c 35%)!important; }
.assistant-panel h3:before { color:var(--brand-cyan); }
/* Keep foregrounds paired with their surfaces throughout the assistant. */
.assistant-message,.assistant-example { background:#172441; color:#e6edf7; }
.assistant-message[data-role="user"] { background:#203657; color:#e6edf7; }
.assistant-example:hover { background:#203657; color:#fff; border-color:#506b97; }
.assistant-proposal { background:#111d35; color:#e6edf7; border-color:#40577f; }
.assistant-change dt { color:#a0aec2; }
.assistant-change dd { background:#172441; color:#e6edf7; }
.assistant-change dd:last-child { background:#14372f; color:#e6edf7; }
.assistant-panel #assistant-refresh-notice:not(:empty) { background:#3b2e19; color:#f7d798; }
.assistant-panel #assistant-form { background:#0d152c; color:#e6edf7; }
.public-consultant { background:#101a34; color:#e6edf7; border-color:#253253; }
.friend-messages { background:#080f24; }
.project-permission { color:#a1b6dc; }
.stage-dialog { background:#0e1830; border-color:#41588d; }
.stage-dialog::backdrop { background:#020513cf; backdrop-filter:blur(4px); }
.toast { background:#14254a; border-color:#5576be; }
.auth-screen { position:relative; isolation:isolate; background:radial-gradient(ellipse at 8% 15%,#20378455,transparent 48%),radial-gradient(ellipse at 100% 90%,#442b871f,transparent 40%),#050919; padding:28px clamp(24px,6vw,100px) 56px; overflow:hidden; }
.auth-screen::before { content:''; position:absolute; z-index:-1; pointer-events:none; width:80vw; height:65vw; right:-55vw; top:-42vw; border:1px solid #3b76cd66; border-radius:50%; box-shadow:0 0 80px #1843cf22; }
body:has(#auth-screen:not([hidden])) > .topbar,
body:has(#auth-screen:not([hidden])) > .app-shell { display:none!important; }
.project-detail,.new-project { scroll-margin-top:86px; }
.auth-brand { gap:24px; flex-wrap:wrap; }
.auth-layout { max-width:1120px; margin:clamp(64px,12vh,128px) auto 0; gap:clamp(40px,7vw,110px); align-items:center; }
.auth-message { flex:1 1 600px; min-width:0; max-width:660px; }
.auth-message h1 { font-size:clamp(32px,3.5vw,52px); line-height:1.12; letter-spacing:-.04em; margin-bottom:18px; }
.brand-gradient-text { color:#76beff; background:linear-gradient(100deg,#a698ff,#6498ff 55%,#4ad6ee); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.auth-message>p:not(.eyebrow) { font-size:16px; line-height:1.7; max-width:590px; color:#acbedc; }
.auth-message .eyebrow { font-size:11px; margin-bottom:16px; }
.auth-card { flex:0 0 390px; width:390px; max-width:100%; border-radius:18px; padding:32px; background:linear-gradient(150deg,#131e3a,#0c142a)!important; border:1px solid #344774!important; box-shadow:0 20px 60px #0005,0 0 50px #343ecb0c; }
.auth-tabs { gap:24px; }
.auth-tab.is-active { color:#8fe4fa; border-color:var(--brand-cyan); }
.auth-form h2 { color:#f1f5ff; font-size:25px; }
.auth-form label { font-size:13px; margin:18px 0; }
.auth-form input { min-height:46px; }
.auth-form .button { min-height:46px; margin-top:6px; font-weight:650; }
@media(max-width:1050px) {
  .auth-layout { gap:32px; }
  .auth-card { flex-basis:360px; padding:26px; }
  .brand-descriptor { max-width:230px; line-height:1.5; }
}
@media(max-width:760px) {
  .auth-screen { padding:20px 20px 44px; }
  .auth-brand { gap:8px; }
  .auth-brand .brand-lockup { width:172px; }
  .brand-descriptor { width:100%; max-width:none; font-size:9px; }
  .auth-layout { display:flex; flex-direction:column; align-items:stretch; gap:24px; margin-top:28px; }
  .auth-message,.auth-card { flex:auto; width:100%; max-width:540px; margin-left:auto; margin-right:auto; }
  .auth-message h1 { font-size:34px; }
  .auth-message>p:not(.eyebrow) { font-size:14px; margin-bottom:0; }
  .auth-card { padding:24px; }
  .topbar { gap:12px; padding:0 14px; }
  .topbar .brand-lockup { width:158px; }
  .topbar-actions { gap:8px; }
  .topbar .icon-button { display:none; }
  #friends-button { padding:8px; font-size:12px; }
}
@media(max-width:380px) { .topbar .brand-lockup { width:146px; } .topbar { gap:8px; padding:0 10px; } }

/* Project hierarchy: distinct main blocks, quiet separators inside each block. */
#project-detail {
  --section-padding:18px;
  --section-gap:18px;
  background:#080f23!important;
  border-color:#283958!important;
  padding:22px;
}
#project-detail > h2 { line-height:1.35; overflow-wrap:anywhere; margin-bottom:24px; }
#project-detail .project-docs { gap:var(--section-gap); }
#project-detail .project-stage,
#project-detail .project-docs > .fold-section,
#project-detail #workspace-vso > .actual-vsoim-section {
  min-width:0;
  margin:0;
  padding:var(--section-padding);
  border:1px solid #3a5075!important;
  border-radius:12px;
  background:#101b34!important;
  box-shadow:0 3px 12px #02061140;
  scroll-margin-top:88px;
}
#project-detail > .project-stage { margin-top:var(--section-gap); }
#project-detail #workspace-review,
#project-detail #workspace-vso.project-stage {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--section-gap);
  padding:0;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
}
#project-detail .project-stage > .fold-toggle,
#project-detail .project-docs > .fold-section > .fold-toggle,
#project-detail #workspace-vso > .actual-vsoim-section > .fold-toggle,
#project-participants > details > summary {
  width:calc(100% + 2 * var(--section-padding));
  min-height:56px;
  margin:calc(-1 * var(--section-padding)) calc(-1 * var(--section-padding)) 18px;
  padding:15px var(--section-padding);
  border:0;
  border-bottom:1px solid #344c72;
  border-radius:11px 11px 0 0;
  background:#192b48;
  color:#f1f5ff;
  font-size:16px;
  font-weight:650;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:left;
  transition:background .15s,border-color .15s;
}
#project-detail .project-stage.is-folded > .fold-toggle,
#project-detail .project-docs > .fold-section.is-folded > .fold-toggle,
#project-detail #workspace-vso > .actual-vsoim-section.is-folded > .fold-toggle,
#project-participants > details:not([open]) > summary {
  margin-bottom:calc(-1 * var(--section-padding));
  border-bottom-color:transparent;
  border-radius:11px;
  background:#14223d;
}
#project-detail .project-stage > .fold-toggle:hover,
#project-detail .project-docs > .fold-section > .fold-toggle:hover,
#project-detail #workspace-vso > .actual-vsoim-section > .fold-toggle:hover,
#project-participants > details > summary:hover {
  background:#233b5c;
  color:#fff;
}
#project-detail .project-stage.fold-section:not(.is-folded),
#project-detail .project-docs > .fold-section:not(.is-folded),
#project-detail #workspace-vso > .actual-vsoim-section:not(.is-folded),
#project-participants:has(> details[open]) { border-color:#5774a1!important; }
#project-detail .fold-toggle:focus-visible,
#project-detail summary:focus-visible { outline:2px solid #45d7f2!important; outline-offset:3px; border-radius:7px; }
#project-detail .fold-toggle > span:first-child { min-width:0; }
#project-detail .fold-chevron {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:7px;
  background:#0b152b;
  color:#aedcff;
  font-size:17px;
}
#project-detail .stage-part {
  margin-top:18px;
  padding:12px 0 0;
  border:0;
  border-top:1px solid #304464;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#project-detail .stage-part > .fold-toggle,
#project-detail .actual-vsoim-section > .fold-toggle {
  min-height:44px;
  padding:10px 8px;
  border-radius:7px;
  color:#d5e5fa;
  font-size:14px;
  line-height:1.45;
}
#project-detail .stage-part > .fold-toggle:hover,
#project-detail .actual-vsoim-section > .fold-toggle:hover { background:#192b48; color:#fff; }
#project-detail .stage-part:not(.is-folded) > .fold-toggle { margin-bottom:12px; }
#project-detail .stage-part .fold-chevron { background:transparent; width:22px; height:22px; }
#project-detail .project-stage:not(#project-participants) > details:not(:first-child),
#project-detail #technical-report-block > details {
  margin:18px 0 0;
  padding:12px 0 0;
  border:0;
  border-top:1px solid #304464;
  border-radius:0;
}
#project-detail .project-stage:not(#project-participants) > details > summary,
#project-detail #technical-report-block > details > summary {
  min-height:44px;
  padding:11px 8px;
  border-radius:7px;
  color:#d5e5fa;
  line-height:1.45;
  font-weight:600;
  cursor:pointer;
  overflow-wrap:anywhere;
}
#project-detail .project-stage:not(#project-participants) > details > summary:hover,
#project-detail #technical-report-block > details > summary:hover { background:#192b48; color:#fff; }
#project-detail .project-stage:not(#project-participants) > details[open] > summary,
#project-detail #technical-report-block > details[open] > summary { margin-bottom:12px; }
/* The participants' native accordion is a main heading, not an inner subsection. */
#project-participants > details > summary { list-style-position:inside; }
#project-detail #project-participants > details { margin:0; padding:0; border:0; }
#project-detail .block-completion,
#project-detail .block-notes { margin-top:22px; padding-top:16px; border-top-color:#304464; }
#project-detail .project-stage h4:not(.fold-original-heading) { margin:22px 0 12px; line-height:1.4; color:#d5e5fa; }
#project-detail .project-stage > p { margin:12px 0 16px; }
#project-detail .project-stage > :last-child { margin-bottom:0; }
@media(max-width:650px) {
  #project-detail { --section-padding:12px; --section-gap:14px; padding:12px; }
  #project-detail > h2 { font-size:19px; margin-bottom:18px; }
  #project-detail .project-stage > .fold-toggle,
  #project-detail .project-docs > .fold-section > .fold-toggle,
  #project-detail #workspace-vso > .actual-vsoim-section > .fold-toggle,
  #project-participants > details > summary { min-height:54px; padding-top:14px; padding-bottom:14px; font-size:15px; gap:10px; }
  #project-detail .stage-part { margin-top:14px; }
  #project-detail .stage-part > .fold-toggle,
  #project-detail .project-stage:not(#project-participants) > details > summary,
  #project-detail #technical-report-block > details > summary { padding-left:4px; padding-right:4px; }
}
