/* CampusShield AI — ShieldMind premium workspace refresh.
   Scoped to the ShieldMind page; preserves existing IDs, plan gates and Supabase flows. */
#page-shieldmind {
  --sm-ink: #15343a;
  --sm-muted: #6f8588;
  --sm-line: #dcebe5;
  --sm-card: #ffffff;
  --sm-soft: #f3faf7;
  --sm-soft-2: #edf7f2;
  --sm-primary: #16855f;
  --sm-primary-dark: #086348;
  --sm-mint: #75e5c5;
  --sm-shadow: 0 18px 46px rgba(12, 57, 48, .075);
  min-width: 0;
  color: var(--sm-ink);
}
#page-shieldmind .shieldmind-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 17px;
}
#page-shieldmind .shieldmind-brand-lockup { display: flex; align-items: center; gap: 12px; min-width: 0; }
#page-shieldmind .shieldmind-brand-lockup .shieldmind-mark {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(117, 229, 197, .35);
  border-radius: 15px;
  background: linear-gradient(145deg, #0b3d35, #092b30);
  color: #83efd0;
  font-size: 24px;
  box-shadow: 0 9px 22px rgba(7, 56, 48, .17);
}
#page-shieldmind .shieldmind-brand-lockup .campus-hub-eyebrow {
  display: block;
  margin: 0 0 4px;
  color: var(--sm-primary);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
#page-shieldmind .shieldmind-brand-lockup h1 {
  margin: 0;
  color: var(--sm-ink);
  font-size: clamp(24px, 2.7vw, 33px);
  line-height: 1.08;
  letter-spacing: -.05em;
}
#page-shieldmind .shieldmind-brand-lockup p { margin: 5px 0 0; color: var(--sm-muted); font-size: 12px; }
#page-shieldmind .shieldmind-workspace-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #ccebdd;
  border-radius: 999px;
  background: #effaf4;
  color: #247b60;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

/* Premium hero banner */
#page-shieldmind .shieldmind-hero-compact {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 188px;
  padding: clamp(22px, 3vw, 34px);
  margin: 0 0 14px;
  overflow: hidden;
  border: 1px solid rgba(111, 236, 197, .27);
  border-radius: 24px;
  background:
    radial-gradient(ellipse at 78% 4%, rgba(53, 224, 175, .27), transparent 32%),
    radial-gradient(ellipse at 100% 100%, rgba(34, 174, 145, .3), transparent 38%),
    linear-gradient(122deg, #062b2d 0%, #073e3c 54%, #075343 100%);
  box-shadow: 0 20px 46px rgba(6, 54, 48, .19), inset 0 1px rgba(255,255,255,.08);
}
#page-shieldmind .shieldmind-hero-compact::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -4%;
  bottom: -78px;
  width: 62%;
  height: 145px;
  border: 1px solid rgba(127, 244, 205, .21);
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(91, 232, 190, .12), transparent);
  box-shadow: 0 -15px 0 -14px rgba(139, 255, 218, .45), 0 -30px 0 -29px rgba(139, 255, 218, .28);
  transform: rotate(-7deg);
  pointer-events: none;
}
#page-shieldmind .shieldmind-hero-copy { position: relative; z-index: 1; min-width: 0; }
#page-shieldmind .shieldmind-hero h2 {
  margin: 0 0 8px;
  color: #f4fffb;
  font-size: clamp(23px, 2.7vw, 33px);
  line-height: 1.12;
  letter-spacing: -.045em;
}
#page-shieldmind .shieldmind-hero p { max-width: 70ch; margin: 0; color: #c5e5dc; font-size: 12px; line-height: 1.65; }
#page-shieldmind .shieldmind-capability-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
#page-shieldmind .shieldmind-capability-list span {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 6px 10px;
  border: 1px solid rgba(135, 237, 202, .22);
  border-radius: 999px;
  background: rgba(255,255,255,.075);
  color: #e4fff4;
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}
#page-shieldmind .shieldmind-hero-art {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 148px;
  height: 142px;
  flex: 0 0 148px;
  overflow: visible;
  border: 1px solid rgba(147, 248, 215, .24);
  border-radius: 44% 56% 48% 52%;
  background: radial-gradient(circle at 50% 45%, rgba(75, 224, 182, .22), rgba(9, 95, 78, .15) 58%, rgba(7, 40, 43, .05));
  color: #8af2d0;
  box-shadow: 0 0 0 10px rgba(117, 229, 197, .045), 0 0 38px rgba(62, 227, 179, .15);
}
#page-shieldmind .shieldmind-hero-art::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(144, 242, 211, .29);
  border-radius: 50%;
}
#page-shieldmind .shieldmind-hero-art::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 5px;
  width: 88px;
  height: 39px;
  border: 2px solid rgba(221, 255, 244, .9);
  border-bottom: 0;
  border-radius: 32px 32px 12px 12px;
  background: linear-gradient(145deg, #e9fff6, #8fe7cf);
  box-shadow: 0 9px 22px rgba(0, 18, 20, .25);
}
#page-shieldmind .shieldmind-hero-art span:first-child { position: absolute; z-index: 3; top: 10px; left: 17px; color: #8af2d0; font-size: 20px; }
#page-shieldmind .shieldmind-hero-art span:nth-child(2) {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 78px;
  height: 60px;
  border: 3px solid #e8fff6;
  border-radius: 20px 20px 17px 17px;
  background: linear-gradient(145deg, #143d41, #041c25);
  color: transparent;
  box-shadow: 0 11px 22px rgba(0, 18, 20, .32), inset 0 1px rgba(255,255,255,.22);
}
#page-shieldmind .shieldmind-hero-art span:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 22px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #55f4d0;
  box-shadow: 22px 0 0 #55f4d0, 0 0 10px #55f4d0, 22px 0 10px #55f4d0;
}
#page-shieldmind .shieldmind-hero-art span:nth-child(2)::after {
  content: "";
  position: absolute;
  bottom: 12px;
  width: 15px;
  height: 6px;
  border-bottom: 2px solid #55f4d0;
  border-radius: 50%;
}
#page-shieldmind .shieldmind-hero-art span:last-child {
  position: absolute;
  z-index: 4;
  right: 1px;
  bottom: 21px;
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(141, 244, 212, .5);
  border-radius: 10px;
  background: linear-gradient(145deg, #0d6a52, #073d3b);
  color: #a9ffe1;
  font-size: 18px;
  box-shadow: 0 5px 15px rgba(0, 16, 19, .28);
}

/* Helpful notice and study shortcuts */
#page-shieldmind .shieldmind-access-notice,
#page-shieldmind .shieldmind-source-note {
  border: 1px solid #f0e5c9;
  border-radius: 13px;
  background: linear-gradient(110deg, #fffaf0, #fffdf7);
  color: #716344;
  line-height: 1.55;
}
#page-shieldmind .shieldmind-access-notice { margin: 0 0 14px; padding: 11px 14px; font-size: 11px; }
#page-shieldmind .shieldmind-quick-actions { display: flex; align-items: center; gap: 8px; margin: 0 0 15px; padding: 0 0 3px; overflow-x: auto; scrollbar-width: thin; }
#page-shieldmind .shieldmind-quick-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid var(--sm-line);
  border-radius: 11px;
  background: var(--sm-card);
  color: #49636a;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 4px 13px rgba(15, 63, 52, .035);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
#page-shieldmind .shieldmind-quick-action > span { color: var(--sm-primary); font-size: 15px; }
#page-shieldmind .shieldmind-quick-action:hover { transform: translateY(-1px); border-color: #9ed8c1; background: #f5fcf8; }
#page-shieldmind .shieldmind-quick-action.is-active { border-color: #9bd8be; background: #eaf8f0; color: #176a4f; box-shadow: inset 0 0 0 1px #d6eee1; }

/* Two-column workspace: guided study room and chat on the left, tools/history on the right. */
#page-shieldmind .shieldmind-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(285px, .82fr);
  grid-template-areas: "chat sidebar" "builder sidebar";
  align-items: start;
  gap: 14px;
}
#page-shieldmind .shieldmind-study-room-builder { grid-area: builder; min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--sm-line); border-radius: 21px; background: var(--sm-card); box-shadow: var(--sm-shadow); }
#page-shieldmind .shieldmind-chat-panel {
  grid-area: chat;
  min-width: 0;
  margin: 0;
  padding: clamp(16px, 2.2vw, 23px);
  border: 1px solid var(--sm-line);
  border-radius: 22px;
  background: var(--sm-card);
  box-shadow: var(--sm-shadow);
}
#page-shieldmind .shieldmind-chat-heading { align-items: center; gap: 12px; margin-bottom: 13px; }
#page-shieldmind .shieldmind-chat-heading h2 { margin: 0; color: var(--sm-ink); font-size: 19px; letter-spacing: -.035em; }
#page-shieldmind .shieldmind-chat-heading p { margin: 5px 0 0; color: var(--sm-muted); font-size: 11px; line-height: 1.5; }
#page-shieldmind .shieldmind-pill { display: inline-flex; align-items: center; min-height: 29px; padding: 7px 11px; border: 1px solid #d1eee1; border-radius: 999px; background: #ecf9f2; color: #247b5d; font-size: 9px; letter-spacing: .1em; white-space: nowrap; }
#page-shieldmind .shieldmind-source-note { margin: 0 0 12px; padding: 10px 13px; font-size: 10.5px; }
#page-shieldmind .shieldmind-messages {
  display: grid;
  gap: 10px;
  min-height: 145px;
  max-height: 390px;
  margin: 0 0 12px;
  padding: 14px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #dcece4;
  border-radius: 15px;
  background: linear-gradient(145deg, #f5fbf8, #f8fcfa);
}
#page-shieldmind .shieldmind-message { max-width: 94%; padding: 13px 15px; border: 1px solid #e0ece5; border-radius: 14px; background: #ffffff; box-shadow: 0 4px 13px rgba(18, 62, 47, .035); }
#page-shieldmind .shieldmind-message.user { justify-self: end; border-color: #c8eadb; background: linear-gradient(135deg, #e9f8f0, #f0fbf6); }
#page-shieldmind .shieldmind-message strong { display: block; color: #26765a; font-size: 10px; font-weight: 850; }
#page-shieldmind .shieldmind-message p { margin: 6px 0 0; color: #2e4d52; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Composer, upload and actions */
#page-shieldmind .shieldmind-composer {
  padding: 15px;
  border: 1px solid #dcebe4;
  border-radius: 17px;
  background: linear-gradient(150deg, #ffffff, #fbfefc);
  box-shadow: 0 8px 23px rgba(14, 65, 50, .045);
}
#page-shieldmind .shieldmind-question-field { margin: 0 0 10px; }
#page-shieldmind .shieldmind-question-field > label { display: block; margin: 0 0 7px; color: #24464a; font-size: 12px; font-weight: 850; }
#page-shieldmind #shieldmind-question {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 112px;
  height: 126px;
  max-height: 240px;
  padding: 13px 14px;
  border: 1px solid #cfe3d9;
  border-radius: 13px;
  background: #ffffff;
  color: #183b3d;
  font-size: 13px;
  line-height: 1.55;
  resize: vertical;
  transition: border-color .18s ease, box-shadow .18s ease;
}
#page-shieldmind #shieldmind-question::placeholder { color: #97a9a8; }
#page-shieldmind #shieldmind-question:focus { outline: none; border-color: #4fb48b; box-shadow: 0 0 0 4px rgba(79, 180, 139, .15); }
#page-shieldmind .shieldmind-question-field .muted { margin: 7px 0 0; color: #70857c; font-size: 10px; line-height: 1.5; }
#page-shieldmind .shieldmind-upload-details { margin: 10px 0 12px; border-top: 1px solid #e8f0eb; }
#page-shieldmind .shieldmind-upload-details summary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 39px;
  padding: 8px 1px 4px;
  color: #41676b;
  font-size: 11px;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}
#page-shieldmind .shieldmind-upload-details summary::-webkit-details-marker { display: none; }
#page-shieldmind .shieldmind-upload-details summary > span { color: #168b75; font-size: 17px; }
#page-shieldmind .shieldmind-upload-details summary small { margin-left: auto; color: #879a99; font-size: 9px; font-weight: 600; }
#page-shieldmind .shieldmind-upload-details[open] { padding-bottom: 8px; }
#page-shieldmind #shieldmind-image {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px dashed #bcdacc;
  border-radius: 11px;
  background: #f5fbf7;
  color: #426361;
  font-size: 11px;
}
#page-shieldmind #shieldmind-image::file-selector-button { margin-right: 9px; padding: 7px 10px; border: 1px solid #d1e4da; border-radius: 8px; background: #fff; color: #31534e; font: inherit; font-weight: 750; cursor: pointer; }
#page-shieldmind .field label.shieldmind-image-confirm { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 6px; color: #61786f; font-size: 10px; line-height: 1.5; font-weight: 650; }
#page-shieldmind #shieldmind-image-confirm { appearance: auto; display: inline-block; flex: 0 0 16px; width: 16px !important; min-width: 16px; max-width: 16px; height: 16px; min-height: 16px !important; margin: 2px 0 0; padding: 0; border: 0; border-radius: 3px; box-shadow: none; background: initial; }
#page-shieldmind .shieldmind-upload-details .muted { margin: 6px 0; color: #778b82; font-size: 9.5px; line-height: 1.5; }
#page-shieldmind .shieldmind-composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid #edf3ef; }
#page-shieldmind .shieldmind-composer-hint { display: inline-flex; align-items: center; gap: 7px; color: #718980; font-size: 9.5px; line-height: 1.4; }
#page-shieldmind .shieldmind-composer-hint > span { color: #168d78; font-size: 15px; }
#page-shieldmind .shieldmind-composer-footer .actions { gap: 8px; }
#page-shieldmind .shieldmind-composer-footer .btn { min-height: 42px; padding: 10px 15px; border-radius: 11px; font-size: 11px; font-weight: 850; }
#page-shieldmind .shieldmind-composer-footer .btn:first-child { border: 1px solid #0e8758; background: linear-gradient(135deg, #15965f, #08734f); color: #fff; box-shadow: 0 8px 20px rgba(11, 132, 82, .18); }
#page-shieldmind .shieldmind-composer-footer .btn:first-child:hover { background: linear-gradient(135deg, #1aa66d, #0b8059); transform: translateY(-1px); }
#page-shieldmind .shieldmind-composer-footer .btn.secondary { border: 1px solid #b9dec9; background: #f2fbf5; color: #21684b; }
#page-shieldmind #shieldmind-status { min-height: 16px; margin: 9px 0 0; color: #71867d; font-size: 10px; line-height: 1.5; }

/* Study tools, saved conversations and recent questions */
#page-shieldmind .shieldmind-side-stack { grid-area: sidebar; display: grid; gap: 13px; min-width: 0; align-content: start; }
#page-shieldmind .shieldmind-side-panel {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--sm-line);
  border-radius: 19px;
  background: var(--sm-card);
  box-shadow: var(--sm-shadow);
}
#page-shieldmind .shieldmind-side-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 11px; margin-bottom: 10px; }
#page-shieldmind .shieldmind-side-heading h2 { margin: 0; color: var(--sm-ink); font-size: 16px; letter-spacing: -.035em; }
#page-shieldmind .shieldmind-side-heading p { margin: 4px 0 0; color: var(--sm-muted); font-size: 10px; line-height: 1.5; }
#page-shieldmind .shieldmind-side-heading > span { color: #279b7e; font-size: 17px; }
#page-shieldmind .shieldmind-tool {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 52px;
  padding: 9px 2px;
  border: 0;
  border-bottom: 1px solid #e8f0eb;
  border-radius: 0;
  background: transparent;
  text-align: left;
  transition: background .16s ease, padding .16s ease;
}
#page-shieldmind .shieldmind-tool:last-child { border-bottom: 0; }
#page-shieldmind .shieldmind-tool > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid #d9eee4;
  border-radius: 12px;
  background: linear-gradient(145deg, #ecf9f2, #e3f5ed);
  color: #238269;
  font-size: 11px;
  font-weight: 900;
}
#page-shieldmind .shieldmind-tool > div { display: grid; gap: 3px; flex: 1; min-width: 0; }
#page-shieldmind .shieldmind-tool strong { color: #2b4f52; font-size: 11px; font-weight: 850; }
#page-shieldmind .shieldmind-tool small { color: #809398; font-size: 9.5px; line-height: 1.4; }
#page-shieldmind .shieldmind-tool > b { color: #258b76; font-size: 20px; font-weight: 500; }
#page-shieldmind .shieldmind-tool:hover { padding-left: 7px; background: #f5fbf7; }
#page-shieldmind .shieldmind-history-heading { align-items: center; }
#page-shieldmind .shieldmind-history-heading .btn { min-height: 38px; padding: 8px 12px; border: 1px solid #b7dec8; border-radius: 11px; background: #f1fbf4; color: #176844; font-size: 10px; white-space: nowrap; }
#page-shieldmind .shieldmind-history-search-label { display: block; margin: 11px 0 6px; color: #57746a; font-size: 10px; font-weight: 800; }
#page-shieldmind .shieldmind-history-search {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid #d4e6dc;
  border-radius: 12px;
  background: #fbfefc;
  color: #1b4240;
  font-size: 11px;
}
#page-shieldmind .shieldmind-conversations-list { display: grid; gap: 8px; max-height: 320px; margin-top: 11px; overflow: auto; overscroll-behavior: contain; }
#page-shieldmind .shieldmind-history-item { display: flex; align-items: stretch; gap: 7px; min-width: 0; padding: 6px; border: 1px solid #dcebe2; border-radius: 13px; background: #fbfefc; }
#page-shieldmind .shieldmind-history-item.is-active { border-color: #8bc8a6; background: #f0faf3; box-shadow: inset 3px 0 #29945f; }
#page-shieldmind .shieldmind-history-open { display: grid; flex: 1 1 auto; gap: 4px; min-width: 0; padding: 8px 9px; border: 0; border-radius: 8px; background: transparent; color: #234c3e; text-align: left; cursor: pointer; }
#page-shieldmind .shieldmind-history-open strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; font-size: 10px; line-height: 1.4; }
#page-shieldmind .shieldmind-history-open small { color: #7d9184; font-size: 9px; }
#page-shieldmind .shieldmind-history-open:hover { background: rgba(35, 137, 91, .07); }
#page-shieldmind .shieldmind-history-delete { flex: 0 0 34px; width: 34px; align-self: center; min-height: 34px; border: 1px solid #eadbd8; border-radius: 9px; background: #fffafa; color: #96504a; font-size: 17px; cursor: pointer; }
#page-shieldmind .shieldmind-history-empty { margin: 0; padding: 13px; border: 1px dashed #d9e9df; border-radius: 11px; color: #7b9085; font-size: 10px; line-height: 1.5; }
#page-shieldmind .shieldmind-history-status { min-height: 15px; margin: 9px 0 0; color: #70877a; font-size: 9px; }
#page-shieldmind .shieldmind-history-status[data-state="error"] { color: #a23d3d; }
#page-shieldmind .shieldmind-history-privacy { margin: 9px 0 0; color: #788d80; font-size: 9px; line-height: 1.55; }
#page-shieldmind .shieldmind-recent-list { display: grid; gap: 5px; }
#page-shieldmind .shieldmind-recent-item { display: flex; align-items: flex-start; gap: 9px; width: 100%; padding: 9px 8px; border: 0; border-radius: 10px; background: transparent; color: #48666a; font-size: 10px; line-height: 1.45; text-align: left; cursor: pointer; }
#page-shieldmind .shieldmind-recent-item::before { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border-radius: 8px; background: #eaf7f0; color: #24836e; font-size: 12px; }
#page-shieldmind .shieldmind-recent-item:hover { background: #f3faf6; color: #1a5f54; }
#page-shieldmind .shieldmind-recent-item span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
#page-shieldmind .shieldmind-recent-empty { margin: 0; padding: 12px; border-radius: 10px; background: #f6faf7; color: #82958d; font-size: 10px; line-height: 1.5; }
#page-shieldmind .shieldmind-session-note { margin: 9px 0 0; color: #8a9c94; font-size: 9px; line-height: 1.5; }
#page-shieldmind .shieldmind-text-button { padding: 4px 2px; border: 0; background: transparent; color: #1a876e; font-size: 10px; font-weight: 800; cursor: pointer; }
#page-shieldmind .shieldmind-source-chip { padding: 6px 9px; border: 1px solid #d1eadc; border-radius: 99px; background: #edf8f1; color: #26785e; font-size: 8px; font-weight: 850; white-space: nowrap; }
#page-shieldmind .shieldmind-guardrail { margin-top: 12px; padding: 12px; border: 1px solid #d4eadc; border-radius: 13px; background: linear-gradient(135deg, #f1faf4, #f7fbf7); }
#page-shieldmind .shieldmind-guardrail strong { color: #267452; font-size: 10px; }
#page-shieldmind .shieldmind-guardrail p { margin: 5px 0 0; color: #688175; font-size: 9.5px; line-height: 1.55; }

/* Subscription and progress panels remain visually consistent with the refreshed workspace. */
#page-shieldmind .shieldmind-plan-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 15px 17px;
  border: 1px solid #cde9d9;
  border-radius: 17px;
  background: linear-gradient(115deg, #f0faf4, #ffffff);
  box-shadow: 0 9px 25px rgba(18, 75, 54, .05);
}
#page-shieldmind .shieldmind-plan-summary[hidden],
#page-shieldmind .shieldmind-quick-actions[hidden],
#page-shieldmind .shieldmind-workspace-grid[hidden] { display: none !important; }
#page-shieldmind .shieldmind-plan-summary-label { display: block; color: #668276; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
#page-shieldmind .shieldmind-plan-summary strong { display: block; margin-top: 4px; color: #174b38; font-size: 19px; }
#page-shieldmind .shieldmind-plan-summary small { display: block; margin-top: 3px; color: #71877b; font-size: 9px; }
#page-shieldmind .shieldmind-paid-gate {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, .6fr);
  align-items: center;
  gap: 18px;
  margin: 0 0 15px;
  padding: clamp(18px, 2.5vw, 25px);
  border: 1px solid rgba(113, 233, 195, .28);
  border-radius: 21px;
  background: radial-gradient(circle at 90% 10%, rgba(83, 218, 175, .23), transparent 32%), linear-gradient(125deg, #092e2c, #0b4b3e);
  color: #effff7;
  box-shadow: var(--sm-shadow);
}
#page-shieldmind .shieldmind-paid-gate-copy h2 { margin: 7px 0; color: #f3fff9; font-size: clamp(22px, 2.5vw, 29px); letter-spacing: -.04em; }
#page-shieldmind .shieldmind-paid-gate-copy > p { color: #c3e3d7; font-size: 11px; line-height: 1.6; }
#page-shieldmind .shieldmind-paid-eyebrow { color: #89efcf; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
#page-shieldmind .shieldmind-paid-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
#page-shieldmind .shieldmind-paid-benefits > div { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 2px 8px; padding: 9px; border: 1px solid rgba(163, 239, 211, .15); border-radius: 10px; background: rgba(255,255,255,.055); }
#page-shieldmind .shieldmind-paid-benefits > div > span { grid-row: span 2; color: #80e9c5; font-size: 9px; font-weight: 900; }
#page-shieldmind .shieldmind-paid-benefits strong { color: #f2fff8; font-size: 10px; }
#page-shieldmind .shieldmind-paid-benefits small { color: #b7d9cd; font-size: 9px; line-height: 1.4; }
#page-shieldmind .shieldmind-paid-gate-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid rgba(177, 241, 216, .16); }
#page-shieldmind .shieldmind-paid-gate-footer strong { display: block; color: #f4fff9; font-size: 13px; }
#page-shieldmind .shieldmind-paid-gate-footer small { display: block; margin-top: 3px; color: #add5c7; font-size: 9px; }
#page-shieldmind .shieldmind-paid-cta { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; padding: 9px 13px; border: 1px solid #4ed4a4; border-radius: 10px; background: linear-gradient(120deg, #12a66a, #08754f); color: #fff; font-size: 10px; font-weight: 850; }
#page-shieldmind .shieldmind-paid-gate-status { min-height: 14px; margin: 10px 0 0; color: #abd6c5; font-size: 9px; }
#page-shieldmind .shieldmind-paid-gate-art { position: relative; display: grid; place-items: center; min-height: 165px; }
#page-shieldmind .shieldmind-paid-gate-art .shieldmind-core { display: grid; place-items: center; width: 92px; height: 92px; border: 3px solid #e1fff3; border-radius: 28px; background: linear-gradient(145deg,#155b4b,#082c30); color: #8cf5d2; font-size: 24px; font-weight: 900; box-shadow: 0 0 0 13px rgba(102,229,187,.08), 0 0 40px rgba(83,237,191,.21); }
#page-shieldmind .shieldmind-planner-panel { margin-top: 16px; padding: 20px; border: 1px solid var(--sm-line); border-radius: 20px; background: var(--sm-card); box-shadow: var(--sm-shadow); }
#page-shieldmind .shieldmind-planner-panel .panel-heading h2 { color: var(--sm-ink); font-size: 18px; }
#page-shieldmind .shieldmind-planner-panel .panel-heading p { color: var(--sm-muted); font-size: 11px; line-height: 1.5; }
#page-shieldmind .shieldmind-disclaimer { margin: 13px 0 0; color: var(--sm-muted); font-size: 10px; line-height: 1.6; }

/* Dark appearance follows the app's existing data-theme switch. */
html[data-theme="dark"] #page-shieldmind {
  --sm-ink: #e8f5f0;
  --sm-muted: #a5bbb5;
  --sm-line: #294b43;
  --sm-card: #112c27;
  --sm-soft: #17362f;
  --sm-soft-2: #1b4037;
  --sm-primary: #7ce5c2;
  --sm-primary-dark: #a3f2d2;
  --sm-shadow: 0 18px 44px rgba(0,0,0,.22);
  color: var(--sm-ink);
}
html[data-theme="dark"] #page-shieldmind .shieldmind-brand-lockup h1,
html[data-theme="dark"] #page-shieldmind .shieldmind-chat-heading h2,
html[data-theme="dark"] #page-shieldmind .shieldmind-side-heading h2,
html[data-theme="dark"] #page-shieldmind .shieldmind-planner-panel .panel-heading h2 { color: #e8f5f0; }
html[data-theme="dark"] #page-shieldmind .shieldmind-brand-lockup p,
html[data-theme="dark"] #page-shieldmind .shieldmind-chat-heading p,
html[data-theme="dark"] #page-shieldmind .shieldmind-side-heading p,
html[data-theme="dark"] #page-shieldmind .shieldmind-disclaimer,
html[data-theme="dark"] #page-shieldmind .shieldmind-planner-panel .panel-heading p { color: #a5bbb5; }
html[data-theme="dark"] #page-shieldmind .shieldmind-workspace-badge { border-color: #315d4e; background: #173d31; color: #aaf1d0; }
html[data-theme="dark"] #page-shieldmind .shieldmind-chat-panel,
html[data-theme="dark"] #page-shieldmind .shieldmind-study-room-builder,
html[data-theme="dark"] #page-shieldmind .shieldmind-side-panel,
html[data-theme="dark"] #page-shieldmind .shieldmind-planner-panel { border-color: #294b43; background: #112c27; color: #e8f5f0; }
html[data-theme="dark"] #page-shieldmind .shieldmind-source-note,
html[data-theme="dark"] #page-shieldmind .shieldmind-access-notice { border-color: #5a5234; background: linear-gradient(110deg,#332f20,#292819); color: #eddfb3; }
html[data-theme="dark"] #page-shieldmind .shieldmind-messages { border-color: #31564a; background: linear-gradient(145deg,#0c211d,#102821); }
html[data-theme="dark"] #page-shieldmind .shieldmind-message { border-color: #315548; background: #18382f; }
html[data-theme="dark"] #page-shieldmind .shieldmind-message.user { border-color: #2e775d; background: #174235; }
html[data-theme="dark"] #page-shieldmind .shieldmind-message strong { color: #9de9c7; }
html[data-theme="dark"] #page-shieldmind .shieldmind-message p { color: #d4e9df; }
html[data-theme="dark"] #page-shieldmind .shieldmind-composer { border-color: #31564a; background: linear-gradient(150deg,#122e28,#102721); }
html[data-theme="dark"] #page-shieldmind .shieldmind-question-field > label { color: #d8ede3; }
html[data-theme="dark"] #page-shieldmind #shieldmind-question,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-search { border-color: #355d50; background: #0d241f; color: #e8f5f0; }
html[data-theme="dark"] #page-shieldmind #shieldmind-question::placeholder { color: #8aa79b; }
html[data-theme="dark"] #page-shieldmind .shieldmind-question-field .muted,
html[data-theme="dark"] #page-shieldmind .shieldmind-upload-details summary,
html[data-theme="dark"] #page-shieldmind .shieldmind-composer-hint,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-search-label,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-status,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-privacy,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-open small,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-empty,
html[data-theme="dark"] #page-shieldmind .shieldmind-recent-empty,
html[data-theme="dark"] #page-shieldmind .shieldmind-session-note { color: #a5bbb5; }
html[data-theme="dark"] #page-shieldmind #shieldmind-image { border-color: #3d6d59; background: #122f27; color: #d9eee4; }
html[data-theme="dark"] #page-shieldmind #shieldmind-image::file-selector-button { border-color: #3e6856; background: #1b4034; color: #e2f5ec; }
html[data-theme="dark"] #page-shieldmind .shieldmind-composer-footer { border-color: #294b43; }
html[data-theme="dark"] #page-shieldmind .shieldmind-composer-footer .btn.secondary,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-heading .btn { border-color: #396a56; background: #173b30; color: #b6f0d2; }
html[data-theme="dark"] #page-shieldmind .shieldmind-tool { border-color: #294b43; }
html[data-theme="dark"] #page-shieldmind .shieldmind-tool > span,
html[data-theme="dark"] #page-shieldmind .shieldmind-recent-item::before { border-color: #315e4d; background: #194236; color: #9ce9c5; }
html[data-theme="dark"] #page-shieldmind .shieldmind-tool strong,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-open,
html[data-theme="dark"] #page-shieldmind .shieldmind-recent-item { color: #d6ebe1; }
html[data-theme="dark"] #page-shieldmind .shieldmind-tool small { color: #9bb4aa; }
html[data-theme="dark"] #page-shieldmind .shieldmind-tool:hover,
html[data-theme="dark"] #page-shieldmind .shieldmind-history-open:hover,
html[data-theme="dark"] #page-shieldmind .shieldmind-recent-item:hover { background: #1b4035; }
html[data-theme="dark"] #page-shieldmind .shieldmind-history-item { border-color: #315548; background: #142f28; }
html[data-theme="dark"] #page-shieldmind .shieldmind-history-item.is-active { border-color: #4b956f; background: #1a4032; }
html[data-theme="dark"] #page-shieldmind .shieldmind-history-delete { border-color: #664642; background: #332321; color: #f0b8af; }
html[data-theme="dark"] #page-shieldmind .shieldmind-history-empty { border-color: #315548; }
html[data-theme="dark"] #page-shieldmind .shieldmind-source-chip { border-color: #315c4c; background: #173d31; color: #a9ebc9; }
html[data-theme="dark"] #page-shieldmind .shieldmind-guardrail { border-color: #315b49; background: linear-gradient(135deg,#17392d,#142f27); }
html[data-theme="dark"] #page-shieldmind .shieldmind-guardrail strong { color: #a8edc8; }
html[data-theme="dark"] #page-shieldmind .shieldmind-guardrail p { color: #b2cbbd; }
html[data-theme="dark"] #page-shieldmind .shieldmind-plan-summary { border-color: #315b49; background: linear-gradient(115deg,#173d30,#112c27); }
html[data-theme="dark"] #page-shieldmind .shieldmind-plan-summary-label,
html[data-theme="dark"] #page-shieldmind .shieldmind-plan-summary small { color: #a5bbb5; }
html[data-theme="dark"] #page-shieldmind .shieldmind-plan-summary strong { color: #d9f6e6; }

/* Layout and accessibility */
@media (max-width: 1100px) {
  #page-shieldmind .shieldmind-workspace-grid { grid-template-columns: minmax(0,1.35fr) minmax(260px,.9fr); gap: 11px; }
  #page-shieldmind .shieldmind-side-panel { padding: 15px; }
}
@media (max-width: 900px) {
  #page-shieldmind .shieldmind-workspace-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "chat" "builder" "sidebar"; }
  #page-shieldmind .shieldmind-side-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #page-shieldmind .shieldmind-hero-art { width: 116px; height: 112px; flex-basis: 116px; }
}
@media (max-width: 620px) {
  #page-shieldmind .shieldmind-workspace-header { align-items: flex-start; }
  #page-shieldmind .shieldmind-brand-lockup .shieldmind-mark { width: 41px; height: 41px; flex-basis: 41px; }
  #page-shieldmind .shieldmind-brand-lockup .campus-hub-eyebrow { font-size: 8px; }
  #page-shieldmind .shieldmind-brand-lockup h1 { font-size: 23px; }
  #page-shieldmind .shieldmind-workspace-badge { padding: 6px 9px; font-size: 9px; }
  #page-shieldmind .shieldmind-hero-compact { align-items: flex-start; min-height: 0; gap: 10px; padding: 18px; border-radius: 19px; }
  #page-shieldmind .shieldmind-hero h2 { font-size: 21px; }
  #page-shieldmind .shieldmind-hero p { font-size: 11px; }
  #page-shieldmind .shieldmind-capability-list { gap: 6px; margin-top: 12px; }
  #page-shieldmind .shieldmind-capability-list span { min-height: 26px; padding: 5px 8px; font-size: 8px; }
  #page-shieldmind .shieldmind-hero-art { width: 70px; height: 75px; flex-basis: 70px; margin-top: 10px; }
  #page-shieldmind .shieldmind-hero-art::after { width: 47px; height: 24px; bottom: 3px; }
  #page-shieldmind .shieldmind-hero-art span:nth-child(2) { width: 47px; height: 39px; border-width: 2px; border-radius: 13px; }
  #page-shieldmind .shieldmind-hero-art span:nth-child(2)::before { top: 13px; left: 12px; width: 5px; height: 5px; box-shadow: 14px 0 0 #55f4d0, 0 0 8px #55f4d0, 14px 0 8px #55f4d0; }
  #page-shieldmind .shieldmind-hero-art span:nth-child(2)::after { bottom: 7px; width: 10px; }
  #page-shieldmind .shieldmind-hero-art span:first-child { top: 4px; left: 5px; font-size: 12px; }
  #page-shieldmind .shieldmind-hero-art span:last-child { right: -2px; bottom: 9px; width: 21px; height: 21px; border-radius: 7px; font-size: 12px; }
  #page-shieldmind .shieldmind-chat-panel,
  #page-shieldmind .shieldmind-study-room-builder,
  #page-shieldmind .shieldmind-planner-panel { padding: 14px; border-radius: 17px; }
  #page-shieldmind .shieldmind-messages { min-height: 118px; max-height: 280px; padding: 10px; }
  #page-shieldmind .shieldmind-composer { padding: 11px; }
  #page-shieldmind #shieldmind-question { min-height: 96px; height: 105px; font-size: 12px; }
  #page-shieldmind .shieldmind-composer-footer { align-items: stretch; }
  #page-shieldmind .shieldmind-composer-hint { width: 100%; }
  #page-shieldmind .shieldmind-composer-footer .actions { width: 100%; }
  #page-shieldmind .shieldmind-composer-footer .actions .btn { flex: 1 1 125px; }
  #page-shieldmind .shieldmind-side-stack { grid-template-columns: minmax(0,1fr); }
  #page-shieldmind .shieldmind-side-panel { padding: 15px; border-radius: 16px; }
  #page-shieldmind .shieldmind-paid-gate { grid-template-columns: minmax(0,1fr); }
  #page-shieldmind .shieldmind-paid-gate-art { display: none; }
  #page-shieldmind .shieldmind-paid-benefits { grid-template-columns: minmax(0,1fr); }
  #page-shieldmind .shieldmind-plan-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #page-shieldmind .shieldmind-plan-summary-manage { grid-column: 1 / -1; }
}
@media (max-width: 390px) {
  #page-shieldmind .shieldmind-workspace-header { gap: 8px; flex-wrap: wrap; }
  #page-shieldmind .shieldmind-workspace-badge { margin-left: 50px; }
  #page-shieldmind .shieldmind-hero-compact { padding: 15px 13px; }
  #page-shieldmind .shieldmind-hero-art { display: none; }
  #page-shieldmind .shieldmind-chat-heading { align-items: flex-start; flex-direction: column; }
  #page-shieldmind .shieldmind-chat-heading .shieldmind-pill { align-self: flex-start; }
  #page-shieldmind .shieldmind-history-heading { align-items: flex-start; flex-wrap: wrap; }
  #page-shieldmind .shieldmind-history-heading .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #page-shieldmind *,
  #page-shieldmind *::before,
  #page-shieldmind *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
