/* HarbourForm system shell v1.3.0
   Deliberately does NOT style content rendered by HarbourForm plugins. */
:root {
  --hf-ink: #10212b;
  --hf-bg: #f7f9f8;
  --hf-line: #dfe7e4;
  --hf-brand: #0b6b5d;
  --hf-brand-dark: #084e45;
  --hf-width: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--hf-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.hf-wrap { width: min(calc(100% - 40px), var(--hf-width)); margin: 0 auto; }
.hf-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247,249,248,.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hf-line);
  color: var(--hf-ink);
}
.hf-nav { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hf-brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.03em; font-size: 1.25rem; color: var(--hf-ink); text-decoration: none; }
.hf-mark { width: 34px; height: 34px; border-radius: 11px; position: relative; background: var(--hf-brand); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); flex: 0 0 auto; }
.hf-mark:before, .hf-mark:after { content: ""; position: absolute; background: #fff; border-radius: 999px; }
.hf-mark:before { width: 15px; height: 4px; left: 8px; top: 10px; }
.hf-mark:after { width: 11px; height: 4px; left: 13px; top: 19px; }
.hf-menu { display: flex; align-items: center; gap: 24px; list-style: none; padding: 0; margin: 0; font-weight: 650; font-size: .95rem; }
.hf-menu a { color: #31464f; text-decoration: none; }
.hf-menu a:hover { color: var(--hf-brand); }
.hf-nav-actions { display: flex; align-items: center; gap: 10px; }
.hf-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--hf-brand); background: var(--hf-brand); color: #fff; font-weight: 750; text-decoration: none; font-size: .92rem; }
.hf-btn:hover { background: var(--hf-brand-dark); border-color: var(--hf-brand-dark); }
.hf-btn.secondary { background: transparent; color: var(--hf-ink); border-color: var(--hf-line); }
.hf-mobile-toggle { display: none; border: 0; background: transparent; color: var(--hf-ink); font-size: 1.4rem; }

/* Only spacing around the embedded app. No descendant text/colour rules. */
.hf-system-content { padding: 54px 0 90px; min-height: calc(100vh - 70px); }
.hf-system-wrap { max-width: 1180px; }
.hf-system-entry { max-width: none; }

/* Keep the marketing footer out of the application workspace. */
.hf-system-page .hf-footer { display: none; }

@media (max-width: 980px) {
  .hf-menu { display:none; position:absolute; left:20px; right:20px; top:70px; background:#fff; border:1px solid var(--hf-line); border-radius:18px; padding:18px; flex-direction:column; align-items:flex-start; box-shadow:0 18px 50px rgba(16,33,43,.08); }
  .hf-menu.open { display:flex; }
  .hf-mobile-toggle { display:block; }
  .hf-nav-actions .secondary { display:none; }
}
@media (max-width: 660px) {
  .hf-wrap { width: min(calc(100% - 28px), var(--hf-width)); }
  .hf-nav-actions .hf-btn { display:none; }
  .hf-system-content { padding: 28px 0 60px; }
}


/* v1.3.0 — isolate shell colours from plugin CSS and fix light workspace headings. */
.hf-system-page .hf-site-header,
.hf-system-page .hf-site-header * {
  text-shadow: none;
}
.hf-system-page .hf-site-header .hf-brand,
.hf-system-page .hf-site-header .hf-brand:link,
.hf-system-page .hf-site-header .hf-brand:visited,
.hf-system-page .hf-site-header .hf-brand > span:last-child {
  color: var(--hf-ink) !important;
}
.hf-system-page .hf-site-header .hf-menu a,
.hf-system-page .hf-site-header .hf-menu a:link,
.hf-system-page .hf-site-header .hf-menu a:visited {
  color: #31464f !important;
}
.hf-system-page .hf-site-header .hf-menu a:hover {
  color: var(--hf-brand) !important;
}
.hf-system-page .hf-site-header .hf-btn:not(.secondary),
.hf-system-page .hf-site-header .hf-btn:not(.secondary):link,
.hf-system-page .hf-site-header .hf-btn:not(.secondary):visited {
  color: #fff !important;
}
.hf-system-page .hf-site-header .hf-btn.secondary,
.hf-system-page .hf-site-header .hf-btn.secondary:link,
.hf-system-page .hf-site-header .hf-btn.secondary:visited {
  color: var(--hf-ink) !important;
}

/* Workspace title blocks live on the light application canvas. Keep dark-card text untouched. */
.hf-system-harbourform-dashboard .hf-system-entry h1,
.hf-system-harbourform-builder .hf-system-entry h1,
.hf-system-client-portal .hf-system-entry h1 {
  color: var(--hf-ink) !important;
}
.hf-system-harbourform-dashboard .hf-system-entry h1 + p,
.hf-system-harbourform-builder .hf-system-entry h1 + p,
.hf-system-client-portal .hf-system-entry h1 + p {
  color: #60717a !important;
}


/* Brand Pack shell overrides v1.3.0 */
:root{--hf-midnight:#03101F;--hf-navy:#071F3A;--hf-blue:#006BFF;--hf-azure:#00B7FF;--hf-silver:#C7D0DA;--hf-bright-silver:#F2F5F7;--hf-graphite:#111820;--hf-white:#FFFFFF;--hf-ink:#111820;--hf-bg:#F2F5F7;--hf-line:#C7D0DA;--hf-brand:#006BFF;--hf-brand-dark:#071F3A;}
.hf-system-page .hf-site-header{background:rgba(3,16,31,.98);border-bottom-color:rgba(199,208,218,.16);}
.hf-system-page .hf-site-header .hf-brand-logo{display:block;width:255px;max-width:28vw;height:auto;}
.hf-system-page .hf-site-header .hf-menu a,.hf-system-page .hf-site-header .hf-menu a:link,.hf-system-page .hf-site-header .hf-menu a:visited{color:#F2F5F7!important;}
.hf-system-page .hf-site-header .hf-menu a:hover{color:#00B7FF!important;}
.hf-system-page .hf-site-header .hf-btn:not(.secondary),.hf-system-page .hf-site-header .hf-btn:not(.secondary):link,.hf-system-page .hf-site-header .hf-btn:not(.secondary):visited{background:#006BFF!important;border-color:#006BFF!important;color:#fff!important;}
.hf-system-page .hf-site-header .hf-btn.secondary,.hf-system-page .hf-site-header .hf-btn.secondary:link,.hf-system-page .hf-site-header .hf-btn.secondary:visited{color:#F2F5F7!important;border-color:rgba(199,208,218,.45)!important;}
.hf-system-page .hf-site-header .hf-brand>span:last-child{display:none!important;}
.hf-system-page{background:#F2F5F7;}
.hf-system-harbourform-dashboard .hf-system-entry h1,.hf-system-harbourform-builder .hf-system-entry h1,.hf-system-client-portal .hf-system-entry h1{color:#111820!important;}
@media(max-width:660px){.hf-system-page .hf-site-header .hf-brand-logo{width:185px;max-width:56vw;}}
