:root {
  --forest-950:#082b25;
  --forest-900:#0b352d;
  --forest-800:#12483c;
  --ivory:#f7f4ec;
  --cream:#fffdf8;
  --brass:#c9a35b;
  --gold-deep:#8a652a;
  --charcoal:#1b2421;
  --muted:#626c65;
  --line:#e2dfd4;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,'Segoe UI',sans-serif;
  --radius:8px;
  --shadow:0 3px 12px #082b2505
}

* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--ivory);
  color:var(--charcoal);
  font:14px/1.48 var(--sans)
}
a {
  color:var(--forest-800);
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
button,input,select,textarea {
  font:inherit
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}
button,summary {
  cursor:pointer
}
button:disabled,input:disabled {
  cursor:not-allowed
}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--gold-deep);
  outline-offset:4px
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.2
}
h1 {
  font-size:36px;
  letter-spacing:-.9px;
  margin-bottom:10px
}
h2 {
  font-size:23px;
  margin-bottom:12px
}
h3 {
  font-size:19px
}
p {
  color:var(--muted)
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  padding:12px 20px;
  background:var(--cream);
  color:var(--forest-950);
  z-index:100
}
.skip-link:focus {
  top:12px
}
.eyebrow {
  font-family:var(--sans);
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  color:var(--gold-deep);
  margin-bottom:12px
}
.gold-text {
  color:var(--brass)
}
.brand {
  display:flex;
  gap:13px;
  align-items:center;
  color:var(--ivory);
  font:22px/1.2 var(--serif);
  letter-spacing:3px
}
.brand:hover {
  text-decoration:none
}
.brand-sub {
  display:block;
  font:8px/1.8 var(--sans);
  letter-spacing:3.2px;
  margin-top:3px
}
.brand img {
  flex-shrink:0
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  min-height:44px;
  padding:11px 20px;
  border:1px solid transparent;
  border-radius:4px;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
  text-decoration:none
}
.button:hover {
  text-decoration:none;
  filter:brightness(.95)
}
.primary {
  background:var(--brass);
  color:var(--forest-950)
}
.secondary {
  background:var(--cream);
  color:var(--forest-950);
  border-color:var(--line)
}
.hero-secondary {
  color:var(--ivory);
  background:#082b2580;
  border-color:#f7f4ec66
}

/* Steady forest navigation and a warm, spacious working canvas. */
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:238px;
  background:var(--forest-950);
  color:var(--ivory);
  padding:30px 18px;
  display:flex;
  flex-direction:column;
  z-index:30;
  overflow-y:auto
}
.sidebar .brand {
  padding-left:6px
}
.workspace-label {
  font-size:9px;
  letter-spacing:2.2px;
  color:#a9b7ab;
  margin:37px 14px 18px
}
.nav-item {
  display:flex;
  gap:13px;
  align-items:center;
  color:#d6dfd7;
  padding:11px 13px;
  margin:3px 0;
  border-radius:4px;
  border-left:2px solid transparent;
  font-size:12px;
  min-height:43px
}
.nav-item:hover {
  background:var(--forest-800);
  text-decoration:none;
  color:white
}
.nav-item.selected {
  background:#c9a35b18;
  color:#e9c780;
  border-left-color:var(--brass)
}
.nav-symbol {
  color:#abbaa9;
  font-size:10px;
  min-width:16px
}
.selected .nav-symbol {
  color:var(--brass)
}
.sidebar-footer {
  margin:auto 14px 0;
  padding-top:38px;
  color:#bdc9bd;
  font:italic 16px/1.5 var(--serif)
}
.tiny-rule {
  display:block;
  width:30px;
  height:1px;
  background:var(--brass);
  margin-bottom:15px
}
.workspace-main {
  margin-left:238px;
  min-width:0
}
.utility-bar {
  height:82px;
  border-bottom:1px solid var(--line);
  background:var(--cream);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 38px;
  gap:20px
}
.search-box {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--muted);
  flex:1;
  max-width:350px
}
.search-box>span {
  font-size:28px
}
.search-box input {
  width:100%;
  padding:10px 4px;
  border:0;
  background:transparent;
  font-size:12px;
  color:var(--muted)
}
.search-box input::placeholder {
  color:var(--muted);
  opacity:1
}
.utility-right {
  display:flex;
  align-items:center;
  gap:26px
}
.preview-label {
  font-size:10px;
  letter-spacing:.4px;
  color:var(--muted);
  padding-right:24px;
  border-right:1px solid var(--line)
}
.account {
  position:relative
}
.account summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:11px
}
.account summary::-webkit-details-marker {
  display:none
}
.avatar {
  width:35px;
  height:35px;
  border:1px solid #d8c89f;
  border-radius:50%;
  background:#ede7d6;
  display:grid;
  place-items:center;
  color:var(--forest-800);
  font-family:var(--serif);
  font-size:18px
}
.account-name {
  font-size:12px;
  font-weight:600
}
.account-name small {
  display:block;
  font-size:10px;
  font-weight:400;
  color:var(--muted)
}
.account-panel {
  position:absolute;
  top:54px;
  right:0;
  width:235px;
  padding:20px;
  background:var(--cream);
  border:1px solid var(--line);
  box-shadow:0 8px 30px #082b251c;
  z-index:40
}
.account-panel p {
  font-size:12px
}
.account-panel .button {
  width:100%
}
.menu-toggle {
  display:none
}
.content {
  padding:32px 38px 40px;
  max-width:1640px;
  margin:0 auto
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px
}
.page-heading p:last-child {
  margin-bottom:0;
  font-size:12px
}
.status-tag {
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  font-size:10px;
  color:var(--muted);
  white-space:nowrap
}
.preview-note {
  background:#eee9dc;
  border-left:2px solid var(--brass);
  padding:9px 13px;
  font-size:11px;
  margin:0 0 22px
}
.kpi-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:15px;
  margin-bottom:25px
}
.kpi {
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:19px 20px 16px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  color:var(--charcoal)
}
a.kpi:hover {
  border-color:var(--brass);
  text-decoration:none
}
.kpi>span {
  font-size:11px;
  font-weight:600
}
.kpi strong {
  font:34px/1.2 var(--serif);
  margin:12px 0 8px
}
.kpi small {
  font-size:9px;
  color:var(--muted)
}
.mission-hero {
  border-radius:var(--radius);
  padding:34px 36px;
  min-height:245px;
  color:var(--ivory);
  background:linear-gradient(90deg,#082b25 15%,#082b25df 48%,#082b2530 100%),url('roof-house.jpg') center 52%/cover;
  position:relative;
  margin-bottom:24px;
  overflow:hidden
}
.mission-hero h2 {
  font-size:31px;
  letter-spacing:-.5px;
  margin-bottom:12px
}
.mission-hero p:not(.eyebrow) {
  font-size:12px;
  color:#d3ddd3
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:23px
}
.dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:22px
}
.card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--cream);
  padding:23px;
  box-shadow:var(--shadow);
  min-width:0
}
.card-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px
}
.card-heading h2 {
  font-size:21px;
  margin:0
}
.card-heading a {
  font-size:10px;
  white-space:nowrap
}
.card-kicker {
  font-size:8px;
  letter-spacing:1px;
  color:var(--muted)
}
.reference-workspace .live-pipeline .pipeline-row::before {
  content: none;
}
.reference-workspace .live-pipeline .pipeline-row span {
  color: var(--ink, #1b2421);
}
.pipeline-stages {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:27px;
  gap:8px
}
.pipeline-stages>div {
  display:flex;
  flex-direction:column;
  border-top:2px solid #dfd9c8;
  padding-top:12px;
  gap:10px;
  font-size:10px
}
.pipeline-stages strong {
  font:26px var(--serif)
}
.stage-dot {
  width:6px;
  height:6px;
  background:var(--brass);
  border-radius:50%
}
.pipeline-stages>div:first-child {
  border-color:var(--forest-800)
}
.empty-caption {
  font-size:11px;
  margin:22px 0 0
}
.empty-state {
  text-align:center;
  padding:30px 20px
}
.empty-state.compact {
  padding:13px 10px 5px
}
.empty-icon {
  display:block;
  font-size:28px;
  color:var(--gold-deep);
  margin-bottom:10px
}
.empty-state h3 {
  font-size:17px;
  margin-bottom:9px
}
.empty-state p {
  max-width:340px;
  margin:0 auto;
  font-size:11px;
  line-height:1.7
}
.chart-empty {
  min-height:184px;
  display:grid;
  place-items:center;
  text-align:center;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,#e2dfd480 44px,transparent 45px);
  border-bottom:1px solid var(--line);
  padding:25px
}
.chart-empty>div {
  background:var(--cream);
  padding:12px
}
.chart-empty h3 {
  font-size:18px;
  margin-bottom:8px
}
.chart-empty p {
  font-size:11px;
  margin:0
}
.weather {
  background:#eeeee2
}
.weather .eyebrow {
  font-size:8px;
  margin-top:23px
}
.weather h3 {
  font-size:21px
}
.weather p {
  font-size:11px;
  max-width:390px
}
.weather-symbol {
  font-size:28px;
  color:var(--gold-deep)
}
.weather-note {
  border-top:1px solid #d8dacb;
  padding-top:14px;
  margin-bottom:0;
  font-size:10px!important
}
.page-footer {
  max-width:1640px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  padding:0 38px 25px;
  font-size:9px;
  color:var(--muted)
}
.page-footer span:first-child {
  letter-spacing:1.5px
}
.page-footer span:last-child {
  font-family:var(--serif);
  font-style:italic;
  font-size:12px
}
.workspace-empty {
  text-align:center;
  padding:80px 24px
}
.workspace-empty p {
  max-width:410px;
  margin:0 auto 23px
}
.workspace-empty .eyebrow {
  margin-bottom:18px
}
.workspace-empty h2 {
  font-size:30px
}

/* Split welcome screen, with replaceable local photography and identity. */
.login-layout {
  min-height:100vh;
  display:grid;
  grid-template-columns:43% 57%
}
.login-panel {
  background:var(--forest-950);
  color:var(--ivory);
  padding:45px 12%;
  display:flex;
  flex-direction:column
}
.login-panel .brand {
  font-size:26px
}
.login-panel .brand-sub {
  font-size:9px;
  letter-spacing:4px
}
.login-form-wrap {
  max-width:370px;
  width:100%;
  margin:65px auto
}
.login-form-wrap h1 {
  font-size:46px;
  letter-spacing:-1px;
  margin-bottom:15px
}
.login-intro {
  color:#c6d3c8;
  font:20px/1.5 var(--serif)
}
.login-divider {
  height:1px;
  background:#e7ecd025;
  width:100%;
  margin:30px 0
}
.login-form-wrap h2 {
  font-size:25px;
  margin-bottom:10px
}
.login-help {
  font-size:12px;
  color:#c6d3c8;
  margin-bottom:24px
}
.login-form {
  display:flex;
  flex-direction:column
}
.login-form label {
  color:#e1e6dc;
  font-size:11px;
  margin-bottom:8px
}
.login-form input {
  height:46px;
  padding:12px 14px;
  border:1px solid #6f8a73;
  background:#ffffff08;
  color:white;
  border-radius:4px;
  margin-bottom:19px;
  font-size:13px
}
.login-form input::placeholder {
  color:#b5c3b6
}
.login-form input:focus-visible {
  outline-color:var(--brass)
}
.login-form .button {
  margin-top:6px;
  justify-content:space-between;
  height:47px;
  font-size:13px
}
.account-help {
  font-size:10px;
  text-align:center;
  color:#c1d0c1;
  margin:22px 0 0
}
.login-footer {
  margin-top:auto;
  font-size:8px;
  letter-spacing:1.2px;
  color:#b4c3b7
}
.login-footer span {
  display:block;
  font:italic 13px var(--serif);
  letter-spacing:0;
  margin-top:8px
}
.login-story {
  display:flex;
  flex-direction:column;
  background:var(--ivory)
}
.story-photo {
  flex:1;
  min-height:530px;
  background:linear-gradient(0deg,#082b25eb 0%,#082b2520 80%),url('roof-house.jpg') center 45%/cover;
  display:flex;
  align-items:flex-end;
  padding:55px 60px
}
.photo-caption {
  color:var(--ivory)
}
.photo-caption .eyebrow {
  color:#eed59e;
  font-size:9px;
  letter-spacing:2.5px
}
.photo-caption h2 {
  font-size:49px;
  line-height:1.15;
  letter-spacing:-.5px;
  margin:20px 0
}
.photo-caption p {
  font-size:14px;
  color:#e0e6dd;
  line-height:1.7
}
.pillars {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:29px 35px;
  padding:35px 50px
}
.pillar-number {
  font-size:9px;
  color:var(--gold-deep);
  letter-spacing:2px
}
.pillars h3 {
  font-size:18px;
  margin:8px 0
}
.pillars p {
  font-size:11px;
  line-height:1.6;
  margin:0
}
.form-error {
  border:1px solid #d7a396;
  background:#4e3029;
  color:#fff3ed;
  font-size:12px;
  padding:12px;
  margin-bottom:20px;
  border-radius:4px
}
.error-page {
  max-width:640px;
  margin:10vh auto;
  padding:40px;
  text-align:center
}
.error-page>img {
  margin-bottom:22px
}
.error-page .button {
  margin-top:15px
}

@media(min-width:1600px) {
  .content {
  padding-top:40px
}
.mission-hero {
  min-height:270px
}
.login-form-wrap {
  margin:90px auto
}
.login-panel {
  padding-left:15%;
  padding-right:15%
}

}

@media(max-width:1150px) {
  .content {
  padding:28px 24px
}
.utility-bar {
  padding:0 24px
}
.preview-label {
  display:none
}
.kpi-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.dashboard-grid {
  gap:16px
}
.card {
  padding:20px
}
.card-heading {
  flex-wrap:wrap
}
.login-panel {
  padding:35px 9%
}
.login-form-wrap h1 {
  font-size:37px
}
.story-photo {
  padding:40px
}
.photo-caption h2 {
  font-size:42px
}
.pillars {
  padding:30px;
  gap:25px
}
.page-heading {
  align-items:flex-start
}
.status-tag {
  display:none
}

}

@media(max-width:900px) {
  .sidebar {
  width:210px;
  padding:25px 12px
}
.sidebar .brand {
  font-size:19px
}
.workspace-main {
  margin-left:210px
}
.dashboard-grid {
  grid-template-columns:1fr
}
.kpi-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.page-heading h1 {
  font-size:30px
}
.mission-hero {
  padding:28px
}
.mission-hero h2 {
  font-size:27px
}
.login-layout {
  grid-template-columns:1fr 1fr
}
.login-panel {
  padding:35px 10%
}
.login-form-wrap {
  margin:50px auto
}
.login-form-wrap h1 {
  font-size:33px
}
.login-panel .brand {
  font-size:20px
}
.login-panel .brand-sub {
  font-size:8px;
  letter-spacing:2.5px
}
.photo-caption h2 {
  font-size:36px
}
.story-photo {
  padding:30px
}
.pillars {
  grid-template-columns:1fr;
  gap:20px
}
.pillars>div:nth-child(n+3) {
  display:block
}
.login-intro {
  font-size:18px
}

}

@media(max-width:680px) {
  .sidebar {
  transform:translateX(-100%);
  visibility:hidden;
  width:238px;
  top:70px;
  transition:transform .18s ease,visibility .18s
}

/* Shared support-ticket contact dialog. */
.contact-dialog { width: min(700px,calc(100vw - 28px)); max-height: min(880px,calc(100svh - 28px)); padding: 0; overflow: auto; color: #17231f; background: #fffefa; border: 1px solid #c8a665; border-radius: 10px; box-shadow: 0 24px 70px #001b1599; }
.contact-dialog::backdrop { background: #001b17bd; backdrop-filter: blur(3px); }
.contact-dialog-heading { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; gap: 20px; align-items: start; padding: 20px 24px 17px; color: #fffdf5; background: #06362b; border-bottom: 1px solid #b6955d; }
.contact-dialog-heading p { margin: 0 0 4px; color: #dbbd7e; font-size: 9px; letter-spacing: 2px; }
.contact-dialog-heading h2 { margin: 0; font: 600 27px/1.1 Georgia,serif; }
.contact-dialog-heading form,.contact-dialog-heading button { margin: 0; }
.contact-dialog-heading button { width: 36px; height: 36px; color: #f8f5e9; background: transparent; border: 1px solid #ffffff4a; border-radius: 50%; font-size: 24px; line-height: 1; }
.contact-dialog>p { margin: 0; padding: 18px 24px 0; color: #52605a; font-size: 13px; line-height: 1.6; }
.contact-form { display: flex; flex-direction: column; gap: 15px; padding: 20px 24px 24px; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form label { display: flex; flex-direction: column; gap: 6px; color: #21352e; font-size: 12px; font-weight: 650; }
.contact-form label span,.contact-form small { color: #6a756f; font-size: 10px; font-weight: 400; }
.contact-form input,.contact-form select,.contact-form textarea { width: 100%; color: #17231f; background: white; border: 1px solid #cfd3cc; border-radius: 4px; padding: 10px 11px; font: 13px/1.4 var(--sans,Arial,sans-serif); }
.contact-form textarea { resize: vertical; min-height: 120px; }
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible { outline: 2px solid #9e7b42; outline-offset: 1px; }
.contact-form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.contact-trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.reference-login-footer button { color: inherit; font-size: inherit; }
@media(max-width:560px) { .contact-dialog { max-height: calc(100svh - 12px); width: calc(100vw - 12px); }.contact-dialog-heading,.contact-form { padding-left: 17px; padding-right: 17px; }.contact-dialog>p { padding-left: 17px; padding-right: 17px; }.contact-form-grid { grid-template-columns: 1fr; }.contact-form-actions { flex-direction: column-reverse; }.contact-form-actions .button { width: 100%; justify-content: center; } }
.navigation-open .sidebar {
  transform:translateX(0);
  visibility:visible;
  box-shadow:15px 0 40px #082b2530
}
.workspace-main {
  margin-left:0
}
.utility-bar {
  height:70px;
  gap:13px;
  padding:0 18px;
  position:sticky;
  top:0;
  z-index:35
}
.menu-toggle {
  display:block;
  background:var(--forest-950);
  color:var(--ivory);
  border:0;
  border-radius:3px;
  padding:10px 12px;
  min-height:44px;
  font-size:11px
}
.search-box {
  max-width:190px
}
.search-box input {
  font-size:10px
}
.search-box>span {
  display:none
}
.account-name {
  display:none
}
.utility-right {
  gap:0
}
.content {
  padding:25px 18px
}
.page-heading h1 {
  font-size:29px
}
.page-heading .eyebrow {
  font-size:8px
}
.page-heading p:last-child {
  font-size:11px
}
.preview-note {
  font-size:10px
}
.kpi-grid {
  gap:10px
}
.kpi {
  padding:16px
}
.kpi small {
  font-size:9px
}
.mission-hero {
  padding:25px 22px;
  background-position:65% center
}
.mission-hero .eyebrow {
  font-size:8px;
  letter-spacing:1.4px
}
.mission-hero h2 {
  font-size:25px
}
.hero-actions {
  gap:9px
}
.hero-actions .button {
  padding:10px 14px;
  font-size:11px
}
.card-heading h2 {
  font-size:20px
}
.pipeline-stages {
  gap:7px
}
.pipeline-stages>div {
  font-size:9px
}
.page-footer {
  padding:0 18px 20px
}
.login-layout {
  display:flex;
  flex-direction:column
}
.login-panel {
  padding:30px 28px;
  min-height:100vh
}
.login-panel .brand {
  font-size:23px
}
.login-form-wrap {
  margin:48px auto;
  max-width:360px
}
.login-form-wrap h1 {
  font-size:42px
}
.login-footer {
  text-align:center
}
.login-story {
  display:block
}
.story-photo {
  min-height:390px;
  padding:35px
}
.photo-caption h2 {
  font-size:39px
}
.pillars {
  grid-template-columns:1fr 1fr;
  padding:30px;
  gap:25px
}
.pillars>div:nth-child(n+3) {
  display:block
}
.pillars h3 {
  font-size:17px
}
.account-panel {
  right:-5px
}
.workspace-empty {
  padding:55px 20px
}
.workspace-empty h2 {
  font-size:25px
}

}

.contractor-intake.crm-workspace {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(20px, 5vw, 56px);
}
.contractor-intake h1 {
  font-family: Georgia, serif;
  font-size: clamp(30px, 5vw, 46px);
  line-height: 1.15;
}
.contractor-intake .crm-form {
  margin-top: 28px;
}
.intake-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 20px;
}
.intake-checklist .crm-property {
  margin-bottom: 0;
}
.compliance-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: 24px;
}
.compliance-issues {
  list-style: none;
  padding: 0;
}
.compliance-issues li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding: 12px 0;
}
.compliance-review-card {
  display: flex;
  flex-direction: column;
}
.compliance-review-card .crm-actions {
  margin-top: auto;
}
.communications-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(24px, 4vw, 44px);
  margin-bottom: 24px;
  background: linear-gradient(135deg, var(--forest-950), var(--forest-800));
  color: var(--cream);
}
.communications-hero h2 {
  color: var(--cream);
  font-size: clamp(26px, 4vw, 38px);
}
.communications-hero p:not(.eyebrow) {
  max-width: 720px;
  color: #e4e7dc;
}
.communications-signal svg {
  width: 58px;
  height: 58px;
  color: var(--brass);
}
.communications-project {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.attention-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.attention-wide { grid-column: 1 / -1; }
.attention-crew-list { margin-top: 18px; }
@media(max-width:550px) {
  .communications-signal { display: none; }
  .communications-project { align-items: flex-start; flex-direction: column; }
  .attention-grid { grid-template-columns: 1fr; }
  .attention-wide { grid-column: auto; }
}
.contractor-intake input, .contractor-intake select, .contractor-intake textarea {
  max-width: 100%;
  min-width: 0;
}
.contractor-intake #contractor-identity input[readonly] {
  background: #e5e7e4;
  border-color: #c4c9c3;
  color: #626862;
  cursor: not-allowed;
}
.contractor-intake #contractor-identity input:not([readonly]) {
  background: #fffefa;
  border-color: var(--brass);
}
.company-uploaded-brand { display: grid; place-items: center; width: 100%; min-height: 100px; }
.sidebar .company-uploaded-brand { padding: 9px; border: 1px solid color-mix(in srgb,var(--company-accent-on-light,var(--brass)) 30%,transparent); border-radius: 8px; background: color-mix(in srgb,#fff 88%,var(--company-primary,var(--forest-950))); }
.company-uploaded-brand img { display: block; max-width: 100%; max-height: 150px; object-fit: contain; }
.setup-intro { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 30px; margin-bottom: 24px; color: #f8f5e9; background: var(--company-sidebar,linear-gradient(130deg,var(--forest-950),#214f40)); }
.setup-intro > div { position: relative; z-index: 1; max-width: 690px; }
.setup-intro h2 { margin: 4px 0 10px; font: 500 30px var(--serif); }
.setup-orbit { width: 150px; height: 150px; flex: 0 0 auto; border: 1px solid var(--company-accent-on-dark,var(--brass)); border-radius: 50%; box-shadow: 0 0 0 22px #c9a35b16,0 0 50px #c9a35b36; }
.company-setup-form fieldset { border: 1px solid var(--line); border-radius: 8px; padding: 22px; }
.company-setup-form legend { padding: 0 8px; font: 600 18px var(--sans); color: var(--forest-900); }
.company-setup-form .crm-fields { align-items: start; }
.branding-reset-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.branding-reset-row p { margin: 0; max-width: 560px; color: var(--muted); font-size: 13px; }
.service-area-picker { position: relative; min-width: 0; }
.service-area-picker label { display: grid; }
.service-area-results { position: absolute; z-index: 20; top: calc(100% - 22px); left: 0; right: 0; max-height: 280px; overflow-y: auto; padding: 7px; border: 1px solid #aebbb2; border-radius: 8px; background: #fffefa; box-shadow: 0 18px 45px #071f1a26; }
.service-area-option { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 12px; border: 0; border-radius: 5px; color: var(--forest-950); background: transparent; text-align: left; cursor: pointer; }
.service-area-option:hover,.service-area-option:focus-visible { background: color-mix(in srgb,var(--company-accent,var(--brass)) 13%,#fff); outline: 2px solid var(--company-accent-on-light,var(--brass)); }
.service-area-option span { flex: 0 0 auto; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.service-area-empty { margin: 0; padding: 12px; color: var(--muted); }
.setup-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.crm-workspace .setup-choice { position: relative; display: grid; gap: 7px; min-height: 150px; padding: 20px; border: 1px solid #bbc6bc; border-radius: 8px; background: #f8f7f0; cursor: pointer; }
.setup-choice input { width: auto!important; position: absolute; top: 16px; right: 16px; accent-color: var(--company-accent-on-light,var(--brass)); }
.setup-choice strong { padding-right: 25px; font-size: 16px; }
.setup-choice span { color: var(--muted); font-weight: 400; line-height: 1.5; }
.setup-choice:has(input:checked) { border-color: var(--company-accent-on-light,var(--brass)); background: color-mix(in srgb,var(--company-accent,var(--brass)) 9%,#fffdf8); box-shadow: inset 0 0 0 1px var(--company-accent-on-light,var(--brass)); }
.company-setup-prompt { position: fixed; z-index: 30; inset: 50% auto auto 50%; transform: translate(-50%,-50%); width: min(560px,calc(100vw - 36px)); padding: 34px; border: 1px solid var(--brass); border-radius: 12px; background: #fffdf8; color: var(--charcoal); box-shadow: 0 25px 90px #001a164d; }
.company-setup-prompt::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(circle at 90% 0,#c9a35b26,transparent 42%); }
.company-setup-prompt h2 { margin: 6px 0 12px; font: 500 34px var(--serif); color: var(--forest-950); }
@media(max-width:750px){.setup-choice-grid{grid-template-columns:1fr}.setup-orbit{display:none}}

@media(prefers-reduced-motion:reduce) {
  * {
  transition:none!important;
  scroll-behavior:auto!important
}

}
