:root {
  --a-bg: #08101d;
  --a-panel: #0d1728;
  --a-line: #263650;
  --a-muted: #9fb0c9;
  --a-blue: #286cff;
  --a-danger: #d95b6b;
}
.editor-nav a.is-active{color:#fff;background:#11213c;box-shadow:inset 2px 0 #286cff}.address-preview{display:block;color:#9fb9e9;margin-top:-3px}.admin-form input[type=checkbox]{appearance:none;width:18px;min-width:18px;min-height:18px;height:18px;padding:0;border-radius:4px;border-color:#4c6387;background:#091321;cursor:pointer;position:relative}.admin-form input[type=checkbox]:checked{background:#286cff;border-color:#286cff}.admin-form input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.admin-form input[type=checkbox]:focus-visible{outline:2px solid #8bb2ff;outline-offset:3px}
body:has(.admin-shell) {
  background: var(--a-bg);
  color: #edf3ff;
}
body:has(.admin-shell) > header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #08101df2;
}
.admin-shell {
  max-width: 1240px;
  margin: auto;
}
.admin-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 34px;
}
.admin-title {
  font-size: clamp(30px, 4vw, 52px);
  margin: 0;
  letter-spacing: -0.05em;
}
.admin-subtitle {
  color: var(--a-muted);
  margin: 8px 0 0;
}
.admin-actions,
.admin-meta,
.admin-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.admin-link,
.admin-button,
button.admin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--a-line);
  border-radius: 8px;
  background: transparent;
  color: #dce8ff;
  text-decoration: none;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.admin-button.primary,
.admin-link.primary {
  background: var(--a-blue);
  border-color: var(--a-blue);
  color: white;
}
.admin-button.danger {
  border-color: #753843;
  color: #ffdce2;
}
.admin-shell .status {
  font-size: 11px;
  letter-spacing: 0.12em;
  font-weight: 800;
  padding: 7px 9px;
  border: 1px solid var(--a-line);
  border-radius: 999px;
  color: #bbcae2;
}
.status.published {
  color: #9ee9c5;
  border-color: #27624a;
}
.status.archived,
.status.expired {
  color: #d4adba;
  border-color: #67404a;
}
.admin-notice {
  padding: 13px 15px;
  border-left: 3px solid var(--a-blue);
  background: #10213e;
  color: #dceaff;
  margin-bottom: 22px;
}
.admin-grid {
  display: grid;
  gap: 12px;
}
.proposal-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(
      4,
      minmax(105px, 0.6fr)
    ) auto;
  gap: 14px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--a-line);
}
.proposal-row h2 {
  font-size: 18px;
  margin: 0 0 5px;
}
.proposal-row p,
.proposal-row small {
  margin: 0;
  color: var(--a-muted);
}
.metric {
  display: grid;
  gap: 4px;
}
.metric span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #8192af;
}
.metric b {
  font-size: 14px;
}
.editor-layout {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  gap: 34px;
}
.editor-nav {
  position: sticky;
  top: 100px;
  align-self: start;
  display: grid;
  gap: 3px;
  border-left: 1px solid var(--a-line);
}
.editor-nav a {
  padding: 9px 12px;
  color: var(--a-muted);
  text-decoration: none;
  font-size: 13px;
}
.editor-nav a:hover,
.editor-nav a:focus-visible {
  color: white;
  background: #11213c;
  outline: 0;
}
.admin-section {
  border-top: 1px solid var(--a-line);
  padding: 30px 0;
}
.admin-section:first-child {
  border-top: 0;
  padding-top: 0;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
  margin-bottom: 19px;
}
.section-heading h2 {
  font-size: 23px;
  margin: 0;
}
.section-heading p {
  margin: 0;
  color: var(--a-muted);
  font-size: 13px;
}
.admin-form {
  display: grid;
  gap: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.form-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-form label {
  display: grid;
  gap: 7px;
  color: #c6d2e8;
  font-size: 13px;
}
.admin-form input,
.admin-form textarea,
.admin-form select {
  width: 100%;
  min-height: 42px;
  padding: 10px;
  border: 1px solid #30435f;
  border-radius: 7px;
  background: #091321;
  color: white;
  font: inherit;
}
.admin-form textarea {
  min-height: 110px;
  resize: vertical;
}
.admin-form .wide {
  grid-column: 1/-1;
}
.item-list {
  display: grid;
  gap: 10px;
}
.item-row {
  display: grid;
  grid-template-columns: 1fr 1.4fr auto;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--a-line);
  background: #0a1424;
}
.item-row.financial {
  grid-template-columns: 1.3fr 0.45fr 0.65fr 0.75fr 0.75fr auto;
}
.item-row label {
  font-size: 11px;
}
.item-row .item-actions {
  display: flex;
  align-items: end;
  gap: 5px;
}
.icon-button {
  min-width: 38px;
  min-height: 38px;
  padding: 7px;
  border: 1px solid var(--a-line);
  border-radius: 7px;
  background: transparent;
  color: #dbe6fb;
  cursor: pointer;
}
.asset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.asset {
  border: 1px solid var(--a-line);
  padding: 10px;
}
.asset img {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
  background: #03070e;
}
.asset p {
  font-size: 13px;
  margin: 9px 0;
  color: #dce7fb;
}
.asset small {
  color: var(--a-muted);
}
.asset form {
  margin-top: 10px;
}
.finance-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--a-line);
  border-bottom: 1px solid var(--a-line);
}
.finance-totals div {
  padding: 16px 12px;
  border-left: 1px solid var(--a-line);
}
.finance-totals div:first-child {
  border-left: 0;
}
.finance-totals span {
  display: block;
  color: var(--a-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.finance-totals b {
  display: block;
  margin-top: 6px;
  font-size: 18px;
}
.publish-panel {
  padding: 18px;
  border: 1px solid var(--a-line);
  background: #0b1627;
}
.public-link {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}
.public-link code {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 10px;
  background: #07101d;
  border: 1px solid var(--a-line);
  color: #a9c3ff;
}
.auth-shell {
  max-width: 440px;
  margin: 10vh auto;
}
.auth-shell h1 {
  margin: 0;
  font-size: 42px;
}
.auth-shell .admin-form {
  margin-top: 26px;
  padding: 24px;
  border: 1px solid var(--a-line);
  background: var(--a-panel);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 800px) {
  .editor-layout {
    grid-template-columns: 1fr;
  }
  .editor-nav {
    position: static;
    display: flex;
    overflow: auto;
    border: 0;
    border-bottom: 1px solid var(--a-line);
  }
  .editor-nav a {
    white-space: nowrap;
  }
  .proposal-row {
    grid-template-columns: 1fr 1fr;
  }
  .proposal-row > div:first-child {
    grid-column: 1/-1;
  }
  .form-grid.three,
  .item-row.financial {
    grid-template-columns: 1fr 1fr;
  }
  .finance-totals {
    grid-template-columns: 1fr 1fr;
  }
  .finance-totals div:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--a-line);
  }
}
@media (max-width: 500px) {
  .admin-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .form-grid,
  .item-row,
  .item-row.financial {
    grid-template-columns: 1fr;
  }
  .proposal-row {
    grid-template-columns: 1fr;
  }
  .finance-totals {
    grid-template-columns: 1fr;
  }
  .finance-totals div {
    border-left: 0;
    border-top: 1px solid var(--a-line);
  }
  .finance-totals div:first-child {
    border-top: 0;
  }
  .public-link {
    align-items: stretch;
    flex-direction: column;
  }
}
