/* Ivy-F Support Console
   The launcher lives in the white DayCycle Debug panel. The console itself is
   a focused, full-screen operations surface so production records never get
   confused with normal Settings controls. */
.day-cycle-debug button.dcd-support-console {
  color: #f6fff4;
  border-color: rgba(42, 94, 43, .72);
  background: linear-gradient(135deg, #203c2a, #315b36 62%, #456c3d);
  box-shadow: 0 8px 18px rgba(27, 65, 36, .22);
  font-weight: 720;
  letter-spacing: .015em;
}
.day-cycle-debug button.dcd-support-console:hover { background: linear-gradient(135deg, #294a32, #3c6b40 62%, #527d48); }

.ivy-support-console {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  display: grid;
  place-items: center;
  padding: 22px;
  color: #19251d;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: rgba(8, 14, 10, .61);
  backdrop-filter: blur(20px) saturate(.8);
  animation: ivySupportFade .22s ease both;
}
.ivy-support-console[hidden] { display: none !important; }
.ivy-support-console__shell {
  position: relative;
  display: grid;
  grid-template-columns: 214px minmax(0, 1fr);
  grid-template-rows: 76px minmax(0, 1fr);
  width: min(1180px, 96vw);
  height: min(790px, 94vh);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 24px;
  background: #f6f8f4;
  box-shadow: 0 35px 90px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.8);
}
.ivy-support-console__header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
  color: #f5f8f3;
  background:
    radial-gradient(circle at 80% -100%, rgba(157,186,110,.45), transparent 50%),
    linear-gradient(112deg, #17271d, #294634 58%, #36523a);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.ivy-support-console__mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(217,236,192,.42);
  border-radius: 12px;
  color: #d9edc4;
  background: rgba(255,255,255,.08);
  font-size: 19px;
}
.ivy-support-console__identity { min-width: 0; }
.ivy-support-console__identity strong { display: block; font-size: 15px; letter-spacing: .02em; }
.ivy-support-console__identity span { display: block; margin-top: 3px; color: rgba(244,249,241,.64); font-size: 11px; }
.ivy-support-console__secure {
  margin-left: auto;
  padding: 6px 9px;
  border: 1px solid rgba(202,229,178,.28);
  border-radius: 999px;
  color: #d8edc5;
  background: rgba(10,28,16,.3);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ivy-support-console__close {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-left: 4px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  color: white;
  background: rgba(255,255,255,.08);
  cursor: pointer;
  font-size: 20px;
}
.ivy-support-console__close:hover { background: rgba(255,255,255,.16); }
.ivy-support-console__nav {
  min-height: 0;
  padding: 18px 12px;
  background: #e9eee7;
  border-right: 1px solid #d9e0d6;
}
.ivy-support-console__nav-label {
  margin: 0 10px 9px;
  color: #7b877c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ivy-support-console__nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 3px 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  color: #526056;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
}
.ivy-support-console__nav button:hover { background: rgba(255,255,255,.65); }
.ivy-support-console__nav button.is-active { color: #193822; background: #fff; box-shadow: 0 5px 14px rgba(43,67,48,.08); }
.ivy-support-console__nav button span:first-child { width: 18px; color: #718670; text-align: center; }
.ivy-support-console__main { min-width: 0; min-height: 0; overflow: auto; padding: 28px; }
.ivy-support-view__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.ivy-support-view__head h2 { margin: 0; color: #1a2a1f; font-size: 23px; letter-spacing: -.03em; }
.ivy-support-view__head p { max-width: 650px; margin: 6px 0 0; color: #778078; font-size: 12px; line-height: 1.5; }
.ivy-support-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 12px; }
.ivy-support-stat,
.ivy-support-card {
  border: 1px solid #dfe5dc;
  border-radius: 15px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 7px 20px rgba(35,52,38,.045);
}

.ivy-support-enrollment-code {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
  background:
    radial-gradient(circle at 92% 10%, rgba(111, 91, 181, .16), transparent 34%),
    rgba(255, 255, 255, .035);
}
.ivy-support-enrollment-code h3 { margin: 7px 0 3px; }
.ivy-support-enrollment-code p { margin: 0; color: var(--support-muted); }
.ivy-support-enrollment-code > code {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 12px 17px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(9, 12, 19, .48);
  color: rgba(250,250,255,.96);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: clamp(1rem, 2.4vw, 1.35rem);
  font-weight: 760;
  letter-spacing: .16em;
  user-select: all;
  overflow-wrap: anywhere;
}
.ivy-support-stat { min-height: 92px; padding: 15px; }
.ivy-support-stat strong { display: block; color: #203926; font-size: 25px; letter-spacing: -.04em; }
.ivy-support-stat span { display: block; margin-top: 9px; color: #7a857c; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.ivy-support-card { margin-top: 15px; padding: 18px; }
.ivy-support-card h3 { margin: 0 0 13px; color: #26342a; font-size: 13px; }
.ivy-support-toolbar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 14px; }
.ivy-support-input,
.ivy-support-select,
.ivy-support-textarea {
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid #ced8cb;
  border-radius: 10px;
  outline: none;
  color: #1f2d22;
  background: #fff;
  font: inherit;
  font-size: 12px;
  transition: border .15s ease, box-shadow .15s ease;
}
.ivy-support-input, .ivy-support-select { height: 38px; padding: 0 11px; }
.ivy-support-textarea { min-height: 78px; padding: 10px 11px; resize: vertical; }
.ivy-support-input:focus, .ivy-support-select:focus, .ivy-support-textarea:focus { border-color: #638164; box-shadow: 0 0 0 3px rgba(77,112,79,.11); }
.ivy-support-toolbar .ivy-support-input { flex: 1 1 260px; }
.ivy-support-button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #cbd7c9;
  border-radius: 10px;
  color: #314437;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
}
.ivy-support-button:hover { border-color: #9caf9b; background: #f7faf6; }
.ivy-support-button--primary { color: #fff; border-color: #284f31; background: #315d3a; }
.ivy-support-button--primary:hover { background: #3b6c44; }
.ivy-support-button--danger { color: #9b2d2a; border-color: #e1b9b5; background: #fff8f7; }
.ivy-support-button:disabled { opacity: .45; cursor: not-allowed; }
.ivy-support-table-wrap { overflow: auto; border: 1px solid #dfe5dc; border-radius: 13px; background: white; }
.ivy-support-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ivy-support-table th { position: sticky; top: 0; z-index: 1; padding: 10px 12px; color: #788279; background: #f2f5f0; border-bottom: 1px solid #dfe5dc; font-size: 9px; letter-spacing: .075em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.ivy-support-table td { max-width: 260px; padding: 10px 12px; border-bottom: 1px solid #edf0eb; color: #3a453d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ivy-support-table tr:last-child td { border-bottom: 0; }
.ivy-support-table tbody tr:hover { background: #fafcf9; }
.ivy-support-table__action { color: #2e663b; border: 0; background: transparent; cursor: pointer; font: inherit; font-weight: 750; }
.ivy-support-audit-actions { display: flex; align-items: center; gap: 9px; }
.ivy-support-table__undo { padding: 5px 9px; border: 1px solid #e1b9b5; border-radius: 8px; color: #963c35; background: #fff7f6; cursor: pointer; font: inherit; font-weight: 780; }
.ivy-support-table__undo:hover { background: #fceae7; }
.ivy-support-table__undo:disabled { opacity: .5; cursor: wait; }
.ivy-support-pill { display: inline-flex; align-items: center; padding: 4px 7px; border-radius: 999px; color: #416048; background: #eaf2e8; font-size: 9px; font-weight: 750; }
.ivy-support-pill--off { color: #8b5550; background: #f8e9e7; }
.ivy-support-empty { display: grid; place-items: center; min-height: 180px; padding: 24px; color: #879087; text-align: center; font-size: 12px; }
.ivy-support-error { margin: 12px 0; padding: 10px 12px; border: 1px solid #e6c0bc; border-radius: 10px; color: #912f2d; background: #fff5f4; font-size: 11px; }
.ivy-support-success { margin: 12px 0; padding: 10px 12px; border: 1px solid #c5ddc3; border-radius: 10px; color: #2c6634; background: #f2faf0; font-size: 11px; }
.ivy-support-meta { color: #89918a; font-size: 10px; }
.ivy-support-two { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.ivy-support-kv { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 7px 14px; font-size: 11px; }
.ivy-support-kv dt { color: #818a82; }
.ivy-support-kv dd { margin: 0; color: #334038; overflow-wrap: anywhere; }

.ivy-support-editor {
  position: absolute;
  inset: 76px 0 0 214px;
  z-index: 4;
  display: flex;
  justify-content: flex-end;
  background: rgba(20,29,23,.28);
  backdrop-filter: blur(4px);
}
.ivy-support-editor__panel {
  width: min(540px, 92%);
  height: 100%;
  overflow: auto;
  padding: 24px;
  box-sizing: border-box;
  background: #fbfcfa;
  border-left: 1px solid #dbe2d8;
  box-shadow: -20px 0 50px rgba(29,45,33,.13);
  animation: ivySupportSlide .24s ease both;
}
.ivy-support-editor__head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.ivy-support-editor__head h3 { margin: 0; font-size: 17px; }
.ivy-support-editor__close { margin-left: auto; border: 0; background: transparent; cursor: pointer; font-size: 21px; color: #667067; }
.ivy-support-field { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 12px; align-items: start; padding: 9px 0; border-bottom: 1px solid #edf0eb; }
.ivy-support-field label { padding-top: 9px; color: #6e786f; font-size: 10px; font-weight: 750; overflow-wrap: anywhere; }
.ivy-support-field.is-readonly code { display: block; padding: 9px 0; color: #5d665f; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap; }
.ivy-support-editor__footer { position: sticky; bottom: -24px; margin: 18px -24px -24px; padding: 15px 24px 20px; border-top: 1px solid #dce3d9; background: rgba(251,252,250,.96); backdrop-filter: blur(10px); }
.ivy-support-confirm { display: flex; gap: 8px; align-items: flex-start; margin: 9px 0; color: #626c63; font-size: 10px; line-height: 1.4; }
.ivy-support-audit-title { margin: 24px 0 8px; color: #35433a; font-size: 12px; }
.ivy-support-audit-diff { display: grid; grid-template-columns: 105px minmax(0,1fr) 16px minmax(0,1fr); gap: 8px; align-items: start; padding: 9px 0; border-bottom: 1px solid #e7ece5; font-size: 10px; }
.ivy-support-audit-diff strong { color: #536158; overflow-wrap: anywhere; }
.ivy-support-audit-diff code { padding: 7px; border-radius: 7px; color: #49564d; background: #f0f4ee; white-space: pre-wrap; overflow-wrap: anywhere; }
.ivy-support-audit-diff span { padding-top: 7px; color: #90a091; text-align: center; }
.ivy-support-audit-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 10px 0 12px; }
.ivy-support-audit-fields label { display: flex; gap: 7px; align-items: center; padding: 8px 9px; border: 1px solid #dce5d9; border-radius: 9px; color: #4f5d53; background: #fff; font-size: 10px; }

.ivy-support-lock {
  position: absolute;
  inset: 76px 0 0 214px;
  z-index: 8;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(232,238,230,.78);
  backdrop-filter: blur(13px) saturate(.8);
  animation: ivySupportFade .24s ease both;
}
.ivy-support-lock__card { width: min(430px, 100%); box-sizing: border-box; padding: 31px; border: 1px solid rgba(160,181,158,.65); border-radius: 23px; background: rgba(255,255,255,.94); box-shadow: 0 25px 65px rgba(38,59,42,.18); text-align: center; }
.ivy-support-lock__card h2 { margin: 13px 0 8px; color: #213729; font-size: 21px; letter-spacing: -.025em; }
.ivy-support-lock__card p { margin: 0; color: #68756b; font-size: 12px; line-height: 1.6; }
.ivy-support-lock__card small { display: block; margin: 3px 0 17px; color: #8a948c; font-size: 10px; }
.ivy-support-lock__time { display: block; margin-top: 15px; color: #315c39; font-size: 34px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.ivy-support-lock__orbit { position: relative; display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 15px; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#315c39,#78916b); box-shadow: 0 12px 30px rgba(45,83,53,.24); }
.ivy-support-lock__orbit::before, .ivy-support-lock__orbit::after { content: ''; position: absolute; inset: -8px; border: 1px solid rgba(70,111,77,.28); border-radius: 50%; animation: ivySupportSafetyPulse 2.2s ease-out infinite; }
.ivy-support-lock__orbit::after { inset: -17px; animation-delay: .75s; }
.ivy-support-lock__orbit span { font-size: 25px; font-weight: 800; animation: ivySupportSafetyFloat 1.8s ease-in-out infinite; }
.ivy-support-lock.is-unlocked { opacity: 0; transition: opacity .8s ease; }

.ivy-support-enroll {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  place-items: center;
  padding: 30px;
  background: #f4f7f2;
}
.ivy-support-enroll__card { width: min(440px, 100%); padding: 30px; border: 1px solid #dae2d7; border-radius: 20px; background: white; box-shadow: 0 18px 50px rgba(35,55,39,.09); }
.ivy-support-enroll__card h2 { margin: 0; font-size: 21px; }
.ivy-support-enroll__card p { color: #737e75; font-size: 12px; line-height: 1.55; }
.ivy-support-enroll__card label { display: block; margin: 14px 0 6px; color: #59655c; font-size: 10px; font-weight: 760; text-transform: uppercase; letter-spacing: .07em; }
.ivy-support-enroll__card .ivy-support-input { width: 100%; }
.ivy-support-enroll__card .ivy-support-button { width: 100%; margin-top: 16px; }

@keyframes ivySupportFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ivySupportSlide { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes ivySupportSafetyPulse { 0% { opacity: .8; transform: scale(.82); } 75%,100% { opacity: 0; transform: scale(1.22); } }
@keyframes ivySupportSafetyFloat { 0%,100% { transform: translateY(1px); } 50% { transform: translateY(-3px); } }

@media (max-width: 820px) {
  .ivy-support-console { padding: 0; }
  .ivy-support-console__shell { width: 100vw; height: 100dvh; border-radius: 0; grid-template-columns: 1fr; grid-template-rows: 68px 55px minmax(0,1fr); }
  .ivy-support-console__header { grid-row: 1; }
  .ivy-support-console__nav { grid-row: 2; display: flex; gap: 4px; overflow-x: auto; padding: 7px 10px; border-right: 0; border-bottom: 1px solid #d9e0d6; }
  .ivy-support-console__nav-label { display: none; }
  .ivy-support-console__nav button { flex: 0 0 auto; width: auto; padding: 9px 11px; }
  .ivy-support-console__main { grid-row: 3; padding: 18px; }
  .ivy-support-grid { grid-template-columns: repeat(2, minmax(120px,1fr)); }
  .ivy-support-two { grid-template-columns: 1fr; }
  .ivy-support-editor { inset: 123px 0 0 0; }
  .ivy-support-lock { inset: 123px 0 0 0; }
  .ivy-support-field { grid-template-columns: 1fr; gap: 2px; }
  .ivy-support-field label { padding-top: 0; }
  .ivy-support-console__secure { display: none; }
  .ivy-support-audit-diff { grid-template-columns: 1fr; }
  .ivy-support-audit-diff span { padding: 0; transform: rotate(90deg); }
  .ivy-support-audit-fields { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .ivy-support-lock__orbit::before, .ivy-support-lock__orbit::after, .ivy-support-lock__orbit span { animation: none; }
}
