:root {
    --ink: #15231d;
    --muted: #66726c;
    --paper: #fffefa;
    --canvas: #f5f3ed;
    --green: #123f30;
    --green-2: #1d6049;
    --green-soft: #e3eee8;
    --orange: #ef6a3a;
    --orange-soft: #fff0e9;
    --line: #dedbd2;
    --danger: #a73d35;
    --shadow: 0 18px 60px rgba(21, 35, 29, .09);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--canvas);
    font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 85% 2%, #eef3ed 0, transparent 30%), var(--canvas); }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; font: 700 clamp(42px, 6vw, 76px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -3.5px; }
h2 { font: 700 25px/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.5px; }

.site-header { position: relative; z-index: 20; min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px max(24px, calc((100vw - 1180px) / 2)); background: rgba(255, 254, 250, .92); border-bottom: 1px solid rgba(222, 219, 210, .85); backdrop-filter: blur(16px); }
.site-header nav { display: flex; align-items: center; gap: 12px; }
@media (max-width: 1100px) {
    .site-header { flex-wrap: wrap; gap: 12px; }
    .site-header nav { flex-wrap: wrap; max-width: 100%; }
}
.upload-card.drag-over, .web-signing-tools.drag-over { outline: 3px solid var(--green); background: var(--green-soft); }
.site-header nav > a:not(.button) { padding: 10px 12px; text-decoration: none; color: #34433c; font-weight: 700; }
.site-header nav > a:not(.button):hover { color: var(--green-2); }
.user-name { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 14px; }
.profile-link { display: inline-flex; align-items: center; gap: 8px; max-width: 220px; }
.profile-link img, .profile-link > span { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.profile-link > span { display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 13px; font-weight: 850; }
.profile-link b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: var(--green); color: white; font: italic 700 23px Georgia, serif; box-shadow: 0 8px 20px rgba(18, 63, 48, .18); }
.brand-copy { display: grid; line-height: 1; }
.brand strong { font: 800 25px Georgia, serif; letter-spacing: -1px; }
.brand small { margin: 3px 0 0 2px; color: var(--orange); font: 800 10px/1 system-ui, sans-serif; letter-spacing: .2px; }
.brand-logo { width: auto; max-width: 150px; height: 42px; object-fit: contain; }
.account-brand .brand-copy strong { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.page-shell { width: min(1180px, calc(100% - 40px)); margin: 52px auto 72px; flex: 1; }
.site-footer { padding: 38px max(24px, calc((100vw - 1180px) / 2)); color: var(--muted); border-top: 1px solid var(--line); background: rgba(255, 254, 250, .72); font-size: 12px; }
.footer-inner { display: grid; grid-template-columns: 1.35fr 1fr .8fr; gap: 22px 42px; align-items: start; }
.footer-brand { display: grid; gap: 5px; }
.footer-brand strong { color: var(--ink); font: 700 18px Georgia, serif; }
.footer-brand span { color: #3f4c46; font-weight: 700; }
.footer-brand a, .footer-links a, .footer-social a, .footer-identity a { color: var(--green); text-underline-offset: 3px; }
.footer-links, .footer-social { display: grid; grid-template-columns: repeat(2, max-content); gap: 9px 18px; }
.footer-social { grid-template-columns: 1fr; }
.footer-links a, .footer-social a { font-weight: 750; }
.footer-identity { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.language-switcher { grid-column: 1 / -1; }
.language-switcher label { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.language-switcher select { min-height: 36px; padding: 5px 34px 5px 10px; }
.pwa-install { grid-column: 1 / -1; justify-self: start; min-height: 39px; padding: 0 14px; border: 1px solid #9bb7a8; border-radius: 9px; color: var(--green); background: var(--green-soft); font-weight: 800; cursor: pointer; }
.pwa-install:hover { border-color: var(--green); background: #d6e8de; }
.pwa-install[hidden] { display: none; }
.cookie-notice { position: fixed; z-index: 100; right: 22px; bottom: 22px; width: min(620px, calc(100vw - 44px)); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 20px; border: 1px solid #b7c8bf; border-radius: 16px; background: var(--paper); box-shadow: 0 18px 55px rgba(21, 35, 29, .2); }
.cookie-notice[hidden] { display: none; }
.cookie-notice > div { display: grid; gap: 5px; }
.cookie-notice strong { color: var(--ink); }
.cookie-notice p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.cookie-notice a { color: var(--green); font-size: 11px; font-weight: 750; text-underline-offset: 3px; }
.eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: 1.8px; }
.eyebrow i { width: 22px; height: 2px; background: currentColor; }
.muted, small { color: var(--muted); }
.center { text-align: center; }

/* Juridiske sider */
.legal-page { width: min(860px, 100%); margin: 0 auto; }
.legal-header { margin-bottom: 28px; }
.legal-header h1 { margin-bottom: 12px; font-size: clamp(42px, 6vw, 62px); }
.legal-header p { color: var(--muted); }
.legal-page > section { margin-top: 14px; padding: 25px 28px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 254, 250, .88); }
.legal-page > section h2 { margin-bottom: 13px; font-size: 23px; }
.legal-page > section p, .legal-page li { color: #45524c; line-height: 1.68; }
.legal-page > section p:last-child, .legal-page > section ul:last-child { margin-bottom: 0; }
.legal-page a { color: var(--green); font-weight: 700; text-underline-offset: 3px; }
.legal-page li + li { margin-top: 6px; }
.legal-callout { border-color: #9dbbac !important; background: var(--green-soft) !important; }
.legal-callout strong { display: block; margin-bottom: 8px; color: var(--green); font-size: 14px; text-transform: uppercase; letter-spacing: .8px; }
.legal-facts { margin: 16px 0 0; }
.legal-facts div { display: grid; grid-template-columns: 130px 1fr; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); }
.legal-facts dt { color: var(--muted); font-weight: 750; }
.legal-facts dd { margin: 0; }
.legal-facts.wide div { grid-template-columns: 150px 1fr; }
.legal-table { overflow-x: auto; }
.legal-table table { width: 100%; min-width: 620px; border-collapse: collapse; }
.legal-table th, .legal-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; }
.legal-table th { color: var(--muted); background: #f4f2ec; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; }
.legal-consent a, .consent a { color: var(--green); text-underline-offset: 3px; }

.card { background: rgba(255, 254, 250, .96); border: 1px solid var(--line); border-radius: 20px; padding: 26px; box-shadow: 0 12px 40px rgba(21, 35, 29, .045); }
.branding-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; margin-bottom: 42px; }
.inbox-settings-card { display: grid; gap: 24px; margin-bottom: 18px; }
.inbox-address-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid color-mix(in srgb, var(--green) 24%, white); border-radius: 16px; background: color-mix(in srgb, var(--green) 5%, white); }
.inbox-address-panel > div { display: grid; gap: 7px; min-width: 0; }
.inbox-address-panel small { color: var(--green); font-weight: 800; letter-spacing: .08em; }
.inbox-address-panel code { overflow-wrap: anywhere; font-size: clamp(14px, 2vw, 19px); color: var(--ink); }
.intelligent-inbox-option { display: grid; gap: 14px; padding: 20px; border: 1px solid #dedbd2; border-radius: 16px; background: var(--paper); }
.inbox-activity-card { margin-bottom: 42px; }
.inbox-activity-list { display: grid; margin-top: 14px; }
.inbox-activity-list > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid #e8e5dc; }
.inbox-activity-list > div > span:first-child { display: grid; gap: 4px; }
.document-intelligence-card { display: grid; gap: 18px; margin-bottom: 22px; border-color: color-mix(in srgb, var(--green) 28%, white); background: linear-gradient(145deg, color-mix(in srgb, var(--green) 5%, white), var(--paper)); }
.intelligence-summary { display: flex; flex-wrap: wrap; gap: 12px; }
.intelligence-summary > div { display: grid; gap: 4px; min-width: 150px; padding: 13px 16px; border-radius: 12px; background: white; }
.intelligence-summary small { color: var(--green); font-weight: 800; letter-spacing: .06em; }
.suggestion-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.suggestion-list > div { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid #dedbd2; border-radius: 12px; background: white; }
.branding-preview-card { background: linear-gradient(145deg, color-mix(in srgb, var(--account-brand) 9%, white), var(--paper)); }
.account-brand-preview { display: flex; align-items: center; gap: 16px; margin: 14px 0 22px; padding: 20px; border: 1px solid color-mix(in srgb, var(--account-brand) 25%, white); border-radius: 16px; background: white; }
.account-brand-preview > img { width: 92px; height: 56px; object-fit: contain; }
.account-brand-preview > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 15px; background: var(--account-brand); color: white; font: 800 25px Georgia, serif; }
.account-brand-preview > div { display: grid; gap: 5px; min-width: 0; }
.account-brand-preview strong { overflow: hidden; text-overflow: ellipsis; font: 750 22px Georgia, serif; }
.mail-address-input { display: grid; grid-template-columns: minmax(120px, 1fr) auto; align-items: center; gap: 9px; }
.mail-address-input span { color: var(--muted); font-weight: 700; }
.test-mail-form { margin-top: 15px; }
.domain-wizard { margin-bottom: 45px; }
.domain-start-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 12px; }
.wizard-steps { display: grid; gap: 14px; margin-top: 26px; }
.wizard-step { display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #faf9f5; }
.wizard-step.complete { border-color: #9fc5b1; background: var(--green-soft); }
.step-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--green); color: white; font-weight: 850; }
.wizard-step h3 { margin: 5px 0 9px; }
.dns-record { margin: 14px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.dns-record > div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 11px 13px; border-top: 1px solid var(--line); }
.dns-record > div:first-child { border-top: 0; }
.dns-record dt { color: var(--muted); font-size: 12px; font-weight: 750; }
.dns-record dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.dns-record code, .dns-current code { color: #203a30; font-size: 12px; }
.wizard-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.dns-current { display: grid; gap: 5px; overflow-wrap: anywhere; }
.inline-warning { padding: 11px 13px; border: 1px solid #e5c57c; border-radius: 10px; background: #fff3d4; color: #654d16; font-size: 12px; line-height: 1.5; }
.verified-text { display: block; margin-top: 12px; color: var(--green); font-weight: 800; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; padding: 0 22px; border: 1px solid var(--green); border-radius: 12px; background: var(--green); color: white; font: inherit; font-weight: 780; text-decoration: none; cursor: pointer; box-shadow: 0 7px 16px rgba(18, 63, 48, .14); transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.button:hover { transform: translateY(-1px); background: var(--green-2); box-shadow: 0 10px 22px rgba(18, 63, 48, .18); }
.button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .link-button:focus-visible { outline: 3px solid rgba(239, 106, 58, .28); outline-offset: 2px; }
.button.secondary { background: transparent; border-color: #aab8b1; color: var(--green); box-shadow: none; }
.button.secondary:hover { border-color: var(--green); background: var(--green-soft); }
.button.small { min-height: 38px; padding: 0 15px; border-radius: 10px; }
.button:disabled { opacity: .42; cursor: not-allowed; transform: none; box-shadow: none; }
.inline-form { display: inline; }
.link-button { padding: 4px 0; border: 0; background: transparent; color: var(--green); font: inherit; font-weight: 750; cursor: pointer; text-decoration: underline; text-decoration-color: #9ab2a7; text-underline-offset: 4px; }
.danger { color: var(--danger); }
.flash { margin: 0 0 20px; padding: 15px 18px; border: 1px solid #b8d2c2; border-radius: 12px; background: var(--green-soft); color: var(--green); font-weight: 650; }
.flash.error { color: var(--danger); background: #fbe7e4; border-color: #edbbb5; }
.flash.warning { color: #6e5419; background: #fff0c9; border-color: #e7ce8c; }

/* Forside */
.hero { min-height: 610px; display: grid; grid-template-columns: 1.04fr .96fr; gap: clamp(42px, 7vw, 90px); align-items: center; padding: 30px 0 62px; }
.hero-copy { position: relative; z-index: 2; }
.hero h1 em { color: var(--green-2); font-style: italic; font-weight: 500; }
.hero p { max-width: 590px; color: #4d5b55; font-size: clamp(18px, 2vw, 21px); line-height: 1.6; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 28px; color: var(--muted); font-size: 12px; font-weight: 650; }
.product-preview { position: relative; min-height: 480px; overflow: hidden; border: 1px solid #d5ded8; border-radius: 28px; background: #eaf0ec; box-shadow: var(--shadow); transform: rotate(1deg); }
.preview-top { height: 58px; display: flex; align-items: center; gap: 9px; padding: 0 20px; background: var(--paper); border-bottom: 1px solid var(--line); color: #425049; font-size: 13px; font-weight: 700; }
.preview-top b { margin-left: auto; padding: 6px 10px; border-radius: 99px; background: var(--green-soft); color: var(--green); font-size: 11px; }
.preview-dot { width: 9px; height: 9px; margin-right: 30px; border-radius: 50%; background: var(--orange); box-shadow: 15px 0 #ebc264, 30px 0 #66aa83; }
.preview-body { min-height: 422px; display: grid; place-items: center; padding: 28px; background: linear-gradient(145deg, #dce6df, #eef2ef); }
.paper { position: relative; width: min(270px, 67%); aspect-ratio: .74; padding: 34px; background: var(--paper); border-radius: 3px; box-shadow: 0 24px 52px rgba(21, 35, 29, .18); transform: rotate(-4deg); }
.paper > span { font: 700 24px Georgia, serif; }
.paper i { display: block; height: 6px; margin-top: 23px; background: #e1ded6; border-radius: 4px; }
.paper i.short { width: 64%; }
.signature { position: absolute; right: 25px; bottom: 48px; color: var(--green); font: italic 33px cursive; border-bottom: 2px solid var(--green); }
.paper > small { position: absolute; left: 27px; bottom: 22px; color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: 1.4px; }
.preview-panel { position: absolute; left: 20px; top: 82px; display: grid; gap: 8px; }
.preview-panel span { display: grid; place-items: center; width: 36px; height: 42px; border: 1px solid #cad4ce; border-radius: 5px; background: var(--paper); color: var(--muted); font-size: 9px; }
.preview-panel span:first-child { border: 2px solid var(--green-2); }
.preview-toast { position: absolute; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 12px; width: 250px; padding: 15px; border: 1px solid #d7e2db; border-radius: 15px; background: var(--paper); box-shadow: 0 16px 36px rgba(21, 35, 29, .15); transform: rotate(-1deg); }
.preview-toast > b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--green); color: white; }
.preview-toast > span { display: grid; gap: 3px; }
.preview-toast strong { font-size: 12px; }
.preview-toast small { font-size: 10px; }
.feature-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-row article { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 34px 28px; }
.feature-row article + article { border-left: 1px solid var(--line); }
.feature-row b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--orange-soft); color: var(--orange); font-size: 11px; }
.feature-row h2 { margin-bottom: 8px; font-size: 21px; }
.feature-row p { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.offline-callout { display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-top: 78px; padding: 44px 48px; border-radius: 24px; background: var(--green); color: white; box-shadow: 0 20px 50px rgba(18, 63, 48, .16); }
.offline-callout .eyebrow { margin-bottom: 10px; }
.offline-callout h2 { margin-bottom: 8px; font-size: 32px; }
.offline-callout p { margin-bottom: 0; color: #cbdad3; }
.offline-callout .button.secondary { flex: 0 0 auto; border-color: #9fbaad; color: white; }
.offline-callout .button.secondary:hover { background: rgba(255,255,255,.1); }
.download-action { flex: 0 0 auto; display: grid; justify-items: center; gap: 9px; }
.download-action small { color: #afc8bd; font-size: 10px; font-weight: 700; letter-spacing: .2px; }
.seo-intro { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); gap: 64px; margin: 92px 0; align-items: start; }
.seo-intro h2 { max-width: 560px; margin-top: 10px; font-size: clamp(35px, 4vw, 50px); line-height: 1.06; }
.seo-copy { columns: 2; column-gap: 32px; color: var(--muted); line-height: 1.75; }
.seo-copy p { margin-top: 0; break-inside: avoid; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 52px 0 18px; }
.section-heading h2 { margin: 7px 0 0; font-size: 34px; }
.section-heading > span { color: var(--muted); font-size: 13px; }
.use-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.use-case-grid article { padding: 26px; }
.use-case-grid h3 { margin-bottom: 10px; font-size: 22px; }
.use-case-grid p { margin: 0; color: var(--muted); line-height: 1.6; }
.faq-section { margin-bottom: 84px; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.faq-grid details { padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.faq-grid summary { color: var(--ink); font-weight: 800; cursor: pointer; }
.faq-grid p { margin: 13px 0 0; color: var(--muted); line-height: 1.55; }

/* eSigned-forside */
.platform-logo { width: min(190px, 25vw); max-width: 190px; height: 52px; }
.esigned-home { --home-blue-soft: color-mix(in srgb, var(--orange) 8%, white); }
.esigned-hero { min-height: 650px; grid-template-columns: .95fr 1.05fr; gap: clamp(42px, 6vw, 82px); }
.esigned-hero h1 { color: #071a3a; }
.esigned-hero h1 em { color: var(--orange); }
.intake-preview { position: relative; overflow: hidden; border: 1px solid color-mix(in srgb, var(--green) 22%, white); border-radius: 28px; background: #f8faff; box-shadow: 0 28px 80px rgba(7, 26, 58, .14); transform: rotate(.6deg); }
.intake-preview::before { content: ''; position: absolute; right: -90px; top: 30px; width: 260px; height: 260px; border-radius: 50%; background: color-mix(in srgb, var(--orange) 12%, transparent); filter: blur(4px); }
.intake-window-top { position: relative; z-index: 1; height: 58px; display: flex; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid #e0e5ee; background: rgba(255,255,255,.9); }
.intake-window-top > span { width: 8px; height: 8px; border-radius: 50%; background: #d8deea; }
.intake-window-top > span:nth-child(2) { background: #aec2ed; }
.intake-window-top > span:nth-child(3) { background: var(--orange); }
.intake-window-top b { margin-left: 12px; color: #071a3a; font-size: 13px; }
.intake-window-top small { margin-left: auto; padding: 6px 9px; border-radius: 99px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.intake-mail { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 22px 22px 0; padding: 15px; border: 1px solid #e0e5ee; border-radius: 15px; background: white; }
.mail-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #071a3a; color: white; font-size: 11px; font-weight: 850; }
.intake-mail > div:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.intake-mail small, .intake-insights > small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.intake-mail strong, .intake-mail span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intake-mail strong { color: #071a3a; font-size: 12px; }
.intake-mail span { color: var(--muted); font-size: 10px; }
.intake-mail > b { padding: 7px 9px; border-radius: 8px; background: #eef2f8; color: #071a3a; font-size: 9px; }
.intake-route { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 18px 24px 14px; color: #66728a; font-size: 9px; font-weight: 750; }
.intake-route i { width: 8px; height: 8px; border: 2px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.intake-route span + i { margin-left: 8px; }
.intake-document { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(130px, .75fr) 1.25fr; gap: 18px; margin: 0 22px; padding: 20px; border-radius: 18px; background: #e9eef7; }
.mini-paper { position: relative; min-height: 215px; padding: 26px 22px; border-radius: 4px; background: white; box-shadow: 0 18px 35px rgba(7,26,58,.13); transform: rotate(-2deg); }
.mini-paper strong { color: #071a3a; font: 700 19px Georgia, serif; }
.mini-paper > i { display: block; height: 5px; margin-top: 18px; border-radius: 4px; background: #e4e8ef; }
.mini-paper > i:nth-of-type(3) { width: 68%; }
.mini-signature { position: absolute; right: 20px; bottom: 27px; width: 74px; height: 27px; border-bottom: 2px solid var(--orange); transform: skew(-18deg); }
.intake-insights { display: grid; align-content: center; gap: 9px; min-width: 0; }
.intake-insights h3 { margin: 0 0 3px; color: #071a3a; font: 750 21px Georgia, serif; }
.intake-insights > div { display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 9px; background: white; color: #28374f; font-size: 9px; }
.intake-insights > div b { color: var(--orange); font-size: 8px; }
.intake-insights p { margin: 2px 0 0; color: #66728a; font-size: 9px; }
.intake-insights p i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.intake-ready { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; margin: 18px 22px 22px; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--green) 18%, white); border-radius: 14px; background: white; }
.intake-ready > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--green); color: white; font-weight: 900; }
.intake-ready > div { display: grid; gap: 2px; }
.intake-ready strong { color: #071a3a; font-size: 11px; }
.intake-ready small { font-size: 9px; }
.intake-ready a { color: var(--orange); font-size: 10px; font-weight: 850; text-decoration: none; }
.esigned-pillars b { background: var(--home-blue-soft); color: var(--orange); }
.home-workflow { margin: 96px 0; scroll-margin-top: 24px; }
.home-workflow .section-heading { max-width: 760px; }
.workflow-steps { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.62); }
.workflow-steps article { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 28px 22px; }
.workflow-steps article + article { border-left: 1px solid var(--line); }
.workflow-steps article > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #071a3a; color: white; font-size: 11px; font-weight: 850; }
.workflow-steps small { color: var(--orange); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.workflow-steps h3 { margin: 7px 0 8px; color: #071a3a; font-size: 17px; line-height: 1.25; }
.workflow-steps p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.intelligence-callout { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(36px, 7vw, 90px); align-items: center; margin: 90px 0; padding: clamp(34px, 6vw, 68px); border-radius: 28px; background: #071a3a; color: white; box-shadow: 0 24px 65px rgba(7,26,58,.18); }
.intelligence-copy h2 { margin-bottom: 18px; font-size: clamp(34px, 4vw, 50px); color: white; }
.intelligence-copy > p { color: #c7d2e5; font-size: 17px; line-height: 1.65; }
.intelligence-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 25px; margin: 23px 0 28px; padding: 0; list-style: none; color: #dbe3f1; font-size: 12px; }
.intelligence-copy li::before { content: '✓'; margin-right: 8px; color: var(--orange); font-weight: 900; }
.intelligence-callout .button { border-color: var(--orange); background: var(--orange); }
.inbox-address-demo { padding: 26px; border: 1px solid rgba(255,255,255,.16); border-radius: 21px; background: rgba(255,255,255,.08); }
.inbox-address-demo > small { color: #9db2d3; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.inbox-address-demo code { display: block; margin: 10px 0 25px; overflow-wrap: anywhere; color: white; font-size: clamp(14px, 2vw, 18px); }
.inbox-address-demo > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; }
.inbox-address-demo > div span, .inbox-address-demo > div b { padding: 9px 12px; border-radius: 10px; font-size: 10px; }
.inbox-address-demo > div span { background: white; color: #071a3a; }
.inbox-address-demo > div b { background: var(--orange); color: white; }
.inbox-address-demo > div i { height: 1px; background: linear-gradient(90deg, #7891b8, var(--orange)); }
.inbox-address-demo p { margin: 25px 0 0; color: #b7c5dc; font-size: 12px; line-height: 1.75; }
.use-case-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 28px; border-radius: 12px; background: var(--home-blue-soft); color: var(--orange); font-weight: 900; }
.payg-callout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 55px; align-items: center; margin: 92px 0 0; padding: 44px 48px; border: 1px solid color-mix(in srgb, var(--green) 18%, white); border-radius: 24px; background: white; }
.payg-callout h2 { margin-bottom: 10px; color: #071a3a; font-size: 36px; }
.payg-callout p { margin: 0; color: var(--muted); line-height: 1.65; }
.payg-meter { display: grid; gap: 9px; padding: 21px; border-radius: 17px; background: #f1f4fa; }
.payg-meter > span { color: var(--orange); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.payg-meter > strong { color: #071a3a; font-size: 20px; }
.payg-meter > i { height: 8px; overflow: hidden; border-radius: 99px; background: #d9e0ec; }
.payg-meter > i b { display: block; width: 68%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #071a3a, var(--orange)); }
.payg-meter > small { font-size: 9px; }
.esigned-home .offline-callout { margin-top: 18px; background: linear-gradient(135deg, #071a3a, color-mix(in srgb, #071a3a 80%, var(--orange))); }

/* Login og formularer */
.auth-card { width: min(470px, 100%); margin: 72px auto; padding: 36px; }
.auth-card h1 { margin-bottom: 28px; font-size: 50px; }
.auth-card > .muted { margin: 22px 0 0; text-align: center; font-size: 14px; }
.auth-links { display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; font-size: 13px; font-weight: 700; }
.auth-links a { color: var(--green); text-underline-offset: 3px; }
.stack-form { display: grid; gap: 17px; }
label { display: grid; gap: 8px; color: #34433c; font-size: 14px; font-weight: 750; }
input, textarea, select { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #bbbfb9; border-radius: 10px; background: white; color: var(--ink); }
textarea { min-height: 130px; resize: vertical; line-height: 1.5; }
select { appearance: auto; }
input:hover, textarea:hover, select:hover { border-color: #8e9b94; }
input:focus, textarea:focus, select:focus { border-color: var(--green-2); box-shadow: 0 0 0 4px rgba(29, 96, 73, .09); outline: none; }
input[readonly] { background: #f2f1ec; color: var(--muted); }

/* Profil og tenantadministration */
.profile-grid { display: grid; grid-template-columns: 300px minmax(0, 650px); gap: 18px; align-items: start; }
.profile-avatar-card { display: grid; justify-items: center; gap: 16px; text-align: center; }
.profile-avatar-card .file-picker { width: 100%; }
.profile-avatar-card .file-picker span { justify-content: center; }
.avatar-large { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; border: 5px solid var(--paper); box-shadow: 0 0 0 1px var(--line), 0 14px 30px rgba(21, 35, 29, .12); }
.avatar-placeholder { display: grid; place-items: center; background: var(--green-soft); color: var(--green); font: 700 58px Georgia, serif; }
.profile-fields { align-content: start; }
.profile-fields .button { justify-self: start; }
.tenant-admin-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(420px, 1.28fr); gap: 18px; align-items: start; }
.tenant-member-card { min-width: 0; }
.member-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; white-space: nowrap; }
.pending-invitations { margin-top: 18px; }
.pending-invitations > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.pending-invitations > div:last-child { border-bottom: 0; }
.pending-invitations > div > span:first-child { display: grid; gap: 4px; }
.tenant-operations-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.tenant-operations-grid article { display: grid; align-content: start; gap: 13px; }
.tenant-operations-grid h2 { margin: 0; }
.tenant-operations-grid p { margin: 0; }
.quota-bar { height: 9px; overflow: hidden; border-radius: 99px; background: #e5e6e1; }
.quota-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green-2), var(--orange)); }

/* Arkiv og dokumenter */
.page-heading, .document-header, .sign-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
.page-heading h1, .document-header h1, .sign-heading h1 { margin-bottom: 0; font-size: clamp(40px, 5vw, 56px); }
.document-header p { margin: 7px 0 0; }
.upload-card { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-bottom: 24px; padding: 22px 24px; }
.upload-card h2 { margin-bottom: 5px; }
.upload-card p { margin-bottom: 0; font-size: 14px; }
.upload-security { display: inline-flex; margin-top: 8px; font-size: 11px; font-weight: 800; }
.upload-security.ready { color: var(--green); }
.upload-security.blocked { color: var(--danger); }
.upload-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.selected-upload { display: grid; grid-template-columns: 38px minmax(120px, 1fr) 28px; gap: 9px; align-items: center; min-width: 250px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8f8f5; }
.selected-upload[hidden] { display: none; }
.selected-upload > span:nth-child(2) { display: grid; min-width: 0; }
.selected-upload strong, .selected-upload small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-upload small { color: var(--muted); font-size: 10px; }
.selected-upload .file-icon { width: 38px; height: 38px; font-size: 9px; }
.selected-upload button { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 22px; }
.selected-upload.has-error { border-color: #d58a74; background: #fff4ef; }
.upload-form .button:disabled { cursor: not-allowed; opacity: .5; }
.upload-form input[type=text] { width: 220px; }
.file-picker { display: block; }
.file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.file-picker span { display: flex; align-items: center; min-height: 48px; padding: 0 16px; border: 1px dashed #7e9e8e; border-radius: 10px; color: var(--green); cursor: pointer; }
.file-picker span:hover { background: var(--green-soft); }
.document-list { display: grid; gap: 10px; }
.document-library { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 20px; align-items: start; }
.document-library-main { min-width: 0; }
.library-heading { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-bottom: 12px; }
.library-heading h2 { margin: 0; font-size: 27px; }
.library-heading span { color: var(--muted); font-size: 12px; font-weight: 750; }
.folder-sidebar { position: sticky; top: 18px; padding: 18px 12px; }
.folder-sidebar h2 { margin: 0 10px 13px; font-size: 21px; }
.folder-sidebar nav { display: grid; gap: 3px; }
.folder-sidebar nav a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 8px 10px; border-radius: 9px; color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 720; }
.folder-sidebar nav a:hover, .folder-sidebar nav a.active { background: var(--green-soft); color: var(--green); }
.folder-sidebar nav a b { min-width: 25px; color: var(--muted); font-size: 11px; text-align: right; }
.custom-folder-heading { margin: 18px 10px 8px; color: var(--muted); font-size: 10px; letter-spacing: .7px; text-transform: uppercase; }
.custom-folder-row { display: grid; grid-template-columns: minmax(0, 1fr) 27px; align-items: center; }
.custom-folder-row form button { width: 27px; height: 27px; border: 0; border-radius: 7px; background: transparent; color: #9a7770; cursor: pointer; font-size: 18px; }
.custom-folder-row form button:hover { background: #fae8e4; color: var(--danger); }
.folder-create-form { margin: 16px 7px 0; padding-top: 15px; border-top: 1px solid var(--line); }
.folder-create-form label { font-size: 11px; }
.folder-create-form > div { display: grid; grid-template-columns: 1fr 43px; gap: 6px; }
.folder-create-form input { min-height: 42px; }
.folder-create-form .button { min-width: 43px; min-height: 42px; padding: 0; }
.document-row { display: grid; grid-template-columns: 50px minmax(180px, 1fr) auto auto 20px; align-items: center; gap: 16px; padding: 15px 20px; border-radius: 15px; text-decoration: none; transition: transform .15s, border-color .15s, box-shadow .15s; }
.document-row:hover { transform: translateY(-2px); border-color: #9fb5a9; box-shadow: 0 12px 34px rgba(21, 35, 29, .08); }
.file-icon { display: grid; place-items: center; width: 42px; height: 50px; background: var(--orange-soft); color: #a64b2a; border: 1px solid #f3cbbb; border-radius: 7px; font-size: 10px; font-weight: 900; }
.document-main { display: grid; gap: 5px; min-width: 0; }
.document-main strong, .document-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guest { color: var(--muted); font-size: 13px; }
.status { display: inline-flex; padding: 7px 11px; border-radius: 99px; background: #e8e7e2; color: #4e5752; font-size: 11px; font-weight: 850; white-space: nowrap; }
.status.success { background: var(--green-soft); color: var(--green); }
.status-sent, .status-viewed, .status-awaiting { background: #fff0c9; color: #775815; }
.status-signed { background: var(--green-soft); color: var(--green); }
.status-archived { color: var(--muted); }
.chevron { color: #9ba39e; font-size: 26px; }
.empty { padding: 70px 30px; text-align: center; }
.back-link { display: inline-flex; margin-bottom: 28px; color: var(--green); font-weight: 750; text-decoration: none; }
.back-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }
.document-actions { display: grid; align-content: start; gap: 14px; }
.document-actions h2 { margin-bottom: 2px; }
.document-actions hr { width: 100%; border: 0; border-top: 1px solid var(--line); }
.lock-notice { padding: 14px 15px; border: 1px solid #e7d18f; border-radius: 11px; background: #fff8e3; }
.lock-notice strong { color: #664d12; }
.lock-notice p { margin: 6px 0 0; color: #786832; font-size: 12px; line-height: 1.45; }
.compact-form { gap: 10px; }
.compact-form .button { justify-self: start; }
.facts { margin: 0; }
.facts div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.facts div:last-child { border-bottom: 0; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; min-width: 0; }
code { color: #425049; word-break: break-all; font-size: 11px; }
.timeline-card { grid-column: 1 / -1; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; display: flex; gap: 15px; padding: 10px 0; }
.timeline li > span { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 5px; border: 2px solid var(--paper); border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 2px #f3c0ad; }
.timeline li div { display: grid; gap: 4px; }
.request-list { display: grid; }
.request-list > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.request-list > div:last-child { border-bottom: 0; }
.request-list > div > span:first-child { display: grid; gap: 4px; }
.request-actions { display: flex; align-items: center; gap: 12px; }
.invite-link { margin-bottom: 18px; border-color: #ead493; background: #fff9e8; }
.copy-row { display: flex; gap: 8px; margin-top: 12px; }

/* Platformadministration */
.admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px; }
.admin-stats .card { display: grid; gap: 5px; padding: 22px 24px; }
.admin-stats strong { color: var(--green); font: 700 34px Georgia, serif; }
.admin-stats span { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .7px; }
.admin-stats small { color: var(--muted); font-size: 11px; }
.admin-stats-wide { grid-template-columns: repeat(4, 1fr); }
.chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.chart-card { min-width: 0; padding: 24px; overflow: hidden; }
.chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.chart-heading h2 { margin: 7px 0 0; font-size: 23px; }
.chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; color: var(--muted); font-size: 10px; font-weight: 700; }
.chart-legend span { display: flex; align-items: center; gap: 5px; }
.chart-legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--legend); }
.metric-chart { display: block; width: 100%; height: auto; overflow: visible; }
.metric-chart text { fill: #849088; font-size: 9px; font-family: inherit; }
.chart-grid-line { stroke: #e3e5e1; stroke-width: 1; }
.mail-health { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 18px; padding: 23px 25px; }
.mail-health h2 { margin: 6px 0; }
.mail-health p { margin: 0; }
.health-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.health-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; border-radius: 99px; font-size: 11px; font-weight: 800; }
.health-badge b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; }
.health-badge.ok { background: var(--green-soft); color: var(--green); }
.health-badge.ok b { background: var(--green); color: white; }
.health-badge.missing { background: #fff1d6; color: #7a5a16; }
.health-badge.missing b { background: #d4942b; color: white; }
.admin-table { padding: 0; overflow: auto; }
.admin-table table { width: 100%; border-collapse: collapse; min-width: 820px; }
.admin-table th, .admin-table td { padding: 16px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.admin-table th { color: var(--muted); background: #f6f4ee; font-size: 11px; text-transform: uppercase; letter-spacing: .7px; }
.admin-table td { font-size: 14px; }
.admin-table td:first-child { display: grid; gap: 4px; }
.admin-table tr:last-child td { border-bottom: 0; }
.dmarc-dashboard { margin-bottom: 18px; }
.dmarc-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0; }
.dmarc-stats > div { display: grid; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.dmarc-stats strong { font-size: 22px; }
.dmarc-stats span { color: var(--muted); font-size: 12px; }
.dmarc-tables { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dmarc-tables h3 { margin: 0 0 10px; }
.dmarc-tables .admin-table table { min-width: 560px; }
.platform-grid { grid-template-columns: 1.2fr .8fr; }
.member-list { display: grid; }
.member-list > div { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.member-list > div:last-child { border-bottom: 0; }
.member-list > div > span:first-child { display: grid; gap: 4px; }

/* Grupper, adgang og MFA */
.security-heading { margin-top: 38px; }
.mfa-security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.authenticator-security-card h3 { margin: 24px 0 8px; }
.setup-secret { display: grid; gap: 6px; margin: 16px 0; padding: 16px; border: 1px dashed #a6b5ad; border-radius: 12px; background: #f5f7f5; }
.setup-secret code { overflow-wrap: anywhere; color: var(--green); font-size: 16px; letter-spacing: 1.5px; }
.recovery-code-panel { margin: 18px 0; padding: 18px; border: 1px solid #dfb88f; border-radius: 14px; background: #fff8ed; }
.recovery-code-panel p { margin: 6px 0 12px; }
.recovery-code-panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 0 0 15px; padding: 0; list-style: none; }
.recovery-code-panel code { font-weight: 800; letter-spacing: .6px; }
.security-details { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.security-details summary { cursor: pointer; color: var(--green); font-weight: 800; }
.security-details form { margin-top: 14px; }
.sso-security-card { max-width: 720px; }
.access-group-grid, .access-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0 24px; }
.access-group-card { min-width: 0; }
.access-group-card fieldset { display: grid; gap: 8px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.access-group-card legend { padding: 0 6px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.member-delete-form { display: flex; align-items: center; gap: 7px; }
.member-delete-form select { width: 150px; min-height: 34px; padding: 5px 8px; font-size: 11px; }
.access-rule-row { display: grid; grid-template-columns: minmax(150px, 1fr) 150px auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.access-rule-row:last-child { border-bottom: 0; }
.access-rule-row > span { display: grid; gap: 3px; min-width: 0; }
.access-rule-row select { min-height: 38px; }
.document-access-card { grid-column: 1 / -1; }
.document-access-card h3 { margin: 24px 0 8px; }
.folder-access-link { flex: 0 0 auto !important; padding: 6px !important; color: var(--green); text-decoration: none; }
.folder-metadata { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1; padding: 9px 10px; color: var(--muted); border-radius: 8px; background: #f4f3ef; font-size: 12px; }
.folder-metadata > span { display: grid; gap: 2px; }
.folder-metadata small { font-size: 9px; }
.metadata-only { opacity: .82; }
.metadata-transfer-form { display: flex; justify-content: flex-end; align-items: end; gap: 8px; margin: -6px 8px 12px; padding: 10px 12px; border: 1px dashed var(--line); border-radius: 10px; background: #faf9f5; }
.metadata-transfer-form label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.metadata-transfer-form select { min-width: 240px; }
.sms-security-card { max-width: 760px; margin-top: 18px; }

/* Underskrift */
.sign-page { width: min(1420px, calc(100vw - 40px)); margin-left: 50%; transform: translateX(-50%); }
.page-nav { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.current-bundle-document { max-width: 245px; margin-right: 4px; overflow: hidden; color: var(--ink); font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.page-nav button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--green); cursor: pointer; }
.page-nav button:hover:not(:disabled) { border-color: var(--green); background: var(--green-soft); }
.page-nav button:disabled { opacity: .4; }
.sign-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.document-stage { position: relative; min-height: 640px; padding: 30px; display: grid; place-items: start center; background: #dfe3df; border: 1px solid #cdd3ce; border-radius: 20px; overflow: auto; }
.stage-loader { position: absolute; inset: 0; z-index: 4; display: grid; place-content: center; justify-items: center; gap: 14px; background: rgba(223, 227, 223, .94); color: var(--green); }
.stage-loader[hidden] { display: none; }
.stage-loader span { width: 34px; height: 34px; border: 3px solid #b7c8bf; border-top-color: var(--green); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.canvas-wrap { position: relative; width: fit-content; max-width: 100%; box-shadow: 0 14px 36px rgba(0, 0, 0, .18); }
#document-canvas { display: block; max-width: 100%; height: auto; background: white; cursor: crosshair; }
#signature-overlay { position: absolute; display: none; width: 28%; aspect-ratio: 3 / 1; transform: translate(-50%, -50%); border: 2px dashed var(--orange); color: var(--orange); background: #fff8 center/contain no-repeat; pointer-events: none; text-align: center; padding-top: 5%; font-size: 12px; }
.request-signature-marker { place-content: center; gap: 2px; padding: 5px !important; background-color: rgba(255, 248, 238, .94) !important; }
.request-signature-marker strong, .request-signature-marker small { display: block; line-height: 1.2; }
.request-signature-marker small { color: var(--ink); font-size: 10px; }
#signature-date-overlay { position: absolute; display: none; transform: translate(-50%, -50%); padding: 2px 6px; border: 1px dashed var(--green); color: var(--ink); background: rgba(255, 255, 255, .9); pointer-events: none; font-size: clamp(9px, 1.2vw, 13px); white-space: nowrap; }
.sender-choice { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.sender-choice legend { margin-bottom: 7px; font-weight: 700; }
.sender-choice label { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.sender-choice label:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.sender-choice label.is-disabled { opacity: .55; cursor: not-allowed; }
.sender-choice span, .sender-choice small { display: block; }
.text-overlay { position: absolute; transform: translateY(-50%); max-width: 45%; padding: 3px 5px; border: 1px dashed var(--green); color: var(--ink); background: #fffdf8dd; pointer-events: none; font-size: clamp(10px, 1.4vw, 16px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hint { width: 100%; margin: 15px 0 0; color: #505b55; text-align: center; font-size: 13px; }
.sign-panel { position: sticky; top: 18px; display: grid; gap: 14px; }
.sign-panel > h2 { margin-bottom: 0; }
.web-signing-tools { margin-bottom: 20px; padding: 0; overflow: hidden; border-color: #a9c2b5; background: linear-gradient(135deg, #f7fbf8, #fffefa); }
.web-signing-tool { min-width: 0; padding: 24px 26px; }
.web-signing-tool h2 { margin: 6px 0 7px; font-size: 24px; }
.web-signing-tool > p { max-width: 640px; margin: 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.compact-file-picker { display: inline-block; }
.compact-file-picker span { min-height: 42px; border-style: solid; background: white; font-size: 12px; font-weight: 850; }
.signing-bundle-list { display: grid; gap: 7px; margin: 14px 0 8px; padding: 0; list-style: none; }
.signing-bundle-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; padding: 9px 11px; border: 1px solid #d9dfda; border-radius: 10px; background: rgba(255, 255, 255, .82); }
.signing-bundle-list li > span { display: grid; min-width: 0; }
.signing-bundle-list strong, .signing-bundle-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.signing-bundle-list strong { font-size: 12px; }
.signing-bundle-list small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.signing-bundle-list .danger { flex: 0 0 auto; color: var(--danger); font-size: 11px; }
.mobile-signature-trigger { width: 100%; }
.owner-mobile-pairing { display: grid; justify-items: center; gap: 11px; padding: 15px; border: 1px solid #d8dfda; border-radius: 13px; background: #f7f9f7; text-align: center; }
.owner-mobile-pairing[hidden] { display: none; }
.owner-mobile-pairing img { display: block; width: 148px; height: 148px; border: 7px solid white; border-radius: 12px; background: white; box-shadow: 0 7px 22px rgba(21, 35, 29, .09); }
.owner-mobile-pairing > div { display: grid; justify-items: center; min-width: 0; }
.owner-mobile-pairing a { color: var(--green); font-size: 12px; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; text-underline-offset: 3px; }
.owner-mobile-pairing .pairing-status { justify-content: center; margin-top: 9px; }
.mobile-pairing-card { display: grid; grid-template-columns: 184px 1fr; gap: 25px; align-items: center; margin-bottom: 20px; padding: 20px 24px; border-color: #a9c2b5; background: linear-gradient(135deg, #f5faf7, #fffefa); }
.mobile-pairing-card img { display: block; width: 184px; height: 184px; border: 9px solid white; border-radius: 12px; background: white; }
.mobile-pairing-card .eyebrow { margin-bottom: 7px; }
.mobile-pairing-card h2 { margin-bottom: 7px; }
.mobile-pairing-card p { margin-bottom: 9px; color: var(--muted); line-height: 1.55; }
.mobile-pairing-card a { color: var(--green); font-size: 13px; font-weight: 800; text-underline-offset: 3px; }
.pairing-status { display: flex; align-items: center; gap: 8px; margin-top: 15px; color: #526058; font-size: 12px; }
.pairing-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px var(--orange-soft); animation: pairing-pulse 1.8s ease-in-out infinite; }
.pairing-status.is-complete { color: var(--green); }
@keyframes pairing-pulse { 50% { opacity: .4; transform: scale(.8); } }
.mobile-sign-summary { display: flex; align-items: center; gap: 17px; width: min(620px, 100%); margin: 0 auto 18px; padding: 18px 20px; border-color: #a9c2b5; background: var(--green-soft); }
.mobile-sign-summary strong { display: block; margin-bottom: 4px; color: var(--green); }
.mobile-sign-summary p { margin: 0 0 5px; color: #45554d; line-height: 1.45; }
.mobile-sign-summary small { font-size: 11px; }
.mobile-sign-icon { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 15px; background: white; font-size: 25px; }
.mobile-signature-mode { width: min(700px, 100%); margin: 0 auto; transform: none; }
.mobile-signature-mode .sign-layout { display: block; }
.mobile-signature-mode .document-stage { display: none; }
.mobile-signature-mode .sign-panel { position: static; width: min(620px, 100%); margin: 0 auto; }
.mobile-signature-mode #signature-pad { height: 230px; }
.owner-tools { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.owner-tools h2 { margin: 0; font-size: 20px; }
#signature-pad { width: 100%; height: 126px; border: 1px solid #aeb8b2; border-radius: 10px; background: white; touch-action: none; cursor: crosshair; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.consent { grid-template-columns: auto 1fr; align-items: start; font-size: 12px; font-weight: 600; line-height: 1.5; }
.consent input { width: 18px; min-height: 18px; margin-top: 1px; accent-color: var(--green); }
.fine-print { margin-bottom: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.error-text { margin: 0; color: var(--danger); font-weight: 750; }

/* Offentligt roadmap */
.roadmap-page { width: min(920px, 100%); margin: 0 auto; }
.roadmap-hero { max-width: 760px; margin: 18px 0 48px; }
.roadmap-hero h1 { margin: 9px 0 17px; font-size: clamp(48px, 8vw, 78px); }
.roadmap-hero p { margin: 0; color: #46534c; font-size: clamp(17px, 2.3vw, 21px); line-height: 1.6; }
.roadmap-track { position: relative; display: grid; gap: 14px; }
.roadmap-track::before { position: absolute; top: 28px; bottom: 28px; left: 56px; width: 2px; background: #d9dfda; content: ""; }
.roadmap-step { position: relative; display: grid; grid-template-columns: 92px 1fr; gap: 22px; align-items: start; padding: 25px 28px; }
.roadmap-step h2 { margin: 0 0 7px; font-size: 25px; }
.roadmap-step p { margin: 0; color: var(--muted); line-height: 1.6; }
.roadmap-marker { position: relative; z-index: 1; display: grid; place-items: center; min-height: 32px; padding: 6px 9px; border: 2px solid var(--paper); border-radius: 99px; background: #e7ebe7; color: #4e5d55; box-shadow: 0 0 0 2px #cfd7d1; font-size: 10px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; }
.roadmap-step.is-current { border-color: #a8c4b6; background: linear-gradient(135deg, #f8fcf9, #fffdfa); }
.roadmap-step.is-current .roadmap-marker { background: var(--green); color: white; box-shadow: 0 0 0 2px #89ad9b; }
.roadmap-funding { margin-top: 34px; }
.funding-divider { display: flex; align-items: center; gap: 16px; margin: 0 0 20px; color: #874827; font-size: 11px; font-weight: 900; letter-spacing: .65px; text-align: center; text-transform: uppercase; }
.funding-divider::before, .funding-divider::after { height: 2px; flex: 1; background: #e8a17f; content: ""; }
.roadmap-funded { padding: 32px; border-color: #edb59b; background: linear-gradient(135deg, #fff7f1, #fffdf9); }
.roadmap-funded h2 { margin: 8px 0 10px; font-size: 30px; }
.roadmap-funded p { max-width: 740px; margin: 0; color: #684b3d; line-height: 1.65; }
.roadmap-note { margin: 34px 0 10px; padding: 24px 0 0; border-top: 1px solid var(--line); }
.roadmap-note p { margin: 6px 0 0; color: var(--muted); }

/* Offentlig produktsammenligning */
.comparison-page { width: min(1080px, 100%); margin: 0 auto; }
.comparison-hero { position: relative; max-width: 900px; margin: 20px 0 60px; }
.comparison-hero::after { position: absolute; z-index: -1; top: -46px; left: -74px; width: 210px; height: 210px; border-radius: 50%; background: radial-gradient(circle, rgba(239, 106, 58, .13), transparent 68%); content: ""; }
.comparison-hero h1 { max-width: 810px; margin: 8px 0 20px; font-size: clamp(50px, 7.5vw, 82px); }
.comparison-hero > p { max-width: 820px; margin: 0; color: #46534c; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.65; }
.comparison-proof { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.comparison-proof span { padding: 8px 12px; border: 1px solid #b7cbbf; border-radius: 99px; color: var(--green); background: rgba(227, 238, 232, .8); font-size: 12px; font-weight: 850; }
.comparison-positioning { margin-bottom: 58px; }
.comparison-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.comparison-cards .card { min-height: 230px; padding: 27px; box-shadow: none; }
.comparison-cards .card.is-signed { border: 2px solid var(--green); background: linear-gradient(145deg, #f0f8f4, var(--paper)); box-shadow: 0 18px 50px rgba(18, 63, 48, .1); }
.comparison-kicker { display: block; margin-bottom: 28px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: 1.2px; }
.comparison-cards .is-signed .comparison-kicker { color: var(--green); }
.comparison-cards h3 { margin: 0 0 11px; font: 750 30px/1 Georgia, "Times New Roman", serif; }
.comparison-cards p { margin: 0; color: #536159; line-height: 1.6; }
.comparison-matrix { margin-bottom: 30px; }
.comparison-matrix-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 20px; }
.comparison-matrix-heading h2 { margin-bottom: 0; font-size: clamp(30px, 4vw, 42px); }
.comparison-matrix-heading > p { max-width: 370px; margin: 0 0 4px; color: var(--muted); line-height: 1.55; }
.comparison-table-wrap { overflow-x: auto; border: 1px solid #d7dbd5; border-radius: 19px; background: var(--paper); box-shadow: 0 18px 55px rgba(21, 35, 29, .07); }
.comparison-table-wrap table { width: 100%; min-width: 820px; border-collapse: separate; border-spacing: 0; }
.comparison-table-wrap th, .comparison-table-wrap td { padding: 18px 19px; border: 0; border-bottom: 1px solid #e5e3dc; text-align: left; vertical-align: middle; line-height: 1.42; }
.comparison-table-wrap thead th { color: #57645d; background: #eeece5; font-size: 12px; font-weight: 900; letter-spacing: .4px; text-transform: uppercase; }
.comparison-table-wrap thead th:first-child { width: 36%; }
.comparison-table-wrap tbody tr:last-child > * { border-bottom: 0; }
.comparison-table-wrap tbody th { color: var(--ink); font-size: 14px; }
.comparison-table-wrap tbody th strong, .comparison-table-wrap tbody th small { display: block; }
.comparison-table-wrap tbody th small { margin-top: 4px; font-size: 11px; font-weight: 550; line-height: 1.45; }
.comparison-table-wrap td { color: #4d5a54; font-size: 13px; }
.comparison-table-wrap .signed-column { border-right: 1px solid #bfd1c7; border-left: 1px solid #bfd1c7; background: #edf6f1; }
.comparison-table-wrap thead .signed-column { color: white; background: var(--green); }
.comparison-table-wrap thead .signed-column span, .comparison-table-wrap thead .signed-column small { display: block; }
.comparison-table-wrap thead .signed-column span { font: 750 20px Georgia, "Times New Roman", serif; letter-spacing: 0; text-transform: none; }
.comparison-table-wrap thead .signed-column small { margin-top: 4px; color: #cfe2d8; font-size: 9px; }
.matrix-yes { color: var(--green); }
.matrix-roadmap { color: var(--green); font-weight: 850; text-underline-offset: 3px; }
.comparison-disclaimer { max-width: 900px; margin: 16px 4px 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.comparison-cta { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; margin: 56px 0 28px; padding: 38px 42px; border-radius: 22px; color: white; background: linear-gradient(135deg, var(--green), #1a5944); box-shadow: 0 22px 65px rgba(18, 63, 48, .2); }
.comparison-cta .eyebrow { color: #ffab87; }
.comparison-cta h2 { max-width: 620px; margin-bottom: 10px; font-size: clamp(29px, 4vw, 40px); }
.comparison-cta p { max-width: 650px; margin: 0; color: #d7e6de; line-height: 1.6; }
.comparison-actions { display: grid; gap: 9px; min-width: 225px; }
.comparison-actions .button { justify-content: center; background: var(--orange); }
.comparison-actions .button.secondary { border-color: #a7c6b6; color: white; background: transparent; }
.comparison-sources { display: flex; flex-wrap: wrap; gap: 7px 16px; padding: 21px 4px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.comparison-sources strong { color: var(--ink); }
.comparison-sources a { color: var(--green); font-weight: 750; text-underline-offset: 3px; }
.comparison-sources small { flex-basis: 100%; }

/* Produktsammenligning v2 */
.comparison-page-v2 { width: min(1120px, 100%); }
.compare-hero-v2 { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 7vw, 86px); align-items: center; min-height: 585px; padding: 25px 0 66px; }
.compare-hero-copy h1 { max-width: 650px; margin: 8px 0 23px; font-size: clamp(49px, 6.2vw, 74px); line-height: .98; }
.compare-hero-copy > p:not(.compare-install-note) { max-width: 625px; margin: 0; color: #4f5c55; font-size: 18px; line-height: 1.65; }
.compare-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.compare-hero-actions .button { min-height: 54px; padding: 0 25px; background: var(--orange); border-color: var(--orange); box-shadow: 0 10px 24px rgba(239, 106, 58, .2); }
.compare-hero-actions .button:hover { background: #d95527; }
.compare-text-link { color: var(--green); font-weight: 850; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.compare-install-note { margin: 15px 0 0 !important; color: #77817c !important; font-size: 11px !important; font-weight: 750; letter-spacing: .15px; }
.compare-product { position: relative; width: min(520px, 100%); padding: 22px 0 42px; }
.compare-product::before { position: absolute; z-index: -1; top: -34px; right: -42px; width: 280px; height: 280px; border-radius: 50%; background: var(--orange-soft); content: ""; }
.compare-window { overflow: hidden; border: 1px solid #bbc6c0; border-radius: 19px; background: #f8f8f5; box-shadow: 0 32px 80px rgba(18, 45, 34, .18); transform: rotate(1.2deg); }
.compare-window-bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 45px; padding: 0 15px; color: #56625c; background: #fbfbf8; border-bottom: 1px solid #d7ddd9; font-size: 11px; }
.compare-window-bar > span { display: flex; gap: 5px; }
.compare-window-bar i { width: 8px; height: 8px; border-radius: 50%; background: #cfd5d1; }
.compare-window-bar i:first-child { background: #ef8b65; }
.compare-window-bar strong { color: var(--green); font: 750 18px Georgia, serif; }
.compare-window-bar small { justify-self: end; color: var(--green); font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.compare-window-body { display: grid; grid-template-columns: 48px 1fr 48px; gap: 18px; min-height: 360px; padding: 23px 17px; background: #e8ece9; }
.compare-window-body aside, .compare-tools { display: grid; align-content: start; gap: 9px; }
.compare-window-body aside span { display: grid; place-items: center; width: 31px; height: 39px; border: 1px solid #cad2cd; border-radius: 4px; color: #829087; background: white; font-size: 9px; }
.compare-window-body aside span.is-active { border: 2px solid var(--orange); color: var(--orange); }
.compare-paper { position: relative; width: min(270px, 100%); min-height: 318px; justify-self: center; padding: 37px 35px; background: white; box-shadow: 0 10px 30px rgba(21, 35, 29, .13); }
.compare-paper > b { display: block; margin-bottom: 27px; font: 750 25px Georgia, serif; }
.compare-paper > i { display: block; width: 100%; height: 5px; margin-top: 10px; border-radius: 5px; background: #e4e8e5; }
.compare-paper > i.short { width: 64%; }
.compare-signature { position: absolute; right: 35px; bottom: 55px; color: #163f31; font: italic 700 29px "Segoe Script", "Bradley Hand", cursive; transform: rotate(-5deg); }
.compare-paper > small { position: absolute; right: 35px; bottom: 34px; color: var(--orange); font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.compare-tools span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #c7d0ca; border-radius: 9px; color: var(--green); background: #fafffc; font-size: 12px; font-weight: 900; }
.compare-local-badge { position: absolute; right: -8px; bottom: 7px; display: flex; align-items: center; gap: 12px; min-width: 250px; padding: 14px 17px; border: 1px solid #aec7ba; border-radius: 14px; background: white; box-shadow: 0 18px 45px rgba(18, 45, 34, .17); }
.compare-local-badge > b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: white; background: var(--green); }
.compare-local-badge span { display: grid; gap: 2px; }
.compare-local-badge strong { font-size: 12px; }
.compare-local-badge small { font-size: 10px; }
.compare-value-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 88px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.compare-value-strip article { display: grid; grid-template-columns: 35px 1fr; gap: 12px; padding: 25px 28px; }
.compare-value-strip article + article { border-left: 1px solid var(--line); }
.compare-value-strip article > span { color: var(--orange); font: 850 11px/1.4 system-ui, sans-serif; }
.compare-value-strip h2 { margin: 0 0 5px; font-size: 20px; }
.compare-value-strip p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.comparison-matrix-v2 { margin-bottom: 70px; }
.compare-section-header { max-width: 735px; margin: 0 auto 30px; text-align: center; }
.compare-section-header .eyebrow { justify-content: center; }
.compare-section-header h2 { margin: 7px 0 13px; font-size: clamp(34px, 5vw, 49px); }
.compare-section-header p { max-width: 630px; margin: 0 auto; color: var(--muted); font-size: 16px; line-height: 1.6; }
.comparison-table-v2 { border-radius: 16px; box-shadow: 0 16px 45px rgba(21, 35, 29, .055); }
.comparison-table-v2 table { min-width: 760px; }
.comparison-table-v2 th, .comparison-table-v2 td { padding: 16px 18px; }
.comparison-table-v2 thead th { height: 70px; background: #f0eee8; }
.comparison-table-v2 thead th:first-child { width: 33%; }
.comparison-table-v2 thead th span, .comparison-table-v2 thead th small { display: block; }
.comparison-table-v2 thead th span { color: var(--ink); font: 750 19px Georgia, serif; letter-spacing: 0; text-transform: none; }
.comparison-table-v2 thead th small { margin-top: 4px; font-size: 8px; letter-spacing: .8px; }
.comparison-table-v2 thead .signed-column span { color: white; }
.comparison-table-v2 tbody th { font-size: 13px; }
.comparison-table-v2 tbody td { font-size: 12px; }
.compare-pill { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 9px; border-radius: 99px; font-size: 11px; font-weight: 850; }
.compare-pill.is-yes { color: var(--green); background: #d8ebe1; }
.compare-pill.is-no { color: #7c635a; background: #f2e9e4; }
.comparison-matrix-v2 .comparison-disclaimer { margin: 14px auto 0; text-align: center; }
.compare-choice { display: grid; grid-template-columns: 1.08fr .92fr; gap: 15px; margin-bottom: 28px; }
.compare-choice > article { min-height: 370px; padding: 39px 40px; border: 1px solid var(--line); border-radius: 20px; }
.compare-choice h2 { max-width: 500px; margin: 7px 0 22px; font-size: clamp(30px, 4vw, 42px); }
.compare-choice ul { display: grid; gap: 11px; margin: 0 0 28px; padding: 0; list-style: none; }
.compare-choice li { position: relative; padding-left: 25px; line-height: 1.5; }
.compare-choice li::before { position: absolute; left: 0; color: var(--orange); font-weight: 900; content: "✓"; }
.compare-choice-signed { color: white; background: linear-gradient(145deg, var(--green), #1b5d47); box-shadow: 0 24px 65px rgba(18, 63, 48, .18); }
.compare-choice-signed .eyebrow { color: #ffad89; }
.compare-choice-signed li { color: #e3eee8; }
.compare-choice-signed .button { border-color: var(--orange); background: var(--orange); }
.compare-choice-enterprise { background: rgba(255, 254, 250, .72); }
.compare-choice-enterprise .eyebrow { color: #748079; }
.compare-choice-enterprise li { color: #57635d; }
.compare-choice-enterprise li::before { color: #89948e; }
.compare-choice-enterprise > a { color: var(--green); font-weight: 850; text-underline-offset: 4px; }

/* Signed 3.0: adressebog, forløbsbygger og dokumentstudio */
.contact-book-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(480px, 1.28fr); gap: 22px; align-items: start; }
.contact-editor { position: sticky; top: 92px; }
.form-pair { display: grid; grid-template-columns: 1.5fr .7fr; gap: 12px; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.contact-list-card .section-heading { margin-top: 0; }
.contact-list-card input[type=search] { width: min(250px, 100%); }
.contact-list { display: grid; gap: 7px; }
.contact-row { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 13px 4px; border-top: 1px solid var(--line); }
.contact-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: white; background: var(--green); font-weight: 850; }
.contact-row > div:nth-child(2) { display: grid; gap: 2px; }
.contact-row small { color: var(--muted); }
.contact-actions { display: flex; align-items: center; gap: 8px; }
.contact-actions form { margin: 0; }
.role-settings-grid { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: 18px; }
.role-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.role-chip { display: inline-flex; align-items: center; gap: 5px; padding: 8px 11px; border: 1px solid #bfd0c7; border-radius: 99px; color: var(--green); background: #f2f8f5; font-size: 12px; font-weight: 800; }
.role-chip form { display: inline; margin: 0; }
.role-chip button { border: 0; color: #9b4932; background: none; cursor: pointer; font-size: 17px; line-height: 1; }
.legacy-send { margin-top: 12px; }
.legacy-send summary { color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 750; }
.legacy-send form { margin-top: 15px; }
.workflow-builder { display: grid; gap: 18px; }
.workflow-title-card { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; }
.workflow-help { display: grid; gap: 5px; padding: 16px 18px; border-radius: 13px; color: #355247; background: #eef5f1; font-size: 12px; }
.workflow-stage { display: grid; gap: 15px; border-left: 5px solid var(--green); }
.workflow-stage > header { display: grid; grid-template-columns: auto minmax(220px, 1fr) auto; gap: 15px; align-items: end; }
.stage-order-buttons { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.stage-number { align-self: center; color: var(--orange); font-size: 11px; font-weight: 900; letter-spacing: .11em; }
.participant-rows { display: grid; gap: 8px; }
.workflow-participant { display: grid; grid-template-columns: 22px 1fr 1.1fr .9fr .8fr .9fr auto auto; gap: 8px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfa; }
.workflow-participant label { font-size: 10px; }
.workflow-participant input, .workflow-participant select { min-width: 0; font-size: 12px; }
.participant-grip { align-self: center; color: #98a39d; }
.visual-choice { align-self: center; display: flex !important; align-items: center; gap: 5px; white-space: nowrap; }
.workflow-builder-actions { display: flex; justify-content: space-between; gap: 12px; }
.workflow-studio { display: grid; grid-template-columns: 104px minmax(0, 1fr) minmax(290px, 340px); gap: 14px; align-items: start; width: min(1580px, calc(100vw - 22px)); margin-left: 50%; transform: translateX(-50%); }
.workflow-thumbnail-rail { position: sticky; top: 88px; display: grid; max-height: calc(100vh - 110px); gap: 8px; overflow: auto; }
.workflow-thumbnail-rail button { position: relative; padding: 4px; border: 1px solid #c8d0cb; border-radius: 7px; background: white; cursor: pointer; }
.workflow-thumbnail-rail button.is-active { border: 3px solid var(--green); padding: 2px; box-shadow: 0 7px 18px rgba(18,63,48,.17); }
.workflow-thumbnail-rail canvas { display: block; width: 100%; height: auto; }
.workflow-thumbnail-rail span { position: absolute; right: 3px; bottom: 3px; min-width: 20px; padding: 2px; border-radius: 5px; color: white; background: rgba(18,63,48,.9); font-size: 9px; }
.workflow-document-column { min-width: 0; padding: 9px; border: 1px solid #d4d9d5; border-radius: 17px; background: #fdfcf8; box-shadow: 0 16px 45px rgba(21,35,29,.08); }
.studio-toolbar { position: sticky; z-index: 5; top: 84px; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 49px; margin-bottom: 8px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,254,250,.96); box-shadow: 0 5px 16px rgba(21,35,29,.06); backdrop-filter: blur(10px); }
.studio-toolbar button { min-height: 33px; padding: 0 11px; border: 1px solid #c8d2cc; border-radius: 8px; color: var(--green); background: white; cursor: pointer; font-weight: 850; }
.studio-toolbar i { width: 1px; height: 24px; background: var(--line); }
.workflow-document-stage { display: grid; min-height: 570px; height: clamp(570px, calc(100dvh - 195px), 920px); overflow: auto; place-items: center; padding: 20px; border-radius: 12px; background: #d8dedb; box-shadow: inset 0 0 0 1px #c3cbc7; overscroll-behavior: contain; }
.workflow-canvas-wrap { position: relative; width: max-content; margin: auto; box-shadow: 0 18px 50px rgba(17,34,27,.18); }
#workflow-document-canvas { display: block; max-width: none; background: white; }
#workflow-markers { position: absolute; inset: 0; pointer-events: none; }
.workflow-marker { position: absolute; display: grid; min-width: 118px; aspect-ratio: 3.15 / 1; align-content: end; gap: 1px; padding: 19px 10px 7px; border: 2px dashed #247052; border-radius: 7px; color: #183b2d; background: rgba(224,244,234,.78); box-shadow: 0 5px 16px rgba(18,63,48,.14); transform: translate(-50%, -50%); pointer-events: auto; cursor: grab; text-align: left; touch-action: none; user-select: none; }
.workflow-marker::before { position: absolute; top: 7px; right: 11px; left: 11px; border-top: 1px solid rgba(36,112,82,.42); content: ''; }
.workflow-marker strong { position: absolute; top: -11px; left: 8px; max-width: calc(100% - 16px); padding: 3px 7px; overflow: hidden; border-radius: 5px; color: white; background: var(--green); box-shadow: 0 3px 8px rgba(18,63,48,.18); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.workflow-marker small { overflow: hidden; color: #315c49; font-size: 8px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.workflow-marker > i { width: 72%; margin-top: 3px; border-bottom: 1px solid rgba(18,63,48,.7); }
.workflow-marker-handle { position: absolute; right: -7px; bottom: -7px; width: 15px; height: 15px; border: 2px solid white; border-radius: 4px; background: var(--orange); box-shadow: 0 2px 7px rgba(60,31,20,.25); cursor: nwse-resize; }
.workflow-marker.is-selected { outline: 4px solid rgba(239,106,58,.28); border-color: var(--orange); background: rgba(255,239,228,.86); }
.workflow-marker.is-passive { opacity: .5; pointer-events: none; }
.workflow-marker.is-dragging { z-index: 4; cursor: grabbing; opacity: .88; }
.workflow-panel { position: sticky; top: 86px; display: grid; max-height: calc(100vh - 105px); gap: 10px; overflow: auto; }
.workflow-panel-heading { padding: 17px 18px; border-radius: 15px; color: white; background: linear-gradient(145deg, var(--green), #1d6049); box-shadow: 0 12px 30px rgba(18,63,48,.16); }
.workflow-panel-heading .eyebrow { margin-bottom: 5px; color: #ffad89; }
.workflow-panel-heading h2 { margin-bottom: 7px; font: 750 22px/1.1 Georgia, serif; }
.workflow-panel-heading p { margin: 0; color: #d7e6df; font-size: 11px; line-height: 1.5; }
.workflow-stage-status { padding: 15px; }
.workflow-stage-status.is-active { border-color: #7aab92; box-shadow: 0 10px 30px rgba(18,63,48,.1); }
.workflow-stage-status > header { display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; margin-bottom: 9px; }
.workflow-stage-status > header span, .workflow-stage-status > header small { color: var(--muted); font-size: 9px; font-weight: 850; }
.workflow-person { display: grid; grid-template-columns: 31px 1fr auto; width: 100%; gap: 9px; align-items: center; margin-top: 6px; padding: 8px; border: 1px solid transparent; border-radius: 10px; color: inherit; background: #f7f8f6; cursor: pointer; text-align: left; }
.workflow-person:disabled { cursor: default; }
.workflow-person > span:first-child { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: white; background: var(--green); font-size: 11px; font-weight: 850; }
.workflow-person > span:nth-child(2) { display: grid; min-width: 0; }
.workflow-person strong, .workflow-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workflow-person small { color: var(--muted); font-size: 9px; }
.workflow-person b { color: var(--muted); font-size: 9px; }
.workflow-person.needs-field:not(.has-field) b { color: var(--orange); }
.workflow-person.is-selected { border-color: var(--green); background: #eaf4ef; }
.workflow-start-card { display: grid; gap: 10px; }
.workflow-start-card form { margin: 0; }
.workflow-start-card #workflow-placement-readiness { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.workflow-start-card #workflow-placement-readiness.is-ready { color: var(--green); font-weight: 800; }
.workflow-complete-card { display: grid; justify-items: start; gap: 10px; }
.workflow-complete-card > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: white; background: var(--green); font-size: 20px; }
.billing-balance { display: grid; grid-template-columns: .7fr 1.3fr; gap: 35px; align-items: center; margin-bottom: 20px; color: white; background: linear-gradient(135deg, var(--green), #1f664d); }
.billing-balance > div { display: grid; }
.billing-balance .eyebrow { color: #ffac87; }
.billing-balance strong { font: 800 clamp(52px, 8vw, 82px)/1 Georgia, serif; }
.billing-balance small, .billing-balance p { color: #dbe9e2; }
.billing-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; margin-bottom: 20px; }
.price-list, .invoice-list { display: grid; gap: 6px; }
.price-list > div, .invoice-list > a, .invoice-list > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 4px; border-top: 1px solid var(--line); color: inherit; text-decoration: none; }
.price-list span, .invoice-list span { display: grid; gap: 2px; }
.price-list small, .invoice-list small { color: var(--muted); }
.invoice-list > a > span:last-child { justify-items: end; }
.billing-heading { align-items: end; }
.billing-heading form label { min-width: 150px; }
.billing-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.billing-kpis article { display: grid; min-height: 128px; align-content: center; padding: 20px; border: 1px solid #cfdbd4; border-radius: 17px; background: linear-gradient(145deg, #fff, #f2f7f4); box-shadow: 0 9px 27px rgba(18,63,48,.06); }
.billing-kpis span, .billing-kpis small { color: var(--muted); font-size: 10px; font-weight: 800; }
.billing-kpis strong { margin: 7px 0 4px; color: var(--green); font: 800 32px/1 Georgia, serif; }
.billing-chart-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; margin-bottom: 18px; }
.billing-chart-grid article { min-height: 315px; }
.billing-chart-grid header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.billing-chart-grid header strong { color: var(--green); font: 800 36px/1 Georgia, serif; }
.billing-line-chart svg { width: 100%; height: 210px; margin-top: 13px; overflow: visible; }
.billing-line-chart footer { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; font-weight: 750; }
.billing-method-chart > div { display: grid; gap: 15px; margin-top: 28px; }
.billing-method-chart > div > span { display: grid; gap: 6px; }
.billing-method-chart label { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; }
.billing-method-chart em { color: var(--muted); font-style: normal; font-weight: 850; }
.billing-method-chart i { height: 10px; overflow: hidden; border-radius: 99px; background: #e6ece8; }
.billing-method-chart u { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green), var(--orange)); text-decoration: none; }
.billing-cost-chart { grid-column: 1 / -1; min-height: 255px !important; }
.billing-cost-chart svg { width: 100%; height: 145px; margin-top: 12px; }
.billing-cost-chart footer { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; }
.chart-legend { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; }
.chart-legend i { width: 18px; border-top: 3px solid var(--green); }
.chart-legend i.points { border-color: var(--orange); }
.invoice-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 12px 0 17px; }
.invoice-summary span { display: grid; padding: 10px; border-radius: 10px; background: #f1f5f2; text-align: center; }
.invoice-summary b { color: var(--green); font-size: 18px; }
.invoice-summary small { color: var(--muted); font-size: 9px; }
.billing-profile-card { margin-bottom: 20px; }
.billing-profile-card .section-heading { margin: 0 0 18px; }
.owner-only-badge { padding: 7px 11px; border-radius: 99px; color: var(--green); background: #e7f2ec; font-size: 9px; font-weight: 850; }
.billing-profile-form { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.billing-profile-form .wide { grid-column: span 2; }
.billing-profile-form .form-actions { align-self: end; }
.signature-layout-choice { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 13px; align-items: stretch; }
.signature-layout-choice > div { align-self: center; }
.signature-layout-choice > label { position: relative; display: flex; gap: 10px; align-items: flex-start; padding: 17px; border: 1px solid #cbd8d0; border-radius: 13px; background: #f8faf8; cursor: pointer; }
.signature-layout-choice > label:has(input:checked) { border-color: var(--green); background: #eaf4ef; box-shadow: inset 0 0 0 1px var(--green); }
.signature-layout-choice input { margin-top: 2px; accent-color: var(--green); }
.signature-layout-choice label span { display: grid; gap: 5px; }
.signature-layout-choice small { color: var(--muted); line-height: 1.45; }
.appendix-confirmation { display: grid; grid-template-columns: 95px 1fr; max-width: 820px; gap: 25px; align-items: start; margin: 0 auto; padding: 32px; }
.appendix-seal-preview { display: grid; place-items: center; width: 86px; height: 86px; border: 4px double var(--green); border-radius: 50%; color: var(--green); background: #eaf4ef; font-size: 38px; font-weight: 850; }
.appendix-confirmation dl { display: grid; margin: 20px 0; }
.appendix-confirmation dl div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); }
.appendix-confirmation dt { color: var(--muted); font-size: 10px; font-weight: 850; }
.appendix-mode-notice { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 15px 18px; border-color: #a9c6b7; background: #edf6f1; }
.appendix-mode-notice > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; color: white; background: var(--green); font-weight: 850; }
.appendix-mode-notice p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.point-purchase-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 34px; align-items: stretch; margin-bottom: 18px; overflow: hidden; }
.point-purchase-intro { padding: 8px 5px; }
.point-purchase-intro h2 { margin-bottom: 10px; font-size: clamp(28px, 4vw, 43px); }
.point-purchase-intro p { max-width: 580px; color: var(--muted); line-height: 1.65; }
.point-price { display: grid; margin-top: 28px; padding: 18px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--green), #29765a); }
.point-price strong { font: 800 29px/1 Georgia, serif; }
.point-price span { margin-top: 6px; color: #dcebe4; font-size: 10px; font-weight: 750; }
.point-purchase-form { display: grid; gap: 14px; padding: 22px; border: 1px solid #c9d8d0; border-radius: 17px; background: #f5f8f6; }
.point-purchase-form fieldset { display: grid; gap: 8px; padding: 0; border: 0; }
.point-purchase-form legend { margin-bottom: 7px; color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.payment-method-option { display: flex; gap: 11px; align-items: flex-start; padding: 14px; border: 1px solid #c9d7d0; border-radius: 12px; background: white; cursor: pointer; }
.payment-method-option:has(input:checked) { border-color: var(--green); background: #eaf4ef; box-shadow: inset 0 0 0 1px var(--green); }
.payment-method-option.is-disabled { cursor: not-allowed; opacity: .58; }
.payment-method-option input { margin-top: 2px; accent-color: var(--green); }
.payment-method-option span { display: grid; gap: 4px; }
.payment-method-option small { color: var(--muted); }
.purchase-total { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-top: 12px; border-top: 1px solid var(--line); }
.purchase-total span { color: var(--muted); font-size: 10px; font-weight: 850; }
.purchase-total strong { color: var(--green); font: 800 28px/1 Georgia, serif; }
.purchase-order-history { margin-bottom: 18px; }
.purchase-status { display: inline-flex; align-items: center; width: max-content; padding: 5px 9px; border-radius: 99px; color: #4d5b54; background: #e8ece9; font-size: 9px; font-weight: 850; white-space: nowrap; }
.purchase-status.is-completed { color: #125438; background: #dff1e7; }
.purchase-status.is-awaiting_payment, .purchase-status.is-pending { color: #76540d; background: #fff0c7; }
.purchase-status.is-failed, .purchase-status.is-expired, .purchase-status.is-cancelled { color: #973b31; background: #f9dfda; }
.purchase-order-history td .error-text { display: block; max-width: 280px; margin-top: 5px; }
.checkout-result { display: grid; grid-template-columns: 110px minmax(0, 1fr); max-width: 850px; gap: 28px; align-items: start; margin: 35px auto; padding: 38px; }
.checkout-result-icon { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; color: white; background: var(--green); font: 800 44px/1 Georgia, serif; }
.checkout-result.is-pending .checkout-result-icon { color: #5e460f; background: #f5d980; }
.checkout-result.is-failed .checkout-result-icon { background: #a3483d; }
.checkout-result h1 { margin: 5px 0 12px; }
.checkout-result p { max-width: 650px; color: var(--muted); line-height: 1.65; }
.checkout-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 22px 0; }
.checkout-facts div { padding: 13px; border: 1px solid var(--line); }
.checkout-facts dt { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.checkout-facts dd { margin: 5px 0 0; font-weight: 800; }
.platform-point-sales, .invoice-approval-card { margin-bottom: 20px; }
.point-sales-settings { grid-template-columns: minmax(180px, 1.2fr) repeat(5, minmax(90px, .7fr)) auto auto; }
.invoice-approval-card { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: start; }
.invoice-approval-card p { color: var(--muted); line-height: 1.6; }
.invoice-approval-form { display: grid; gap: 12px; }
.invoice-approval-form .consent { padding: 14px; border: 1px solid #cbd8d1; border-radius: 12px; background: #f6f8f6; }
.invoice-approval-form .consent span { display: grid; gap: 4px; }
.invoice-approval-form textarea { resize: vertical; }
.platform-point-balance { display: flex; align-items: baseline; gap: 12px; margin-bottom: 25px; }
.platform-point-balance strong { color: var(--green); font: 800 56px/1 Georgia, serif; }
.platform-funnel { display: grid; grid-template-columns: .35fr 1.65fr; gap: 30px; align-items: center; }
.funnel-steps { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.funnel-steps span { display: grid; min-width: 110px; gap: 3px; text-align: center; }
.funnel-steps b { color: var(--green); font: 800 28px Georgia, serif; }
.funnel-steps i { color: var(--orange); font-style: normal; font-weight: 900; }
.service-price-list { display: grid; }
.service-price-row { display: grid; grid-template-columns: 1.5fr .45fr .55fr .4fr auto auto; gap: 10px; align-items: end; padding: 12px 0; border-top: 1px solid var(--line); }
.service-price-row > span { display: grid; }
.service-price-row small { color: var(--muted); }
.service-price-row label { font-size: 10px; }

/* Kortlivet mobil underskriftstavle til Windows-appen */
.minimal-layout { min-height: 100svh; overflow-x: hidden; overscroll-behavior: none; background: radial-gradient(circle at 85% 8%, #dcebe3, transparent 36%), var(--canvas); }
.mobile-pad-drawing { overflow: hidden !important; overscroll-behavior: none !important; }
.minimal-layout .site-header, .minimal-layout .site-footer, .minimal-layout .cookie-notice, .minimal-layout > script { display: none; }
.minimal-layout .page-shell { display: grid; width: min(760px, calc(100% - 28px)); min-height: 100svh; margin: 0 auto; place-items: center; padding: 28px 0; }
.standalone-pad-page { width: 100%; }
.standalone-pad-brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 28px; }
.standalone-pad-brand > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: white; background: var(--green); font: italic 750 23px Georgia, serif; }
.standalone-pad-brand > div { display: grid; line-height: 1; }
.standalone-pad-brand strong { font: 800 24px Georgia, serif; }
.standalone-pad-brand small { margin-top: 3px; color: var(--orange); font-size: 9px; font-weight: 850; }
.standalone-pad-copy { max-width: 650px; margin: 0 auto 20px; text-align: center; }
.standalone-pad-copy .eyebrow { justify-content: center; }
.standalone-pad-copy h1 { margin: 5px 0 13px; font-size: clamp(40px, 9vw, 62px); }
.standalone-pad-copy p { margin: 0; color: #526058; font-size: 16px; line-height: 1.6; }
.standalone-pad-card { padding: 17px; border: 1px solid #b8c8bf; border-radius: 20px; background: var(--paper); box-shadow: 0 24px 70px rgba(21, 50, 37, .14); }
.standalone-pad-field { position: relative; overflow: hidden; padding: 42px 12px 12px; border: 2px solid #a8c6b7; border-radius: 24px; background: #edf7f1; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .52), 0 5px 16px rgba(18, 63, 48, .07); touch-action: none; }
.standalone-pad-field > strong { position: absolute; z-index: 2; top: 13px; left: 18px; padding: 4px 9px; border-radius: 999px; color: var(--green); background: rgba(255, 255, 255, .76); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; pointer-events: none; }
.standalone-pad-field::after { content: ''; position: absolute; z-index: 0; right: 25px; bottom: 27%; left: 25px; border-bottom: 2px solid #c8ddd2; pointer-events: none; }
#standalone-signature-canvas { position: relative; z-index: 1; display: block; width: 100%; height: clamp(220px, 42vw, 310px); border: 0; border-radius: 16px; background: rgba(255, 255, 255, .42); cursor: crosshair; touch-action: none; overscroll-behavior: contain; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.standalone-pad-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 15px; }
.standalone-pad-card .error-text { min-height: 18px; margin: 9px 3px 0; text-align: center; }
.standalone-pad-privacy { margin: 15px 0 0; color: var(--muted); font-size: 11px; font-weight: 700; text-align: center; }
.standalone-pad-success, .standalone-pad-expired { max-width: 600px; margin: 0 auto; padding: 55px 30px; border: 1px solid #b4c8bd; border-radius: 22px; background: var(--paper); box-shadow: 0 24px 70px rgba(21, 50, 37, .12); text-align: center; }
.standalone-pad-success > span, .standalone-pad-expired > span { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 19px; border-radius: 50%; color: white; background: var(--green); font-size: 29px; }
.standalone-pad-success h2, .standalone-pad-expired h1 { margin-bottom: 10px; font-size: clamp(31px, 7vw, 45px); }
.standalone-pad-success p, .standalone-pad-expired p { margin: 0; color: var(--muted); line-height: 1.6; }

@media (max-width: 940px) {
    .hero { grid-template-columns: 1fr; padding-top: 20px; }
    .hero-copy { max-width: 720px; }
    .product-preview { min-height: 450px; }
    .feature-row { grid-template-columns: 1fr; }
    .feature-row article + article { border-top: 1px solid var(--line); border-left: 0; }
    .sign-layout, .detail-grid, .profile-grid, .tenant-admin-grid, .tenant-operations-grid, .seo-intro, .chart-grid, .access-group-grid, .access-rule-grid, .mfa-security-grid, .contact-book-grid, .role-settings-grid, .billing-grid, .billing-balance, .platform-funnel, .point-purchase-card, .invoice-approval-card { grid-template-columns: 1fr; }
    .contact-editor { position: static; }
    .workflow-participant { grid-template-columns: 22px 1fr 1fr; }
    .service-price-row { grid-template-columns: 1fr 1fr 1fr; }
    .workflow-studio { grid-template-columns: 62px minmax(0, 1fr) minmax(235px, 280px); gap: 9px; }
    .workflow-panel { position: sticky; grid-column: auto; max-height: calc(100vh - 105px); }
    .workflow-document-stage { min-height: 510px; padding: 12px; }
    .studio-toolbar { gap: 5px; overflow-x: auto; justify-content: flex-start; }
    .studio-toolbar button { flex: 0 0 auto; padding: 0 8px; }
    .admin-stats { grid-template-columns: 1fr; }
    .seo-copy { columns: 1; }
    .use-case-grid { grid-template-columns: 1fr; }
    .comparison-cards { grid-template-columns: 1fr; }
    .comparison-cards .card { min-height: 0; }
    .comparison-kicker { margin-bottom: 15px; }
    .comparison-cta { grid-template-columns: 1fr; }
    .compare-hero-v2 { grid-template-columns: 1fr; min-height: 0; }
    .compare-hero-copy { max-width: 730px; }
    .compare-product { justify-self: center; }
    .compare-value-strip { grid-template-columns: 1fr; }
    .compare-value-strip article + article { border-top: 1px solid var(--line); border-left: 0; }
    .compare-choice { grid-template-columns: 1fr; }
    .sign-panel { position: static; }
    .footer-inner { grid-template-columns: 1fr 1fr; }
    .footer-social { grid-template-columns: repeat(3, max-content); }
    .billing-kpis { grid-template-columns: 1fr 1fr; }
    .billing-chart-grid { grid-template-columns: 1fr; }
    .billing-profile-form { grid-template-columns: 1fr 1fr; }
    .signature-layout-choice { grid-template-columns: 1fr; }
    .esigned-hero, .intelligence-callout, .payg-callout { grid-template-columns: 1fr; }
    .intake-preview { width: min(680px, 100%); }
    .workflow-steps { grid-template-columns: 1fr 1fr; }
    .workflow-steps article:nth-child(3) { border-left: 0; }
    .workflow-steps article:nth-child(n+3) { border-top: 1px solid var(--line); }
}

@media (max-width: 720px) {
    .site-header { min-height: 72px; padding: 12px 16px; }
    .site-header nav { gap: 3px; }
    .site-header nav > a:not(.button) { padding: 9px 8px; }
    .profile-link b { display: none; }
    .brand-copy small { display: none; }
    .page-shell { width: min(100% - 28px, 1180px); margin-top: 32px; }
    .hero { min-height: 0; gap: 38px; padding-bottom: 48px; }
    .hero h1 { font-size: clamp(45px, 13vw, 66px); letter-spacing: -2.5px; }
    .product-preview { min-height: 400px; }
    .preview-body { min-height: 342px; }
    .offline-callout { align-items: flex-start; flex-direction: column; padding: 34px 28px; }
    .download-action { width: 100%; justify-items: stretch; text-align: center; }
    .upload-card, .upload-form { align-items: stretch; flex-direction: column; }
    .upload-form input[type=text] { width: 100%; }
    .document-library { grid-template-columns: 1fr; }
    .folder-sidebar { position: static; }
    .folder-sidebar > nav:first-of-type { grid-template-columns: 1fr 1fr; }
    .document-row { grid-template-columns: 46px 1fr auto; }
    .document-row .guest, .document-row .chevron { display: none; }
    .document-stage { min-height: 320px; padding: 10px; }
    .form-pair, .workflow-title-card, .workflow-stage > header { grid-template-columns: 1fr; }
    .funnel-steps { align-items: stretch; flex-direction: column; }
    .funnel-steps i { transform: rotate(90deg); text-align: center; }
    .workflow-studio { grid-template-columns: 54px minmax(0, 1fr) minmax(218px, 250px); width: calc(100vw - 10px); gap: 7px; }
    .workflow-thumbnail-rail { top: 78px; }
    .workflow-document-column { padding: 6px; }
    .workflow-document-stage { min-height: 460px; height: calc(100dvh - 170px); padding: 8px; }
    .workflow-panel { top: 78px; }
    .workflow-panel-heading { padding: 13px; }
    .workflow-panel-heading p { display: none; }
    .workflow-stage-status { padding: 10px; }
    .workflow-participant { grid-template-columns: 1fr; }
    .service-price-row { grid-template-columns: 1fr; }
    .checkout-result { grid-template-columns: 1fr; padding: 26px; }
    .checkout-result-icon { width: 72px; height: 72px; font-size: 34px; }
    .checkout-facts { grid-template-columns: 1fr; }
    .point-purchase-card { padding: 20px; gap: 20px; }
    .point-purchase-form { padding: 16px; }
    .purchase-total { align-items: flex-start; flex-direction: column; gap: 6px; }
    .sign-page { width: 100%; margin-left: 0; transform: none; }
    .page-nav { width: 100%; flex-wrap: wrap; }
    .current-bundle-document { width: 100%; max-width: none; }
    .web-signing-tool { padding: 20px; }
    #signature-pad { height: 185px; }
    .mobile-pairing-card { display: none; }
    .mobile-signature-mode #signature-pad { height: 235px; }
    .mobile-sign-summary { align-items: flex-start; }
    .page-heading, .document-header, .sign-heading { align-items: flex-start; flex-direction: column; }
    .copy-row { flex-direction: column; }
    .member-list > div { align-items: flex-start; }
    .member-actions { align-items: flex-end; flex-direction: column; gap: 8px; }
    .access-rule-row { grid-template-columns: 1fr; }
    .metadata-transfer-form { align-items: stretch; flex-direction: column; }
    .footer-inner { grid-template-columns: 1fr; }
    .footer-social { grid-template-columns: repeat(3, max-content); }
.footer-identity { grid-column: auto; }
    .cookie-notice { align-items: stretch; flex-direction: column; gap: 14px; }
    .mail-health, .request-list > div { align-items: flex-start; flex-direction: column; }
    .dmarc-stats, .dmarc-tables { grid-template-columns: 1fr; }
    .health-badges { justify-content: flex-start; }
    .legal-page > section { padding: 21px 20px; }
    .faq-grid { grid-template-columns: 1fr; }
    .roadmap-hero { margin-bottom: 32px; }
    .roadmap-track::before { left: 42px; }
    .roadmap-step { grid-template-columns: 64px 1fr; gap: 14px; padding: 21px 18px; }
    .roadmap-step h2 { font-size: 21px; }
    .funding-divider span { max-width: 230px; }
    .comparison-hero { margin-bottom: 42px; }
    .comparison-hero h1 { font-size: clamp(45px, 13vw, 64px); }
    .comparison-proof { display: grid; align-items: start; justify-items: start; }
    .comparison-matrix-heading { align-items: start; flex-direction: column; gap: 10px; }
    .comparison-cta { gap: 25px; margin-top: 42px; padding: 31px 25px; }
    .comparison-actions { width: 100%; min-width: 0; }
    .compare-hero-v2 { gap: 32px; padding-top: 10px; }
    .compare-hero-copy h1 { font-size: clamp(43px, 12vw, 60px); }
    .compare-hero-copy > p:not(.compare-install-note) { font-size: 16px; }
    .compare-hero-actions { align-items: stretch; flex-direction: column; gap: 14px; }
    .compare-text-link { text-align: center; }
    .compare-install-note { text-align: center; }
    .compare-product { width: min(500px, calc(100% - 4px)); padding-bottom: 36px; }
    .compare-window-body { grid-template-columns: 38px 1fr; min-height: 315px; padding: 17px 12px; }
    .compare-tools { display: none; }
    .compare-paper { min-height: 280px; padding: 30px 27px; }
    .compare-local-badge { right: -3px; min-width: 220px; }
    .compare-value-strip { margin-bottom: 62px; }
    .compare-value-strip article { padding: 21px 8px; }
    .compare-choice > article { min-height: 0; padding: 31px 25px; }
    .minimal-layout .page-shell { padding: 18px 0; }
    .standalone-pad-brand { margin-bottom: 20px; }
    .standalone-pad-copy p { font-size: 14px; }
    .standalone-pad-card { padding: 11px; border-radius: 16px; }
    .standalone-pad-field { padding: 38px 8px 8px; border-radius: 21px; }
    #standalone-signature-canvas { height: clamp(200px, 34dvh, 265px); }
    .standalone-pad-actions { align-items: stretch; flex-direction: column-reverse; }
    .standalone-pad-actions .button { width: 100%; }
    .recovery-code-panel ul { grid-template-columns: 1fr; }
    .branding-grid { grid-template-columns: 1fr; }
    .billing-kpis, .billing-profile-form { grid-template-columns: 1fr; }
    .billing-profile-form .wide { grid-column: auto; }
    .appendix-confirmation { grid-template-columns: 1fr; padding: 23px; }
    .domain-start-form { grid-template-columns: 1fr; }
    .dns-record > div { grid-template-columns: 1fr; gap: 4px; }
    .brand-logo { max-width: 90px; height: 38px; }
    .account-brand .brand-copy { display: none; }
    .platform-logo { width: min(145px, 36vw); max-width: 145px; height: 42px; }
    .esigned-hero { gap: 42px; }
    .intake-document { grid-template-columns: .8fr 1.2fr; margin-right: 14px; margin-left: 14px; padding: 14px; }
    .intake-mail, .intake-ready { margin-right: 14px; margin-left: 14px; }
    .home-workflow, .intelligence-callout { margin: 68px 0; }
    .workflow-steps { grid-template-columns: 1fr; }
    .workflow-steps article + article { border-top: 1px solid var(--line); border-left: 0; }
    .intelligence-callout { padding: 34px 27px; }
    .intelligence-copy ul { grid-template-columns: 1fr; }
    .payg-callout { padding: 34px 28px; }
}

@media (max-width: 560px) {
    .workflow-studio { grid-template-columns: 1fr; width: 100%; margin-left: 0; transform: none; }
    .workflow-panel { position: static; grid-row: 1; max-height: none; }
    .workflow-thumbnail-rail { position: static; grid-row: 2; grid-template-columns: repeat(auto-fill, minmax(55px, 1fr)); max-height: 120px; }
    .workflow-document-column { grid-row: 3; }
    .workflow-document-stage { min-height: 410px; height: auto; max-height: 72dvh; }
    .workflow-panel-heading p { display: block; }
}

@media (max-width: 470px) {
    .site-header .button.small { min-height: 38px; padding: 0 11px; }
    .brand-mark { width: 37px; height: 37px; }
    .brand strong { font-size: 21px; }
    .hero-proof { display: grid; }
    .product-preview { min-height: 350px; border-radius: 20px; }
    .preview-body { min-height: 292px; padding: 18px; }
    .preview-panel { display: none; }
    .preview-toast { right: 12px; bottom: 12px; width: 225px; }
    .feature-row article { padding: 28px 18px; }
    .platform-logo { width: 126px; height: 38px; }
    .intake-window-top b { display: none; }
    .intake-route { gap: 5px; padding-right: 12px; padding-left: 12px; }
    .intake-route span { font-size: 8px; }
    .intake-document { grid-template-columns: 1fr; }
    .mini-paper { min-height: 190px; }
    .intake-insights { padding: 7px 3px; }
    .intake-ready { grid-template-columns: auto 1fr; }
    .intake-ready a { display: none; }
    .auth-card { margin-top: 28px; padding: 25px 20px; }
    .facts div { grid-template-columns: 1fr; gap: 5px; }
    .footer-links { grid-template-columns: 1fr; }
    .footer-social { grid-template-columns: 1fr; }
    .legal-facts div, .legal-facts.wide div { grid-template-columns: 1fr; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
