/* =====================================================
   SASHA PURSUIT FORMS
===================================================== */


.sasha-form-page {
  position: relative;

  min-height: 100vh;

  padding:
    clamp(3.5rem, 7vw, 6rem)
    0
    clamp(6rem, 10vw, 9rem);
}


.sasha-form-container {
  width:
    min(
      calc(
        100% -
        (var(--sasha-content-padding) * 2)
      ),
      var(--sasha-container-width)
    );

  margin: 0 auto;
}


/* =====================================================
   FORM HEADER
===================================================== */


.sasha-form-header {
  max-width: 880px;

  margin-bottom:
    clamp(3rem, 6vw, 5rem);
}


.sasha-form-eyebrow {
  margin:
    0
    0
    0.65rem;

  color: var(--sasha-pink);

  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;

  text-transform: uppercase;
}


.sasha-form-header h1 {
  margin: 0;

  color: var(--sasha-white);

  font-size:
    clamp(2.6rem, 6vw, 5.25rem);

  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 0.95;
}


.sasha-form-intro {
  max-width: 780px;

  margin:
    1.5rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.84);

  font-size:
    clamp(1.05rem, 1.8vw, 1.3rem);

  line-height: 1.6;
}


/* =====================================================
   PURSUIT FORM
===================================================== */


.sasha-pursuit-form {
  display: flex;

  flex-direction: column;

  gap: 1rem;
}


/* =====================================================
   AI PURSUIT IMPORT
===================================================== */


.sasha-ai-import-block {
  margin:
    0
    0
    clamp(3rem, 6vw, 4rem);

  padding:
    clamp(2rem, 4vw, 3rem);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);

  box-shadow:
    inset
    0
    1px
    0
    rgba(255, 255, 255, 0.05),
    0
    18px
    42px
    rgba(20, 16, 72, 0.16);
}


.sasha-ai-import-header {
  max-width: 900px;
}


.sasha-ai-import-header h2 {
  margin: 0;

  color: var(--sasha-white);

  font-size:
    clamp(1.8rem, 4vw, 2.8rem);

  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.05;
}


.sasha-ai-import-header > p:last-child {
  max-width: 820px;

  margin:
    1.4rem
    0
    2.5rem;

  color:
    rgba(255, 255, 255, 0.82);

  line-height: 1.7;
}


.sasha-ai-import-grid {
  display: grid;

  gap: 2rem;
}


/* =====================================================
   AI IMPORT NOTE
===================================================== */


.sasha-ai-import-note {
  margin:
    2.5rem
    0;

  padding:
    1.5rem
    2rem;

  background:
    var(--sasha-white-04);

  border-left:
    5px solid
    var(--sasha-pink);

  border-radius: 12px;
}


.sasha-ai-import-note strong {
  display: block;

  margin-bottom: 1rem;

  color: var(--sasha-white);

  font-size: 1.1rem;
  font-weight: 700;
}


.sasha-ai-import-note ul {
  margin: 0;

  padding-left: 1.4rem;
}


.sasha-ai-import-note li {
  margin-bottom: 0.6rem;

  color:
    rgba(255, 255, 255, 0.86);

  line-height: 1.55;
}


.sasha-ai-import-note li:last-child {
  margin-bottom: 0;
}


/* =====================================================
   AI ACTIONS
===================================================== */


.sasha-ai-import-actions {
  margin-top: 2.5rem;
}


.sasha-ai-import-actions
.sasha-form-submit-button {
  min-width: 250px;
}


/* =====================================================
   AI LOADING
===================================================== */


.sasha-ai-import-loading {
  display: flex;

  align-items: center;
  justify-content: flex-start;

  gap: 0.8rem;

  margin-top: 1.5rem;
}


.sasha-ai-import-loading[hidden] {
  display: none;
}


.sasha-ai-import-loading p {
  margin: 0;

  color:
    rgba(255, 255, 255, 0.8);

  font-size: 0.9rem;
  font-weight: 600;
}


.sasha-ai-import-spinner {
  width: 22px;
  height: 22px;

  flex: 0 0 auto;

  border:
    3px solid
    rgba(255, 255, 255, 0.2);

  border-top-color:
    var(--sasha-pink);

  border-radius: 50%;

  animation:
    sasha-ai-import-spinner
    750ms
    linear
    infinite;
}


@keyframes sasha-ai-import-spinner {

  to {
    transform:
      rotate(360deg);
  }

}


.sasha-ai-import-status {
  margin-top: 1rem;
}


/* =====================================================
   FORM SECTIONS
===================================================== */


.sasha-form-section {
  overflow: hidden;

  margin-bottom: 20px;

  color: var(--sasha-white);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);

  box-shadow:
    inset
    0
    1px
    0
    rgba(255, 255, 255, 0.05),
    0
    18px
    42px
    rgba(20, 16, 72, 0.12);

  transition:
    background-color 180ms ease,
    border-color 180ms ease;
}


.sasha-form-section:hover {
  background:
    var(--sasha-white-08);

  border-color:
    var(--sasha-white-40);
}


.sasha-form-section[open] {
  background:
    var(--sasha-white-08);

  border-color:
    var(--sasha-white-40);
}


/* =====================================================
   SECTION SUMMARY
===================================================== */


.sasha-form-section summary {
  position: relative;

  display: flex;

  min-height: 88px;

  align-items: center;

  padding:
    1.4rem
    5.25rem
    1.4rem
    clamp(1.4rem, 3vw, 2.4rem);

  color: var(--sasha-white);

  cursor: pointer;

  list-style: none;

  font-size:
    clamp(1.05rem, 2vw, 1.4rem);

  font-weight: 700;
  line-height: 1.2;
}


.sasha-form-section
summary::-webkit-details-marker {
  display: none;
}


.sasha-form-section summary::marker {
  content: "";
}


.sasha-form-section summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right:
    clamp(1.25rem, 3vw, 2rem);

  display: flex;

  width: 44px;
  height: 44px;

  align-items: center;
  justify-content: center;

  color: var(--sasha-white);

  background:
    var(--sasha-navy);

  border:
    2px solid
    var(--sasha-white);

  border-radius: 50%;

  font-size: 1.65rem;
  font-weight: 300;
  line-height: 1;

  transform:
    translateY(-50%);
}


.sasha-form-section[open]
summary::after {
  content: "−";

  background:
    var(--sasha-pink);
}


.sasha-form-section
summary:focus-visible {
  outline:
    3px solid
    var(--sasha-pink);

  outline-offset: -3px;
}


/* =====================================================
   SECTION CONTENT
===================================================== */


.sasha-form-section-content {
  padding:
    clamp(1.75rem, 4vw, 3rem)
    clamp(1.4rem, 3vw, 2.4rem)
    clamp(2.25rem, 5vw, 3.5rem);

  border-top:
    1px solid
    var(--sasha-white-18);
}


.sasha-form-section-intro {
  max-width: 760px;

  margin:
    0
    0
    clamp(1.75rem, 3vw, 2.5rem);

  color:
    rgba(255, 255, 255, 0.82);

  font-size: 0.98rem;
  line-height: 1.55;
}


/* =====================================================
   FORM GRIDS
===================================================== */


.sasha-form-grid {
  display: grid;

  grid-template-columns: 1fr;

  gap:
    clamp(1.5rem, 3vw, 2rem)
    clamp(1.5rem, 3vw, 2.25rem);
}


.sasha-form-grid-two {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
}


.sasha-form-field {
  min-width: 0;
}


.sasha-form-field-wide {
  grid-column: 1 / -1;
}


/* =====================================================
   LABELS
===================================================== */


.sasha-form-field label {
  display: block;

  margin:
    0
    0
    0.55rem;

  color: var(--sasha-white);

  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.3;
}


.sasha-form-required {
  margin-left: 0.2rem;

  color: var(--sasha-pink);

  font-size: 1rem;
  font-weight: 800;
}


.sasha-form-optional {
  margin-left: 0.35rem;

  color:
    rgba(255, 255, 255, 0.55);

  font-size: 0.76rem;
  font-weight: 500;

  text-transform: lowercase;
}


/* =====================================================
   INPUTS
===================================================== */


.sasha-form-field input,
.sasha-form-field select,
.sasha-form-field textarea {
  display: block;

  width: 100%;

  color: var(--sasha-white);

  background:
    rgba(38, 34, 98, 0.62);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius: 14px;

  outline: none;

  font-size: 1rem;
  line-height: 1.4;

  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}


.sasha-form-field input,
.sasha-form-field select {
  min-height: 52px;

  padding:
    0.8rem
    1rem;
}


.sasha-form-field textarea {
  min-height: 130px;

  padding: 1rem;

  resize: vertical;
}


.sasha-form-field
input:hover,
.sasha-form-field
select:hover,
.sasha-form-field
textarea:hover {
  background:
    rgba(38, 34, 98, 0.76);

  border-color:
    var(--sasha-white-40);
}


.sasha-form-field
input:focus,
.sasha-form-field
select:focus,
.sasha-form-field
textarea:focus {
  background:
    rgba(38, 34, 98, 0.9);

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    3px
    rgba(242, 130, 170, 0.18);
}


.sasha-form-field
input::placeholder,
.sasha-form-field
textarea::placeholder {
  color:
    rgba(255, 255, 255, 0.43);

  opacity: 1;
}


.sasha-form-field
select option {
  color: var(--sasha-navy);

  background:
    var(--sasha-white);
}


/* =====================================================
   FILE INPUT
===================================================== */


.sasha-form-field
input[type="file"] {
  min-height: 58px;

  padding: 0.55rem;
}


.sasha-form-field
input[type="file"]::file-selector-button {
  min-height: 40px;

  margin-right: 0.9rem;

  padding:
    0.65rem
    1rem;

  color: var(--sasha-white);

  background:
    var(--sasha-white-08);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius: 10px;

  cursor: pointer;

  font-weight: 700;
}


.sasha-form-field
input[type="file"]::file-selector-button:hover {
  background:
    var(--sasha-white-14);

  border-color:
    var(--sasha-white-40);
}


/* =====================================================
   HELP TEXT
===================================================== */


.sasha-form-help {
  margin:
    0.55rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.62);

  font-size: 0.82rem;
  line-height: 1.4;
}


/* =====================================================
   FORM ACTIONS
===================================================== */


.sasha-form-actions {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  gap: 1rem;

  margin-top:
    clamp(1.5rem, 4vw, 2.5rem);

  padding-top:
    clamp(1.5rem, 4vw, 2.5rem);

  border-top:
    1px solid
    var(--sasha-white-18);
}


/* =====================================================
   CANCEL BUTTON
===================================================== */


.sasha-form-cancel-button {
  display: inline-flex;

  min-height: 52px;

  align-items: center;
  justify-content: center;

  padding:
    0.8rem
    1.4rem;

  color: var(--sasha-white);

  background: transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius: 999px;

  font-size: 0.96rem;
  font-weight: 700;

  text-decoration: none;
}


.sasha-form-cancel-button:hover {
  background:
    var(--sasha-white-06);

  border-color:
    var(--sasha-white-40);
}


/* =====================================================
   PRIMARY BUTTON
===================================================== */


.sasha-form-submit-button {
  display: inline-flex;

  min-height: 52px;

  align-items: center;
  justify-content: center;

  padding:
    0.8rem
    1.65rem;

  color: var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    1px solid
    var(--sasha-pink);

  border-radius: 999px;

  cursor: pointer;

  font-size: 0.96rem;
  font-weight: 800;

  box-shadow:
    0
    12px
    30px
    rgba(242, 130, 170, 0.16);

  transition:
    transform 180ms ease,
    filter 180ms ease,
    opacity 180ms ease;
}


.sasha-form-submit-button:hover:not(:disabled) {
  transform:
    translateY(-2px);

  filter:
    brightness(1.06);
}


.sasha-form-submit-button:disabled {
  opacity: 0.6;

  cursor: wait;
}


.sasha-form-submit-button:focus-visible,
.sasha-form-cancel-button:focus-visible {
  outline:
    3px solid
    var(--sasha-white);

  outline-offset: 4px;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 900px) {

  .sasha-form-grid-two {
    grid-template-columns: 1fr;
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 680px) {

  .sasha-form-page {
    padding-top: 2.75rem;
  }


  .sasha-form-container {
    width:
      min(
        calc(100% - 2rem),
        var(--sasha-container-width)
      );
  }


  .sasha-form-header {
    margin-bottom: 2.5rem;
  }


  .sasha-form-header h1 {
    font-size:
      clamp(2.5rem, 12vw, 3.75rem);
  }


  .sasha-ai-import-block {
    padding:
      1.5rem
      1.25rem;
  }


  .sasha-ai-import-note {
    padding:
      1.25rem;
  }


  .sasha-form-section summary {
    min-height: 78px;

    padding:
      1.2rem
      4.5rem
      1.2rem
      1.25rem;

    font-size: 1.05rem;
  }


  .sasha-form-section
  summary::after {
    right: 1rem;

    width: 40px;
    height: 40px;
  }


  .sasha-form-section-content {
    padding:
      1.6rem
      1.25rem
      2rem;
  }


  .sasha-form-actions {
    align-items: stretch;
  }


  .sasha-form-cancel-button,
  .sasha-form-submit-button {
    flex: 1;
  }

}


/* =====================================================
   SMALL MOBILE
===================================================== */


@media screen and (max-width: 460px) {

  .sasha-form-container {
    width:
      calc(100% - 1.5rem);
  }


  .sasha-form-section {
    border-radius: 18px;
  }


  .sasha-form-actions {
    flex-direction: column-reverse;
  }


  .sasha-form-cancel-button,
  .sasha-form-submit-button {
    width: 100%;
  }


  .sasha-ai-import-actions
  .sasha-form-submit-button {
    min-width: 0;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-form-section,
  .sasha-form-submit-button,
  .sasha-form-cancel-button {
    transition: none;
  }


  .sasha-ai-import-spinner {
    animation-duration: 1400ms;
  }

}

/* =====================================================
   SASHA PURSUITS PAGE
===================================================== */


.sasha-pursuits-page {
  position: relative;

  min-height: 70vh;

  padding:
    clamp(3.5rem, 7vw, 6rem)
    0
    clamp(6rem, 10vw, 9rem);
}


.sasha-pursuits-container {
  width:
    min(
      calc(
        100% -
        (var(--sasha-content-padding) * 2)
      ),
      var(--sasha-container-width)
    );

  margin:
    0 auto;
}


/* =====================================================
   HEADER
===================================================== */


.sasha-pursuits-header {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    clamp(2.5rem, 5vw, 4rem);
}


.sasha-pursuits-header > div {
  max-width:
    760px;
}


.sasha-pursuits-eyebrow {
  margin:
    0
    0
    0.65rem;

  color:
    var(--sasha-pink);

  font-size:
    0.82rem;

  font-weight:
    800;

  letter-spacing:
    0.08em;

  text-transform:
    uppercase;
}


.sasha-pursuits-header h1 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      2.6rem,
      6vw,
      5.25rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.05em;

  line-height:
    0.95;
}


.sasha-pursuits-introduction {
  max-width:
    680px;

  margin:
    1.35rem
    0
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.8
    );

  font-size:
    clamp(
      1rem,
      1.8vw,
      1.18rem
    );

  line-height:
    1.55;
}


/* =====================================================
   CREATE BUTTON
===================================================== */


.sasha-pursuits-create-button {
  display:
    inline-flex;

  flex:
    0 0 auto;

  min-height:
    50px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.8rem
    1.5rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    2px solid
    var(--sasha-pink);

  border-radius:
    999px;

  font-size:
    0.88rem;

  font-weight:
    800;

  text-decoration:
    none;

  transition:
    transform
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease;
}


.sasha-pursuits-create-button:hover {
  transform:
    translateY(-2px);

  background:
    var(--sasha-white);

  border-color:
    var(--sasha-white);
}


/* =====================================================
   PURSUIT GRID
===================================================== */


.sasha-pursuits-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    clamp(
      1.25rem,
      2.5vw,
      2rem
    );
}


/* =====================================================
   PURSUIT CARD
===================================================== */


.sasha-pursuit-card {
  display:
    flex;

  min-width:
    0;

  min-height:
    310px;

  flex-direction:
    column;

  padding:
    clamp(
      1.5rem,
      3vw,
      2rem
    );

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);

  box-shadow:
    inset
    0
    1px
    0
    rgba(
      255,
      255,
      255,
      0.05
    ),
    0
    18px
    42px
    rgba(
      20,
      16,
      72,
      0.12
    );

  text-decoration:
    none;

  transition:
    transform
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease,
    box-shadow
    180ms ease;
}


.sasha-pursuit-card:hover {
  transform:
    translateY(-5px);

  background:
    var(--sasha-white-10);

  border-color:
    var(--sasha-white-40);

  box-shadow:
    inset
    0
    1px
    0
    rgba(
      255,
      255,
      255,
      0.06
    ),
    0
    24px
    50px
    rgba(
      20,
      16,
      72,
      0.2
    );
}


/* =====================================================
   CARD TOP
===================================================== */


.sasha-pursuit-card-top {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    1rem;

  margin-bottom:
    1.75rem;
}


.sasha-pursuit-card-client {
  margin:
    0
    0
    0.55rem;

  color:
    var(--sasha-pink);

  font-size:
    0.75rem;

  font-weight:
    800;

  letter-spacing:
    0.06em;

  text-transform:
    uppercase;
}


.sasha-pursuit-card h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.25rem,
      2vw,
      1.65rem
    );

  font-weight:
    700;

  line-height:
    1.15;
}


/* =====================================================
   STATUS
===================================================== */


.sasha-pursuit-status {
  display:
    inline-flex;

  flex:
    0 0 auto;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.4rem
    0.7rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-08);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}


.sasha-pursuit-status-new,
.sasha-pursuit-status-planning {
  border-color:
    rgba(
      242,
      130,
      170,
      0.65
    );
}


.sasha-pursuit-status-writing,
.sasha-pursuit-status-review {
  background:
    var(--sasha-white-10);
}


.sasha-pursuit-status-won {
  background:
    rgba(
      255,
      255,
      255,
      0.14
    );

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   CARD DETAILS
===================================================== */


.sasha-pursuit-card-detail {
  margin-bottom:
    1.25rem;
}


.sasha-pursuit-card-detail span {
  display:
    block;

  margin-bottom:
    0.25rem;

  color:
    rgba(
      255,
      255,
      255,
      0.58
    );

  font-size:
    0.72rem;

  font-weight:
    700;

  letter-spacing:
    0.04em;

  text-transform:
    uppercase;
}


.sasha-pursuit-card-detail strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.94rem;

  font-weight:
    700;

  line-height:
    1.4;
}


/* =====================================================
   CARD FOOTER
===================================================== */


.sasha-pursuit-card-footer {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1rem;

  margin-top:
    auto;

  padding-top:
    1.25rem;

  border-top:
    1px solid
    var(--sasha-white-18);
}


.sasha-pursuit-card-footer span,
.sasha-pursuit-card-footer strong {
  color:
    rgba(
      255,
      255,
      255,
      0.62
    );

  font-size:
    0.75rem;

  font-weight:
    600;
}


/* =====================================================
   EMPTY STATE
===================================================== */


.sasha-pursuits-empty {
  max-width:
    760px;

  padding:
    clamp(
      2rem,
      5vw,
      3.5rem
    );

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-pursuits-empty-eyebrow {
  margin:
    0
    0
    0.6rem;

  color:
    var(--sasha-pink);

  font-size:
    0.76rem;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;
}


.sasha-pursuits-empty h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3vw,
      2.5rem
    );

  font-weight:
    700;
}


.sasha-pursuits-empty > p:not(.sasha-pursuits-empty-eyebrow) {
  max-width:
    620px;

  margin:
    1rem
    0
    1.75rem;

  color:
    rgba(
      255,
      255,
      255,
      0.78
    );

  line-height:
    1.55;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1000px) {

  .sasha-pursuits-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 680px) {

  .sasha-pursuits-container {
    width:
      calc(
        100% -
        2rem
      );
  }


  .sasha-pursuits-header {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-pursuits-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-pursuit-card {
    min-height:
      0;
  }

}


/* =====================================================
   SMALL MOBILE
===================================================== */


@media screen and (max-width: 460px) {

  .sasha-pursuits-container {
    width:
      calc(
        100% -
        1.5rem
      );
  }


  .sasha-pursuit-card-top {
    flex-direction:
      column;
  }

}


/* =====================================================
   SASHA PURSUIT DASHBOARD
===================================================== */


.sasha-pursuit-dashboard {
  position: relative;

  min-height: 100vh;

  padding:
    clamp(3.5rem, 7vw, 6rem)
    0
    clamp(6rem, 10vw, 9rem);

  color:
    var(--sasha-white);
}


.sasha-pursuit-dashboard-container {
  width:
    min(
      calc(
        100% -
        (var(--sasha-content-padding) * 2)
      ),
      var(--sasha-container-width)
    );

  margin:
    0 auto;
}


/* =====================================================
   BACK LINK
===================================================== */


.sasha-pursuit-dashboard-back {
  margin-bottom:
    2rem;
}


.sasha-pursuit-dashboard-back a {
  color:
    rgba(255, 255, 255, 0.72);

  font-size:
    0.86rem;

  font-weight:
    700;

  text-decoration:
    none;
}


.sasha-pursuit-dashboard-back a:hover {
  color:
    var(--sasha-pink);
}


/* =====================================================
   DASHBOARD HEADER
===================================================== */


.sasha-pursuit-dashboard-header {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(280px, 360px);

  align-items:
    stretch;

  gap:
    clamp(2rem, 5vw, 4rem);

  margin-bottom:
    2rem;
}


.sasha-pursuit-dashboard-identity {
  display:
    flex;

  flex-direction:
    column;

  justify-content:
    center;
}


.sasha-pursuit-dashboard-client {
  margin:
    0
    0
    0.65rem;

  color:
    var(--sasha-pink);

  font-size:
    0.8rem;

  font-weight:
    800;

  letter-spacing:
    0.08em;

  text-transform:
    uppercase;
}


.sasha-pursuit-dashboard-identity h1 {
  max-width:
    920px;

  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      2.6rem,
      5.5vw,
      5rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.05em;

  line-height:
    0.98;
}


.sasha-pursuit-dashboard-meta {
  display:
    flex;

  flex-wrap:
    wrap;

  align-items:
    center;

  gap:
    0.75rem;

  margin-top:
    1.5rem;
}


.sasha-pursuit-dashboard-meta > span:first-child {
  color:
    rgba(255, 255, 255, 0.7);

  font-size:
    0.86rem;

  font-weight:
    700;
}


/* =====================================================
   PURSUIT STATUS
===================================================== */


.sasha-pursuit-dashboard-status {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.42rem
    0.72rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-08);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.06em;

  text-transform:
    uppercase;
}


.sasha-pursuit-dashboard-status-new,
.sasha-pursuit-dashboard-status-planning {
  border-color:
    rgba(242, 130, 170, 0.72);
}


.sasha-pursuit-dashboard-status-writing,
.sasha-pursuit-dashboard-status-review {
  background:
    var(--sasha-white-10);
}


.sasha-pursuit-dashboard-status-won {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   DEADLINE CARD
===================================================== */


.sasha-pursuit-dashboard-deadline {
  display:
    flex;

  min-height:
    190px;

  flex-direction:
    column;

  align-items:
    flex-start;

  justify-content:
    center;

  padding:
    clamp(
      1.6rem,
      4vw,
      2.4rem
    );

  background:
    var(--sasha-white-10);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);

  box-shadow:
    inset
    0
    1px
    0
    rgba(255, 255, 255, 0.06),
    0
    20px
    48px
    rgba(20, 16, 72, 0.18);
}


.sasha-pursuit-dashboard-deadline-label {
  margin-bottom:
    0.75rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;
}


.sasha-pursuit-dashboard-deadline strong {
  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3vw,
      2.75rem
    );

  font-weight:
    700;

  line-height:
    1.05;
}


.sasha-pursuit-dashboard-deadline-caption {
  margin-top:
    0.5rem;

  color:
    rgba(255, 255, 255, 0.62);

  font-size:
    0.82rem;

  font-weight:
    600;
}


.sasha-pursuit-dashboard-deadline.is-overdue {
  border-color:
    rgba(242, 130, 170, 0.7);
}


/* =====================================================
   SUMMARY CARDS
===================================================== */


.sasha-pursuit-dashboard-summary {
  display:
    grid;

  grid-template-columns:
    repeat(
      5,
      minmax(0, 1fr)
    );

  gap:
    1rem;

  margin-bottom:
    clamp(3rem, 6vw, 5rem);
}


.sasha-pursuit-summary-card {
  min-width:
    0;

  padding:
    1.3rem
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    16px;
}


.sasha-pursuit-summary-label {
  display:
    block;

  margin-bottom:
    0.45rem;

  color:
    rgba(255, 255, 255, 0.54);

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.06em;

  text-transform:
    uppercase;
}


.sasha-pursuit-summary-card strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    1rem;

  font-weight:
    700;

  line-height:
    1.3;
}


.sasha-pursuit-summary-card strong.is-empty {
  color:
    rgba(255, 255, 255, 0.55);
}


.sasha-pursuit-capitalize {
  text-transform:
    capitalize;
}


/* =====================================================
   GENERAL DASHBOARD SECTION
===================================================== */


.sasha-pursuit-dashboard-section {
  margin-bottom:
    clamp(3.5rem, 7vw, 5.5rem);
}


.sasha-pursuit-dashboard-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-pursuit-dashboard-section-heading > div {
  max-width:
    620px;
}


.sasha-pursuit-dashboard-eyebrow {
  margin:
    0
    0
    0.45rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;
}


.sasha-pursuit-dashboard-section-heading h2,
.sasha-pursuit-dashboard-panel-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.75rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.035em;

  line-height:
    1.05;
}


.sasha-pursuit-dashboard-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(255, 255, 255, 0.64);

  font-size:
    0.9rem;

  line-height:
    1.5;
}


/* =====================================================
   WORKFLOW
===================================================== */


.sasha-pursuit-workflow {
  display:
    grid;

  grid-template-columns:
    repeat(
      5,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-pursuit-workflow-stage {
  display:
    flex;

  min-height:
    92px;

  align-items:
    center;

  gap:
    0.9rem;

  padding:
    1rem
    1.15rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    14px;
}


.sasha-pursuit-workflow-marker {
  display:
    inline-flex;

  width:
    34px;

  height:
    34px;

  flex:
    0 0 34px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-08);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    50%;

  font-size:
    1rem;

  font-weight:
    800;
}


.sasha-pursuit-workflow-stage strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.88rem;

  font-weight:
    700;

  text-transform:
    capitalize;
}


.sasha-pursuit-workflow-stage > div > span {
  display:
    block;

  margin-top:
    0.25rem;

  color:
    rgba(255, 255, 255, 0.52);

  font-size:
    0.68rem;

  font-weight:
    700;

  text-transform:
    capitalize;
}


.sasha-pursuit-workflow-stage.is-complete {
  background:
    var(--sasha-white-08);

  border-color:
    rgba(242, 130, 170, 0.5);
}


.sasha-pursuit-workflow-stage.is-complete
.sasha-pursuit-workflow-marker {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


.sasha-pursuit-workflow-stage.is-in_progress {
  border-color:
    var(--sasha-pink);
}


.sasha-pursuit-workflow-empty {
  padding:
    1.5rem
    1.75rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    14px;
}


.sasha-pursuit-workflow-empty p {
  margin:
    0;

  color:
    rgba(255, 255, 255, 0.64);

  line-height:
    1.5;
}


/* =====================================================
   PURSUIT WORKSPACE
===================================================== */


.sasha-pursuit-workspace-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    clamp(
      1rem,
      2vw,
      1.5rem
    );
}


.sasha-pursuit-workspace-card {
  position:
    relative;

  display:
    flex;

  min-height:
    290px;

  flex-direction:
    column;

  padding:
    clamp(
      1.5rem,
      3vw,
      2rem
    );

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);

  text-decoration:
    none;

  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}


.sasha-pursuit-workspace-card:hover {
  transform:
    translateY(-5px);

  background:
    var(--sasha-white-10);

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    22px
    50px
    rgba(20, 16, 72, 0.2);
}


.sasha-pursuit-workspace-number {
  display:
    block;

  margin-bottom:
    1.25rem;

  color:
    var(--sasha-pink);

  font-size:
    0.76rem;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}


.sasha-pursuit-workspace-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.25rem,
      2vw,
      1.6rem
    );

  font-weight:
    700;

  line-height:
    1.15;
}


.sasha-pursuit-workspace-card p {
  margin:
    1rem
    0
    1.5rem;

  color:
    rgba(255, 255, 255, 0.68);

  font-size:
    0.9rem;

  line-height:
    1.55;
}


.sasha-pursuit-workspace-action {
  margin-top:
    auto;

  color:
    var(--sasha-pink);

  font-size:
    0.82rem;

  font-weight:
    800;
}


/* =====================================================
   TASKS AND TEAM
===================================================== */


.sasha-pursuit-dashboard-two-column {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    clamp(
      1.25rem,
      3vw,
      2rem
    );

  margin-bottom:
    clamp(3.5rem, 7vw, 5.5rem);
}


.sasha-pursuit-dashboard-panel {
  min-width:
    0;

  padding:
    clamp(
      1.5rem,
      3vw,
      2rem
    );

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-pursuit-dashboard-panel-heading {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    1rem;

  margin-bottom:
    1.5rem;
}


.sasha-pursuit-dashboard-panel-heading > span {
  display:
    inline-flex;

  min-width:
    42px;

  min-height:
    42px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.5rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-08);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    999px;

  font-size:
    0.78rem;

  font-weight:
    800;
}


/* =====================================================
   TASK LIST
===================================================== */


.sasha-pursuit-task-list {
  display:
    grid;

  gap:
    0.75rem;
}


.sasha-pursuit-task {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    0.85rem;

  padding:
    0.9rem
    1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-pursuit-task-marker {
  display:
    inline-flex;

  width:
    28px;

  height:
    28px;

  flex:
    0 0 28px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-white);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    50%;
}


.sasha-pursuit-task strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.88rem;
}


.sasha-pursuit-task div span {
  display:
    block;

  margin-top:
    0.2rem;

  color:
    rgba(255, 255, 255, 0.52);

  font-size:
    0.76rem;
}


.sasha-pursuit-task.is-complete
.sasha-pursuit-task-marker {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   TEAM
===================================================== */


.sasha-pursuit-team-manager {
  margin-bottom:
    1rem;

  padding:
    1rem
    1.1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-pursuit-team-manager span {
  display:
    block;

  margin-bottom:
    0.3rem;

  color:
    var(--sasha-pink);

  font-size:
    0.7rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}


.sasha-pursuit-team-manager strong {
  color:
    var(--sasha-white);

  font-size:
    1rem;
}


.sasha-pursuit-team-list {
  display:
    grid;

  gap:
    0.75rem;
}


.sasha-pursuit-team-member {
  padding:
    0.9rem
    1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-pursuit-team-member strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.9rem;
}


.sasha-pursuit-team-member span {
  display:
    block;

  margin-top:
    0.2rem;

  color:
    rgba(255, 255, 255, 0.52);

  font-size:
    0.76rem;
}


/* =====================================================
   EMPTY COPY
===================================================== */


.sasha-pursuit-dashboard-empty-copy {
  margin:
    0;

  padding:
    1.25rem;

  color:
    rgba(255, 255, 255, 0.58);

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;

  line-height:
    1.5;
}


/* =====================================================
   DOCUMENTS
===================================================== */


.sasha-pursuit-document-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1.25rem;
}


.sasha-pursuit-document-card {
  position:
    relative;

  min-height:
    190px;

  padding:
    1.6rem
    1.75rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-pursuit-document-count {
  display:
    inline-flex;

  min-width:
    38px;

  min-height:
    38px;

  align-items:
    center;

  justify-content:
    center;

  margin-bottom:
    1rem;

  padding:
    0.4rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-radius:
    999px;

  font-size:
    0.78rem;

  font-weight:
    800;
}


.sasha-pursuit-document-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.2rem;

  font-weight:
    700;
}


.sasha-pursuit-document-card p {
  margin:
    0.8rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.64);

  font-size:
    0.88rem;

  line-height:
    1.55;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1100px) {

  .sasha-pursuit-dashboard-summary {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .sasha-pursuit-workflow {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .sasha-pursuit-workspace-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


@media screen and (max-width: 900px) {

  .sasha-pursuit-dashboard-header {
    grid-template-columns:
      1fr;
  }


  .sasha-pursuit-dashboard-deadline {
    max-width:
      520px;
  }


  .sasha-pursuit-dashboard-two-column {
    grid-template-columns:
      1fr;
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 680px) {

  .sasha-pursuit-dashboard {
    padding-top:
      2.75rem;
  }


  .sasha-pursuit-dashboard-container {
    width:
      calc(
        100% -
        2rem
      );
  }


  .sasha-pursuit-dashboard-summary {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  .sasha-pursuit-dashboard-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-pursuit-workflow {
    grid-template-columns:
      1fr;
  }


  .sasha-pursuit-workspace-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-pursuit-document-grid {
    grid-template-columns:
      1fr;
  }

}


/* =====================================================
   SMALL MOBILE
===================================================== */


@media screen and (max-width: 460px) {

  .sasha-pursuit-dashboard-container {
    width:
      calc(
        100% -
        1.5rem
      );
  }


  .sasha-pursuit-dashboard-summary {
    grid-template-columns:
      1fr;
  }


  .sasha-pursuit-dashboard-header {
    gap:
      1.5rem;
  }


  .sasha-pursuit-dashboard-identity h1 {
    font-size:
      2.5rem;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-pursuit-workspace-card {
    transition:
      none;
  }

}

/* =====================================================
   SASHA WORK PAGES
===================================================== */


.sasha-work-page {
  position: relative;

  min-height: 100vh;

  padding:
    clamp(3.5rem, 7vw, 6rem)
    0
    clamp(6rem, 10vw, 9rem);

  color:
    var(--sasha-white);
}


.sasha-work-container {
  width:
    min(
      calc(
        100% -
        (var(--sasha-content-padding) * 2)
      ),
      var(--sasha-container-width)
    );

  margin:
    0 auto;
}


/* =====================================================
   BACK LINK
===================================================== */


.sasha-work-back {
  margin-bottom:
    2rem;
}


.sasha-work-back a {
  color:
    rgba(255, 255, 255, 0.72);

  font-size:
    0.86rem;

  font-weight:
    700;

  text-decoration:
    none;
}


.sasha-work-back a:hover {
  color:
    var(--sasha-pink);
}


/* =====================================================
   PAGE HEADER
===================================================== */


.sasha-work-header {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(260px, 360px);

  gap:
    clamp(2rem, 5vw, 4rem);

  align-items:
    end;

  margin-bottom:
    clamp(2.5rem, 5vw, 4rem);
}


.sasha-work-header-copy {
  min-width:
    0;
}


.sasha-work-eyebrow {
  margin:
    0
    0
    0.55rem;

  color:
    var(--sasha-pink);

  font-size:
    0.74rem;

  font-weight:
    800;

  letter-spacing:
    0.08em;

  text-transform:
    uppercase;
}


.sasha-work-header-copy h1 {
  max-width:
    900px;

  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      2.7rem,
      5.5vw,
      5rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.05em;

  line-height:
    0.98;
}


.sasha-work-client {
  margin:
    1rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.74);

  font-size:
    1rem;

  font-weight:
    700;
}


.sasha-work-introduction {
  max-width:
    760px;

  margin:
    1.2rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.68);

  font-size:
    1rem;

  line-height:
    1.6;
}


/* =====================================================
   HEADER META
===================================================== */


.sasha-work-header-meta {
  display:
    grid;

  gap:
    0.8rem;
}


.sasha-work-meta-item {
  padding:
    1rem
    1.2rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    14px;
}


.sasha-work-meta-item span {
  display:
    block;

  margin-bottom:
    0.25rem;

  color:
    rgba(255, 255, 255, 0.48);

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.06em;

  text-transform:
    uppercase;
}


.sasha-work-meta-item strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.95rem;

  font-weight:
    700;
}


/* =====================================================
   ANALYSIS MAIN LAYOUT
===================================================== */


.sasha-analysis-layout {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(320px, 0.75fr);

  gap:
    clamp(1.5rem, 3vw, 2.5rem);

  align-items:
    start;

  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


/* =====================================================
   CHAT PANEL
===================================================== */


.sasha-chat-panel {
  overflow:
    hidden;

  background:
    rgba(255, 255, 255, 0.07);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-large);

  box-shadow:
    0
    24px
    60px
    rgba(20, 16, 72, 0.2);
}


.sasha-chat-header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    1.5rem;

  padding:
    1.6rem
    1.8rem;

  border-bottom:
    1px solid
    var(--sasha-white-18);
}


.sasha-chat-header h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.5rem,
      2.5vw,
      2rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.035em;
}


.sasha-chat-status {
  display:
    inline-flex;

  flex:
    0 0 auto;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.45rem
    0.75rem;

  color:
    var(--sasha-pink);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    999px;

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.04em;

  text-transform:
    uppercase;
}


/* =====================================================
   CHAT THREAD
===================================================== */


.sasha-chat-thread {
  display:
    flex;

  min-height:
    430px;

  max-height:
    620px;

  flex-direction:
    column;

  gap:
    1.3rem;

  overflow-y:
    auto;

  padding:
    1.8rem;
}


.sasha-chat-message {
  max-width:
    86%;
}


.sasha-chat-message.is-sasha {
  align-self:
    flex-start;
}


.sasha-chat-message.is-user {
  align-self:
    flex-end;
}


.sasha-chat-speaker {
  margin-bottom:
    0.4rem;

  color:
    rgba(255, 255, 255, 0.5);

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}


.sasha-chat-message.is-user
.sasha-chat-speaker {
  text-align:
    right;
}


.sasha-chat-bubble {
  padding:
    1rem
    1.15rem;

  color:
    rgba(255, 255, 255, 0.88);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    16px;

  font-size:
    0.92rem;

  line-height:
    1.58;
}


.sasha-chat-message.is-user
.sasha-chat-bubble {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


.sasha-chat-bubble p {
  margin:
    0;
}


.sasha-chat-bubble p + p {
  margin-top:
    0.85rem;
}


/* =====================================================
   CHAT COMPOSER
===================================================== */


.sasha-chat-composer {
  padding:
    1.5rem
    1.8rem
    1.7rem;

  background:
    rgba(20, 16, 72, 0.12);

  border-top:
    1px solid
    var(--sasha-white-18);
}


.sasha-chat-label {
  display:
    block;

  margin-bottom:
    0.5rem;

  color:
    var(--sasha-white);

  font-size:
    0.8rem;

  font-weight:
    800;
}


.sasha-chat-composer textarea {
  width:
    100%;

  min-height:
    130px;

  resize:
    vertical;

  padding:
    1rem
    1.1rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-white);

  border:
    2px solid
    transparent;

  border-radius:
    14px;

  font:
    inherit;

  font-size:
    0.95rem;

  line-height:
    1.5;
}


.sasha-chat-composer textarea:focus {
  outline:
    none;

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    4px
    rgba(242, 130, 170, 0.14);
}


.sasha-chat-actions {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1.5rem;

  margin-top:
    0.9rem;
}


.sasha-chat-actions p {
  max-width:
    560px;

  margin:
    0;

  color:
    rgba(255, 255, 255, 0.48);

  font-size:
    0.76rem;

  line-height:
    1.4;
}


.sasha-chat-submit {
  flex:
    0 0 auto;

  min-height:
    46px;

  padding:
    0.75rem
    1.4rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    0;

  border-radius:
    999px;

  font-size:
    0.82rem;

  font-weight:
    800;

  cursor:
    pointer;

  transition:
    transform
    180ms ease,
    background-color
    180ms ease;
}


.sasha-chat-submit:hover {
  transform:
    translateY(-2px);

  background:
    var(--sasha-white);
}


/* =====================================================
   ANALYSIS SIDEBAR
===================================================== */


.sasha-analysis-workspace {
  display:
    grid;

  gap:
    1.4rem;
}


.sasha-analysis-card {
  padding:
    1.5rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-analysis-card-heading {
  margin-bottom:
    1.25rem;
}


.sasha-analysis-card-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.45rem;

  font-weight:
    700;

  letter-spacing:
    -0.03em;
}


.sasha-analysis-card-intro {
  margin:
    -0.25rem
    0
    1.25rem;

  color:
    rgba(255, 255, 255, 0.62);

  font-size:
    0.86rem;

  line-height:
    1.5;
}


/* =====================================================
   GO / GET
===================================================== */


.sasha-go-get-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    0.9rem;
}


.sasha-go-get-item {
  padding:
    1.2rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    14px;
}


.sasha-go-get-item > span {
  display:
    block;

  margin-bottom:
    0.4rem;

  color:
    var(--sasha-pink);

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}


.sasha-go-get-item strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    1.15rem;

  font-weight:
    700;

  text-transform:
    capitalize;
}


.sasha-go-get-item p {
  margin:
    0.55rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.52);

  font-size:
    0.74rem;

  line-height:
    1.4;
}


/* =====================================================
   EFFORT LEVEL
===================================================== */


.sasha-effort-form {
  display:
    grid;

  gap:
    0.8rem;
}


.sasha-effort-option {
  position:
    relative;

  display:
    block;

  cursor:
    pointer;
}


.sasha-effort-option input {
  position:
    absolute;

  opacity:
    0;

  pointer-events:
    none;
}


.sasha-effort-option > span {
  display:
    block;

  padding:
    1rem
    1.05rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;

  transition:
    background-color
    180ms ease,
    border-color
    180ms ease,
    transform
    180ms ease;
}


.sasha-effort-option:hover > span {
  transform:
    translateY(-2px);

  border-color:
    var(--sasha-white-35);
}


.sasha-effort-option input:checked + span {
  background:
    rgba(242, 130, 170, 0.12);

  border-color:
    var(--sasha-pink);
}


.sasha-effort-option strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.92rem;

  font-weight:
    800;
}


.sasha-effort-option small {
  display:
    block;

  margin-top:
    0.35rem;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.76rem;

  line-height:
    1.4;
}


.sasha-analysis-save-button {
  min-height:
    46px;

  margin-top:
    0.35rem;

  padding:
    0.75rem
    1.2rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    0;

  border-radius:
    999px;

  font-size:
    0.8rem;

  font-weight:
    800;

  cursor:
    pointer;
}


/* =====================================================
   ANALYSIS SECTIONS
===================================================== */


.sasha-analysis-section,
.sasha-analysis-decision {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-analysis-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-analysis-section-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.8rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;
}


.sasha-analysis-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(255, 255, 255, 0.6);

  font-size:
    0.88rem;

  line-height:
    1.5;
}


/* =====================================================
   ANALYSIS OUTPUT GRID
===================================================== */


.sasha-analysis-output-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1.25rem;
}


.sasha-analysis-output-card {
  min-width:
    0;

  padding:
    1.5rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-analysis-output-card.is-risk {
  border-color:
    rgba(242, 130, 170, 0.46);
}


.sasha-analysis-output-card > header {
  display:
    flex;

  align-items:
    center;

  gap:
    0.8rem;

  margin-bottom:
    1.3rem;
}


.sasha-analysis-output-card > header > span {
  display:
    inline-flex;

  width:
    34px;

  height:
    34px;

  flex:
    0 0 34px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-radius:
    50%;

  font-size:
    0.68rem;

  font-weight:
    800;
}


.sasha-analysis-output-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.08rem;

  font-weight:
    700;
}


/* =====================================================
   ANALYSIS ITEMS
===================================================== */


.sasha-analysis-item-list,
.sasha-compliance-list {
  display:
    grid;

  gap:
    0.75rem;
}


.sasha-analysis-item,
.sasha-compliance-item {
  padding:
    0.95rem
    1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-analysis-item strong {
  color:
    var(--sasha-white);

  font-size:
    0.88rem;
}


.sasha-analysis-item > span {
  display:
    inline-block;

  margin-top:
    0.35rem;

  color:
    var(--sasha-pink);

  font-size:
    0.76rem;

  font-weight:
    800;
}


.sasha-analysis-item p {
  margin:
    0.4rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.58);

  font-size:
    0.8rem;

  line-height:
    1.45;
}


/* =====================================================
   COMPLIANCE LIST
===================================================== */


.sasha-compliance-item {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    0.8rem;
}


.sasha-compliance-marker {
  display:
    inline-flex;

  width:
    28px;

  height:
    28px;

  flex:
    0 0 28px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-white);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    50%;

  font-size:
    0.76rem;

  font-weight:
    800;
}


.sasha-compliance-item strong {
  color:
    var(--sasha-white);

  font-size:
    0.86rem;
}


.sasha-compliance-item p {
  margin:
    0.35rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.78rem;

  line-height:
    1.45;
}


/* =====================================================
   ANALYSIS COPY / EMPTY STATES
===================================================== */


.sasha-analysis-rich-copy {
  color:
    rgba(255, 255, 255, 0.72);

  font-size:
    0.86rem;

  line-height:
    1.58;
}


.sasha-analysis-rich-copy p {
  margin:
    0;
}


.sasha-analysis-rich-copy p + p {
  margin-top:
    0.8rem;
}


.sasha-analysis-empty {
  margin:
    0;

  padding:
    1rem;

  color:
    rgba(255, 255, 255, 0.5);

  background:
    var(--sasha-white-04);

  border:
    1px dashed
    var(--sasha-white-18);

  border-radius:
    10px;

  font-size:
    0.8rem;

  line-height:
    1.45;
}


/* =====================================================
   GO / NO GO DECISION
===================================================== */


.sasha-analysis-decision {
  padding:
    clamp(
      1.5rem,
      3vw,
      2rem
    );

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-decision-form {
  display:
    grid;

  gap:
    1.5rem;
}


.sasha-decision-options {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-decision-option {
  position:
    relative;

  display:
    block;

  cursor:
    pointer;
}


.sasha-decision-option input {
  position:
    absolute;

  opacity:
    0;

  pointer-events:
    none;
}


.sasha-decision-option > span {
  display:
    block;

  min-height:
    120px;

  padding:
    1.2rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    14px;

  transition:
    transform
    180ms ease,
    border-color
    180ms ease,
    background-color
    180ms ease;
}


.sasha-decision-option:hover > span {
  transform:
    translateY(-2px);

  border-color:
    var(--sasha-white-35);
}


.sasha-decision-option input:checked + span {
  background:
    rgba(242, 130, 170, 0.12);

  border-color:
    var(--sasha-pink);
}


.sasha-decision-option strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    1rem;

  font-weight:
    800;
}


.sasha-decision-option small {
  display:
    block;

  margin-top:
    0.45rem;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.78rem;

  line-height:
    1.4;
}


/* =====================================================
   DECISION NOTES
===================================================== */


.sasha-decision-notes label {
  display:
    block;

  margin-bottom:
    0.5rem;

  color:
    var(--sasha-white);

  font-size:
    0.8rem;

  font-weight:
    800;
}


.sasha-decision-notes textarea {
  width:
    100%;

  min-height:
    130px;

  resize:
    vertical;

  padding:
    1rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-white);

  border:
    2px solid
    transparent;

  border-radius:
    12px;

  font:
    inherit;

  font-size:
    0.9rem;

  line-height:
    1.5;
}


.sasha-decision-notes textarea:focus {
  outline:
    none;

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    4px
    rgba(242, 130, 170, 0.14);
}


/* =====================================================
   DECISION ACTIONS
===================================================== */


.sasha-decision-actions {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    0.8rem;
}


.sasha-form-cancel-button,
.sasha-form-submit-button {
  display:
    inline-flex;

  min-height:
    46px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.75rem
    1.35rem;

  border-radius:
    999px;

  font-size:
    0.8rem;

  font-weight:
    800;

  text-decoration:
    none;
}


.sasha-form-cancel-button {
  color:
    var(--sasha-white);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);
}


.sasha-form-cancel-button:hover {
  border-color:
    var(--sasha-white);
}


.sasha-form-submit-button {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    0;

  cursor:
    pointer;
}


.sasha-form-submit-button:hover {
  background:
    var(--sasha-white);
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1100px) {

  .sasha-analysis-layout {
    grid-template-columns:
      1fr;
  }


  .sasha-analysis-workspace {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 800px) {

  .sasha-work-header {
    grid-template-columns:
      1fr;
  }


  .sasha-work-header-meta {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .sasha-analysis-output-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-decision-options {
    grid-template-columns:
      1fr;
  }


  .sasha-analysis-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

}


@media screen and (max-width: 680px) {

  .sasha-work-page {
    padding-top:
      2.75rem;
  }


  .sasha-work-container {
    width:
      calc(
        100% -
        2rem
      );
  }


  .sasha-analysis-workspace {
    grid-template-columns:
      1fr;
  }


  .sasha-work-header-meta {
    grid-template-columns:
      1fr;
  }


  .sasha-chat-header {
    flex-direction:
      column;
  }


  .sasha-chat-thread {
    min-height:
      360px;

    padding:
      1.25rem;
  }


  .sasha-chat-message {
    max-width:
      94%;
  }


  .sasha-chat-composer {
    padding:
      1.25rem;
  }


  .sasha-chat-actions {
    align-items:
      stretch;

    flex-direction:
      column;
  }


  .sasha-chat-submit {
    width:
      100%;
  }


  .sasha-go-get-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-decision-actions {
    align-items:
      stretch;

    flex-direction:
      column-reverse;
  }


  .sasha-form-cancel-button,
  .sasha-form-submit-button {
    width:
      100%;
  }

}


/* =====================================================
   SMALL MOBILE
===================================================== */


@media screen and (max-width: 460px) {

  .sasha-work-container {
    width:
      calc(
        100% -
        1.5rem
      );
  }


  .sasha-work-header-copy h1 {
    font-size:
      2.45rem;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-chat-submit,
  .sasha-effort-option > span,
  .sasha-decision-option > span {
    transition:
      none;
  }

}

/* =====================================================
   SASHA PLAN | WIN STRATEGY
===================================================== */


/* =====================================================
   EFFORT LEVEL BANNER
===================================================== */


.sasha-plan-effort-banner {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    clamp(2.5rem, 5vw, 4rem);

  padding:
    1.5rem
    1.75rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-plan-effort-banner > div {
  max-width:
    820px;
}


.sasha-plan-effort-banner h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.55rem,
      3vw,
      2.2rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.035em;
}


.sasha-plan-effort-banner p:not(
  .sasha-work-eyebrow
) {
  margin:
    0.7rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.66);

  font-size:
    0.9rem;

  line-height:
    1.5;
}


.sasha-plan-effort-banner.is-full {
  border-color:
    rgba(242, 130, 170, 0.65);

  background:
    rgba(242, 130, 170, 0.07);
}


.sasha-plan-effort-change {
  display:
    inline-flex;

  flex:
    0 0 auto;

  min-height:
    44px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.7rem
    1.2rem;

  color:
    var(--sasha-white);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.78rem;

  font-weight:
    800;

  text-decoration:
    none;
}


.sasha-plan-effort-change:hover {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   PLAN MAIN LAYOUT
===================================================== */


.sasha-plan-layout {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, 0.7fr);

  gap:
    clamp(1.5rem, 3vw, 2.5rem);

  align-items:
    start;

  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


/* =====================================================
   PLAN SIDEBAR
===================================================== */


.sasha-plan-sidebar {
  display:
    grid;

  gap:
    1.25rem;
}


.sasha-plan-side-card {
  padding:
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-plan-side-card h2 {
  margin:
    0
    0
    0.8rem;

  color:
    var(--sasha-white);

  font-size:
    1.25rem;

  font-weight:
    700;

  letter-spacing:
    -0.025em;
}


.sasha-plan-side-card > strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    1rem;

  line-height:
    1.4;
}


.sasha-plan-empty {
  margin:
    0;

  color:
    rgba(255, 255, 255, 0.52);

  font-size:
    0.82rem;

  line-height:
    1.45;
}


/* =====================================================
   PLAN TEAM LIST
===================================================== */


.sasha-plan-team-list {
  display:
    grid;

  gap:
    0.65rem;
}


.sasha-plan-team-member {
  padding:
    0.85rem
    0.95rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    10px;
}


.sasha-plan-team-member strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.86rem;
}


.sasha-plan-team-member span {
  display:
    block;

  margin-top:
    0.2rem;

  color:
    rgba(255, 255, 255, 0.5);

  font-size:
    0.74rem;
}


/* =====================================================
   PLAN SECTIONS
===================================================== */


.sasha-plan-section {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-plan-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-plan-section-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.8rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;
}


.sasha-plan-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(255, 255, 255, 0.6);

  font-size:
    0.88rem;

  line-height:
    1.5;
}


/* =====================================================
   PLAN OUTPUT GRID
===================================================== */


.sasha-plan-output-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1.25rem;
}


.sasha-plan-output-card {
  display:
    flex;

  min-height:
    250px;

  flex-direction:
    column;

  padding:
    1.5rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-plan-output-card > header {
  display:
    flex;

  align-items:
    center;

  gap:
    0.8rem;

  margin-bottom:
    1.2rem;
}


.sasha-plan-output-card > header > span {
  display:
    inline-flex;

  width:
    34px;

  height:
    34px;

  flex:
    0 0 34px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-radius:
    50%;

  font-size:
    0.68rem;

  font-weight:
    800;
}


.sasha-plan-output-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.1rem;

  font-weight:
    700;
}


.sasha-plan-card-action {
  align-self:
    flex-start;

  margin-top:
    auto;

  padding:
    0.65rem
    1rem;

  color:
    var(--sasha-pink);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    999px;

  font-size:
    0.76rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.sasha-plan-card-action:hover {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   RICH COPY
===================================================== */


.sasha-plan-rich-copy {
  color:
    rgba(255, 255, 255, 0.72);

  font-size:
    0.86rem;

  line-height:
    1.58;
}


.sasha-plan-rich-copy p {
  margin:
    0;
}


.sasha-plan-rich-copy p + p {
  margin-top:
    0.8rem;
}


/* =====================================================
   MINIMAL STRATEGY
===================================================== */


.sasha-strategy-minimal {
  padding:
    clamp(1.5rem, 3vw, 2rem);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-strategy-minimal-copy {
  max-width:
    760px;

  margin-bottom:
    1.5rem;
}


.sasha-strategy-minimal-copy h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.55rem;

  font-weight:
    700;
}


.sasha-strategy-minimal-copy p:not(
  .sasha-work-eyebrow
) {
  margin:
    0.8rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.62);

  line-height:
    1.5;
}


.sasha-strategy-focus-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-strategy-focus-grid article {
  padding:
    1.2rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-strategy-focus-grid article > span {
  display:
    block;

  margin-bottom:
    0.6rem;

  color:
    var(--sasha-pink);

  font-size:
    0.7rem;

  font-weight:
    800;
}


.sasha-strategy-focus-grid h4 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    0.95rem;
}


.sasha-strategy-focus-grid p {
  margin:
    0.55rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.54);

  font-size:
    0.78rem;

  line-height:
    1.45;
}


/* =====================================================
   USUAL STRATEGY
===================================================== */


.sasha-strategy-usual {
  display:
    grid;

  gap:
    1.4rem;
}


.sasha-strategy-introduction {
  max-width:
    760px;

  color:
    rgba(255, 255, 255, 0.64);

  line-height:
    1.5;
}


.sasha-strategy-introduction p {
  margin:
    0;
}


.sasha-strategy-question-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-strategy-question-card {
  padding:
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-strategy-question-card > span {
  display:
    block;

  margin-bottom:
    0.7rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;
}


.sasha-strategy-question-card h3 {
  margin:
    0
    0
    0.8rem;

  color:
    var(--sasha-white);

  font-size:
    1.05rem;

  line-height:
    1.3;
}


.sasha-strategy-question-card > p {
  margin:
    0;

  color:
    rgba(255, 255, 255, 0.5);

  font-size:
    0.8rem;
}


/* =====================================================
   FULL STRATEGY
===================================================== */


.sasha-strategy-full {
  display:
    grid;

  gap:
    1.5rem;
}


.sasha-full-strategy-introduction {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;

  padding:
    1.6rem
    1.75rem;

  background:
    rgba(242, 130, 170, 0.08);

  border:
    1px solid
    rgba(242, 130, 170, 0.45);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-full-strategy-introduction > div {
  max-width:
    780px;
}


.sasha-full-strategy-introduction h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.55rem;

  font-weight:
    700;
}


.sasha-full-strategy-introduction p:not(
  .sasha-work-eyebrow
) {
  margin:
    0.75rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.64);

  line-height:
    1.5;
}


.sasha-full-strategy-start {
  flex:
    0 0 auto;

  min-height:
    46px;

  padding:
    0.75rem
    1.25rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    0;

  border-radius:
    999px;

  font-size:
    0.78rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.sasha-full-strategy-start:hover {
  background:
    var(--sasha-white);
}


/* =====================================================
   TEN STEPS
===================================================== */


.sasha-win-steps-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      5,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-win-step-card {
  min-height:
    180px;

  padding:
    1.15rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-win-step-card > span {
  display:
    block;

  margin-bottom:
    0.75rem;

  color:
    var(--sasha-pink);

  font-size:
    0.7rem;

  font-weight:
    800;
}


.sasha-win-step-card h4 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    0.92rem;

  font-weight:
    700;
}


.sasha-win-step-card p {
  margin:
    0.55rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.5);

  font-size:
    0.75rem;

  line-height:
    1.42;
}


/* =====================================================
   STRATEGY SUMMARY
===================================================== */


.sasha-strategy-summary {
  margin-top:
    1.25rem;

  padding:
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-strategy-summary h3 {
  margin:
    0
    0
    0.9rem;

  color:
    var(--sasha-white);

  font-size:
    1.1rem;
}


/* =====================================================
   PROJECT / PERSONNEL EVIDENCE
===================================================== */


.sasha-evidence-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1.25rem;
}


.sasha-evidence-card {
  display:
    flex;

  min-height:
    280px;

  flex-direction:
    column;

  padding:
    1.5rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-evidence-card-heading {
  margin-bottom:
    1rem;
}


.sasha-evidence-card-heading > span {
  display:
    block;

  margin-bottom:
    0.35rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;
}


.sasha-evidence-card-heading h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.25rem;
}


.sasha-evidence-card > p:not(
  .sasha-plan-empty
) {
  margin:
    0
    0
    1rem;

  color:
    rgba(255, 255, 255, 0.58);

  font-size:
    0.84rem;

  line-height:
    1.5;
}


/* =====================================================
   FULL EFFORT PRACTICES
===================================================== */


.sasha-practices-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    0.9rem;
}


.sasha-practice-option {
  position:
    relative;

  display:
    block;

  cursor:
    pointer;
}


.sasha-practice-option input {
  position:
    absolute;

  opacity:
    0;

  pointer-events:
    none;
}


.sasha-practice-option > span {
  display:
    flex;

  min-height:
    68px;

  align-items:
    center;

  padding:
    0.9rem
    1rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;

  font-size:
    0.82rem;

  font-weight:
    700;

  transition:
    transform
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease;
}


.sasha-practice-option:hover > span {
  transform:
    translateY(-2px);

  border-color:
    var(--sasha-white-35);
}


.sasha-practice-option input:checked + span {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   PLAN TASKS
===================================================== */


.sasha-plan-task-list {
  display:
    grid;

  gap:
    0.75rem;
}


.sasha-plan-task {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    0.9rem;

  padding:
    1rem
    1.1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-plan-task-marker {
  display:
    inline-flex;

  width:
    30px;

  height:
    30px;

  flex:
    0 0 30px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-white);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    50%;

  font-size:
    0.78rem;

  font-weight:
    800;
}


.sasha-plan-task.is-complete
.sasha-plan-task-marker {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


.sasha-plan-task-copy strong {
  color:
    var(--sasha-white);

  font-size:
    0.9rem;
}


.sasha-plan-task-meta {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    0.75rem;

  margin-top:
    0.3rem;
}


.sasha-plan-task-meta span {
  color:
    rgba(255, 255, 255, 0.5);

  font-size:
    0.74rem;
}


.sasha-plan-tasks-empty {
  padding:
    1.4rem;

  color:
    rgba(255, 255, 255, 0.54);

  background:
    var(--sasha-white-04);

  border:
    1px dashed
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-plan-tasks-empty p {
  margin:
    0;

  line-height:
    1.5;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1150px) {

  .sasha-win-steps-grid {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .sasha-strategy-focus-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


@media screen and (max-width: 1000px) {

  .sasha-plan-layout {
    grid-template-columns:
      1fr;
  }


  .sasha-plan-sidebar {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .sasha-practices-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 800px) {

  .sasha-plan-output-grid,
  .sasha-strategy-question-grid,
  .sasha-evidence-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-plan-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-full-strategy-introduction,
  .sasha-plan-effort-banner {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-plan-sidebar {
    grid-template-columns:
      1fr;
  }


  .sasha-win-steps-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  .sasha-practices-grid {
    grid-template-columns:
      1fr;
  }

}


@media screen and (max-width: 560px) {

  .sasha-strategy-focus-grid,
  .sasha-win-steps-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-plan-effort-change,
  .sasha-full-strategy-start {
    width:
      100%;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-practice-option > span {
    transition:
      none;
  }

}

/* =====================================================
   SASHA WRITE
===================================================== */


/* =====================================================
   WRITE MAIN LAYOUT
===================================================== */


.sasha-write-layout {
  display:
    grid;

  grid-template-columns:
    minmax(260px, 0.6fr)
    minmax(0, 1.6fr);

  gap:
    clamp(
      1.5rem,
      3vw,
      2.5rem
    );

  align-items:
    start;

  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


/* =====================================================
   OUTLINE PANEL
===================================================== */


.sasha-write-outline {
  position:
    sticky;

  top:
    2rem;

  overflow:
    hidden;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-write-outline-header {
  padding:
    1.4rem
    1.5rem;

  border-bottom:
    1px solid
    var(--sasha-white-18);
}


.sasha-write-outline-header h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.45rem;

  font-weight:
    700;

  letter-spacing:
    -0.03em;
}


/* =====================================================
   OUTLINE LIST
===================================================== */


.sasha-write-outline-list {
  display:
    grid;
}


.sasha-write-outline-item {
  display:
    grid;

  grid-template-columns:
    34px
    minmax(0, 1fr)
    28px;

  align-items:
    center;

  gap:
    0.75rem;

  padding:
    0.95rem
    1rem;

  color:
    var(--sasha-white);

  background:
    transparent;

  border-bottom:
    1px solid
    var(--sasha-white-12);

  text-decoration:
    none;

  transition:
    background-color
    160ms ease,
    border-color
    160ms ease;
}


.sasha-write-outline-item:last-child {
  border-bottom:
    0;
}


.sasha-write-outline-item:hover {
  background:
    var(--sasha-white-06);
}


.sasha-write-outline-item.is-active {
  background:
    rgba(
      242,
      130,
      170,
      0.1
    );

  border-left:
    3px solid
    var(--sasha-pink);
}


/* =====================================================
   OUTLINE NUMBER
===================================================== */


.sasha-write-outline-number {
  display:
    inline-flex;

  width:
    30px;

  height:
    30px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-radius:
    50%;

  font-size:
    0.68rem;

  font-weight:
    800;
}


/* =====================================================
   OUTLINE COPY
===================================================== */


.sasha-write-outline-copy {
  min-width:
    0;
}


.sasha-write-outline-copy strong {
  display:
    block;

  overflow:
    hidden;

  color:
    var(--sasha-white);

  font-size:
    0.84rem;

  font-weight:
    700;

  line-height:
    1.3;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}


.sasha-write-outline-copy small {
  display:
    block;

  margin-top:
    0.2rem;

  color:
    rgba(
      255,
      255,
      255,
      0.46
    );

  font-size:
    0.68rem;

  font-weight:
    700;

  text-transform:
    capitalize;
}


/* =====================================================
   OUTLINE STATUS MARKER
===================================================== */


.sasha-write-outline-marker {
  display:
    inline-flex;

  width:
    26px;

  height:
    26px;

  align-items:
    center;

  justify-content:
    center;

  color:
    rgba(
      255,
      255,
      255,
      0.62
    );

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    50%;

  font-size:
    0.76rem;

  font-weight:
    800;
}


.sasha-write-outline-item.is-drafted
.sasha-write-outline-marker,
.sasha-write-outline-item.is-reviewing
.sasha-write-outline-marker {
  border-color:
    rgba(
      242,
      130,
      170,
      0.6
    );
}


.sasha-write-outline-item.is-reviewed
.sasha-write-outline-marker,
.sasha-write-outline-item.is-final
.sasha-write-outline-marker {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   OUTLINE EMPTY STATE
===================================================== */


.sasha-write-outline-empty {
  padding:
    1.5rem;

  color:
    rgba(
      255,
      255,
      255,
      0.58
    );

  font-size:
    0.82rem;

  line-height:
    1.5;
}


.sasha-write-outline-empty p {
  margin:
    0;
}


.sasha-write-outline-empty p + p {
  margin-top:
    0.8rem;
}


/* =====================================================
   OUTLINE ACTIONS
===================================================== */


.sasha-write-outline-actions {
  padding:
    1rem
    1.2rem;

  border-top:
    1px solid
    var(--sasha-white-18);
}


.sasha-write-outline-button {
  width:
    100%;

  min-height:
    44px;

  padding:
    0.7rem
    1rem;

  color:
    var(--sasha-white);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.76rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.sasha-write-outline-button:hover {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   WRITE CHAT PANEL
===================================================== */


.sasha-write-chat-panel {
  min-width:
    0;
}


.sasha-write-chat-thread {
  min-height:
    520px;
}


/* =====================================================
   CURRENT SECTION
===================================================== */


.sasha-write-current-section {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);

  padding:
    clamp(
      1.5rem,
      3vw,
      2rem
    );

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-write-section-header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    1.5rem;

  margin-bottom:
    1.5rem;
}


.sasha-write-section-header h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.8rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;

  line-height:
    1.05;
}


/* =====================================================
   SECTION STATUS
===================================================== */


.sasha-write-section-status {
  display:
    inline-flex;

  flex:
    0 0 auto;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.45rem
    0.75rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    999px;

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.04em;

  text-transform:
    uppercase;
}


.sasha-write-section-status.is-reviewed,
.sasha-write-section-status.is-final {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   SECTION CONTEXT
===================================================== */


.sasha-write-section-context {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    0.9rem;

  margin-bottom:
    1.5rem;
}


.sasha-write-context-item {
  padding:
    0.9rem
    1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-write-context-item span {
  display:
    block;

  margin-bottom:
    0.25rem;

  color:
    rgba(
      255,
      255,
      255,
      0.48
    );

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}


.sasha-write-context-item strong {
  display:
    block;

  color:
    var(--sasha-white);

  font-size:
    0.88rem;

  font-weight:
    700;

  line-height:
    1.4;
}


/* =====================================================
   SECTION FORM
===================================================== */


.sasha-write-section-form {
  display:
    grid;

  gap:
    1.4rem;
}


.sasha-write-section-field label {
  display:
    block;

  margin-bottom:
    0.5rem;

  color:
    var(--sasha-white);

  font-size:
    0.8rem;

  font-weight:
    800;
}


.sasha-write-section-field textarea {
  width:
    100%;

  resize:
    vertical;

  padding:
    1rem
    1.1rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-white);

  border:
    2px solid
    transparent;

  border-radius:
    14px;

  font:
    inherit;

  font-size:
    0.92rem;

  line-height:
    1.58;
}


.sasha-write-section-field textarea:focus {
  outline:
    none;

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    4px
    rgba(
      242,
      130,
      170,
      0.14
    );
}


/* =====================================================
   SECTION ACTIONS
===================================================== */


.sasha-write-section-actions {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1.25rem;
}


.sasha-write-section-action-group {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    0.8rem;
}


.sasha-write-secondary-button {
  display:
    inline-flex;

  min-height:
    46px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.75rem
    1.3rem;

  color:
    var(--sasha-white);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.8rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.sasha-write-secondary-button:hover {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-white);

  border-color:
    var(--sasha-white);
}


/* =====================================================
   NO ACTIVE SECTION
===================================================== */


.sasha-write-no-section {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);

  padding:
    clamp(
      1.8rem,
      4vw,
      2.5rem
    );

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-write-no-section h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.6rem,
      3vw,
      2.4rem
    );

  font-weight:
    700;
}


.sasha-write-no-section > p:not(
  .sasha-work-eyebrow
) {
  max-width:
    680px;

  margin:
    0.9rem
    0
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.6
    );

  line-height:
    1.5;
}


/* =====================================================
   PURSUIT KNOWLEDGE SECTION
===================================================== */


.sasha-write-context-section {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-write-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-write-section-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.8rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;
}


.sasha-write-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.58
    );

  font-size:
    0.88rem;

  line-height:
    1.5;
}


/* =====================================================
   KNOWLEDGE CARDS
===================================================== */


.sasha-write-context-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-write-context-card {
  display:
    flex;

  min-height:
    220px;

  flex-direction:
    column;

  padding:
    1.35rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-write-context-card > span:first-child {
  display:
    block;

  margin-bottom:
    0.75rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;
}


.sasha-write-context-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.05rem;

  font-weight:
    700;
}


.sasha-write-context-card p {
  margin:
    0.75rem
    0
    1rem;

  color:
    rgba(
      255,
      255,
      255,
      0.54
    );

  font-size:
    0.8rem;

  line-height:
    1.5;
}


.sasha-write-context-card a,
.sasha-write-context-source {
  margin-top:
    auto;

  color:
    var(--sasha-pink);

  font-size:
    0.76rem;

  font-weight:
    800;

  text-decoration:
    none;
}


.sasha-write-context-card a:hover {
  color:
    var(--sasha-white);
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1100px) {

  .sasha-write-context-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


@media screen and (max-width: 950px) {

  .sasha-write-layout {
    grid-template-columns:
      1fr;
  }


  .sasha-write-outline {
    position:
      static;
  }


  .sasha-write-outline-list {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  .sasha-write-outline-item {
    border-right:
      1px solid
      var(--sasha-white-12);
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 760px) {

  .sasha-write-outline-list {
    grid-template-columns:
      1fr;
  }


  .sasha-write-section-context {
    grid-template-columns:
      1fr;
  }


  .sasha-write-section-heading,
  .sasha-write-section-header {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-write-section-actions {
    align-items:
      stretch;

    flex-direction:
      column;
  }


  .sasha-write-section-action-group {
    width:
      100%;

    align-items:
      stretch;

    flex-direction:
      column;
  }


  .sasha-write-secondary-button,
  .sasha-write-section-action-group
  .sasha-form-submit-button {
    width:
      100%;
  }

}


@media screen and (max-width: 620px) {

  .sasha-write-context-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-write-chat-thread {
    min-height:
      400px;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-write-outline-item {
    transition:
      none;
  }

}

/* =====================================================
   SASHA WRITE — MISSING COMPONENT FIXES
===================================================== */


/* =====================================================
   OUTLINE PANEL
===================================================== */


.sasha-write-outline {
  position:
    sticky;

  top:
    2rem;

  align-self:
    start;

  overflow:
    hidden;

  background:
    rgba(
      255,
      255,
      255,
      0.06
    );

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.22
    );

  border-radius:
    20px;

  box-shadow:
    0
    18px
    45px
    rgba(
      20,
      16,
      72,
      0.14
    );
}


.sasha-write-outline-header {
  padding:
    1.5rem
    1.5rem
    1.25rem;

  border-bottom:
    1px solid
    rgba(
      255,
      255,
      255,
      0.14
    );
}


.sasha-write-outline-header h2 {
  margin:
    0;

  color:
    #ffffff;

  font-size:
    1.5rem;

  font-weight:
    700;

  line-height:
    1.15;
}


/* =====================================================
   EMPTY OUTLINE
===================================================== */


.sasha-write-outline-empty {
  padding:
    1.5rem;

  color:
    rgba(
      255,
      255,
      255,
      0.7
    );

  font-size:
    0.88rem;

  line-height:
    1.55;
}


.sasha-write-outline-empty p {
  margin:
    0;
}


.sasha-write-outline-empty p + p {
  margin-top:
    0.85rem;
}


/* =====================================================
   OUTLINE ACTION
===================================================== */


.sasha-write-outline-actions {
  padding:
    1rem
    1.5rem
    1.4rem;

  border-top:
    1px solid
    rgba(
      255,
      255,
      255,
      0.14
    );
}


.sasha-write-outline-button {
  display:
    inline-flex;

  width:
    100%;

  min-height:
    46px;

  align-items:
    center;

  justify-content:
    center;

  padding:
    0.75rem
    1rem;

  color:
    #ffffff;

  background:
    transparent;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.3
    );

  border-radius:
    999px;

  font-family:
    inherit;

  font-size:
    0.78rem;

  font-weight:
    800;

  cursor:
    pointer;

  appearance:
    none;

  transition:
    color
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease,
    transform
    180ms ease;
}


.sasha-write-outline-button:hover {
  transform:
    translateY(-2px);

  color:
    #17164f;

  background:
    #f59ac0;

  border-color:
    #f59ac0;
}


/* =====================================================
   NO ACTIVE SECTION / WORKING DRAFT
===================================================== */


.sasha-write-no-section {
  margin-bottom:
    clamp(
      3.5rem,
      7vw,
      5.5rem
    );

  padding:
    clamp(
      1.75rem,
      4vw,
      2.5rem
    );

  background:
    rgba(
      255,
      255,
      255,
      0.06
    );

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.22
    );

  border-radius:
    20px;
}


.sasha-write-no-section h2 {
  margin:
    0;

  color:
    #ffffff;

  font-size:
    clamp(
      1.6rem,
      3vw,
      2.25rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.03em;
}


.sasha-write-no-section > p:not(
  .sasha-work-eyebrow
) {
  max-width:
    760px;

  margin:
    0.9rem
    0
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.68
    );

  font-size:
    0.9rem;

  line-height:
    1.55;
}


/* =====================================================
   PURSUIT KNOWLEDGE HEADING
===================================================== */


.sasha-write-context-section {
  margin-bottom:
    clamp(
      4rem,
      8vw,
      6rem
    );
}


.sasha-write-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-write-section-heading h2 {
  margin:
    0;

  color:
    #ffffff;

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.7rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;
}


.sasha-write-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.62
    );

  font-size:
    0.88rem;

  line-height:
    1.5;
}


/* =====================================================
   PURSUIT KNOWLEDGE GRID
===================================================== */


.sasha-write-context-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


/* =====================================================
   PURSUIT KNOWLEDGE CARDS
===================================================== */


.sasha-write-context-card {
  display:
    flex;

  min-width:
    0;

  min-height:
    240px;

  flex-direction:
    column;

  padding:
    1.4rem;

  background:
    rgba(
      255,
      255,
      255,
      0.06
    );

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.2
    );

  border-radius:
    16px;

  box-shadow:
    0
    14px
    32px
    rgba(
      20,
      16,
      72,
      0.1
    );
}


.sasha-write-context-card > span:first-child {
  display:
    block;

  margin-bottom:
    0.75rem;

  color:
    #f59ac0;

  font-size:
    0.72rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;
}


.sasha-write-context-card h3 {
  margin:
    0;

  color:
    #ffffff;

  font-size:
    1.08rem;

  font-weight:
    700;

  line-height:
    1.25;
}


.sasha-write-context-card p {
  margin:
    0.8rem
    0
    1rem;

  color:
    rgba(
      255,
      255,
      255,
      0.62
    );

  font-size:
    0.82rem;

  line-height:
    1.5;
}


.sasha-write-context-card a,
.sasha-write-context-source {
  display:
    inline-block;

  margin-top:
    auto;

  color:
    #f59ac0;

  font-size:
    0.78rem;

  font-weight:
    800;

  text-decoration:
    none;
}


.sasha-write-context-card a:hover {
  color:
    #ffffff;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1100px) {

  .sasha-write-context-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


@media screen and (max-width: 950px) {

  .sasha-write-outline {
    position:
      static;
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 760px) {

  .sasha-write-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

}


@media screen and (max-width: 620px) {

  .sasha-write-context-grid {
    grid-template-columns:
      1fr;
  }

}

/* =====================================================
   SASHA REVIEW
===================================================== */


/* =====================================================
   REVIEW EFFORT BANNER
===================================================== */


.sasha-review-effort-banner {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    clamp(2.5rem, 5vw, 4rem);

  padding:
    1.5rem
    1.75rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-review-effort-banner > div {
  max-width:
    860px;
}


.sasha-review-effort-banner h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.55rem,
      3vw,
      2.2rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.035em;
}


.sasha-review-effort-banner p:not(
  .sasha-work-eyebrow
) {
  margin:
    0.7rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.66);

  font-size:
    0.9rem;

  line-height:
    1.5;
}


.sasha-review-effort-banner.is-full {
  background:
    rgba(242, 130, 170, 0.07);

  border-color:
    rgba(242, 130, 170, 0.55);
}


/* =====================================================
   REVIEW MAIN LAYOUT
===================================================== */


.sasha-review-layout {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, 0.7fr);

  gap:
    clamp(1.5rem, 3vw, 2.5rem);

  align-items:
    start;

  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-review-chat-thread {
  min-height:
    500px;
}


/* =====================================================
   REVIEW SIDEBAR
===================================================== */


.sasha-review-sidebar {
  display:
    grid;

  gap:
    1.25rem;
}


.sasha-review-side-card {
  padding:
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-review-side-card h2 {
  margin:
    0
    0
    1rem;

  color:
    var(--sasha-white);

  font-size:
    1.25rem;

  font-weight:
    700;

  letter-spacing:
    -0.03em;
}


/* =====================================================
   PROPOSAL HEALTH
===================================================== */


.sasha-review-health-list {
  display:
    grid;

  gap:
    0.7rem;
}


.sasha-review-health-list > div {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1rem;

  padding:
    0.85rem
    0.95rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    10px;
}


.sasha-review-health-list span {
  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.76rem;

  font-weight:
    700;
}


.sasha-review-health-list strong {
  color:
    var(--sasha-white);

  font-size:
    0.78rem;

  font-weight:
    800;

  text-align:
    right;
}


/* =====================================================
   OPEN FINDINGS COUNT
===================================================== */


.sasha-review-open-count {
  display:
    block;

  margin:
    0.25rem
    0
    0.75rem;

  color:
    var(--sasha-pink);

  font-size:
    clamp(
      2.4rem,
      5vw,
      3.5rem
    );

  font-weight:
    700;

  line-height:
    1;
}


.sasha-review-side-copy {
  margin:
    0;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.8rem;

  line-height:
    1.5;
}


/* =====================================================
   REVIEW SECTIONS
===================================================== */


.sasha-review-section {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-review-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    2rem;

  margin-bottom:
    1.75rem;
}


.sasha-review-section-heading h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    clamp(
      1.8rem,
      3.5vw,
      2.8rem
    );

  font-weight:
    700;

  letter-spacing:
    -0.04em;
}


.sasha-review-section-heading > p {
  max-width:
    520px;

  margin:
    0;

  color:
    rgba(255, 255, 255, 0.6);

  font-size:
    0.88rem;

  line-height:
    1.5;
}


/* =====================================================
   CONTINUOUS REVIEW TOOLS
===================================================== */


.sasha-review-tools-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-review-tool-card {
  display:
    flex;

  min-height:
    255px;

  flex-direction:
    column;

  padding:
    1.4rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-review-tool-card > span {
  display:
    block;

  margin-bottom:
    0.8rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;
}


.sasha-review-tool-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.08rem;

  font-weight:
    700;
}


.sasha-review-tool-card p {
  margin:
    0.8rem
    0
    1.2rem;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.8rem;

  line-height:
    1.5;
}


.sasha-review-tool-action {
  align-self:
    flex-start;

  margin-top:
    auto;

  padding:
    0.68rem
    1rem;

  color:
    var(--sasha-pink);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.76rem;

  font-weight:
    800;

  cursor:
    pointer;

  transition:
    color
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease,
    transform
    180ms ease;
}


.sasha-review-tool-action:hover {
  transform:
    translateY(-2px);

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   COLOR TEAM REVIEWS
===================================================== */


.sasha-color-review-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1.25rem;
}


.sasha-color-review-card {
  display:
    flex;

  min-height:
    290px;

  flex-direction:
    column;

  padding:
    1.5rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);

  box-shadow:
    0
    16px
    40px
    rgba(20, 16, 72, 0.12);
}


.sasha-color-review-name {
  display:
    inline-flex;

  align-self:
    flex-start;

  margin-bottom:
    0.9rem;

  padding:
    0.42rem
    0.7rem;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.68rem;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}


.sasha-color-review-card h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.25rem;

  font-weight:
    700;
}


.sasha-color-review-card > p {
  margin:
    0.8rem
    0
    1.2rem;

  color:
    rgba(255, 255, 255, 0.58);

  font-size:
    0.82rem;

  line-height:
    1.5;
}


/* =====================================================
   COLOR TEAM IDENTITIES
===================================================== */


.sasha-color-review-card.is-blue {
  border-color:
    rgba(135, 174, 255, 0.5);
}


.sasha-color-review-card.is-blue
.sasha-color-review-name {
  color:
    #c9d8ff;

  background:
    rgba(135, 174, 255, 0.12);

  border-color:
    rgba(135, 174, 255, 0.45);
}


.sasha-color-review-card.is-pink {
  border-color:
    rgba(242, 130, 170, 0.55);
}


.sasha-color-review-card.is-pink
.sasha-color-review-name {
  color:
    var(--sasha-pink);

  background:
    rgba(242, 130, 170, 0.12);

  border-color:
    rgba(242, 130, 170, 0.45);
}


.sasha-color-review-card.is-gold {
  border-color:
    rgba(235, 201, 112, 0.5);
}


.sasha-color-review-card.is-gold
.sasha-color-review-name {
  color:
    #f0d58d;

  background:
    rgba(235, 201, 112, 0.1);

  border-color:
    rgba(235, 201, 112, 0.4);
}


.sasha-color-review-card.is-red {
  border-color:
    rgba(242, 120, 120, 0.5);
}


.sasha-color-review-card.is-red
.sasha-color-review-name {
  color:
    #ffb3b3;

  background:
    rgba(242, 120, 120, 0.1);

  border-color:
    rgba(242, 120, 120, 0.4);
}


/* =====================================================
   COLOR REVIEW STATUS
===================================================== */


.sasha-color-review-status {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1rem;

  margin-top:
    auto;

  padding:
    0.85rem
    0;

  border-top:
    1px solid
    var(--sasha-white-18);
}


.sasha-color-review-status span {
  color:
    rgba(255, 255, 255, 0.48);

  font-size:
    0.7rem;

  font-weight:
    800;

  text-transform:
    uppercase;
}


.sasha-color-review-status strong {
  color:
    var(--sasha-white);

  font-size:
    0.78rem;

  font-weight:
    800;

  text-transform:
    capitalize;
}


.sasha-color-review-action {
  align-self:
    flex-start;

  margin-top:
    0.8rem;

  padding:
    0.68rem
    1rem;

  color:
    var(--sasha-white);

  background:
    transparent;

  border:
    1px solid
    var(--sasha-white-25);

  border-radius:
    999px;

  font-size:
    0.76rem;

  font-weight:
    800;

  cursor:
    pointer;
}


.sasha-color-review-action:hover {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


/* =====================================================
   USUAL EFFORT OPTIONAL REVIEW
===================================================== */


.sasha-review-usual-option {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;

  padding:
    1.6rem
    1.75rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-large);
}


.sasha-review-usual-option > div {
  max-width:
    820px;
}


.sasha-review-usual-option h2 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.5rem;

  font-weight:
    700;
}


.sasha-review-usual-option p:not(
  .sasha-work-eyebrow
) {
  margin:
    0.8rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.58);

  font-size:
    0.84rem;

  line-height:
    1.5;
}


/* =====================================================
   REVIEW FINDINGS
===================================================== */


.sasha-review-findings-list {
  display:
    grid;

  gap:
    0.8rem;
}


.sasha-review-finding {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    1rem;

  padding:
    1rem
    1.1rem;

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-review-finding-marker {
  display:
    inline-flex;

  width:
    30px;

  height:
    30px;

  flex:
    0 0 30px;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sasha-pink);

  border:
    1px solid
    rgba(242, 130, 170, 0.5);

  border-radius:
    50%;

  font-size:
    0.8rem;

  font-weight:
    800;
}


.sasha-review-finding.is-resolved
.sasha-review-finding-marker {
  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border-color:
    var(--sasha-pink);
}


.sasha-review-finding-copy {
  min-width:
    0;
}


.sasha-review-finding-heading {
  display:
    flex;

  flex-wrap:
    wrap;

  align-items:
    center;

  gap:
    0.7rem;
}


.sasha-review-finding-heading strong {
  color:
    var(--sasha-white);

  font-size:
    0.9rem;
}


.sasha-review-finding-heading span {
  display:
    inline-flex;

  padding:
    0.3rem
    0.55rem;

  color:
    var(--sasha-pink);

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    999px;

  font-size:
    0.66rem;

  font-weight:
    800;
}


.sasha-review-finding-copy p {
  margin:
    0.45rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.58);

  font-size:
    0.8rem;

  line-height:
    1.5;
}


.sasha-review-finding-copy small {
  display:
    block;

  margin-top:
    0.45rem;

  color:
    rgba(255, 255, 255, 0.42);

  font-size:
    0.7rem;
}


/* =====================================================
   EMPTY FINDINGS
===================================================== */


.sasha-review-findings-empty {
  padding:
    1.4rem;

  color:
    rgba(255, 255, 255, 0.54);

  background:
    var(--sasha-white-04);

  border:
    1px dashed
    var(--sasha-white-18);

  border-radius:
    12px;
}


.sasha-review-findings-empty p {
  margin:
    0;

  font-size:
    0.84rem;

  line-height:
    1.5;
}


/* =====================================================
   FINAL QUALITY
===================================================== */


.sasha-review-final-quality {
  margin-bottom:
    clamp(4rem, 8vw, 6rem);
}


.sasha-review-final-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap:
    1rem;
}


.sasha-review-final-grid article {
  min-height:
    210px;

  padding:
    1.3rem;

  background:
    var(--sasha-white-06);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    var(--sasha-radius-medium);
}


.sasha-review-final-grid article > span {
  display:
    block;

  margin-bottom:
    0.75rem;

  color:
    var(--sasha-pink);

  font-size:
    0.72rem;

  font-weight:
    800;
}


.sasha-review-final-grid h3 {
  margin:
    0;

  color:
    var(--sasha-white);

  font-size:
    1.05rem;

  font-weight:
    700;
}


.sasha-review-final-grid p {
  margin:
    0.75rem
    0
    0;

  color:
    rgba(255, 255, 255, 0.56);

  font-size:
    0.8rem;

  line-height:
    1.5;
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 1100px) {

  .sasha-review-tools-grid,
  .sasha-review-final-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


@media screen and (max-width: 950px) {

  .sasha-review-layout {
    grid-template-columns:
      1fr;
  }


  .sasha-review-sidebar {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 760px) {

  .sasha-review-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-review-usual-option,
  .sasha-review-effort-banner {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .sasha-color-review-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-review-sidebar {
    grid-template-columns:
      1fr;
  }

}


@media screen and (max-width: 620px) {

  .sasha-review-tools-grid,
  .sasha-review-final-grid {
    grid-template-columns:
      1fr;
  }


  .sasha-review-tool-action,
  .sasha-color-review-action {
    width:
      100%;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-review-tool-action {
    transition:
      none;
  }

}

/* =====================================================
   SASHA INSTRUCTION / RESOURCE FORM
===================================================== */


.sasha-instruction-form {
  margin-top:
    clamp(
      3rem,
      6vw,
      5rem
    );
}


/* =====================================================
   CHOICE GROUP
===================================================== */


.sasha-form-choice-group {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    1rem;

  min-width:
    0;

  margin:
    0
    0
    clamp(
      2rem,
      4vw,
      3rem
    );

  padding:
    0;

  border:
    0;
}


.sasha-form-choice-group legend {
  grid-column:
    1 / -1;

  width:
    100%;

  margin:
    0
    0
    0.25rem;

  padding:
    0;

  color:
    var(--sasha-white);

  font-size:
    0.96rem;

  font-weight:
    700;

  line-height:
    1.3;
}


/* =====================================================
   CHOICE CARDS
===================================================== */


.sasha-form-choice-card {
  position:
    relative;

  display:
    grid;

  grid-template-columns:
    22px
    minmax(0, 1fr);

  align-items:
    start;

  gap:
    0.9rem;

  min-width:
    0;

  padding:
    1.25rem;

  color:
    var(--sasha-white);

  background:
    var(--sasha-white-04);

  border:
    1px solid
    var(--sasha-white-18);

  border-radius:
    18px;

  cursor:
    pointer;

  transition:
    transform
    180ms ease,
    background-color
    180ms ease,
    border-color
    180ms ease,
    box-shadow
    180ms ease;
}


.sasha-form-choice-card:hover {
  transform:
    translateY(-2px);

  background:
    var(--sasha-white-08);

  border-color:
    var(--sasha-white-40);
}


.sasha-form-choice-card:has(
  input:checked
) {
  background:
    rgba(
      242,
      130,
      170,
      0.1
    );

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    3px
    rgba(
      242,
      130,
      170,
      0.12
    );
}


.sasha-form-choice-card:has(
  input:focus-visible
) {
  outline:
    3px solid
    var(--sasha-pink);

  outline-offset:
    3px;
}


/* =====================================================
   RADIO CONTROL
===================================================== */


.sasha-form-choice-card
input[type="radio"] {
  appearance:
    none;

  -webkit-appearance:
    none;

  display:
    grid;

  width:
    20px;

  height:
    20px;

  place-content:
    center;

  margin:
    0.15rem
    0
    0;

  background:
    rgba(
      38,
      34,
      98,
      0.72
    );

  border:
    2px solid
    var(--sasha-white-40);

  border-radius:
    50%;

  cursor:
    pointer;

  transition:
    background-color
    180ms ease,
    border-color
    180ms ease;
}


.sasha-form-choice-card
input[type="radio"]::before {
  content:
    "";

  width:
    8px;

  height:
    8px;

  background:
    var(--sasha-pink);

  border-radius:
    50%;

  transform:
    scale(0);

  transition:
    transform
    150ms ease;
}


.sasha-form-choice-card
input[type="radio"]:checked {
  border-color:
    var(--sasha-pink);
}


.sasha-form-choice-card
input[type="radio"]:checked::before {
  transform:
    scale(1);
}


/* =====================================================
   CHOICE COPY
===================================================== */


.sasha-form-choice-copy {
  display:
    block;

  min-width:
    0;
}


.sasha-form-choice-copy strong {
  display:
    block;

  margin-bottom:
    0.45rem;

  color:
    var(--sasha-white);

  font-size:
    0.96rem;

  font-weight:
    800;

  line-height:
    1.25;
}


.sasha-form-choice-copy > span {
  display:
    block;

  color:
    rgba(
      255,
      255,
      255,
      0.72
    );

  font-size:
    0.86rem;

  font-weight:
    400;

  line-height:
    1.48;
}


/* =====================================================
   SELECT EMPHASIS
===================================================== */


.sasha-instruction-form
select:required:invalid {
  color:
    rgba(
      255,
      255,
      255,
      0.48
    );
}


.sasha-instruction-form
select option {
  color:
    var(--sasha-navy);
}


/* =====================================================
   FILE UPLOAD
===================================================== */


.sasha-instruction-form
input[type="file"] {
  min-height:
    64px;
}


.sasha-instruction-form
input[type="file"]::file-selector-button {
  background:
    rgba(
      255,
      255,
      255,
      0.1
    );
}


/* =====================================================
   UPLOAD SECTION
===================================================== */


.sasha-instruction-upload {
  overflow:
    hidden;

  margin-bottom:
    2rem;

  background:
    rgba(
      255,
      255,
      255,
      0.08
    );

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.22
    );

  border-radius:
    1.75rem;

  box-shadow:
    0
    1.5rem
    3rem
    rgba(
      29,
      19,
      76,
      0.16
    );
}


.sasha-instruction-upload-header {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;

  padding:
    2rem
    2.25rem;

  border-bottom:
    1px solid
    rgba(
      255,
      255,
      255,
      0.16
    );
}


.sasha-instruction-upload-header > div {
  max-width:
    48rem;
}


.sasha-instruction-upload-header h2 {
  margin:
    0.35rem
    0
    0;

  color:
    var(--sasha-white);
}


.sasha-instruction-upload-header p {
  margin-top:
    0.75rem;

  color:
    rgba(
      255,
      255,
      255,
      0.74
    );

  line-height:
    1.55;
}


.sasha-instruction-upload-content {
  padding:
    2rem
    2.25rem
    2.25rem;
}


/* =====================================================
   ASK SASHA TO PREPARE FORM
===================================================== */


.sasha-instruction-ai-action {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    1.5rem;

  margin-top:
    1.5rem;

  padding:
    1.25rem
    1.4rem;

  background:
    rgba(
      255,
      255,
      255,
      0.07
    );

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.2
    );

  border-radius:
    1.15rem;
}


.sasha-instruction-ai-action strong {
  display:
    block;

  margin-bottom:
    0.35rem;

  color:
    var(--sasha-white);

  font-size:
    0.95rem;
}


.sasha-instruction-ai-action p {
  max-width:
    46rem;

  margin:
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.72
    );

  line-height:
    1.6;
}


.sasha-instruction-analyze-button {
  display:
    inline-flex;

  min-height:
    3.25rem;

  flex:
    0
    0
    auto;

  align-items:
    center;

  justify-content:
    center;

  gap:
    0.65rem;

  padding:
    0.85rem
    1.4rem;

  color:
    var(--sasha-navy);

  background:
    var(--sasha-pink);

  border:
    0;

  border-radius:
    999px;

  box-shadow:
    0
    0.8rem
    1.8rem
    rgba(
      39,
      25,
      98,
      0.18
    );

  font:
    inherit;

  font-weight:
    700;

  line-height:
    1;

  cursor:
    pointer;

  transition:
    transform
    160ms ease,
    box-shadow
    160ms ease,
    background-color
    160ms ease,
    opacity
    160ms ease;
}


.sasha-instruction-analyze-button:hover {
  transform:
    translateY(-2px);

  background:
    var(--sasha-white);

  box-shadow:
    0
    1rem
    2rem
    rgba(
      39,
      25,
      98,
      0.24
    );
}


.sasha-instruction-analyze-button:focus-visible {
  outline:
    3px solid
    rgba(
      255,
      255,
      255,
      0.9
    );

  outline-offset:
    4px;
}


.sasha-instruction-analyze-button:disabled {
  opacity:
    0.65;

  cursor:
    wait;

  transform:
    none;
}


/* =====================================================
   ANALYSIS STATES
===================================================== */


.sasha-instruction-analysis-status,
.sasha-instruction-analysis-error,
.sasha-instruction-analysis-success {
  margin-top:
    1rem;

  border-radius:
    0.9rem;

  line-height:
    1.55;
}


.sasha-instruction-analysis-status[hidden],
.sasha-instruction-analysis-error[hidden],
.sasha-instruction-analysis-success[hidden] {
  display:
    none;
}


/* =====================================================
   SASHA WORKING
===================================================== */


.sasha-instruction-analysis-status {
  display:
    flex;

  width:
    100%;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  padding:
    1.5rem
    1rem;

  text-align:
    center;
}


.sasha-instruction-analysis-status p {
  margin:
    0.75rem
    0
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.82
    );

  font-size:
    0.9rem;

  font-weight:
    600;

  line-height:
    1.4;

  text-align:
    center;
}


/* =====================================================
   ANALYSIS ERROR
===================================================== */


.sasha-instruction-analysis-error {
  padding:
    0.95rem
    1.15rem;

  color:
    #ffffff;

  background:
    rgba(
      116,
      22,
      45,
      0.3
    );

  border:
    1px solid
    rgba(
      255,
      168,
      180,
      0.75
    );
}


.sasha-instruction-analysis-error p {
  margin:
    0;
}


/* =====================================================
   ANALYSIS SUCCESS
===================================================== */


.sasha-instruction-analysis-success {
  padding:
    0.95rem
    1.15rem;

  color:
    #ffffff;

  background:
    rgba(
      20,
      99,
      75,
      0.3
    );

  border:
    1px solid
    rgba(
      173,
      239,
      208,
      0.75
    );
}


.sasha-instruction-analysis-success strong {
  display:
    block;

  margin-bottom:
    0.2rem;
}


.sasha-instruction-analysis-success p {
  margin:
    0;
}


/* =====================================================
   SASHA-SUGGESTED VALUES
===================================================== */


.sasha-instruction-form
input.is-sasha-suggested,
.sasha-instruction-form
select.is-sasha-suggested,
.sasha-instruction-form
textarea.is-sasha-suggested {
  color:
    var(--sasha-navy);

  background:
    linear-gradient(
      0deg,
      rgba(
        244,
        154,
        193,
        0.08
      ),
      rgba(
        244,
        154,
        193,
        0.08
      )
    ),
    #ffffff;

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    3px
    rgba(
      244,
      154,
      193,
      0.16
    );

  caret-color:
    var(--sasha-navy);
}


.sasha-instruction-form
input.is-sasha-suggested::placeholder,
.sasha-instruction-form
textarea.is-sasha-suggested::placeholder {
  color:
    rgba(
      51,
      36,
      122,
      0.6
    );

  opacity:
    1;
}


.sasha-instruction-form
select.is-sasha-suggested option {
  color:
    var(--sasha-navy);

  background:
    #ffffff;
}


.sasha-form-choice-card.is-sasha-suggested {
  background:
    rgba(
      244,
      154,
      193,
      0.14
    );

  border-color:
    var(--sasha-pink);

  box-shadow:
    0
    0
    0
    3px
    rgba(
      244,
      154,
      193,
      0.12
    );
}


/* =====================================================
   SERVER MESSAGES
===================================================== */


.sasha-form-message {
  margin:
    1.5rem
    0;

  padding:
    1rem
    1.2rem;

  border-radius:
    1rem;

  line-height:
    1.55;
}


.sasha-form-message-error {
  color:
    #ffffff;

  background:
    rgba(
      116,
      22,
      45,
      0.3
    );

  border:
    1px solid
    rgba(
      255,
      168,
      180,
      0.75
    );
}


.sasha-form-message-success {
  color:
    #ffffff;

  background:
    rgba(
      20,
      99,
      75,
      0.3
    );

  border:
    1px solid
    rgba(
      173,
      239,
      208,
      0.75
    );
}


/* =====================================================
   TABLET
===================================================== */


@media screen and (max-width: 900px) {

  .sasha-form-choice-group {
    grid-template-columns:
      1fr;
  }

}


/* =====================================================
   MOBILE
===================================================== */


@media screen and (max-width: 760px) {

  .sasha-instruction-upload-header {
    align-items:
      flex-start;

    padding:
      1.5rem;
  }


  .sasha-instruction-upload-content {
    padding:
      1.5rem;
  }


  .sasha-instruction-ai-action {
    align-items:
      stretch;

    flex-direction:
      column;
  }


  .sasha-instruction-analyze-button {
    width:
      100%;
  }

}


@media screen and (max-width: 520px) {

  .sasha-instruction-upload {
    border-radius:
      1.25rem;
  }


  .sasha-instruction-upload-header {
    gap:
      1rem;

    padding:
      1.25rem;
  }


  .sasha-instruction-upload-content {
    padding:
      1.25rem;
  }


  .sasha-form-choice-card {
    grid-template-columns:
      20px
      minmax(0, 1fr);

    gap:
      0.75rem;

    padding:
      1rem;

    border-radius:
      14px;
  }


  .sasha-form-choice-card
  input[type="radio"] {
    width:
      18px;

    height:
      18px;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */


@media (prefers-reduced-motion: reduce) {

  .sasha-form-choice-card,
  .sasha-form-choice-card
  input[type="radio"],
  .sasha-form-choice-card
  input[type="radio"]::before,
  .sasha-instruction-analyze-button {
    transition:
      none;
  }

}