#red-writing-workspace [data-screen="gigs"] {
  max-width: 1220px;
  margin: auto;
  padding: 32px 20px 64px;
  color: #302b30;
  font-family: Manrope, system-ui, sans-serif;
}
.gig-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.gig-eyebrow {
  font-size: 11px;
  letter-spacing: 0.16em;
  font-weight: 750;
  color: #a43b40;
  margin: 0 0 10px;
}
.gig-heading h1 {
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.045em;
  margin: 0 0 10px;
  line-height: 1.14;
}
.gig-heading p:not(.gig-eyebrow) {
  color: #70655d;
  font-size: 14px;
  margin: 0;
}
#red-writing-workspace .gig-primary {
  background: #a7373e;
  color: #fff;
  border: 1px solid #a7373e;
  box-shadow: 0 3px 7px #6c222116;
  padding: 12px 20px;
  border-radius: 13px;
  font-weight: 650;
  white-space: nowrap;
  min-height: 44px;
}
.gig-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #ddd7d1;
  margin-bottom: 22px;
}
.gig-gmail-entry { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:20px; margin-bottom:16px; border:1px solid var(--line,#ded5cc); border-radius:16px; background:color-mix(in srgb,var(--red,#a7373e) 5%,transparent); }
.gig-gmail-entry strong { font-size:18px; color:var(--ink,#302b30); }
.gig-gmail-entry p { margin:6px 0 0; font-size:14px; line-height:1.5; color:var(--muted,#70655d); }
#red-writing-workspace .gig-gmail-entry .gig-primary { white-space:normal; text-align:left; min-height:48px; }
#red-writing-workspace .gig-sign-in { display:block; margin-top:12px; white-space:normal; }
.gig-address-book[hidden] { display: none !important; }
.gig-address-book-status { display: inline-block; margin-left: 10px; color: #39695b; font-size: 13px; font-weight: 650; }
.gig-address-book-manage { margin-top: 14px; }
.gig-address-book-manage summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; color: #70655d; }
.gig-address-book-manage summary::before { content: '›'; }
.gig-address-book-manage[open] summary::before { transform: rotate(90deg); }
#red-writing-workspace .gig-tabs button {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 13px 2px;
  color: #70655d;
  min-height: 46px;
  font-weight: 650;
  border-bottom: 2px solid transparent;
}
.gig-tabs button[aria-selected="true"] {
  color: #302b30 !important;
  border-bottom-color: #a7373e !important;
}
.gig-tools {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}
.gig-search {
  flex: 1;
}
.gig-search input {
  width: 100%;
}
.gig-tools input,
.gig-tools select {
  font: inherit !important;
  font-size: 13px !important;
  border: 1px solid #ded8d2 !important;
  background: #fffcf8 !important;
  border-radius: 11px !important;
  min-height: 44px;
  padding: 10px 14px !important;
  color: #4b4448 !important;
}
.gig-switch {
  display: flex;
  background: #e9e4de;
  border-radius: 11px;
  padding: 3px;
}
.gig-switch[hidden] {
  display: none;
}
#red-writing-workspace .gig-switch button {
  min-height: 38px;
  padding: 8px 14px;
  background: none;
  border: 0;
  border-radius: 9px;
  font-size: 12px;
  color: #6b605b;
}
.gig-switch button[aria-pressed="true"] {
  background: #fffdfa !important;
  box-shadow: 0 2px 4px #31221b12;
  color: #302b30 !important;
}
.gig-message {
  font-size: 13px;
  color: #8f363c;
  margin: 12px 0;
  min-height: 18px;
}
.gig-content {
  display: grid;
  gap: 10px;
}
#red-writing-workspace .gig-card {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 22px;
  border: 1px solid #e6e0da;
  border-radius: 18px;
  padding: 22px;
  background: #fffcf8;
  box-shadow: 0 4px 14px #31221b04;
  min-height: 108px;
  color: inherit;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.gig-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px #31221b0b !important;
  border-color: #d3c9c0 !important;
}
.gig-date {
  display: grid;
  text-align: center;
  min-width: 46px;
  border-right: 1px solid #e7ddd5;
  padding-right: 23px;
  box-sizing: content-box;
}
.gig-date b {
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -0.05em;
  font-weight: 550;
}
.gig-date span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #9e494b;
  margin-top: 4px;
}
.gig-card-copy {
  display: grid;
  gap: 7px;
  flex: 1;
  min-width: 0;
}
.gig-card-copy strong {
  font-size: 17px;
  font-weight: 650;
  overflow-wrap: anywhere;
}
.gig-card-copy > span {
  font-size: 12px;
  color: #867b75;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.gig-status {
  padding: 6px 10px;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  background: #ede5d9;
  color: #8b6d3f;
}
.gig-status.confirmed {
  background: #e5ece6;
  color: #48624c;
}
.gig-status.completed {
  background: #e9e6ed;
  color: #706079;
}
.gig-status.cancelled {
  background: #f4e5e4;
  color: #a54347;
}
.gig-chevron {
  color: #ac9d93;
  font-size: 20px;
}
.gig-record-mark {
  font-size: 28px;
  color: #a55252;
  padding: 8px;
  min-width: 40px;
}
.gig-empty {
  text-align: center;
  padding: 90px 24px;
  background: #faf6f0;
  border: 1px dashed #ddd4ca;
  border-radius: 20px;
}
.gig-empty > span {
  font-family: Georgia, serif;
  font-size: 28px;
  color: #78685f;
}
.gig-empty p,
.gig-empty-small {
  font-size: 14px;
  color: #70655d;
}
.gig-text {
  border: 0 !important;
  background: none !important;
  color: #8f363c !important;
  font-size: 13px !important;
  min-height: 44px;
}
.gig-refresh {
  justify-self: end;
}
.gig-calendar-head {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}
.gig-calendar-head h2 {
  font-size: 20px;
  font-weight: 600;
  flex: 1;
  margin: 0;
}
.gig-calendar-head button {
  background: #fffaf5 !important;
  border: 1px solid #e3dcd4 !important;
  border-radius: 10px !important;
  min-height: 44px;
  min-width: 44px;
}
.gig-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  background: #e5ded7;
  gap: 1px;
  border: 1px solid #e5ded7;
  border-radius: 16px;
  overflow: hidden;
}
.gig-weekday {
  background: #eee9e2;
  text-align: center;
  padding: 11px 0;
  font-size: 11px;
  color: #86796e;
}
.gig-day {
  min-height: 116px;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  background: #fffcf8 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px !important;
  gap: 6px;
  min-width: 0;
  color: #54483f !important;
}
.gig-day b {
  font-size: 12px;
  font-weight: 550;
}
.gig-day.today b {
  color: #b1313a;
  font-weight: 800;
}
.gig-day.selected {
  box-shadow: inset 0 0 0 2px #a7373e;
}
.gig-day.blank {
  background: #f4efe8 !important;
}
.gig-calendar-name {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #ede5db;
  padding: 4px;
  border-radius: 4px;
}
.gig-calendar-name.confirmed {
  background: #e4ece4;
}
.gig-calendar-name.cancelled {
  text-decoration: line-through;
  opacity: 0.65;
}
.gig-day small {
  font-size: 9px;
}
.gig-day i {
  display: none;
}
.gig-day-agenda {
  margin-top: 22px;
  display: grid;
  gap: 10px;
}
.gig-day-agenda h2 {
  font-size: 16px;
  font-weight: 600;
}
.gig-dialog {
  border: 1px solid #e4ddd5;
  border-radius: 24px;
  padding: 0;
  background: #fcf9f4;
  color: #302b30;
  width: min(700px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  box-shadow: 0 24px 90px #160c0840;
  font-family: Manrope, system-ui, sans-serif;
}
.gig-dialog::backdrop {
  background: #211b224f;
  backdrop-filter: blur(5px);
}
.gig-dialog form {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 36px);
}
.gig-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 28px 20px;
  border-bottom: 1px solid #e8e0d8;
  gap: 15px;
}
.gig-dialog h2 {
  font-size: 24px;
  letter-spacing: -0.03em;
  margin: 0;
  overflow-wrap: anywhere;
}
.gig-dialog header button {
  border: 0 !important;
  background: none !important;
  font-size: 26px !important;
  min-height: 44px;
  min-width: 44px;
}
.gig-form-body {
  overflow: auto;
  padding: 24px 28px;
  overscroll-behavior: contain;
}
.gig-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.gig-fields > label:first-child {
  grid-column: 1/-1;
}
.gig-dialog label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 650;
  color: #70635d;
}
.gig-dialog input,
.gig-dialog select,
.gig-dialog textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #dfd6cd !important;
  border-radius: 11px !important;
  padding: 12px 13px !important;
  font:
    500 14px/1.5 Manrope,
    system-ui,
    sans-serif !important;
  color: #342d30 !important;
  background: #fffdfa !important;
  min-height: 46px;
  box-shadow: 0 1px 2px #3d2a1703;
  min-width: 0;
}
.gig-dialog textarea {
  resize: vertical;
}
.gig-dialog input:focus,
.gig-dialog textarea:focus,
.gig-dialog select:focus {
  outline: 2px solid #b6535360;
  outline-offset: 2px;
}
.gig-notes {
  margin-top: 22px;
}
.gig-help {
  font-size: 11px;
  color: #98897e;
  line-height: 1.7;
  margin: 12px 0;
}
.gig-form-status {
  font-size: 13px;
  line-height: 1.5;
  color: #963d43;
  margin: 12px 0 0;
  min-height: 20px;
}
.gig-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 28px;
  border-top: 1px solid #e8e0d8;
  gap: 12px;
}
.gig-dialog footer > button:not(.gig-primary) {
  background: none !important;
  border: 0 !important;
  color: #8f7971 !important;
  font-size: 12px !important;
  min-height: 44px;
}
.gig-linked {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.gig-linked button,
.gig-linked a {
  font:
    600 12px Manrope,
    system-ui !important;
  background: #efe8e1 !important;
  color: #794e48 !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 13px !important;
  text-decoration: none;
  min-height: 44px;
  box-sizing: border-box;
}
.gig-contact-card {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  padding: 16px;
  margin-top: 16px;
  background: #f0ebe4;
  border-radius: 12px;
  font-size: 12px;
}
.gig-contact-card a {
  color: #9f4145;
}
.gig-recovery {
  font-size: 12px;
  color: #907048;
  margin-top: 0;
}
.gig-dialog button:disabled {
  opacity: 0.5;
  cursor: wait;
}
.gig-tabs button:focus-visible,
.gig-card:focus-visible,
.gig-day:focus-visible {
  outline: 2px solid #a7373e;
  outline-offset: 3px;
}
@media (max-width: 650px) {
  #red-writing-workspace [data-screen="gigs"] {
    padding: 22px 4px 40px;
  }
  .gig-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
  }
  .gig-tools {
    flex-wrap: wrap;
    gap: 8px;
  }
  .gig-search {
    flex-basis: 100%;
  }
  .gig-tools select {
    flex: 1;
  }
  .gig-tabs {
    gap: 25px;
  }
  .gig-card {
    gap: 12px !important;
    padding: 16px !important;
    flex-wrap: wrap;
  }
  .gig-date {
    min-width: 32px;
    padding-right: 13px;
  }
  .gig-card-copy strong {
    font-size: 15px;
  }
  .gig-status {
    margin-left: auto;
  }
  .gig-chevron {
    display: none;
  }
  .gig-calendar-head h2 {
    font-size: 17px;
  }
  .gig-day {
    min-height: 65px;
    padding: 8px !important;
    gap: 8px;
  }
  .gig-calendar-name,
  .gig-day small {
    display: none;
  }
  .gig-day i {
    display: block;
    font-size: 12px;
    letter-spacing: 2px;
    color: #a7373e;
    font-style: normal;
  }
  .gig-dialog {
    border-radius: 18px;
  }
  .gig-dialog header {
    padding: 20px;
  }
  .gig-form-body {
    padding: 20px;
  }
  .gig-fields {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .gig-dialog footer {
    padding: 14px 20px;
  }
  .gig-empty {
    padding: 60px 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gig-card {
    transition: none !important;
    transform: none !important;
  }
}
#red-writing-workspace [data-screen="gigs"] {
  background: #f6f2ec;
  border-radius: 22px;
  box-sizing: border-box;
  margin: 20px auto;
  min-height: calc(100dvh - 160px);
  padding: 32px;
}
#red-writing-workspace .gig-heading h1 {
  font-family: Manrope, system-ui, sans-serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: #302b30;
  line-height: 1.14;
}
.gig-search .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 650px) {
  #red-writing-workspace [data-screen="gigs"] {
    padding: 24px 16px;
    border-radius: 18px;
    margin: 12px auto;
  }
  .gig-heading h1 {
    letter-spacing: -0.045em;
  }
}
#red-writing-workspace .gig-calendar-head button,
#red-writing-workspace .gig-dialog header button {
  color: #685c54 !important;
}
#red-writing-workspace .gig-recovery button {
  background: none;
  border: 0;
  color: #963d43;
  font-size: 12px;
  text-decoration: underline;
  min-height: 36px;
}
.gig-contact-card p {
  flex-basis: 100%;
  margin: 3px 0;
  white-space: pre-wrap;
  line-height: 1.6;
}
.gig-finance {
  margin: 24px 0;
  border: 1px solid #e1d7ca;
  border-radius: 15px;
  background: #f7f1e8;
  overflow: hidden;
}
.gig-finance > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  min-height: 48px;
  box-sizing: border-box;
}
.gig-finance-caption {
  font-size: 11px;
  font-weight: 500;
  color: #887366;
}
.gig-finance-body {
  padding: 0 18px 16px;
}
.gig-finance .gig-fields > label:first-child {
  grid-column: auto;
}
.gig-money-summary {
  background: #fffaf3;
  border-radius: 12px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 18px 0;
}
.gig-money-summary div {
  display: grid;
  gap: 6px;
}
.gig-money-summary span {
  font-size: 11px;
  color: #8a7665;
}
.gig-money-summary strong {
  font-size: 22px;
  letter-spacing: -0.03em;
  font-weight: 600;
}
.gig-money-summary p {
  font-size: 12px;
  color: #587053;
  grid-column: 1/-1;
  margin: 0;
}
.is-overdue {
  color: #a7353c !important;
}
.gig-payment-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #e2d8ca;
}
.gig-payment-row > span {
  display: grid;
  gap: 5px;
  flex: 1;
  min-width: 0;
}
.gig-payment-row strong {
  font-size: 14px;
}
.gig-payment-row small {
  font-size: 11px;
  color: #877569;
  overflow-wrap: anywhere;
}
.gig-payment-row.is-voided strong {
  text-decoration: line-through;
  color: #988a7d;
}
#red-writing-workspace .gig-payment-row button {
  color: #96625b;
  background: none;
  border: 0;
  font-size: 12px;
  min-height: 44px;
}
.gig-add-payment {
  margin-top: 18px;
}
.gig-add-payment summary {
  font-size: 13px;
  color: #953e42;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.gig-add-payment .gig-fields {
  margin: 8px 0 16px;
}
#red-writing-workspace [data-add-payment] {
  background: #ece0d3;
  color: #754b42;
  border: 1px solid #dfcdbd;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 12px;
  min-height: 44px;
}
.gig-payment-message {
  font-size: 12px;
  color: #974447;
  line-height: 1.5;
}
.gig-card-copy .gig-payment-badge {
  color: #547251;
  font-size: 11px;
  font-weight: 650;
}
.gig-finance summary:focus-visible {
  outline: 2px solid #a7373e;
  outline-offset: -3px;
}
@media (max-width: 650px) {
  .gig-money-summary strong {
    font-size: 20px;
  }
  .gig-finance > summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .gig-finance-body {
    padding: 0 13px 14px;
  }
}
.gig-report-launch {
  display: block;
  margin: 0 0 12px auto;
}
.gig-new-expense {
  margin-top: 15px;
}
.gig-new-expense summary {
  font-size: 13px;
  color: #953e42;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.gig-new-expense .gig-fields {
  margin: 12px 0;
}
.gig-expense-message {
  color: #974447;
  font-size: 12px;
  line-height: 1.5;
}
.gig-receipt-picker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.gig-receipt-name {
  font-size: 11px;
  overflow-wrap: anywhere;
}
.gig-expense-totals p {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}
.gig-expense-totals strong {
  font-size: 18px;
}
.gig-expense-history a {
  font-size: 12px;
  color: #953e42;
}
.gig-expense-history [data-receipt-for] {
  text-align: left;
  align-self: start;
  justify-self: start;
}
#red-writing-workspace [data-add-expense],
#red-writing-workspace [data-receipt-new] {
  min-height: 44px;
  background: #ece0d3;
  color: #754b42;
  border: 1px solid #dfcdbd;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 12px;
}
.gig-report-totals section {
  padding: 16px;
  margin: 16px 0;
  border-radius: 14px;
  background: #f1e9df;
}
.gig-report-totals h3 {
  font-size: 13px;
  color: #8f6254;
}
.gig-report-totals dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.gig-report-totals dt {
  font-size: 11px;
  color: #877668;
}
.gig-report-totals dd {
  margin: 8px 0 0;
  font-size: 19px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.gig-dialog [role="status"] {
  font-size: 12px;
  color: #8f6254;
}
.gig-dialog .gig-help { color:#74695f; }
@media (max-width: 600px) {
  .gig-report-totals dl {
    grid-template-columns: 1fr;
  }
  .gig-report-totals dl div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .gig-report-totals dd {
    margin: 0;
  }
}

/* Financial records keep export and recovery controls within reach. */
#red-writing-workspace .gig-report-dialog[open] { display:flex; flex-direction:column; max-height:calc(var(--report-height,100dvh) - 24px); top:calc(var(--report-top,0px) + 12px); bottom:auto; margin:0 auto; overflow:hidden; }
.gig-report-dialog > header, .gig-report-dialog > footer { flex-shrink:0; }
.gig-report-dialog > header > div { min-width:0; }
.gig-report-dialog > header button { flex-shrink:0; }
.gig-report-dialog > .gig-form-body { min-height:0; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; scroll-padding-block:20px; }
.gig-report-dialog > footer { justify-content:flex-end; }
#red-writing-workspace .gig-report-dialog :is(select,[role=status]) { font-size:16px !important; }
#red-writing-workspace .gig-report-dialog select { height:calc(1.5em + 26px) !important; max-width:100%; }
#red-writing-workspace .gig-report-dialog .gig-help { font-size:14px; }
.gig-report-dialog .gig-report-totals dt { font-size:14px; color:#70635d; }
.gig-report-dialog .gig-report-totals h3 { font-size:14px; color:#70635d; }
.gig-report-dialog .gig-report-totals dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gig-report-dialog :is(p,h3,dt,dd) { overflow-wrap:anywhere; min-width:0; }
#red-writing-workspace .gig-report-dialog button { min-height:44px; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.gig-report-dialog [role=status] > button { display:block; margin-top:12px; }
#red-writing-workspace .gig-report-dialog :is(h2,[role=status]):focus { outline:none !important; box-shadow:none !important; }
@media(max-width:600px) {
  #red-writing-workspace .gig-report-dialog > header { padding:16px; }
  .gig-report-dialog > .gig-form-body { padding:16px; }
  .gig-report-dialog > footer { padding:12px 16px; }
  .gig-report-dialog .gig-report-totals dl { grid-template-columns:1fr; }
  .gig-report-dialog .gig-report-totals dl div { flex-wrap:wrap; gap:8px; }
}
@media(max-height:500px) {
  #red-writing-workspace .gig-report-dialog > header { padding-block:8px; }
  .gig-report-dialog .gig-eyebrow { display:none; }
  .gig-report-dialog > footer { padding-block:8px; }
}

/* Calendar handoff keeps the decision beside each event. */
#red-writing-workspace .calendar-dialog {width:min(720px,calc(100vw - 24px));}
#red-writing-workspace .calendar-range {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#red-writing-workspace .calendar-section {border-top:1px solid var(--line,#ded8d1);padding-top:22px;margin-top:22px;}
#red-writing-workspace .calendar-section h3 {margin:0 0 8px;font-size:19px;}
#red-writing-workspace .calendar-check,#red-writing-workspace .calendar-event {display:flex;align-items:flex-start;gap:12px;cursor:pointer;}
#red-writing-workspace .calendar-check input,#red-writing-workspace .calendar-event input {width:20px;height:20px;flex:0 0 20px;accent-color:#a6383c;margin:3px 0;}
#red-writing-workspace .calendar-events {max-height:360px;overflow:auto;overscroll-behavior:contain;margin:12px 0 18px;}
#red-writing-workspace .calendar-event {padding:14px 4px;border-top:1px solid #e5dfd7;min-height:64px;}
#red-writing-workspace .calendar-event span {min-width:0;overflow-wrap:anywhere;}
#red-writing-workspace .calendar-event small,#red-writing-workspace .calendar-event em {display:block;font-size:12px;line-height:1.6;font-style:normal;color:#746a62;font-weight:400;}
#red-writing-workspace .calendar-event:has(input:checked) {background:#a6383c08;}
#red-writing-workspace .calendar-review-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;}
#red-writing-workspace .calendar-warning {font-size:13px;margin-top:18px;color:#835118;overflow-wrap:anywhere;}
#red-writing-workspace .calendar-file input {font-size:13px;padding:12px;}
@media(max-width:500px){#red-writing-workspace .calendar-range {gap:10px;}#red-writing-workspace .calendar-range input {min-width:0;width:100%;}}
#red-writing-workspace .calendar-check,#red-writing-workspace .calendar-event {flex-direction:row;}
#red-writing-workspace .calendar-file input::file-selector-button {border:0;border-radius:8px;background:#eee9e2;color:#3b3430;font:inherit;font-weight:600;padding:8px 12px;margin-right:12px;cursor:pointer;}
#red-writing-workspace .calendar-file {margin-bottom:14px;}
#red-writing-workspace .calendar-check input,#red-writing-workspace .calendar-event input {min-height:20px;padding:0 !important;}
#red-writing-workspace .sync-account {display:flex;flex-direction:column;gap:6px;padding:18px 0;}
#red-writing-workspace .sync-account small,#red-writing-workspace .sync-link small {display:block;color:#776b64;font-size:12px;line-height:1.6;}
#red-writing-workspace .sync-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
#red-writing-workspace .sync-link {border-bottom:1px solid #e5dfd7;padding:16px 0;overflow-wrap:anywhere;}
#red-writing-workspace .sync-comparison {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
#red-writing-workspace .sync-comparison > div {padding:12px;background:#f0ece6;border-radius:12px;min-width:0;}
#red-writing-workspace .sync-comparison p {margin:8px 0;}
#red-writing-workspace .sync-setup {padding:22px;background:#f0ece6;border-radius:16px;margin-top:20px;}
#red-writing-workspace [data-sync-message]:not(:empty) {padding:12px 0;font-size:14px;}
#red-writing-workspace .sync-progress {display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0;margin:0 0 28px;}
#red-writing-workspace .sync-progress li {display:flex;align-items:center;gap:8px;font-size:12px;color:#887c74;}
#red-writing-workspace .sync-progress li span {display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eee9e2;font-weight:700;}
#red-writing-workspace .sync-progress [aria-current=step] {color:#a6383c;font-weight:700;}
#red-writing-workspace .sync-progress [aria-current=step] span {background:#a6383c;color:white;}
#red-writing-workspace .sync-progress .done span {background:#e0e9df;color:#3d6246;}
#red-writing-workspace .sync-welcome {padding:16px 0;}
#red-writing-workspace .sync-welcome h3 {font-size:24px;letter-spacing:-.6px;margin:12px 0;}
#red-writing-workspace .sync-welcome p {line-height:1.65;}
#red-writing-workspace .sync-welcome ul {padding-left:20px;margin:20px 0 26px;font-size:14px;line-height:1.7;}
#red-writing-workspace .sync-welcome li {margin:10px 0;}
#red-writing-workspace .sync-calendar-mark {font-size:30px;color:#a6383c;}
#red-writing-workspace .sync-direction {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#red-writing-workspace .sync-direction button {padding:16px;border:1px solid #ddd5cc;border-radius:14px;background:#fffcf8;color:#514540;font:600 14px/1.5 Manrope,system-ui;cursor:pointer;}
#red-writing-workspace .sync-direction [aria-pressed=true] {border-color:#a6383c;background:#a6383c08;color:#a6383c;}
#red-writing-workspace .sync-success {border:1px solid #d6e2d4;background:#f0f5ed;border-radius:16px;padding:22px;margin-bottom:20px;}
#red-writing-workspace .sync-success > span {font-size:24px;color:#3d6246;}
#red-writing-workspace .calendar-dialog [hidden] {display:none !important;}
#red-writing-workspace .sync-details {font-size:13px;margin:16px 0;color:#70635d;}
#red-writing-workspace .sync-details summary {cursor:pointer;padding:8px 0;}

/* Keep Google Calendar's navigation visible while its content scrolls. */
#red-writing-workspace .google-calendar-dialog[open] {display:flex;flex-direction:column;max-height:calc(var(--calendar-height,100dvh) - 24px);top:calc(var(--calendar-top,0px) + 12px);bottom:auto;margin:0 auto;overflow:hidden;}
.google-calendar-dialog > header,.google-calendar-dialog > footer {flex-shrink:0;}
.google-calendar-dialog > header > div {min-width:0;}
.google-calendar-dialog > header button {flex-shrink:0;}
.google-calendar-dialog > .gig-form-body {min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-block:20px;}
.google-calendar-dialog .gig-form-body > :first-child {margin-top:0;}
.google-calendar-dialog .gig-form-body :is(p,li,h3,label,strong,span,small) {overflow-wrap:anywhere;min-width:0;}
#red-writing-workspace .google-calendar-dialog button {white-space:normal;overflow-wrap:anywhere;max-width:100%;}
#red-writing-workspace .google-calendar-dialog select {height:calc(1.5em + 26px) !important;max-width:100%;}
#red-writing-workspace .google-calendar-dialog :is(.calendar-range,.sync-direction,.sync-comparison) {grid-template-columns:repeat(2,minmax(0,1fr));}
#red-writing-workspace .google-calendar-dialog .sync-progress {flex-wrap:wrap;}
#red-writing-workspace .google-calendar-dialog .sync-progress li {color:#70635d;}
#red-writing-workspace .google-calendar-dialog .sync-progress [aria-current=step] {color:#a6383c;}
#red-writing-workspace .google-calendar-dialog .sync-progress li span {flex:0 0 auto;width:1.7em;height:1.7em;}
.google-calendar-dialog > footer {flex-wrap:wrap;}
#red-writing-workspace .google-calendar-dialog footer > button:not(.gig-primary) {color:#70635d !important;}
@media(max-width:600px) {
  #red-writing-workspace .google-calendar-dialog > header {padding:16px;}
  .google-calendar-dialog > .gig-form-body {padding:16px;}
  .google-calendar-dialog > footer {padding:12px 16px;gap:8px;}
  .google-calendar-dialog .gig-eyebrow {display:none;}
  #red-writing-workspace .google-calendar-dialog .sync-comparison {grid-template-columns:minmax(0,1fr);}
}
@media(max-height:500px) {
  #red-writing-workspace .google-calendar-dialog > header {padding-block:8px;}
  .google-calendar-dialog .gig-eyebrow {display:none;}
  .google-calendar-dialog > footer {padding-block:8px;}
}

/* Shared, roomy date/time controls across the gig form. */
.gig-picker-field,.gig-money-field{position:relative;display:flex;align-items:center;min-width:0}
.gig-dialog .gig-picker-field>input:not([type=hidden]){padding-right:50px!important;min-height:50px}
.gig-picker-field>button{position:absolute;right:5px;width:40px;height:40px;border:0;border-radius:9px;background:#f1e9e1;color:#a4404b;cursor:pointer;display:grid;place-items:center}
.gig-picker-field>button:hover{background:#ead9d6}
.gig-picker-field svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.gig-dialog .gig-money-field>input{padding-left:48px!important;font-variant-numeric:tabular-nums}
.gig-money-field>span{position:absolute;left:13px;color:#70635d;font-size:13px}
.gig-picker-popup{position:fixed;margin:0;padding:18px;box-sizing:border-box;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #ddd2c7;border-radius:20px;background:#fffaf5;color:#302b30;box-shadow:0 18px 65px #21152040;font:14px RedDeskSans,system-ui,sans-serif}
.gig-picker-popup::backdrop{background:#211b221c}
.gig-picker-popup button,.gig-picker-popup select,.gig-picker-popup input{font:inherit;color:inherit;border:1px solid #ded5cc;background:#fffdf9;border-radius:10px;min-height:40px;box-sizing:border-box}
.gig-picker-popup button{cursor:pointer;padding:6px 10px}
.gig-picker-popup button:hover{background:#f1e5df}
.gig-picker-popup :focus-visible{outline:2px solid #82796d;outline-offset:2px}
.gig-picker-popup select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%2370635d' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:26px!important}
.gig-picker-heading{display:flex;gap:6px;align-items:center;margin-bottom:15px}
.gig-picker-heading select{min-width:0;flex:1;padding:6px}
.gig-picker-heading input{width:72px;padding:6px}
.gig-picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gig-picker-weekday{text-align:center;font-size:11px;color:#70635d;padding:5px 0}
.gig-picker-days button{padding:0;min-height:40px;border-color:transparent;font-variant-numeric:tabular-nums}
.gig-picker-days .is-other-month{color:#70635d;background:#f1e9e1}
.gig-picker-days button[aria-current=date]{border-color:#b96a72}
.gig-picker-popup button[aria-pressed=true]{background:#aa424b;color:#fff;border-color:#aa424b}
.gig-picker-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:15px;padding-top:14px;border-top:1px solid #e6ddd4}
.gig-picker-footer>button:first-child{margin-right:auto}
.gig-picker-popup h3{margin:0 0 6px;font-size:21px}.gig-picker-popup p{color:#70635d;margin:0 0 20px}
.gig-time-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gig-time-row label{display:grid;gap:8px;color:#70635d}
.gig-time-row select{font-size:24px;padding:10px;min-height:58px;width:100%}
.gig-time-period{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}

/* One booking ribbon per week, with stable lanes for overlapping gigs. */
.gig-calendar-week{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:1px;min-height:116px;background:#e5ded7}
.gig-calendar-week .gig-day{min-height:0}
.gig-range-bar{z-index:1;align-self:start;min-width:0;margin:2px 5px;padding:4px 8px!important;border:0!important;border-radius:6px!important;background:#ede5db!important;color:#54483f!important;text-align:left;font:11px RedDeskSans,system-ui,sans-serif;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.gig-range-bar.confirmed{background:#e4ece4!important}
.gig-range-bar.cancelled{text-decoration:line-through;opacity:.65}
.gig-range-bar.continues-before{margin-left:0;border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.gig-range-bar.continues-after{margin-right:0;border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.gig-range-bar:hover{filter:brightness(.95)}
.gig-range-bar:focus-visible{outline:2px solid #a7373e;outline-offset:-2px}
@media(max-width:600px){.gig-calendar-week{min-height:90px}.gig-range-bar{font-size:10px;padding:4px!important;margin-left:2px;margin-right:2px}}

/* Calendar imports share a picker with room for actual event titles. */
.gig-picker-with-events{width:min(560px,calc(100vw - 24px))}
.gig-picker-with-events .gig-picker-days button{min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 2px;overflow:hidden}
.gig-picker-event-title{font-size:10px;line-height:1.25;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;font-weight:600}
.gig-picker-event-count{font-size:10px;line-height:1.2}
.gig-picker-popup .gig-picker-event-status{font-size:13px;line-height:1.5;margin:12px 0 0}
.gig-picker-event-status>span{display:block}

.gig-picker-days button.is-range-start{background:#f4e3e4;border:2px solid #aa424b;color:#87333b}
.gig-picker-range-label{display:block;font-size:11px;line-height:1.2;font-weight:700}

/* Calm, consistent controls for gig filters and show selection. */
#red-writing-workspace .gig-select-trigger{display:block;min-height:46px;padding:12px 18px;border:1px solid var(--line,#ded5cc);border-radius:14px;background:var(--paper,#fffaf5);color:inherit;font:inherit;font-size:14px;text-align:left;box-shadow:0 2px 6px #38271f05;transition:background .18s,box-shadow .18s}
#red-writing-workspace .gig-select-trigger:hover{box-shadow:0 4px 14px #38271f10;background:var(--surface,#f4eee8)}
.gig-select-menu{position:fixed;margin:0;padding:8px;border:1px solid #ddd3ca;border-radius:18px;background:#fffaf5;color:#302b29;box-shadow:0 18px 65px #24181335;max-height:min(420px,calc(100dvh - 24px));overflow:auto;font:inherit;animation:gig-menu-in .15s ease-out}
.gig-select-menu::backdrop{background:transparent}
.gig-select-menu button{display:block;width:100%;border:0;background:transparent;color:inherit;border-radius:10px;padding:13px 15px;text-align:left;font:inherit;cursor:pointer}
.gig-select-menu button:hover,.gig-select-menu button:focus-visible{background:#f2e8e2;outline:2px solid #b3636944;outline-offset:-2px}
.gig-select-menu button[aria-pressed=true]{background:#f5e3e4;color:#9f363e;font-weight:700}
@keyframes gig-menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gig-select-menu{animation:none}}
.gig-detail-tabs{margin-bottom:24px}
[data-travel-panel] section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#ded5cc)}
[data-travel-panel] h3,[data-travel-panel] h4{margin:0 0 16px}
.gig-drive-estimate{padding:16px;border-radius:12px;background:#a6383c0a;line-height:1.6}
.gig-lodging{margin-bottom:24px}
.night-travel-summary{margin:24px 0;padding:24px 0;border-top:1px solid var(--line,#ded5cc)}
.night-travel-summary p{white-space:pre-wrap}
.gig-travel-preview{display:block;margin-top:7px;opacity:.8}
.gig-dialog select{min-height:44px;padding:10px 14px;border-radius:12px;font:inherit;background:var(--paper,#fffaf5);color:inherit;border:1px solid var(--line,#ded5cc)}
[data-travel-panel] .gig-fields>label:first-child{grid-column:auto}
[data-travel-panel] [hidden]{display:none!important}

.gig-connections-dialog a, .gig-travel-tool-dialog a { color: #a73546; }
.gig-dialog .gig-contact-choice { flex-direction: row; align-items: center; gap: 12px; padding: 12px; border-bottom: 1px solid #e4ddd5; }
.gig-connections-dialog input[type=checkbox], .gig-travel-tool-dialog input[type=checkbox] { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; padding: 0 !important; accent-color: #a73546; }
.gig-connections-dialog form { gap: 12px; }
.gig-connections-dialog .gig-lodging { padding-block: 16px; }
/* Address-book setup and selection use one scroll surface and reachable actions. */
#red-writing-workspace .gig-connections-dialog[open] { display:flex; flex-direction:column; max-height:calc(var(--contacts-height,100dvh) - 24px); top:calc(var(--contacts-top,0px) + 12px); bottom:auto; margin:0 auto; overflow:hidden; }
.gig-connections-dialog > header, .gig-connections-dialog > footer { flex-shrink:0; }
.gig-connections-dialog > header > div { min-width:0; }
.gig-connections-dialog > header button { flex-shrink:0; }
.gig-connections-dialog > .gig-form-body { min-height:0; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; scroll-padding-block:20px; }
.gig-connections-dialog .gig-form-body > :first-child { margin-top:0; }
.gig-connections-dialog .gig-form-body :is(p,li,h3), .gig-connections-dialog .gig-contact-choice > span { overflow-wrap:anywhere; min-width:0; }
.gig-connections-dialog form { max-height:none; }
#red-writing-workspace .gig-connections-dialog button { white-space:normal; overflow-wrap:anywhere; max-width:100%; }
.gig-connections-dialog footer { flex-wrap:wrap; }
.gig-connections-dialog [data-selected] { font-size:13px; color:#635a54; }
.gig-contact-actions { display:flex; flex-wrap:wrap; gap:8px; }
.gig-contact-list { display:grid; gap:8px; }
.gig-dialog .gig-contact-choice { border:1px solid #ddd5cc; border-radius:12px; background:#fffdfa; cursor:pointer; line-height:1.65; }
.gig-contact-choice:has(:checked) { border-color:#a73546; box-shadow:inset 0 0 0 1px #a73546; }
.gig-contact-choice:focus-within { outline:2px solid #a73546; outline-offset:2px; }
/* Screen headings receive announcement focus, never an interactive focus ring. */
#red-writing-workspace .gig-connections-dialog .gig-contact-screen-title:focus { outline:none !important; box-shadow:none !important; }
.gig-address-books { display:grid; gap:16px; margin-block:24px; }
.gig-address-book-card { padding:22px; border:1px solid #ded5cc; border-radius:18px; background:#fffdfa; box-shadow:0 3px 12px #39241b06; }
.gig-address-book-heading { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; }
.gig-address-book-heading h3 { margin:0; font-size:19px; }
.gig-address-book-heading .gig-address-book-status { margin:0; padding:4px 10px; border-radius:999px; background:#eaf3ec; color:#39695b; }
.gig-address-book-card > p { margin:10px 0 18px; line-height:1.6; }
.gig-address-book-card .gig-address-book-manage { margin-top:8px; }
.gig-contact-search { margin-block:20px; }
.gig-contact-search > label { margin-bottom:8px; font-size:14px; }
.gig-contact-search > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.gig-contact-search input { flex:1 1 220px; width:100%; min-width:0; font-size:16px !important; }
.gig-contact-search .gig-help { margin:10px 0 0; }
.gig-dialog .gig-contact-choice { font-size:16px; padding:14px; color:#302b30; }
.gig-contact-details { display:block; font-size:14px; font-weight:400; color:#70655d; margin-top:3px; }
#red-writing-workspace .gig-connections-dialog [hidden] { display:none !important; }
@media(max-width:600px) {
  #red-writing-workspace .gig-connections-dialog > header { padding:16px; }
  .gig-connections-dialog > .gig-form-body { padding:16px; }
  .gig-connections-dialog > footer { padding:12px 16px; gap:8px; }
}
@media(max-height:500px) {
  #red-writing-workspace .gig-connections-dialog > header { padding-block:8px; }
  .gig-connections-dialog .gig-eyebrow { display:none; }
  .gig-connections-dialog > footer { padding-block:8px; }
}
/* Itinerary evidence stays beside the editable detail, on every screen. */
.gig-travel-tool-dialog [data-gmail-search] { display:grid; gap:14px; margin:22px 0; }
.gig-travel-tool-dialog [data-gmail-search][hidden] { display:none; }
.gig-travel-tool-dialog [data-results] { display:grid; gap:16px; }
.gig-travel-tool-dialog [data-results] h3,
.gig-travel-tool-dialog [data-results] p { margin:0; }
.gig-itinerary-field { padding:16px; border:1px solid var(--line,#ded5cc); border-radius:18px; display:grid; gap:12px; }
.gig-itinerary-field:has(:checked) { border-color:var(--red,#a7373e); background:color-mix(in srgb,var(--red,#a7373e) 4%,transparent); }
.gig-travel-tool-dialog .gig-itinerary-choice { display:flex; flex-direction:row; text-align:left; align-items:center; gap:12px; min-height:44px; cursor:pointer; font-size:15px; }
.gig-travel-tool-dialog .gig-itinerary-choice input { flex:0 0 22px; width:22px; height:22px; margin:0; accent-color:var(--red,#a7373e); }
.gig-itinerary-field textarea { min-height:64px; resize:vertical; }
.gig-itinerary-field small { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.gig-travel-tool-dialog [data-disconnect] { margin-top:24px; }
/* One scrolling surface between a steady title and the next action. */
#red-writing-workspace .gig-mail-dialog[open] { display:flex; flex-direction:column; width:min(860px,calc(100vw - 24px)); max-height:calc(var(--travel-height,100dvh) - 24px); top:calc(var(--travel-top,0px) + 12px); bottom:auto; margin:0 auto; overflow:hidden; }
.gig-mail-dialog > header, .gig-mail-dialog > footer { flex-shrink:0; }
.gig-mail-dialog > header h2 { min-width:0; }
.gig-mail-dialog > header button { flex-shrink:0; }
.gig-mail-dialog > .gig-form-body { min-height:0; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; scroll-padding-block:20px; }
#red-writing-workspace .gig-mail-dialog [hidden] { display:none!important; }
#red-writing-workspace .gig-mail-dialog [data-gmail-search] { grid-template-columns:1fr 1fr; }
.gig-mail-dialog [data-search] { grid-column:1/-1; }
.gig-mail-dialog [data-results] { min-width:0; }
.gig-mail-steps { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 20px; counter-reset:travel-step; }
.gig-mail-steps > li { display:flex; align-items:center; gap:6px; counter-increment:travel-step; color:#635a54; font-size:14px; padding:6px 10px; border-radius:20px; }
.gig-mail-steps > li::before { content:counter(travel-step); font-weight:700; }
.gig-mail-steps > li[aria-current] { background:#f5e9e7; color:#823d46; font-weight:700; }
.gig-mail-search-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 0; border-bottom:1px solid #ded5cc; color:#635a54; font-size:14px; }
.gig-mail-connection { margin-top:24px; border-top:1px solid #ded5cc; padding-top:8px; color:#635a54; }
.gig-mail-connection > summary { min-height:44px; padding:12px 0; cursor:pointer; }
.gig-mail-save-note { flex-basis:100%; margin:0; font-size:14px; color:#635a54; }
.gig-mail-group > button { margin:0 0 12px; }
.gig-mail-dialog .gig-mail-intro { color:#635a54; }
#red-writing-workspace .gig-mail-filter { display:flex; flex-direction:row; align-items:center; gap:12px; min-height:44px; font-weight:500; line-height:1.5; cursor:pointer; }
.gig-mail-list { display:grid; gap:12px; }
#red-writing-workspace .gig-mail-card { display:flex; flex-direction:row; align-items:flex-start; gap:16px; padding:18px; border:1px solid #d9cfc4; border-radius:16px; background:#fffdfa; box-shadow:0 2px 5px #49312006; cursor:pointer; touch-action:pan-y; }
.gig-mail-card:has(:checked) { border-color:#a73546!important; box-shadow:0 0 0 1px #a73546; }
.gig-mail-card:focus-within { outline:2px solid #a73546; outline-offset:3px; }
.gig-mail-card > input { margin:4px 0 0; }
.gig-mail-copy { display:grid; min-width:0; gap:10px; text-align:left; }
.gig-mail-copy > strong { font-size:16px; line-height:1.45; color:#352d2e; overflow-wrap:anywhere; }
.gig-mail-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; color:#635a54; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.gig-mail-preview { font-size:16px; font-weight:400; line-height:1.6; color:#635a54; overflow-wrap:anywhere; }
.gig-mail-tags { display:flex; flex-wrap:wrap; gap:6px; }
.gig-mail-tags > span { color:#823d46; background:#f5e9e7; border-radius:6px; padding:4px 8px; font-size:11px; font-weight:650; }
.gig-mail-footer { flex-wrap:wrap; background:#fcf9f4; }
#red-writing-workspace .gig-mail-footer > span { font-size:16px;font-weight:650; color:#635a54; }
#red-writing-workspace .gig-mail-dialog button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
#red-writing-workspace .gig-mail-dialog > header button { min-width:44px; }
.gig-mail-group { border-top:1px solid #ded5cc; padding-top:16px; }
.gig-mail-group > h4 { margin:0 0 12px; font-size:20px; color:#352d2e; }
.gig-mail-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gig-mail-fields .gig-itinerary-field { gap:8px; padding:14px; border-radius:12px; min-width:0; background:#fffdfa; }
.gig-mail-fields .gig-mail-wide { grid-column:1/-1; }
.gig-mail-fields details { font-size:12px; color:#70635d; overflow-wrap:anywhere; }
.gig-mail-fields summary, .gig-mail-warning summary { min-height:44px; padding:10px 0; cursor:pointer; }
.gig-mail-fields details p { padding:8px 0; line-height:1.6; }
.gig-mail-fields .gig-mail-existing { font-size:12px; color:#635a54; line-height:1.5; overflow-wrap:anywhere; }
.gig-mail-fields .gig-mail-conflict { color:#823d46; }
.gig-mail-warning { background:#f4eadd; border:1px solid #ddc9ad; border-radius:12px; padding:14px; color:#5e4939; overflow-wrap:anywhere; }
.gig-mail-warning li { margin-block:8px; }
.gig-mail-cached { color:#416855; font-size:13px; }
/* Email browsing stays readable and every action is a separate touch target. */
#red-writing-workspace .gig-mail-card { display:block; cursor:auto; }
#red-writing-workspace .gig-mail-choice { display:flex; flex-direction:row; align-items:flex-start; gap:16px; cursor:pointer; }
.gig-mail-choice > input { margin-top:5px; }
.gig-mail-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:14px; }
.gig-mail-card-actions > a, .gig-mail-expanded > summary { min-height:44px; padding:10px 4px; font-size:16px; cursor:pointer; }
.gig-mail-expanded[open] { flex-basis:100%; }
.gig-mail-expanded[open] > summary { font-weight:700; }
.gig-mail-body-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:16px; line-height:1.7; padding:16px; border:1px solid #d9cfc4; border-radius:12px; background:#fff; color:#352d2e; }
.gig-mail-preview-note { font-size:14px; color:#635a54; padding-block:8px; }
.gig-mail-hidden { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:16px; }
.gig-mail-progress { display:grid; gap:12px; width:100%; }
#red-writing-workspace .gig-mail-progress > strong { font-size:20px; line-height:1.4; color:#352d2e; }
.gig-mail-progress progress { width:100%; height:12px; accent-color:#a73546; }
.gig-mail-reading { padding:20px; border:1px solid #d9cfc4; border-radius:16px; background:#fffdfa; display:grid; gap:12px; }
.gig-mail-reading [data-reading-subject] { font-size:18px; font-weight:650; overflow-wrap:anywhere; }
@media(max-width:600px) {
  #red-writing-workspace .gig-mail-dialog > header { padding:16px; }
  .gig-mail-dialog > .gig-form-body { padding:16px; }
  .gig-mail-dialog > footer { padding:12px 16px; gap:8px; }
  #red-writing-workspace .gig-mail-card { padding:14px; gap:12px; }
}
@media(max-width:480px) { .gig-mail-fields { grid-template-columns:1fr; } }
@media(max-height:500px) {
  #red-writing-workspace .gig-mail-dialog > header { padding-block:10px; }
  .gig-mail-dialog > footer { padding-block:8px; }
}
.gig-run-stops{display:grid;gap:14px;margin:22px 0}.gig-run-stop{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px}.gig-run-stop>label{min-width:0}.gig-run-stop>input[type=checkbox]{width:20px;height:20px;accent-color:var(--gig-accent,#a53542)}.gig-run-number{font-size:12px;color:var(--gig-muted,#877a73);font-variant-numeric:tabular-nums}.gig-run-fuel{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.gig-run-preview{border:1px solid var(--gig-line,#b5a79755);border-radius:20px;padding:22px;margin:24px 0;background:var(--gig-surface,transparent)}.gig-run-preview[hidden]{display:none}.gig-run-preview h3{font-size:30px;letter-spacing:-.035em;margin:0 0 12px;color:inherit}.gig-run-preview ol{list-style:none;counter-reset:leg;padding:0;margin:20px 0}.gig-run-preview li{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--gig-line,#b5a79755)}.gig-run-preview li span{overflow-wrap:anywhere}.gig-run-source{font-size:12px;opacity:.8}.gig-run-actions{display:flex;flex-wrap:wrap;gap:12px}.gig-run-preview:focus{outline:none}@media(max-width:480px){.gig-run-fuel{grid-template-columns:1fr;gap:12px}.gig-run-preview{padding:16px}.gig-run-preview li{grid-template-columns:64px 1fr;gap:10px}}

/* Keep route controls in reach while stops or the on-screen keyboard scroll. */
#red-writing-workspace .gig-route-dialog[open] { display:flex; flex-direction:column; max-height:calc(var(--route-height,100dvh) - 24px); top:calc(var(--route-top,0px) + 12px); bottom:auto; margin:0 auto; overflow:hidden; }
.gig-route-dialog > header, .gig-route-dialog > footer { flex-shrink:0; }
.gig-route-dialog > header button { flex-shrink:0; }
.gig-route-dialog > .gig-form-body { min-height:0; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; scroll-padding-block:20px; }
.gig-route-dialog .gig-form-body > :first-child { margin-top:0; }
.gig-route-dialog :is(p,h3,label) { overflow-wrap:anywhere; min-width:0; }
#red-writing-workspace .gig-route-dialog input { font-size:16px !important; }
#red-writing-workspace .gig-route-dialog button { min-height:44px; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.gig-route-dialog .gig-run-stop { grid-template-columns:44px minmax(0,1fr); gap:8px; }
.gig-route-dialog .gig-run-number { text-align:center; color:#70635d; }
.gig-route-dialog .gig-run-include { min-height:44px; width:44px; align-items:center; justify-content:center; cursor:pointer; }
.gig-route-dialog .gig-run-source { font-size:14px; opacity:1; }
.gig-route-dialog [data-status] { font-size:16px; line-height:1.5; }
.gig-route-dialog [data-status] > button { display:block; margin-top:12px; }
.gig-route-dialog .gig-run-actions { justify-content:flex-end; }
#red-writing-workspace .gig-route-dialog [hidden] { display:none !important; }
#red-writing-workspace .gig-route-dialog :is(h2,.gig-run-preview,[data-status]):focus { outline:none !important; box-shadow:none !important; }
@media(max-width:600px) {
  #red-writing-workspace .gig-route-dialog > header { padding:16px; }
  .gig-route-dialog > .gig-form-body { padding:16px; }
  .gig-route-dialog > footer { padding:12px 16px; gap:8px; }
}
@media(max-height:500px) {
  #red-writing-workspace .gig-route-dialog > header { padding-block:8px; }
  .gig-route-dialog > footer { padding-block:8px; }
}

#red-writing-workspace .sync-direction button.gig-primary {background:#a6383c;color:#fff;border-color:#a6383c;}
#red-writing-workspace .sync-direction button:disabled {opacity:.6;cursor:wait;}
#red-writing-workspace [data-google-events]:not(:empty) {margin-top:20px;}

/* Keep contact intake prominent while browsing people. */
#red-writing-workspace [data-gig-kind="contacts"] [data-show-night],
#red-writing-workspace [data-gig-kind="contacts"] [data-find-room],
#red-writing-workspace [data-gig-kind="contacts"] > [data-report],
#red-writing-workspace [data-gig-kind="contacts"] > [data-calendar-sync] { display: none !important; }
#red-writing-workspace [data-gig-kind="contacts"] .gig-heading [data-new] {
  background: transparent !important; color: #8f363c !important;
  border: 1px solid #d8cbc5 !important; border-radius: 12px !important;
  min-height: 44px; padding: 10px 16px;
}

.gig-icloud-calendar .gig-icloud-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gig-icloud-calendar form { display:grid; gap:16px; }
.gig-icloud-calendar details { margin-top:24px; }
.gig-icloud-calendar summary { min-height:44px; cursor:pointer; padding-block:10px; }
.gig-icloud-calendar .gig-icloud-account { padding:12px 16px; border-radius:12px; background:var(--surface-soft,#f0ede7); }
.gig-icloud-calendar .gig-icloud-badge { display:block; font-weight:600; margin-top:6px; }
.gig-icloud-calendar .gig-icloud-warning { border:1px solid #ac7850; border-radius:12px; padding:16px; margin-bottom:20px; }
#red-writing-workspace .gig-icloud-calendar [data-selected] { font-size:16px; }
@media(max-width:420px) { .gig-icloud-calendar .gig-icloud-dates { grid-template-columns:1fr; } }
