:root {
  --bg: #0a0d12;
  --panel: #10141b;
  --panel-2: #151a22;
  --line: #242b36;
  --text: #f3f5f7;
  --muted: #8c97a8;
  --accent: #f28c28;
  --accent-2: #ffc46b;
  --danger: #f87171;
  --radius: 12px;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  overflow: hidden;
}
button,
input,
textarea,
select {
  font: inherit;
}
button {
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  border-radius: 8px;
  padding: 9px 12px;
  cursor: pointer;
}
button:hover:not(:disabled) {
  border-color: #4b5563;
  background: #1b222d;
}
button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #17100a;
  font-weight: 800;
}
.primary:hover:not(:disabled) {
  background: #ff9e3d;
  border-color: #ff9e3d;
}
.app-shell {
  height: 100vh;
  display: grid;
  grid-template-rows: 58px 1fr;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: #0d1117;
  padding: 0 14px;
  z-index: 4;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--accent), #e85d04);
  font-weight: 900;
  color: #1a0d03;
}
.brand strong,
.brand small {
  display: block;
}
.brand small {
  color: var(--muted);
  font-size: 11px;
}
.project-title {
  display: flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.project-title input:not(:disabled) { pointer-events: auto; }
.project-title input {
  border: 0;
  background: transparent;
  text-align: center;
  color: var(--text);
  font-weight: 700;
  max-width: 320px;
}
.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #64748b;
}
.status-dot.saved {
  background: #34d399;
}
.status-dot.saving {
  background: #fbbf24;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.workspace {
  min-height: 0;
  display: grid;
  grid-template-columns: 238px 1fr 300px;
}
.left-panel,
.right-panel {
  background: var(--panel);
  min-height: 0;
  overflow: auto;
}
.left-panel {
  border-right: 1px solid var(--line);
}
.right-panel {
  border-left: 1px solid var(--line);
}
.panel-heading {
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  border-bottom: 1px solid var(--line);
}
.icon-button {
  padding: 3px 8px;
  font-size: 18px;
  border: 0;
  background: transparent;
}
.project-list {
  max-height: 230px;
  overflow: auto;
}
.project-item {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #ffffff08;
  border-radius: 0;
  background: transparent;
  text-align: left;
  padding: 13px 14px;
}
.project-item.active {
  background: #ffffff08;
  border-left: 3px solid var(--accent);
}
.project-item strong,
.project-item small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.project-item small {
  color: var(--muted);
  font-size: 11px;
  margin-top: 4px;
}
.section-list {
  padding: 7px;
}
.section-list.empty-hint {
  color: var(--muted);
  padding: 18px 14px;
}
.section-item {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 9px 8px;
}
.section-item.active {
  background: #ffffff0c;
}
.section-item .drag {
  color: #596273;
  cursor: grab;
}
.section-item small {
  color: var(--muted);
  text-transform: capitalize;
}
.section-item .controls {
  display: flex;
  gap: 2px;
}
.section-item .controls button {
  border: 0;
  background: transparent;
  padding: 2px 4px;
}
.canvas-area {
  min-width: 0;
  min-height: 0;
  background: #090b0f;
  display: grid;
  grid-template-rows: 44px 1fr;
}
.canvas-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  background: #0d1117;
}
.canvas-toolbar > span {
  color: var(--muted);
  font-size: 11px;
}
.device-switch {
  display: flex;
}
.device-switch button {
  border-radius: 0;
  padding: 5px 10px;
  font-size: 11px;
}
.device-switch button:first-child {
  border-radius: 7px 0 0 7px;
}
.device-switch button:last-child {
  border-radius: 0 7px 7px 0;
}
.device-switch .active {
  background: #303845;
}
.canvas-empty {
  align-self: center;
  justify-self: center;
  text-align: center;
  max-width: 660px;
  padding: 40px;
}
.canvas-empty h1 {
  font-family: Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 1.02;
  margin: 12px 0 20px;
}
.canvas-empty > p:not(.overline) {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}
.overline {
  color: var(--accent-2);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 900;
}
.empty-orbit {
  height: 80px;
  position: relative;
  display: grid;
  place-items: center;
}
.empty-orbit span {
  position: absolute;
  width: 72px;
  height: 72px;
  border: 1px solid #f28c2860;
  border-radius: 50%;
  animation: spin 9s linear infinite;
}
.empty-orbit span:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  top: 4px;
  left: 10px;
}
.empty-orbit b {
  font-size: 28px;
  color: var(--accent);
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.preview-wrap {
  padding: 24px;
  overflow: auto;
  display: flex;
  justify-content: center;
}
.preview-wrap iframe {
  width: 100%;
  height: 100%;
  min-height: 650px;
  border: 0;
  border-radius: 10px;
  background: white;
  box-shadow: 0 20px 80px #0008;
  transition: width 0.25s;
}
.preview-wrap.mobile iframe {
  width: 390px;
}
.preview-wrap.tablet iframe {
  width: 768px;
}
.project-item[data-page] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.project-item .controls {
  display: flex;
}
.project-item .controls button {
  padding: 3px 6px;
  border: 0;
  background: transparent;
}
.inspector a {
  color: var(--accent-2);
}
.hidden {
  display: none !important;
}
.tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: sticky;
  top: 0;
  background: var(--panel);
  z-index: 2;
  border-bottom: 1px solid var(--line);
}
.tabs button {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  padding: 14px 4px;
}
.tabs button.active {
  color: var(--text);
  border-bottom: 2px solid var(--accent);
}
.inspector,
.inspector-empty {
  padding: 16px;
}
.inspector-empty {
  text-align: center;
  color: var(--muted);
  padding-top: 80px;
}
.inspector-empty span {
  font-size: 36px;
}
.inspector label,
.createForm label {
  display: block;
  color: #b8c0cc;
  font-size: 11px;
  margin-bottom: 14px;
}
.inspector input,
.inspector textarea,
.inspector select,
dialog input,
dialog textarea,
dialog select {
  display: block;
  width: 100%;
  margin-top: 6px;
  background: #0c1016;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  padding: 10px;
  outline: none;
}
.inspector input:focus,
.inspector textarea:focus,
dialog input:focus,
dialog textarea:focus {
  border-color: var(--accent);
}
.inspector textarea {
  resize: vertical;
}
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.field-help {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
}
.asset-preview {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  background: #0a0d12;
  border: 1px dashed #3c4655;
  border-radius: 8px;
  margin: 6px 0;
}
.asset-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.asset-grid button {
  padding: 0;
  overflow: hidden;
  aspect-ratio: 1;
}
.asset-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inspector hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 20px 0;
}
.provider-status {
  display: flex;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.provider-status b {
  font-size: 10px;
}
.offline {
  color: #fbbf24;
}
.dropdown {
  position: relative;
}
.dropdown-menu {
  display: none;
  position: absolute;
  right: 0;
  top: 40px;
  background: #181e27;
  border: 1px solid var(--line);
  border-radius: 9px;
  min-width: 180px;
  padding: 5px;
  box-shadow: 0 16px 50px #0008;
}
.dropdown.open .dropdown-menu {
  display: block;
}
.dropdown-menu a {
  display: block;
  padding: 9px 10px;
  border-radius: 6px;
}
.dropdown-menu a:hover {
  background: #ffffff0c;
}
dialog {
  width: min(760px, calc(100% - 40px));
  background: #11161e;
  color: var(--text);
  border: 1px solid #313a47;
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 30px 100px #000b;
}
dialog::backdrop {
  background: #05070bcc;
  backdrop-filter: blur(5px);
}
dialog form,
dialog > div:not(.dialog-head) {
  padding: 0 24px 24px;
}
.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}
.dialog-head h2 {
  margin: 2px 0 0;
  font-family: Georgia, serif;
  font-size: 28px;
}
.close {
  border: 0;
  background: transparent;
  font-size: 24px;
  padding: 2px 8px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
.full {
  grid-column: 1/-1;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
}
.action-dialog { width: min(500px,calc(100% - 32px)); overflow: hidden; border-color: #3a4658; background: linear-gradient(160deg,#141b25,#0e141c); }
.action-dialog::backdrop { background: #03060ad9; backdrop-filter: blur(8px); }
.action-dialog form { display: grid; grid-template-columns: 54px 1fr; gap: 0 16px; padding: 28px; }
.action-icon { grid-row: 1; width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #4b586c; border-radius: 16px; background: #1a2432; color: #b8c6da; font-family: Georgia,serif; font-size: 25px; font-weight: 900; }
.action-icon.credit { border-color: #f28c2866; background: #f28c2814; color: var(--accent-2); }
.action-icon.danger { border-color: #ef444466; background: #ef444414; color: #fca5a5; }
.action-copy { grid-column: 2; }
.action-copy .overline,.action-copy h2 { margin: 0; }
.action-copy h2 { margin-top: 5px; font-size: 24px; letter-spacing: -.025em; }
.action-copy > p:last-child { margin: 10px 0 0; color: #9ba8ba; line-height: 1.6; }
.action-summary,.action-fields,.action-buttons { grid-column: 1/-1; }
.action-summary { display: grid; gap: 1px; margin-top: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #0a0f16; }
.action-summary > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 13px; border-bottom: 1px solid #ffffff0a; }
.action-summary > div:last-child { border: 0; }
.action-summary span { color: var(--muted); font-size: 11px; }
.action-summary strong { color: #e7edf5; font-size: 12px; }
.action-summary > div:last-child strong { color: var(--accent-2); }
.action-fields { display: grid; gap: 14px; margin-top: 22px; }
.action-fields label { color: #c9d2de; font-size: 11px; font-weight: 700; }
.action-fields input,.action-fields textarea { margin-top: 8px; }
.action-fields textarea { resize: vertical; }
.action-buttons { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.action-buttons button { min-width: 112px; }
.danger-button { border-color: #b93838; background: #b93838; color: white; font-weight: 800; }
.danger-button:hover:not(:disabled) { border-color: #d94a4a; background: #d94a4a; }
@media(max-width:520px){.action-dialog form{grid-template-columns:42px 1fr;padding:22px;gap:0 12px}.action-icon{width:42px;height:42px;border-radius:13px}.action-copy h2{font-size:21px}.action-buttons{display:grid;grid-template-columns:1fr 1fr}.action-buttons button{min-width:0}}
.iara-dialog {
  width: min(1180px, calc(100% - 36px));
  height: min(820px, calc(100% - 36px));
  max-width: none;
  max-height: none;
  overflow: hidden;
  border-color: #344054;
  background: #0d1219;
}
.iara-dialog > .iara-shell {
  height: 100%;
  padding: 0;
  display: grid;
  grid-template-rows: auto 3px 1fr;
}
.iara-head {
  min-height: 82px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(120deg,#141c2a,#0e141d);
}
.iara-avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #201205;
  background: linear-gradient(135deg,var(--accent-2),var(--accent));
  font-family: Georgia,serif;
  font-size: 23px;
  font-weight: 900;
  box-shadow: 0 8px 30px #f28c2830;
}
.iara-head .overline,.iara-head h2,.iara-head small { margin: 0; }
.iara-head h2 { margin-top: 2px; font-size: 23px; }
.iara-head small { color: var(--muted); }
.iara-head-actions { display: flex; align-items: center; gap: 8px; }
.iara-progress { background: #273142; overflow: hidden; }
.iara-progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--accent),var(--accent-2)); transition: width .35s ease; }
.iara-body { min-height: 0; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.85fr); }
.iara-chat { min-height: 0; display: grid; grid-template-rows: 1fr auto auto auto; border-right: 1px solid var(--line); background: radial-gradient(circle at 20% 0,#17223a55,transparent 36%),#0c1118; }
.iara-messages { min-height: 0; overflow: auto; padding: 28px clamp(20px,4vw,54px) 18px; scroll-behavior: smooth; }
.iara-message { width: fit-content; max-width: min(78%,680px); margin: 0 0 18px; padding: 14px 17px; border: 1px solid #293446; border-radius: 6px 18px 18px 18px; background: #151d29; box-shadow: 0 10px 30px #0002; }
.iara-message.user { margin-left: auto; border-color: #6f471e; border-radius: 18px 6px 18px 18px; background: #2b2119; }
.iara-message span { color: var(--accent-2); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.iara-message.user span { color: #e9c69a; }
.iara-message p { margin: 7px 0; color: #e6eaf0; line-height: 1.58; }
.iara-message small { color: #6f7d90; font-size: 9px; }
.iara-message.pending { opacity: .72; }
.iara-message.thinking p { display: flex; align-items: center; gap: 5px; color: #aeb9c9; }
.iara-message.thinking i { width: 5px; height: 5px; border-radius: 50%; background: var(--accent-2); animation: iaraPulse 1s ease-in-out infinite; }
.iara-message.thinking i:nth-child(2) { animation-delay: .15s; }
.iara-message.thinking i:nth-child(3) { animation-delay: .3s; }
@keyframes iaraPulse { 0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1} }
.iara-quick-replies { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 clamp(20px,4vw,54px) 10px; }
.iara-quick-replies:empty { display: none; }
.iara-quick-replies button { padding: 7px 11px; border-color: #465269; border-radius: 999px; background: #121a25; color: #c8d2e0; font-size: 11px; }
.iara-quick-replies .palette-reply { display: grid; gap: 6px; min-width: 140px; border-radius: 12px; text-align: left; }
.palette-reply > i,.brief-swatches { display: flex; gap: 3px; margin-top: 5px; }
.palette-reply em,.brief-swatches em { display: block; width: 25px; height: 12px; border: 1px solid #ffffff28; border-radius: 3px; }
.brief-swatches { margin-top: 8px; }
.iara-composer { margin: 0 clamp(16px,3vw,42px); padding: 9px; display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: end; border: 1px solid #374357; border-radius: 16px; background: #111823; box-shadow: 0 18px 45px #0005; }
.iara-composer textarea { min-height: 42px; max-height: 130px; resize: vertical; margin: 0; padding: 11px; border: 0; background: transparent; }
.iara-composer textarea:focus { border: 0; box-shadow: none; }
.iara-composer .primary { min-width: 82px; height: 42px; }
.iara-attach { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--accent-2); font-size: 22px; cursor: pointer; }
.iara-attach:hover { background: #ffffff08; }
.iara-attach input { display: none; }
.iara-privacy { margin: 8px 0 12px; color: #68768a; font-size: 9px; text-align: center; }
.iara-brief { min-height: 0; overflow: auto; padding: 24px; background: #10161f; }
.iara-brief-title { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.iara-brief-title .overline,.iara-brief-title h3 { margin: 0; }
.iara-brief-title h3 { margin-top: 5px; font-size: 20px; }
.iara-brief-title > span { padding: 6px 9px; border: 1px solid #3e4a5c; border-radius: 999px; color: #aebbd0; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.iara-brief-content { display: grid; gap: 1px; margin: 16px 0; }
.iara-brief-row { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; padding: 11px 0; border-bottom: 1px solid #ffffff0a; }
.iara-brief-row > span { color: #8190a5; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.iara-brief-row b { grid-column: 1/-1; line-height: 1.4; font-size: 12px; }
.iara-brief-row small { grid-column: 2; grid-row: 1; color: #72d6a1; font-size: 9px; }
.iara-brief-row small.inferred { color: #f6c86f; }
.iara-brief-row small.suggested { color: #8bb8ff; }
.iara-brief-empty { padding: 28px 16px; border: 1px dashed #344054; border-radius: 12px; color: var(--muted); text-align: center; line-height: 1.5; }
.iara-assets { margin: 18px 0; }
.iara-assets > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.iara-assets figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #090d13; }
.iara-assets img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.iara-assets figcaption { padding: 5px; color: var(--muted); font-size: 8px; text-align: center; }
.iara-brief > .primary { width: 100%; min-height: 45px; margin-top: 8px; }
.iara-history { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.iara-history summary { color: #8795a9; font-size: 11px; cursor: pointer; }
#iaraSessions { display: grid; gap: 6px; margin-top: 10px; }
#iaraSessions button { display: grid; gap: 3px; width: 100%; text-align: left; }
#iaraSessions button.active { border-color: var(--accent); }
#iaraSessions small { color: var(--muted); font-size: 9px; }
@media(max-width:850px){.iara-dialog{width:100%;height:100%;max-height:none;border:0;border-radius:0}.iara-dialog>.iara-shell{height:100dvh}.iara-body{display:block;overflow:auto}.iara-chat{height:calc(100dvh - 85px);min-height:560px;border-right:0}.iara-brief{min-height:100%;overflow:visible;border-top:1px solid var(--line)}.iara-head-actions>button:first-child{display:none}.iara-message{max-width:90%}}
.component-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding-bottom: 8px;
}
.component-card {
  text-align: left;
  min-height: 90px;
}
.component-card b,
.component-card small {
  display: block;
}
.component-card small {
  color: var(--muted);
  margin-top: 6px;
}
.job-panel {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: min(620px, calc(100% - 40px));
  background: #171d26;
  border: 1px solid #364152;
  border-radius: 12px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 14px;
  box-shadow: 0 20px 70px #000a;
  z-index: 20;
}
.job-copy b,
.job-copy span {
  display: block;
}
.job-copy span {
  color: var(--muted);
  font-size: 11px;
  margin-top: 3px;
}
.progress {
  grid-column: 1/-1;
  height: 4px;
  background: #2c3440;
  border-radius: 5px;
  overflow: hidden;
}
.progress i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  width: 0;
  transition: width 0.4s;
}
.toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  background: #18202a;
  border: 1px solid #3a4656;
  padding: 12px 16px;
  border-radius: 9px;
  z-index: 30;
  max-width: 420px;
}
.toast.error {
  border-color: #7f1d1d;
  color: #fecaca;
}
.audit-score {
  font-size: 48px;
  font-family: Georgia, serif;
  color: var(--accent-2);
}
.audit-issue {
  padding: 12px;
  border-left: 3px solid #fbbf24;
  background: #ffffff06;
  margin: 8px 0;
}
.audit-issue.error {
  border-color: var(--danger);
}
@media (max-width: 1100px) {
  .workspace {
    grid-template-columns: 200px 1fr 270px;
  }
}
@media (max-width: 1500px) { .project-title { display: none; } }
@media (max-width: 800px) {
  body {
    overflow: auto;
  }
  .app-shell {
    height: auto;
    min-height: 100vh;
  }
  .workspace {
    display: block;
  }
  .left-panel,
  .right-panel {
    border: 0;
  }
  .canvas-area {
    height: 700px;
  }
  .left-panel {
    display: none;
  }
  .topbar {
    position: sticky;
    top: 0;
  }
  .project-title {
    display: none;
  }
}
.section-item small {
  display: block;
}
.checking {
  color: #94a3b8;
}
.online {
  color: #34d399;
}
.vision-result {
  margin: 14px 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0c1016;
}
.vision-result > strong {
  display: block;
  line-height: 1.4;
}
.vision-result p,
.vision-result li {
  color: #aeb7c5;
  font-size: 11px;
  line-height: 1.5;
}
.vision-result ul {
  padding-left: 18px;
}
.vision-swatches {
  display: flex;
  gap: 6px;
  margin: 12px 0;
}
.vision-swatches i {
  width: 32px;
  height: 32px;
  border-radius: 7px;
  border: 1px solid #ffffff2c;
}
.vision-actions {
  display: flex;
  gap: 7px;
}
.vision-actions button {
  flex: 1;
}
.auth-gate,.standalone-auth{min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,64px);background:#080b10;overflow:auto;position:relative}.auth-gate::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 12% 15%,#1d315d66 0,transparent 34%),radial-gradient(circle at 86% 82%,#f28c281c 0,transparent 28%);pointer-events:none}.auth-gate::after{content:"";position:fixed;inset:0;opacity:.13;pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.auth-layout{position:relative;z-index:1;width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);overflow:hidden;border:1px solid #2a3341;border-radius:28px;background:#0e131bcc;box-shadow:0 36px 110px #000b,0 0 0 1px #ffffff05 inset;backdrop-filter:blur(20px)}
.auth-showcase{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:clamp(38px,5vw,66px);background:linear-gradient(145deg,#16213b 0%,#111a2d 52%,#111720 100%);border-right:1px solid #ffffff12}.auth-showcase::before{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffc46b22;border-radius:50%;right:-220px;top:-150px;box-shadow:0 0 0 54px #ffffff05,0 0 0 108px #ffffff03}.auth-showcase-glow{position:absolute;width:260px;height:260px;border-radius:50%;right:-60px;bottom:60px;background:#f28c2824;filter:blur(40px)}.auth-showcase-content{position:relative;z-index:1;margin:auto 0}.auth-kicker{display:flex;align-items:center;gap:9px;color:#c6d3e7;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-kicker span{width:7px;height:7px;border-radius:50%;background:#45d483;box-shadow:0 0 14px #45d483}.auth-showcase h2{margin:25px 0 20px;font-size:clamp(2.45rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.055em;max-width:10ch}.auth-showcase h2 em{color:var(--accent-2);font-family:Georgia,serif;font-weight:400}.auth-showcase-content>p{max-width:48ch;margin:0;color:#aab7cb;font-size:15px;line-height:1.75}.auth-feature-grid{display:grid;gap:12px;margin-top:42px}.auth-feature-grid article{display:grid;grid-template-columns:34px 1fr;gap:2px 12px;padding:15px 16px;border:1px solid #ffffff0e;border-radius:13px;background:#ffffff06}.auth-feature-grid i{grid-row:1/3;color:var(--accent-2);font-size:10px;font-style:normal;font-weight:900;padding-top:3px}.auth-feature-grid strong{font-size:13px}.auth-feature-grid span{color:#8998ae;font-size:11px;line-height:1.5}.auth-showcase-foot{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap}.auth-showcase-foot span{padding:6px 9px;border:1px solid #ffffff12;border-radius:999px;color:#7f90a9;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.auth-card{align-self:stretch;width:100%;display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,64px);background:linear-gradient(165deg,#111720f2,#0d1219f2)}.auth-brand{margin-bottom:48px}.auth-brand .brand-mark{width:38px;height:38px;border-radius:11px;box-shadow:0 8px 24px #f28c2838}.auth-brand strong{font-size:13px}.auth-brand small{margin-top:2px}.auth-heading .overline{margin:0 0 12px}.auth-heading h1{margin:0;font-size:clamp(2rem,3vw,2.65rem);letter-spacing:-.04em;line-height:1.06}.auth-heading>p:last-child{margin:14px 0 0;color:#94a2b7;line-height:1.65;max-width:38ch}.auth-form{display:grid;gap:18px;margin-top:32px}.auth-form label{display:grid;gap:8px}.auth-form label>span{color:#dce3ed;font-size:11px;font-weight:750;letter-spacing:.035em}.auth-form input{display:block;width:100%;height:48px;padding:0 14px;border:1px solid #303a49;border-radius:10px;background:#090d13;color:var(--text);outline:none;box-shadow:0 1px 0 #ffffff05 inset;transition:border-color .18s,box-shadow .18s,background .18s}.auth-form input::placeholder{color:#596678}.auth-form input:hover{border-color:#465267}.auth-form input:focus{border-color:var(--accent);background:#0b1018;box-shadow:0 0 0 3px #f28c281c}.auth-submit{height:49px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:3px;border-radius:10px;box-shadow:0 10px 26px #f28c2823;transition:transform .18s,box-shadow .18s,background .18s}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #f28c2838}.auth-submit span{font-size:18px;line-height:1}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:12px}.link-button{border:0;background:transparent;color:var(--accent-2);padding:5px 0;font-size:11px;font-weight:750}.link-button:hover:not(:disabled){border:0;background:transparent;color:#fff}.muted-link{color:#8794a7}.auth-privacy{display:flex;align-items:center;justify-content:center;gap:7px;margin:36px 0 0!important;color:#69778b!important;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.auth-privacy span{color:#45d483;font-size:7px}.standalone-auth .auth-card{display:block;max-width:460px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #0008}.standalone-auth a{color:var(--accent-2)}
@media(max-width:860px){.auth-layout{width:min(490px,100%);min-height:auto;grid-template-columns:1fr;border-radius:22px}.auth-showcase{display:none}.auth-card{min-height:620px;padding:42px}.auth-brand{margin-bottom:40px}}
@media(max-width:520px){.auth-gate{padding:0;background:#0d1219}.auth-gate::after{display:none}.auth-layout{min-height:100vh;width:100%;border:0;border-radius:0}.auth-card{min-height:100vh;padding:30px 24px}.auth-heading h1{font-size:2rem}.auth-links{align-items:flex-start;flex-direction:column;gap:4px}.auth-privacy{margin-top:28px!important}}
.verification-help{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin-top:2px;padding:11px 12px;border:1px solid #f28c2838;border-radius:10px;background:#f28c280b}.verification-help>span{color:#c8d0dc;font-size:10px}.verification-help .link-button{justify-self:end}.verification-help>a{grid-column:1/-1;color:#8fa0b6;font-size:10px;text-decoration:none}.verification-help>a:hover{color:#fff}
.wallet-balance{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:3px 12px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#0c1016}.wallet-balance strong{grid-row:span 2;font-size:48px;color:var(--accent-2)}.wallet-balance span{font-size:16px}.wallet-balance small{color:#94a3b8}.ledger{max-height:440px;overflow:auto}.ledger>div,.admin-user{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.ledger span,.admin-user span{display:grid;gap:3px;flex:1}.ledger small,.admin-user small{color:#94a3b8}.positive{color:#34d399}.negative{color:#fca5a5}.message{max-width:85%;margin:10px 0;padding:12px 14px;border-radius:12px;background:#192231}.message.user{margin-left:auto;background:#263450}.message p{white-space:pre-wrap}.message small{color:#94a3b8}.icon-tools{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px}.icon-tools #iconSearch{grid-column:1/-1}.icon-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(75px,1fr));gap:8px;max-height:480px;overflow:auto}.icon-results button{display:grid;justify-items:center;gap:5px;padding:9px;min-width:0}.icon-results svg{width:30px;height:30px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.icon-results small{width:100%;overflow:hidden;text-overflow:ellipsis}.icon-picker-button{width:100%;margin-top:10px}.admin-summary{padding:14px;background:#0c1016;border-radius:10px}.admin-users{max-height:520px;overflow:auto}.admin-user button{padding:7px 9px}.admin-user>strong{color:var(--accent-2);white-space:nowrap}
.wide-dialog{width:min(1120px,94vw)}.admin-dialog{width:min(1240px,96vw);max-height:92vh}.plan-current{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid #f59e0b55;border-radius:16px;background:linear-gradient(135deg,#f59e0b15,#111827)}.plan-current h3,.plan-card h3{margin:.2rem 0}.plan-current-stats{display:flex;gap:22px}.plan-current-stats span{display:grid}.plan-current-stats b{font-size:22px;color:var(--accent-2)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:22px}.plan-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#111822}.plan-card.recommended{border-color:#f59e0b;box-shadow:0 15px 45px #0005}.plan-card .plan-badge{position:absolute;right:15px;top:15px;padding:4px 8px;border-radius:999px;background:#f59e0b;color:#111827;font-size:10px;font-weight:900;text-transform:uppercase}.plan-price{font-size:30px;font-weight:900}.plan-price small{font-size:12px;color:#94a3b8}.plan-features{display:grid;gap:7px;margin:0;padding:0;list-style:none;color:#cbd5e1}.plan-features li:before{content:'✓';margin-right:8px;color:#34d399}.plan-card button{margin-top:auto}.admin-tabs{display:flex;gap:8px;margin-bottom:18px}.admin-tabs button.active{border-color:#f59e0b;color:#fbbf24}.commercial-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-table{display:grid;gap:8px}.admin-plan-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 120px 120px 120px 90px auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0c1118}.admin-plan-row small{display:block;color:#94a3b8}.status-pill{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#1e293b;font-size:11px}.status-pill.published,.status-pill.active{color:#6ee7b7;background:#064e3b55}.status-pill.draft,.status-pill.pending{color:#fde68a;background:#78350f55}.status-pill.suspended,.status-pill.discontinued{color:#fca5a5;background:#7f1d1d55}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#0c1118}.metric-card b{display:block;font-size:28px;color:var(--accent-2)}.plan-editor-form{display:grid;gap:18px}.plan-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.plan-form-grid .span-2{grid-column:span 2}.plan-form-grid .span-4{grid-column:1/-1}.plan-editor-form fieldset{border:1px solid var(--line);border-radius:14px;padding:16px}.plan-editor-form legend{padding:0 8px;color:#fbbf24;font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.feature-grid label{display:flex;align-items:center;gap:8px}.feature-grid input{width:auto}.plan-editor-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;padding:14px;background:#10161f;border-top:1px solid var(--line)}@media(max-width:900px){.admin-plan-row{grid-template-columns:1fr 1fr}.admin-metrics,.plan-form-grid,.feature-grid{grid-template-columns:1fr 1fr}.plan-current{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.admin-metrics,.plan-form-grid,.feature-grid{grid-template-columns:1fr}.plan-form-grid .span-2,.plan-form-grid .span-4{grid-column:auto}.plan-current-stats{flex-wrap:wrap}}
.status-pill.hidden{display:inline-flex!important;color:#cbd5e1;background:#33415555}
.billing-notice,.billing-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#0c1118}.billing-notice{align-items:flex-start;flex-direction:column}.billing-notice.processing{border-color:#38bdf866;background:#0c4a6e33}.billing-notice.cancelled{border-color:#f59e0b66;background:#78350f33}.billing-notice span,.billing-panel p{color:#a7b3c7}.billing-history{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.billing-history summary{cursor:pointer;font-weight:800}.billing-admin-list{display:grid;gap:8px;margin-bottom:22px}.billing-admin-list>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0c1118}.billing-admin-list small,.commercial-toolbar small{display:block;color:#94a3b8}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-plan-row{grid-template-columns:minmax(180px,1.4fr) 110px 120px 140px 90px minmax(110px,auto)}.status-pill.grace{color:#fde68a;background:#78350f55}.status-pill.failed,.status-pill.error{color:#fca5a5;background:#7f1d1d55}.status-pill.processed{color:#6ee7b7;background:#064e3b55}
@media(max-width:700px){.icon-results{grid-template-columns:repeat(3,1fr)}.icon-tools{grid-template-columns:1fr 1fr}.top-actions button:not(#walletBtn):not(#plansBtn):not(#logoutBtn){display:none}.billing-panel{align-items:flex-start;flex-direction:column}.billing-admin-list>div{grid-template-columns:1fr}.admin-tabs{overflow:auto}.admin-tabs button{white-space:nowrap}}
.email-admin-list{display:grid;gap:8px}.email-admin-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0c1118}.email-admin-row small{display:block;color:#94a3b8;margin-top:4px}.email-admin-row .email-error{color:#fca5a5}.status-pill.delivered,.status-pill.accepted,.status-pill.processed{color:#6ee7b7;background:#064e3b55}.status-pill.failed,.status-pill.rejected,.status-pill.hard_bounced,.status-pill.spam{color:#fca5a5;background:#7f1d1d55}.status-pill.queued,.status-pill.processing,.status-pill.configuration_required,.status-pill.soft_bounced{color:#fde68a;background:#78350f55}@media(max-width:760px){.email-admin-row{grid-template-columns:1fr}.email-admin-row .row-actions{justify-content:flex-start;flex-wrap:wrap}}
.status-pill.unsubscribed{color:#fca5a5;background:#7f1d1d55}
.email-filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0c1118}.email-filters label{font-size:11px;color:#94a3b8}.email-filters input,.email-filters select{margin-top:5px}@media(max-width:900px){.email-filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.email-filters{grid-template-columns:1fr}}
.mfa-methods{display:flex;gap:8px;flex-wrap:wrap}.mfa-methods button{flex:1;min-width:110px}.mfa-methods button.active{border-color:#f59e0b;color:#fbbf24;background:#f59e0b12}.account-dialog{max-height:92vh}.account-profile{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0c1118}.account-profile h3,.account-profile p{margin:2px 0}.account-profile p{color:#94a3b8}.account-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#fb923c,#f59e0b);color:#111827;font-size:22px;font-weight:900}.account-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:16px}.security-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:#101822}.security-card>h3{margin:.2rem 0}.security-card>p:not(.overline){color:#94a3b8}.security-form{display:grid;gap:11px;margin-top:16px}.security-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.mfa-option{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.mfa-option span:first-child{display:grid;gap:4px}.mfa-option small{color:#94a3b8;max-width:390px}.recovery-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;border-radius:10px;background:#0c1118}.sessions-card{margin-top:16px}.session-list{display:grid;gap:8px;margin-top:14px}.session-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:10px}.session-list span{display:grid;gap:4px}.session-list small{color:#94a3b8}.session-list em{margin-left:7px;color:#6ee7b7;font-size:11px;font-style:normal}.totp-setup{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;margin-top:16px;padding:24px;border:1px solid #f59e0b88;border-radius:16px;background:#151a22}.totp-setup img{display:block;width:220px;max-width:100%;margin:18px 0;border-radius:12px}.totp-setup code{display:block;margin-top:8px;padding:10px;word-break:break-all;background:#080b10;border-radius:8px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;margin-bottom:18px;padding:18px;border:1px solid #34d39988;border-radius:14px;background:#064e3b33}.recovery-codes h3,.recovery-codes p{margin:3px 0}.recovery-codes>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:6px}.recovery-codes code{padding:6px 9px;border-radius:6px;background:#06120f;color:#a7f3d0}@media(max-width:800px){.account-grid,.totp-setup{grid-template-columns:1fr}.mfa-option{grid-template-columns:1fr auto}.mfa-option button{grid-column:1/-1}.recovery-codes{grid-template-columns:1fr}.top-actions #accountBtn{display:inline-flex}}
