:root {
  font-family:"DM Sans",sans-serif;
  color:#18392d;
  background:#f6f9f6;
  font-synthesis:none
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0
}

button,input,select {
  font:inherit
}

button {
  cursor:pointer
}

a {
  color:inherit;
  text-decoration:none
}

h1,h2,h3,p {
  margin-top:0
}

[hidden] {
  display:none!important
}

:focus-visible {
  outline:3px solid #5dbb87;
  outline-offset:3px
}

.section-wrap,.site-header {
  width:min(1080px,calc(100% - 40px));
  margin-inline:auto
}

.site-header {
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #e1ebe3
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font:800 20px Manrope,sans-serif;
  letter-spacing:-1px;
  white-space:nowrap
}

.brand-accent {
  color:#178451
}

.brand-mark {
  display:flex;
  align-items:end;
  gap:3px;
  width:31px;
  height:31px;
  padding:8px;
  border-radius:9px;
  background:#178451
}

.brand-mark span {
  width:4px;
  border-radius:2px;
  background:#fff
}

.brand-mark span:nth-child(1) {
  height:8px;
  opacity:.7
}

.brand-mark span:nth-child(2) {
  height:12px;
  opacity:.85
}

.brand-mark span:nth-child(3) {
  height:17px
}

.desktop-nav {
  display:flex;
  align-items:center;
  gap:26px;
  color:#526b5c;
  font-size:13px;
  font-weight:700
}

.desktop-nav a:hover,.text-link:hover {
  color:#0d7443
}

.header-cta {
  padding:10px 15px;
  border:1px solid #b9d7c3;
  border-radius:9px;
  color:#126e41;
  background:#fff;
  font-size:13px;
  font-weight:700;
  white-space:nowrap
}

.header-cta:hover {
  background:#e8f5ec
}

.hero {
  padding:42px 0 38px
}

.section-kicker {
  color:#178451;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px
}

.hero h1 {
  max-width:770px;
  margin:13px 0 17px;
  font:800 clamp(36px,5vw,58px)/1.12 Manrope,sans-serif;
  letter-spacing:-2.6px
}

.hero h1 span {
  color:#178451
}

.hero>p {
  max-width:670px;
  margin-bottom:25px;
  color:#607568;
  font-size:16px;
  line-height:1.65
}

.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px
}

.hero-step {
  display:grid;
  gap:8px
}

.hero-step>span {
  color:#587663;
  font-size:11px;
  font-weight:800
}

.hero-guide-link {
  display:inline-block;
  margin-top:18px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:11px 17px;
  border:1px solid #cddfd2;
  border-radius:9px;
  color:#276246;
  background:#fff;
  font-size:13px;
  font-weight:700;
  text-align:center
}

.button:hover:not(:disabled) {
  background:#edf7ef
}

.button:disabled {
  opacity:.55;
  cursor:not-allowed
}

.button-primary {
  border-color:#178451;
  color:#fff;
  background:#178451
}

.button-primary:hover:not(:disabled) {
  border-color:#0d7042;
  background:#0d7042
}

.text-link {
  color:#1c6b45;
  font-size:13px;
  font-weight:700
}

.workspace-section {
  padding:36px 0 58px;
  background:#edf5ee
}

.workspace-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px
}

.workspace-heading h2 {
  margin:7px 0 6px;
  font:800 clamp(25px,3vw,34px)/1.2 Manrope,sans-serif;
  letter-spacing:-1.2px
}

.workspace-heading p {
  margin:0;
  color:#657a6a;
  font-size:13px
}

.prototype-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #cddfd2;
  border-radius:99px;
  color:#4d725a;
  background:#fff;
  font-size:11px;
  font-weight:700;
  white-space:nowrap
}

.prototype-badge:before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#4fac75
}
.prototype-badge.connected {
  border-color: #b7dec3;
  color: #126e41;
  background: #e6f5ea;
}

.install-banner,.portal-panel,.alternative-import {
  border:1px solid #d8e7dc;
  border-radius:13px;
  background:#fff
}

.install-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 23px;
  margin-bottom:14px
}

.install-banner-copy h3 {
  margin:5px 0 4px;
  font:800 17px Manrope,sans-serif
}

.install-banner-copy p {
  margin:0;
  color:#68796e;
  font-size:12px;
  line-height:1.55
}

.install-banner-actions {
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0
}

.install-banner-actions>a:last-child {
  color:#21754a;
  font-size:12px;
  font-weight:700
}

.install-banner-actions>a:last-child:hover {
  text-decoration:underline
}

.portal-panel {
  padding:25px;
  border-color:#bed9c5;
  box-shadow:0 8px 24px #123d2110
}

.portal-panel-copy {
  width:100%
}

.portal-panel-copy h3 {
  margin:0 0 5px;
  font:800 21px Manrope,sans-serif
}

.portal-panel-copy>p {
  margin:0;
  color:#627769;
  font-size:13px;
  line-height:1.55
}

.adn-direct-options {
  margin-top:21px
}

.adn-direct-options>label {
  display:flex;
  align-items:center;
  gap:9px;
  color:#2e5940;
  font-size:13px;
  font-weight:700
}

input[type=checkbox] {
  accent-color:#178451
}

#adn-direct-filters {
  display:grid;
  grid-template-columns:1.1fr 1fr .8fr .8fr 1.4fr;
  gap:12px;
  margin-top:18px
}

#adn-direct-filters label,.adn-organize-controls label {
  display:grid;
  gap:6px;
  color:#486152;
  font-size:12px;
  font-weight:700
}

#adn-direct-filters input,#adn-direct-filters select,.adn-organize-controls input,.adn-organize-controls select,.adn-preview-top input {
  width:100%;
  min-height:41px;
  padding:8px 10px;
  border:1px solid #cfddd2;
  border-radius:8px;
  color:#234532;
  background:#fff
}

#adn-direct-help {
  margin:11px 0 0;
  color:#6d8173;
  font-size:11px;
  line-height:1.5
}

.portal-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px
}

#adn-feedback {
  margin-top:17px;
  padding:11px 13px;
  border-radius:8px;
  color:#4d6e57;
  background:#f1f7f2;
  font-size:12px;
  line-height:1.5
}

.alternative-import {
  margin-top:12px;
  padding:18px 22px;
  color:#3f5847;
  font-size:12px
}

.alternative-import summary {
  cursor:pointer;
  color:#214d33;
  font-size:14px;
  font-weight:800
}

.alternative-import summary::marker {
  color:#178451
}

.alternative-import[open] summary {
  margin-bottom:12px
}

.alternative-import>p {
  margin:0 0 13px;
  color:#6a7c6e;
  line-height:1.55
}

.adn-organize-controls {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end;
  gap:12px
}

.adn-organize-controls #adn-zip-input {
  grid-column:span 2
}

.adn-organize-controls .adn-pdf-option {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:41px
}

.adn-organize-controls .adn-pdf-option input {
  width:17px;
  min-height:0;
  height:17px;
  margin:0
}

.adn-organize-controls button {
  justify-self:start
}

#adn-organize-feedback,#pdf-convert-feedback,#xml-feedback {
  margin:12px 0 0;
  color:#5c7563;
  font-size:12px
}

.xml-import-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px
}

.xml-import-actions input {
  max-width:100%;
  color:#4c6653;
  font-size:12px
}

.table-scroll {
  overflow-x:auto
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  white-space:nowrap
}

th,td {
  padding:12px;
  border-bottom:1px solid #e4eee6;
  font-size:12px
}

th {
  color:#54705d;
  background:#f4f8f5;
  font-weight:800
}

td {
  color:#435a48
}

#xml-preview,.adn-batch-preview {
  margin-top:15px;
  padding:14px;
  border:1px solid #d8e7dc;
  border-radius:10px;
  background:#fbfdfb
}

.adn-preview-top,.adn-detail-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}

.adn-preview-top input {
  max-width:360px
}

.adn-preview-pages {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px
}

.adn-preview-pages p {
  margin:0 auto 0 0
}

#adn-preview-body tr {
  cursor:pointer
}

#adn-preview-body tr:hover,#adn-preview-body tr:focus {
  background:#e8f5ec;
  outline:2px solid #79bd91
}

.adn-row-cancelled {
  background:#fff5f3
}

.adn-row-substituted {
  background:#f8f4ff
}

.adn-note-detail {
  width:min(760px,92vw);
  max-height:85vh;
  padding:24px;
  border:0;
  border-radius:14px;
  color:#18392d
}

.adn-note-detail::backdrop {
  background:#10281b99
}

.adn-note-detail dl {
  display:grid;
  grid-template-columns:minmax(145px,1fr) 2fr;
  gap:9px;
  overflow-wrap:anywhere
}

.adn-note-detail dt {
  font-weight:700
}

.adn-note-detail dd {
  margin:0
}

.xml-download-link {
  padding:0;
  border:0;
  color:#147646;
  background:transparent;
  font-weight:700
}

.xml-download-link:hover {
  text-decoration:underline
}

.privacy-section {
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:25px;
  padding-bottom:25px;
  color:#47634f;
  font-size:12px
}

.privacy-section strong {
  color:#215638;
  white-space:nowrap
}

.privacy-section p {
  margin:0;
  line-height:1.5
}

.site-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:78px;
  border-top:1px solid #e1ebe3
}

.site-footer .brand {
  font-size:16px
}

.site-footer .brand-mark {
  width:26px;
  height:26px;
  padding:6px
}

.site-footer>span {
  color:#77897b;
  font-size:11px
}

.guide-main {
  padding-top:48px;
  padding-bottom:64px
}

.guide-intro {
  max-width:730px;
  margin-bottom:32px
}

.guide-intro h1 {
  margin:12px 0 14px;
  font:800 clamp(34px,5vw,52px)/1.14 Manrope,sans-serif;
  letter-spacing:-2px
}

.guide-intro p {
  color:#607568;
  line-height:1.65
}

.guide-steps {
  display:grid;
  gap:14px;
  max-width:850px;
  margin:0;
  padding:0;
  list-style:none
}

.guide-card {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:18px;
  padding:25px;
  border:1px solid #d8e7dc;
  border-radius:13px;
  background:#fff
}

.guide-number {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  color:#fff;
  background:#178451;
  font:800 18px Manrope,sans-serif
}

.guide-card h2 {
  margin:5px 0 10px;
  font:800 21px Manrope,sans-serif
}

.guide-card p {
  max-width:680px;
  margin-bottom:12px;
  color:#607568;
  font-size:14px;
  line-height:1.65
}

.guide-card p:last-child {
  margin-bottom:0
}

.guide-card code {
  padding:2px 5px;
  border-radius:4px;
  color:#195a36;
  background:#edf5ee
}

.guide-footer-action {
  margin-top:26px
}

@media(max-width:900px) {
  .desktop-nav {
    gap:14px
  }
  #adn-direct-filters {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .install-banner {
    align-items:flex-start;
    flex-direction:column
  }
}

@media(max-width:680px) {
  .section-wrap,.site-header {
    width:min(100% - 28px,1080px)
  }
  .site-header {
    min-height:65px
  }
  .brand {
    font-size:17px
  }
  .desktop-nav {
    display:none
  }
  .header-cta {
    padding:9px;
    font-size:11px
  }
  .hero {
    padding:42px 0
  }
  .hero h1 {
    letter-spacing:-1.8px
  }
  .hero>p {
    font-size:14px
  }
  .workspace-section {
    padding:30px 0 44px
  }
  .workspace-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:12px
  }
  .install-banner,.portal-panel,.alternative-import {
    padding:18px
  }
  .install-banner-actions {
    flex-wrap:wrap
  }
  #adn-direct-filters,.adn-organize-controls {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .privacy-section {
    align-items:flex-start;
    flex-direction:column;
    gap:5px
  }
}

@media(max-width:450px) {
  .hero-actions {
    align-items:stretch;
    flex-direction:column;
    gap:14px
  }
  .hero-actions .button {
    width:100%
  }
  .hero-step {
    width:100%
  }
  .guide-card {
    grid-template-columns:1fr;
    padding:19px
  }
  #adn-direct-filters,.adn-organize-controls {
    grid-template-columns:1fr
  }
  .adn-organize-controls #adn-zip-input {
    grid-column:auto
  }
  .install-banner-actions {
    align-items:stretch;
    flex-direction:column;
    width:100%
  }
  .site-footer {
    gap:15px
  }
}
