/* LuaDock Public Design System 01.26.05
 * Canonical visual source for all public LuaDock.org surfaces.
 * Internal admin/control surfaces intentionally use a separate design system.
 */
:root{
  --ld-navy:#00172f;
  --ld-navy-2:#0b2948;
  --ld-blue:#2269d9;
  --ld-blue-hover:#1756bb;
  --ld-bg:#001326;
  --ld-bg-2:#041a33;
  --ld-surface:#ffffff;
  --ld-surface-soft:#f8fafc;
  --ld-line:#dce5f0;
  --ld-line-strong:#bfccdc;
  --ld-text:#ecf4ff;
  --ld-heading:#ffffff;
  --ld-brand-navy:#00172f;
  --ld-section-alt:#06182c;
  --ld-header-bg:#00172f;
  --ld-header-text:#c1d0e2;
  --ld-footer-bg:#001326;
  --ld-input-bg:#071d36;
  --ld-table-bg:#071d36;
  --ld-table-head-bg:#0b223c;
  --ld-ghost-bg:#071d36;
  --ld-ghost-text:#e8f2ff;
  --ld-chip-bg:#17385d;
  --ld-chip-text:#ffffff;
  --ld-font-scale:1;
  --ld-muted:#65758b;
  --ld-success:#167a4b;
  --ld-warning:#9a5c00;
  --ld-danger:#b42318;
  --ld-radius:18px;
  --ld-radius-sm:11px;
  --ld-shadow:0 16px 40px rgba(0,23,47,.09);
  --ld-shadow-soft:0 6px 20px rgba(0,23,47,.06);
  --ld-shell:1120px;
  color-scheme:light;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ld-bg);color:var(--ld-text)}
body{margin:0;background:var(--ld-bg);color:var(--ld-text);font:15px/1.58 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ld-blue);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
.shell,.public-shell{width:min(var(--ld-shell),calc(100% - 32px));margin-inline:auto}
.userportal,.public-main-shell{width:min(var(--ld-shell),calc(100% - 32px));max-width:none;margin:0 auto;padding:42px 0 72px}
.skip-link{position:fixed;left:12px;top:10px;z-index:1000;transform:translateY(-160%);background:var(--ld-navy);color:#fff;padding:9px 13px;border-radius:9px}.skip-link:focus{transform:none}

/* Brand + global public header */
.site-header,.public-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--ld-line);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.header-inner,.public-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark,.public-wordmark{font-size:25px;font-weight:800;letter-spacing:-.035em;color:var(--ld-navy);white-space:nowrap}.wordmark span,.public-wordmark span{color:var(--ld-navy)}.wordmark strong,.public-wordmark strong{color:var(--ld-blue)}
.site-nav,.public-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.site-nav a,.public-nav a{font-weight:650;color:#334a64}.site-nav a:hover,.public-nav a:hover{color:var(--ld-blue);text-decoration:none}
.header-actions{display:flex;gap:9px;align-items:center}.nav-toggle{display:none!important}

/* Typography */
.eyebrow,.hubEyebrow{margin:0 0 8px!important;color:var(--ld-blue)!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.14em!important}
h1,h2,h3,h4{color:var(--ld-navy);line-height:1.15}h1{font-size:clamp(31px,5vw,48px);letter-spacing:-.04em;margin:0 0 16px}h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.025em;margin:0 0 14px}h3{font-size:20px;margin:0 0 10px}.lead{font-size:17px;color:var(--ld-muted)}.muted,.small.muted,.price-note{color:var(--ld-muted)!important}.small{font-size:13px}

/* Unified cards/panels */
.panel,.product-card,.auth-card,.account-card,.status-card,.panel-public,.feature-card,.workflow-card,.benefit-card,.faq-item,.premium-card,.price-card,.pricing-card,.account-panel,.final-cta,.legal-card,.cookie-card{
  background:var(--ld-surface)!important;border:1px solid var(--ld-line)!important;border-radius:var(--ld-radius)!important;box-shadow:var(--ld-shadow-soft)!important;color:var(--ld-text)!important;
}
.panel,.product-card,.account-card,.status-card,.panel-public{padding:22px}.panel+ .panel{margin-top:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.cards section{background:var(--ld-surface);border:1px solid var(--ld-line);border-radius:var(--ld-radius);padding:20px;box-shadow:var(--ld-shadow-soft)}

/* Buttons */
.btn,.button,.button-secondary,.btnlink,button,input[type=submit],input[type=button]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--ld-radius-sm);padding:10px 17px;font:inherit;font-weight:750;line-height:1.2;text-decoration:none;cursor:pointer;transition:.15s ease;border:1px solid transparent;width:auto;margin:0}
.btn-primary,.button,.btnlink,button:not(.secondary):not(.danger){background:var(--ld-blue)!important;color:#fff!important;border-color:var(--ld-blue)!important}.btn-primary:hover,.button:hover,.btnlink:hover,button:not(.secondary):not(.danger):hover{background:var(--ld-blue-hover)!important;border-color:var(--ld-blue-hover)!important;text-decoration:none!important}
.btn-ghost,.button-secondary,.secondary-link,button.secondary{background:#fff!important;color:var(--ld-navy)!important;border-color:var(--ld-line-strong)!important}.btn-ghost:hover,.button-secondary:hover,.secondary-link:hover,button.secondary:hover{background:var(--ld-surface-soft)!important;text-decoration:none!important}.danger,button.danger{background:var(--ld-danger)!important;color:#fff!important}.btn-disabled{opacity:.55;pointer-events:none;filter:none!important}.btn-large{min-height:48px;padding:12px 20px}.actions,.hero-actions,.account-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Forms */
label{color:var(--ld-text);font-weight:650}input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--ld-line-strong);border-radius:var(--ld-radius-sm);background:#fff;color:var(--ld-text);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(34,105,217,.13);border-color:var(--ld-blue)}textarea{min-height:110px;resize:vertical}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px}.check-row{display:flex!important;align-items:flex-start;gap:10px!important}.check-row input{width:auto!important;margin-top:4px}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.inline-form input,.inline-form select{width:auto}

/* Tables + badges */
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--ld-line);border-radius:14px;overflow:hidden}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #e7edf4;font-size:14px;vertical-align:top}th{background:#f8fafc;color:#42556b;font-size:12px;text-transform:uppercase;letter-spacing:.035em}tr:last-child td{border-bottom:0}.badge,.status-pill,.premium-badge,.price-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 10px;background:#edf3fa;color:var(--ld-navy);font-size:12px;font-weight:800}.status-pill.active{background:#e9f8ef;color:var(--ld-success)}.status-pill.warning{background:#fff4df;color:var(--ld-warning)}
.alert,.alert-public{border-radius:12px;padding:13px 15px;margin:0 0 18px;border:1px solid #efd5a0;background:#fff8ea;color:var(--ld-warning)}.alert-public.error{background:#fff2f0;border-color:#f4bbb5;color:var(--ld-danger)}.alert-public.ok,.ok{background:#effaf4;border-color:#b8e1c9;color:var(--ld-success)}

/* Account / portal composition */
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#eef4fb,#f7f9fc)}.login-card{width:min(460px,calc(100% - 28px));background:#fff;border:1px solid var(--ld-line);border-radius:22px;box-shadow:var(--ld-shadow);padding:32px}.login-card h1 span{color:var(--ld-blue)}
.portal-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.portal-head>div:last-child{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.portal-head a{font-weight:650}
.account-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;margin-bottom:22px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kv,.kv-public{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr;gap:8px 16px}.kv>div,.kv-public>div{padding:7px 0;border-bottom:1px solid #edf1f5}.kv>div:nth-child(odd),.kv-public>div:nth-child(odd){color:var(--ld-muted)}

/* Pricing */
.pricing-user-shell,.pricing-preview-shell{background:transparent!important;color:var(--ld-text)!important;padding:0!important}.pricing-hero,.pricing-preview-head{text-align:center;max-width:850px;margin:0 auto 26px}.pricing-grid,.pricing-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.pricing-card,.price-card{padding:0;overflow:hidden;min-height:0!important;transform:none!important}.pricing-card-body,.price-card{padding:25px}.pricing-card.featured,.price-card.featured{border-color:#8eb8f5!important;box-shadow:0 18px 44px rgba(34,105,217,.13)!important}.pricing-plan,.price-card h3{font-size:23px;color:var(--ld-navy)}.pricing-description,.price-desc{color:var(--ld-muted)!important}.pricing-price,.price-value{font-size:29px;font-weight:800;color:var(--ld-navy)}.pricing-card li,.price-card li{color:#30485f!important}.billing-switch,.billing-toggle{display:flex;justify-content:center;gap:8px;margin:18px auto 28px;background:#fff!important;border:1px solid var(--ld-line)!important;border-radius:14px!important;padding:5px;width:max-content}.billing-switch a,.billing-toggle a{padding:9px 15px;border-radius:10px;color:var(--ld-muted)!important;font-weight:700}.billing-switch a.active,.billing-toggle a.active{background:#e9f1fd!important;color:var(--ld-blue)!important}

/* Legal/cookie pages */
.legal-main,.cookie-main{padding:48px 0 72px}.legal-document,.cookie-document{width:min(900px,calc(100% - 32px));margin:0 auto}.legal-content{white-space:normal;line-height:1.72;color:#263b51}.legal-content h2{margin-top:34px}.legal-content h3{margin-top:24px}.cookie-table td:first-child code{white-space:nowrap}

/* Shared public footer */
.site-footer,.public-footer{margin-top:50px;border-top:1px solid var(--ld-line);background:#fff!important;color:var(--ld-muted)}.footer-grid,.public-footer .public-shell{padding:30px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}.footer-grid{width:min(var(--ld-shell),calc(100% - 32px));margin:0 auto}.footer-grid p{max-width:720px;margin:8px 0 0;color:var(--ld-muted)!important;font-size:13px}.footer-grid nav,.public-footer nav{display:flex;gap:15px;flex-wrap:wrap}.footer-grid nav a,.public-footer nav a{color:#425b74;font-weight:600}

/* Landing composition on the same global visual base */
.hero{padding:76px 0 64px;background:linear-gradient(180deg,#fff 0,#f4f7fb 100%);border-bottom:1px solid var(--ld-line)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.hero-copy h1{font-size:clamp(42px,6vw,66px);max-width:760px}.hero-lead{font-size:18px;color:var(--ld-muted);max-width:710px}.hero-meta{color:var(--ld-muted);font-size:13px}.hero-visual{display:flex;justify-content:flex-end}.screen-card{width:min(100%,560px);border:1px solid var(--ld-line);background:#fff;border-radius:22px;padding:16px;box-shadow:var(--ld-shadow)}.screen-top{display:flex;gap:6px;align-items:center;color:var(--ld-muted);font-size:12px;padding-bottom:12px}.screen-top i{width:9px;height:9px;border-radius:50%;background:#c7d3e2}.screen-top span{margin-left:auto;font-weight:800;color:var(--ld-navy)}.screen-workspace{height:310px;border-radius:14px;background:#eef3f9;display:grid;grid-template-columns:54px 1fr 78px;overflow:hidden}.tool-rail,.property-rail{background:#fff;border-right:1px solid var(--ld-line)}.property-rail{border-right:0;border-left:1px solid var(--ld-line)}.canvas{display:flex;align-items:center;justify-content:center}.x20{width:78%;aspect-ratio:5/3;border:1px solid #bfd0e3;border-radius:12px;background:#fff;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;box-shadow:0 10px 24px rgba(0,23,47,.08)}.x20 b{grid-column:1/-1;color:var(--ld-navy);font-size:12px}.x20 span{border-radius:8px;background:linear-gradient(135deg,#dceafd,#c4dbfb);border:1px solid #a9c9f7}.section{padding:82px 0}.section-head{max-width:760px;margin-bottom:34px}.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}.section-head>p:last-child,.product-copy>p:last-of-type,.account-panel p{color:var(--ld-muted);font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{min-height:220px;padding:26px}.feature-index{color:var(--ld-blue);font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:38px}.feature-card p,.workflow-card p,.benefit-card p,.premium-card p{color:var(--ld-muted)!important}.product-section,.workflow-section,.faq-section,.premium-section{background:#eef3f9!important;border-block:1px solid var(--ld-line)}.product-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.check-list{list-style:none;padding:0;margin:24px 0 0}.check-list li{position:relative;padding:7px 0 7px 26px;color:#30485f}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--ld-blue);font-weight:900}.product-shot,.premium-media{margin:0;background:#fff;border:1px solid var(--ld-line);border-radius:18px;overflow:hidden}.product-shot{box-shadow:var(--ld-shadow)}.product-shot img{width:100%;aspect-ratio:16/9;object-fit:cover}.product-shot figcaption{padding:11px 14px;color:var(--ld-muted);font-size:12px;border-top:1px solid var(--ld-line)}.premium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.premium-card{overflow:hidden}.premium-media{aspect-ratio:5/3;border:0!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--ld-line)!important}.premium-media img{width:100%;height:100%;display:block;object-fit:cover}.premium-copy{padding:23px}.premium-badge{margin-bottom:14px;background:#eaf2ff!important;color:var(--ld-blue)!important}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.workflow-card{padding:26px}.workflow-number{color:var(--ld-blue);font-size:12px;font-weight:850;letter-spacing:.14em;margin-bottom:34px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.benefit-card{padding:22px}.benefit-mark{width:34px;height:34px;margin-bottom:18px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#eaf2ff;color:var(--ld-blue);font-weight:900}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:start}.faq-list{display:grid;gap:12px}.faq-item{overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:19px 52px 19px 21px;font-weight:750;position:relative;color:var(--ld-navy)}.faq-item summary:after{content:"+";position:absolute;right:20px;top:14px;font-size:24px;color:var(--ld-blue)}.faq-item[open] summary:after{content:"–"}.faq-item p{margin:0;padding:0 21px 20px;color:var(--ld-muted)}.account-panel{padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta{padding:48px;text-align:center}.final-cta>p:not(.eyebrow){max-width:720px;margin:0 auto 24px;color:var(--ld-muted);font-size:17px}.final-cta .hero-actions{justify-content:center}

@media(max-width:980px){.hero-grid,.product-grid{grid-template-columns:1fr}.hero-visual{justify-content:flex-start}.benefit-grid{grid-template-columns:repeat(2,1fr)}.premium-grid{grid-template-columns:1fr 1fr}.premium-card:last-child{grid-column:1/-1}.pricing-grid,.pricing-grid-public{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.site-nav{display:none}.nav-toggle{display:inline-flex!important;background:#fff!important;color:var(--ld-navy)!important;border:1px solid var(--ld-line-strong)!important;width:auto!important}.site-nav.open{display:flex;position:absolute;top:72px;left:16px;right:16px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--ld-line);border-radius:16px;padding:12px;box-shadow:var(--ld-shadow)}.header-actions{display:none}.hero{padding-top:54px}.feature-grid,.workflow-grid,.pricing-grid,.pricing-grid-public{grid-template-columns:1fr}.account-hero{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr;gap:24px}.account-panel{align-items:flex-start;flex-direction:column}.portal-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.shell,.public-shell,.userportal,.legal-document,.cookie-document{width:min(100% - 22px,var(--ld-shell))}.userportal{padding-top:28px}.hero h1{font-size:42px}.hero{padding:46px 0}.section{padding:62px 0}.feature-grid,.premium-grid,.benefit-grid,.account-grid{grid-template-columns:1fr}.premium-card:last-child{grid-column:auto}.final-cta{padding:30px 20px}.account-panel{padding:25px}.screen-workspace{height:230px;grid-template-columns:42px 1fr 60px}.x20{padding:10px;gap:7px}.actions>.btn,.actions>.button,.actions>.button-secondary,.actions>.btnlink,.actions>button,.hero-actions>.btn,.account-actions>.btn{width:100%}.kv,.kv-public{grid-template-columns:1fr}.footer-grid,.public-footer .public-shell{flex-direction:column}}

/* Portal compatibility components consolidated from historical public pages. */
.button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--ld-radius-sm);padding:10px 17px;font-weight:750;background:var(--ld-blue);color:#fff;text-decoration:none;border:1px solid var(--ld-blue)}.button-primary:hover{background:var(--ld-blue-hover);color:#fff;text-decoration:none}
.public-main{padding:48px 0 72px}.auth-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(280px,1fr);gap:42px;align-items:start}.auth-card{padding:34px}.auth-aside{padding:24px 8px}.auth-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.trust-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}.trust-list li{display:flex;gap:10px}.trust-list li:before{content:"✓";color:var(--ld-blue);font-weight:900}.usage-line{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--ld-line);padding:10px 0}.usage-line:first-child{border-top:0}.narrow{width:min(760px,calc(100% - 32px));margin:0 auto}.center{text-align:center}
.checkout-shell{width:min(820px,calc(100% - 32px));margin:0 auto;padding:48px 0 72px}.checkout-shell>.panel,.checkout-shell>section{margin-top:16px}.checkout-shell>h1{margin-top:0}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}.metric-card{background:#fff;border:1px solid var(--ld-line);border-radius:var(--ld-radius);padding:18px;box-shadow:var(--ld-shadow-soft)}.metric-card span{display:block;color:var(--ld-muted);font-size:13px}.metric-card strong{display:block;margin-top:4px;color:var(--ld-navy);font-size:25px}
.detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}.detail-tabs a{background:#fff;border:1px solid var(--ld-line);padding:8px 11px;border-radius:10px;text-decoration:none;font-weight:700;color:#3c536b}.detail-tabs a:hover{border-color:#a8c4e8;color:var(--ld-blue);text-decoration:none}
.support-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.support-main,.support-side{min-width:0}.support-side{position:sticky;top:92px}.support-timeline-item{background:#fff;border:1px solid var(--ld-line);border-left:4px solid #8da2b8;border-radius:12px;padding:14px;margin:10px 0}.support-timeline-item.internal-note{background:#fff8de;border-color:#e6ca70}.support-meta{max-height:240px;overflow:auto;background:#f7f9fc;border-radius:9px;padding:10px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}
.codebox,.wrap-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f7f9fc;padding:10px;border-radius:9px;overflow:auto;overflow-wrap:anywhere}.danger-zone{border-color:#efb1ab!important}.warning,.warn-panel{border-color:#efd58c!important;background:#fff9df!important}
@media(max-width:820px){.auth-grid{grid-template-columns:1fr}.auth-aside{order:-1}.support-layout{grid-template-columns:1fr}.support-side{position:static}.public-main{padding-top:30px}}
@media(max-width:580px){.narrow,.checkout-shell{width:min(100% - 22px,820px)}.auth-card{padding:24px 18px}.detail-tabs{overflow-x:auto;flex-wrap:nowrap}.detail-tabs a{white-space:nowrap}}

/* Public CMS V2 pages use the same LuaDock public design. */
.cms-v2-public{background:var(--ld-bg)!important;color:var(--ld-text)!important}.cms-v2-public-shell{width:min(var(--ld-shell),calc(100% - 32px));max-width:none!important;margin:0 auto!important;padding:48px 0 72px!important}.cms-v2-page{display:grid;gap:18px}.cms-v2-page-head{padding:8px 0 2px}.cms-v2-page-head h1{margin:0;font-size:clamp(31px,5vw,48px)}.cms-block{background:#fff;border:1px solid var(--ld-line);border-radius:var(--ld-radius);padding:22px;box-shadow:var(--ld-shadow-soft)}.cms-block h2,.cms-block h3{margin-top:0}.cms-headline{background:linear-gradient(135deg,#eef5ff,#fff)!important}.cms-callout{border-left:4px solid var(--ld-blue)}.cms-callout.notice{border-left-color:#c58c16;background:#fff9df}.cms-action{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cms-action p{margin:0;flex:1}.cms-block details{border-top:1px solid var(--ld-line);padding:10px 0}.cms-block details:first-of-type{border-top:0}.cms-block summary{font-weight:700;cursor:pointer}.cms-live-preview-banner{padding:10px 16px;background:#fff8dc;border-bottom:1px solid #e6cf83;color:#5f4a00;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}.cms-live-preview-banner>div{display:flex;gap:12px;flex-wrap:wrap}


/* 01.26.05 – semantic theme layer.
 * All public surfaces resolve these tokens from /assets/site/theme.php.
 * The structural stylesheet remains stable while LuaControl may switch or edit themes.
 */
html{background:var(--ld-bg);color:var(--ld-text)}
body{background:linear-gradient(180deg,var(--ld-bg) 0,var(--ld-bg-2) 46%,var(--ld-bg) 100%);color:var(--ld-text);font-size:calc(15px * var(--ld-font-scale))}
a{color:var(--ld-blue)}
.site-header,.public-header{background:var(--ld-header-bg);border-bottom-color:var(--ld-line)}
.wordmark,.public-wordmark,.wordmark span,.public-wordmark span{color:var(--ld-heading)}
.site-nav a,.public-nav a{color:var(--ld-header-text)}
.site-nav a:hover,.public-nav a:hover{color:var(--ld-heading)}
h1,h2,h3,h4{color:var(--ld-heading)}
.lead{color:var(--ld-muted)}
.panel,.product-card,.auth-card,.account-card,.status-card,.panel-public,.feature-card,.workflow-card,.benefit-card,.faq-item,.premium-card,.price-card,.pricing-card,.account-panel,.final-cta,.legal-card,.cookie-card,.cards section,.metric-card,.cms-block{background:var(--ld-surface)!important;border-color:var(--ld-line)!important;color:var(--ld-text)!important}
.btn-ghost,.button-secondary,.secondary-link,button.secondary{background:var(--ld-ghost-bg)!important;color:var(--ld-ghost-text)!important;border-color:var(--ld-line-strong)!important}
.btn-ghost:hover,.button-secondary:hover,.secondary-link:hover,button.secondary:hover{background:var(--ld-surface-soft)!important;color:var(--ld-heading)!important}
label{color:var(--ld-text)}
input,select,textarea{background:var(--ld-input-bg);color:var(--ld-text);border-color:var(--ld-line-strong)}
input::placeholder,textarea::placeholder{color:var(--ld-muted)}
table{background:var(--ld-table-bg);border-color:var(--ld-line)}
th{background:var(--ld-table-head-bg);color:var(--ld-muted)}
td{color:var(--ld-text);border-bottom-color:var(--ld-line)}
.badge,.status-pill,.premium-badge,.price-badge{background:var(--ld-chip-bg)!important;color:var(--ld-chip-text)!important;border-color:var(--ld-line)!important}
.login{background:linear-gradient(145deg,var(--ld-bg),var(--ld-bg-2))}
.login-card{background:var(--ld-surface);border-color:var(--ld-line);color:var(--ld-text)}
.kv>div,.kv-public>div{border-bottom-color:var(--ld-line)}
.pricing-plan,.price-card h3,.pricing-price,.price-value{color:var(--ld-heading)}
.pricing-description,.price-desc,.pricing-card li,.price-card li{color:var(--ld-muted)!important}
.billing-switch,.billing-toggle{background:var(--ld-surface)!important;border-color:var(--ld-line)!important}
.billing-switch a,.billing-toggle a{color:var(--ld-muted)!important}
.billing-switch a.active,.billing-toggle a.active{background:var(--ld-chip-bg)!important;color:var(--ld-chip-text)!important}
.legal-content{color:var(--ld-text)}
.site-footer,.public-footer{background:var(--ld-footer-bg)!important;border-top-color:var(--ld-line);color:var(--ld-muted)}
.product-section,.workflow-section,.faq-section,.premium-section{background:var(--ld-section-alt)!important;border-color:var(--ld-line)}
.hero{background:radial-gradient(circle at 72% 36%,color-mix(in srgb,var(--ld-blue) 25%,transparent),transparent 35%),radial-gradient(circle at 15% 5%,color-mix(in srgb,var(--ld-blue) 10%,transparent),transparent 30%)}
.screen-card{background:var(--ld-section-alt);border-color:var(--ld-line);box-shadow:var(--ld-shadow)}
.screen-top,.tool-rail,.property-rail{background:var(--ld-surface);color:var(--ld-muted)}
.canvas{background:radial-gradient(circle at center,var(--ld-surface-soft),var(--ld-section-alt) 68%)}
.x20{background:linear-gradient(145deg,var(--ld-surface),var(--ld-section-alt));border-color:var(--ld-line);box-shadow:var(--ld-shadow-soft)}
.x20 b{color:var(--ld-heading)}
.x20 span{background:linear-gradient(135deg,var(--ld-surface-soft),var(--ld-blue));border-color:var(--ld-line-strong)}
.feature-card,.workflow-card,.benefit-card,.faq-item,.premium-card,.price-card{background:linear-gradient(155deg,var(--ld-surface),var(--ld-surface-soft))!important}
.product-shot,.premium-media{background:var(--ld-surface)!important;border-color:var(--ld-line)!important}
.check-list li{color:var(--ld-text)}
.account-panel,.final-cta{background:linear-gradient(135deg,var(--ld-surface),var(--ld-surface-soft))!important}
.feature-card p,.workflow-card p,.benefit-card p,.premium-card p,.faq-item p,.account-panel p,.final-cta>p:not(.eyebrow){color:var(--ld-muted)!important}
.faq-item summary{color:var(--ld-heading)}
.metric-card strong{color:var(--ld-heading)}
.detail-tabs a{background:var(--ld-surface);border-color:var(--ld-line);color:var(--ld-text)}
.support-timeline-item{background:var(--ld-surface);border-color:var(--ld-line)}
.support-meta,.codebox,.wrap-code{background:var(--ld-surface-soft);color:var(--ld-text)}
.cms-v2-public{background:var(--ld-bg)!important;color:var(--ld-text)!important}
.cms-headline{background:linear-gradient(135deg,var(--ld-surface-soft),var(--ld-surface))!important}
.cms-block details{border-top-color:var(--ld-line)}
.cms-live-preview-banner{background:var(--ld-surface-soft);border-bottom-color:var(--ld-line);color:var(--ld-text)}
@media(max-width:820px){.nav-toggle{background:var(--ld-ghost-bg)!important;color:var(--ld-ghost-text)!important;border-color:var(--ld-line-strong)!important}.site-nav.open{background:var(--ld-header-bg);border-color:var(--ld-line)}}
/* 01.27.01: stable public/account footer across all active themes. */
.public-footer.account-public-footer{margin-top:50px;background:var(--ld-footer-bg)!important;border-top:1px solid var(--ld-line)!important;color:var(--ld-muted)!important;min-height:82px}
.public-footer.account-public-footer .public-shell{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;padding:26px 0!important;min-height:82px}
.public-footer.account-public-footer .public-footer-brand{font-size:20px;font-weight:800;color:var(--ld-heading)!important;letter-spacing:-.03em}.public-footer.account-public-footer .public-footer-brand strong{color:var(--ld-blue)!important}
.public-footer.account-public-footer nav a{color:var(--ld-header-text)!important;font-weight:650!important}.public-footer.account-public-footer nav a:hover{color:var(--ld-blue)!important}
@media(max-width:600px){.public-footer.account-public-footer .public-shell{align-items:flex-start!important;flex-direction:column!important}}

/* 01.28.15 – Pricing Preview/Live Parity Hotfix
 * The CMS pricing preview is the visual source of truth for PUBLIC pricing cards.
 * Keep checkout/security labels and behavior unchanged; align only presentation.
 */
#preise .price-card{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
#preise .price-card.featured h3{padding-right:92px}
#preise .price-card .price-badge{position:absolute;top:12px;right:12px;z-index:2;background:#1d64d5!important;border:1px solid #4b92ff!important;color:#fff!important;border-radius:999px!important;padding:5px 9px!important;font-size:12px!important;font-weight:750!important;line-height:1.2!important;box-shadow:none!important}
#preise .price-card ul{list-style:none!important;padding:0!important;margin:8px 0 20px!important;display:grid!important;gap:8px!important}
#preise .price-card li{position:relative;padding-left:20px;color:var(--ld-text)!important}
#preise .price-card li::before{content:"✓";position:absolute;left:0;top:0;color:#75d89a;font-weight:900}
#preise .price-card .price-spacer{flex:1 1 auto}
#preise .price-card .btn-block{width:100%;margin-top:auto}
#preise .price-card .btn-disabled.btn-block{display:flex;background:var(--ld-blue)!important;border-color:var(--ld-blue)!important;color:#fff!important;opacity:.52}
@media(max-width:820px){#preise .price-card.featured h3{padding-right:88px}}



/* 01.30.16 – canonical LuaDock public/account branding via Global Assets. */
.wordmark img,.public-wordmark img,.luadock-header-logo{display:block;width:auto;height:42px;max-width:min(210px,52vw)}
.wordmark,.public-wordmark{display:inline-flex;align-items:center;line-height:1;text-decoration:none}
.wordmark:hover,.public-wordmark:hover{text-decoration:none}
.account-brand-row{width:min(var(--ld-shell),calc(100% - 32px));margin:22px auto 0;display:flex;align-items:center}
.account-brand-row a{display:inline-flex;align-items:center}
.account-brand-row img{display:block;width:auto;height:44px;max-width:min(220px,62vw)}
.login-card .account-brand-logo{display:inline-flex;align-items:center;margin:0 0 20px;text-decoration:none}
.login-card .account-brand-logo img{display:block;width:auto;height:48px;max-width:100%}
.pricing-user-shell .pricing-brand{display:inline-flex;align-items:center;text-decoration:none}
.pricing-user-shell .pricing-brand img{display:block;width:auto;height:40px;max-width:min(200px,55vw)}
.public-footer.account-public-footer .public-footer-brand{display:inline-flex!important;align-items:center!important;width:auto!important;height:auto!important;font-size:0!important;letter-spacing:0!important}
.public-footer.account-public-footer .public-footer-brand img{display:block;width:auto;height:36px;max-width:min(180px,50vw)}
@media(max-width:700px){.wordmark img,.public-wordmark img,.luadock-header-logo{height:36px;max-width:46vw}.account-brand-row{margin-top:16px}.account-brand-row img{height:38px}.public-footer.account-public-footer .public-footer-brand img{height:32px}}
