/* SIGVORA shell v1. Only explicit shell/demo classes; no app/form/table selectors. */
:root { --sv-shell-bg:var(--bg); --sv-shell-surface:#f4f6f7; --sv-shell-ink:#061a31; --sv-shell-muted:var(--muted); --sv-shell-gold:#e0b457; --sv-shell-line:var(--line); --sv-shell-accent:var(--accent); }
.sv-shell { box-sizing:border-box; color:var(--sv-shell-ink); font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; }
.sv-shell *, .sv-shell *::before, .sv-shell *::after { box-sizing:border-box; }
.sv-shell a { color:inherit; text-underline-offset:4px; }
.sv-shell button, .sv-shell select { font:inherit; cursor:pointer; }
.sv-shell :focus-visible, .sv-design :focus-visible { outline:3px solid var(--sv-shell-accent); outline-offset:4px; }
.sv-shell-header { background:var(--sv-shell-surface); border-bottom:1px solid var(--sv-shell-line); padding:20px max(20px,calc((100vw - 1152px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sv-shell-brand { display:flex; align-items:center; text-decoration:none; gap:16px; min-width:0; }
.sv-shell-brand img { display:block; width:232px; max-width:100%; height:auto; background:transparent; border-radius:0; padding:0; border:0; }
.sv-shell-section { color:var(--sv-shell-muted); border-left:1px solid var(--sv-shell-line); padding-left:16px; font-size:14px; }
.sv-shell-nav { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.sv-shell-nav a { text-decoration:none; font-size:14px; min-height:44px; display:inline-flex; align-items:center; }
.sv-shell-language { display:flex; gap:8px; align-items:center; }
.sv-shell-language img { width:22px; height:22px; }
.sv-shell-language select { color:#061a31; background:#e0b457; border:1px solid var(--accent); min-height:44px; border-radius:999px; padding:6px 12px; max-width:160px; }
.sv-shell-footer { padding:40px max(20px,calc((100vw - 1152px)/2)); background:var(--sv-shell-surface); border-top:1px solid var(--sv-shell-line); }
.sv-shell-footer-top, .sv-shell-footer-bottom { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:center; }
.sv-shell-footer-top { margin-bottom:28px; }
.sv-shell-footer strong { letter-spacing:.12em; font-size:18px; }
.sv-shell-footer p { margin:6px 0 0; color:var(--sv-shell-muted); font-size:14px; }
.sv-shell-links { display:flex; gap:8px 20px; flex-wrap:wrap; }
.sv-shell-links a { font-size:14px; display:inline-flex; align-items:center; min-height:44px; }
.sv-shell-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--sv-shell-gold); border:1px solid var(--sv-shell-accent); border-radius:999px; min-height:44px; padding:8px 18px; color:#041526!important; text-decoration:none; }
.sv-shell-secondary { background:transparent; border:2px solid var(--sv-shell-accent); color:var(--sv-shell-ink)!important; }
.sv-shell-button:disabled { opacity:.65; cursor:default; }
.sv-shell-dialog { background:var(--sv-shell-surface); color:var(--sv-shell-ink); border:1px solid var(--sv-shell-line); border-radius:20px; width:min(480px,calc(100vw - 32px)); padding:28px; max-height:calc(100dvh - 32px); overflow:auto; }
.sv-shell-dialog::backdrop { background:#041526b3; }
.sv-shell-dialog h2 { font:32px/1.2 Georgia,serif; margin:0 0 20px; }
.sv-shell-dialog p { color:var(--sv-shell-muted); font-size:14px; }
.sv-shell-dialog .sv-shell-nav { margin:20px 0; }
.sv-shell-close { float:right; border:1px solid var(--sv-shell-line); background:var(--sv-shell-bg); color:var(--sv-shell-ink); border-radius:50%; width:44px; height:44px; }
.sv-shell-skip { position:fixed; left:16px; top:12px; z-index:100; transform:translateY(-160%); }
.sv-shell-skip:focus { transform:none; }
/* Demonstration only. Product content opts in explicitly. */
.sv-design-page { margin:0; background:var(--sv-shell-bg); }
.sv-design { box-sizing:border-box; color:var(--sv-shell-ink); font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
.sv-design h1,.sv-design h2,.sv-design h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.sv-design-main { max-width:1152px; margin:auto; padding:56px 20px 64px; }
.sv-design-hero { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.sv-design-hero h1 { font-size:clamp(36px,4.4vw,64px); line-height:1.07; margin:14px 0 24px; }
.sv-design-hero p { color:var(--sv-shell-muted); max-width:36em; }
.sv-design-eyebrow { color:var(--sv-shell-accent)!important; text-transform:uppercase; letter-spacing:.17em; font-size:12px; font-weight:700; }
.sv-design-hero img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:24px; display:block; }
.sv-design-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.sv-design-card { background:var(--sv-shell-surface); border:1px solid var(--sv-shell-line); border-radius:20px; padding:24px; box-shadow:0 18px 48px #0415260a; }
.sv-design-card h2 { font-size:26px; line-height:1.2; margin:0 0 12px; }
.sv-design-card p { color:var(--sv-shell-muted); margin:0; }
@media(max-width:760px) { .sv-shell-header { padding:16px; gap:16px; flex-wrap:wrap; } .sv-shell-brand img { width:200px; } .sv-shell-section { display:none; } .sv-shell-nav { gap:12px; } .sv-shell-footer { padding:28px 16px; } .sv-shell-footer-top,.sv-shell-footer-bottom { gap:20px; } .sv-design-main { padding:32px 16px 40px; } .sv-design-hero { grid-template-columns:1fr; gap:24px; } .sv-design-hero img { aspect-ratio:4/3; } .sv-design-grid { grid-template-columns:1fr; margin-top:28px; gap:16px; } }
@media print { .sv-shell-nav,.sv-shell-dialog { display:none!important; } }
/* Dirk R2: fixed light presentation, transparent brand, quiet Navy footer. */
.sv-shell-header { max-width:none; width:auto; margin:0; padding:24px max(24px,calc((100vw - 1200px)/2)); }
.sv-shell-nav { justify-content:flex-end; }
.sv-shell-language { flex-direction:row; }
.sv-shell-language select { background:transparent; border-color:var(--line); color:#061a31; }
.sv-shell-footer { background:#061a31!important; color:var(--bg)!important; display:block; max-width:none; width:auto; padding:40px max(24px,calc((100vw - 1200px)/2)); }
.sv-shell-footer-top { margin:0; gap:24px; }
.sv-shell-footer .sv-shell-links { gap:20px; }
.sv-shell-footer .sv-shell-links a,.sv-shell-footer .sv-shell-text { color:var(--muted)!important; font:14px/1.6 system-ui,sans-serif; text-decoration:none; }
.sv-shell-text { appearance:none; background:none!important; border:0!important; border-radius:0; padding:8px 0; min-height:44px; color:inherit; cursor:pointer; }
.sv-shell-footer .sv-shell-text:hover,.sv-shell-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.sv-shell-footer-brand img { display:block; width:220px; height:auto; background:transparent; border:0; padding:0; }
.sv-shell-nav .primary { border:1px solid var(--line)!important; background:transparent!important; color:#061a31!important; border-radius:999px; padding:8px 16px; font:14px/1.6 system-ui,sans-serif; }
body:has([data-sv-shell]) { isolation:isolate; background-color:var(--bg)!important; }
body:has([data-sv-shell])::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:url('/design-shell/assets/sigvora-entry-dawn.webp') center/cover no-repeat; opacity:.06; }
@media(max-width:760px) { .sv-shell-header { padding:16px; } .sv-shell-brand img { width:185px; } .sv-shell-footer { padding:32px 16px; } .sv-shell-footer-top { align-items:flex-start; } }

/* All color and typography definitions live here. System fonts stay local. */
:root {
 color-scheme: light;
 --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 --font-heading: Georgia, "Times New Roman", serif;
 /* Maritime palette from the completed read-only inventory. */
 --maritime-navy-950: #041526; --maritime-navy-900: #061a31;
 --maritime-navy-800: #092541; --maritime-navy-700: #123a5c;
 --maritime-gold-500: #d0a34b; --maritime-gold-400: #e0b457;
 --maritime-gold-100: #fff3d8; --maritime-gold-dark: #9b7128;
 --maritime-paper: #f4f6f7; --maritime-cream: #fffaf0;
 --maritime-line: #d9e0e5; --maritime-copy: #677786;
 --bg: var(--maritime-paper); --surface: var(--maritime-paper);
 --text: var(--maritime-navy-900); --muted: var(--maritime-copy);
 --accent: var(--maritime-gold-dark); --accent-soft: var(--maritime-gold-100);
 --line: var(--maritime-line); --focus: var(--maritime-gold-dark);
 --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem; --space-5: 3rem; --space-6: 5rem;
 --radius: 1.25rem; --small-radius: .5rem; --max: 72rem;
 --body: 1rem; --small: .875rem; --title: clamp(2.5rem, 7vw, 5.75rem); --h2: clamp(1.75rem, 4vw, 2.5rem); --h3: 1.5rem;
 --regular: 400; --medium: 550; --bold: 700;
 --leading: 1.6; --heading-leading: 1.06; --tracking: -.045em;
}
html[data-theme="dark"] {color-scheme:dark;
 --bg:var(--maritime-navy-950); --surface:var(--maritime-navy-900);
 --text:var(--maritime-cream); --muted:#b3c3cd;
 --accent:var(--maritime-gold-500); --accent-soft:var(--maritime-navy-700);
 --line:var(--maritime-navy-700); --focus:var(--maritime-gold-400);
}

/* All presentation adapters inherit the two historical palettes. */
:root {--sv-shell-bg:var(--bg);--sv-shell-surface:var(--surface);--sv-shell-ink:var(--text);--sv-shell-muted:var(--muted);--sv-shell-gold:var(--accent);--sv-shell-line:var(--line);--sv-shell-accent:var(--accent);--background:var(--bg);--card:var(--surface);--ink:var(--text);--gold:var(--accent);--border:var(--line);}
html,body {color-scheme:light;background-color:var(--bg)!important;color:var(--text)!important;}
html[data-theme=dark],html[data-theme=dark] body {color-scheme:dark;}
body {font-family:var(--font);}
body:has([data-sv-shell]),body.sv-business-showcase {isolation:isolate;background-color:var(--bg)!important;}
body:has([data-sv-shell])::before,body.sv-business-showcase::before {content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 12%,transparent 85%),linear-gradient(to right,var(--bg) 0%,var(--bg) 35%,transparent 100%),url('/design-shell/assets/sigvora-entry-dawn.webp');background-size:cover;background-position:right center;background-repeat:no-repeat;opacity:.47;}
html[data-theme=dark] body:has([data-sv-shell])::before,html[data-theme=dark] body.sv-business-showcase::before {opacity:.25;}
@media(max-width:47.99rem){body:has([data-sv-shell])::before,body.sv-business-showcase::before{opacity:.29;}html[data-theme=dark] body:has([data-sv-shell])::before,html[data-theme=dark] body.sv-business-showcase::before{opacity:.20;}}
.sv-shell-header,.sv-shell-footer {background:transparent!important;color:var(--text)!important;border-color:var(--line)!important;}
.sv-shell-footer .sv-shell-links a,.sv-shell-footer .sv-shell-text,.sv-shell-language select,.sv-shell-nav .primary {color:var(--text)!important;border-color:var(--line)!important;}
.sv-shell-language select,.sv-shell-nav .primary {background:transparent!important;}
.sv-shell-header {padding-block:24px;}
.sv-shell-brand img,.sv-shell-footer-brand img {background:transparent!important;border:0!important;padding:0!important;}
.sv-shell-button {background:var(--accent)!important;color:var(--bg)!important;border-color:var(--accent)!important;}
.sv-shell-secondary {background:transparent!important;color:var(--text)!important;border-color:var(--line)!important;}
.sv-design h1,.sv-design h2,.sv-design h3 {font-family:var(--font-heading);font-weight:var(--bold);line-height:var(--heading-leading);}
.sv-design h1 {font-size:var(--title);letter-spacing:var(--tracking);}
.sv-design-card {background:var(--surface);border-color:var(--line);box-shadow:none;}
/* Business presentation only. Existing forms, links, data and scripts are retained. */
body.sv-business-showcase {color:var(--text);}
.sv-business-showcase main h2 {color:var(--text);font-family:var(--font-heading);font-weight:var(--bold);}
.sv-business-showcase .product-card {background:var(--surface);box-shadow:none;border:1px solid var(--line)!important;}
.sv-business-showcase .product-card :is(h3,p,.text-link),.sv-business-showcase #how :is(h3,p,.sv-step-number) {color:var(--text)!important;}
.sv-business-showcase .product-card p,.sv-business-showcase #how p {color:var(--muted)!important;}
.sv-business-showcase .hero-actions .primary,.sv-business-showcase #register-strip .primary {background:var(--accent)!important;color:var(--bg)!important;border:1px solid var(--accent)!important;}
.sv-business-showcase #register-strip {background:var(--surface)!important;color:var(--text)!important;border-block:1px solid var(--line);}
.sv-business-showcase #register-strip p {color:var(--text)!important;}
body:has([data-sv-shell]) :is(.card,.panel,.auth,.screen,.tile,.module-card,.data-card,.modal,.dialog,.project,.app-card) {background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important;}
body:has([data-sv-shell]) :is(input,select,textarea) {background:var(--bg)!important;color:var(--text)!important;border-color:var(--line)!important;}
body:has([data-sv-shell]) :is(h1,h2,h3,h4,p,label,th,td) {color:var(--text);}
body:has([data-sv-shell]) :is(button,.button,.btn,.primary):not(.sv-shell-text):not(.sv-shell-close) {background:var(--surface);color:var(--text);border-color:var(--line);}
body:has([data-sv-shell]) :is(button[type=submit],.button.primary,.btn.primary) {background:var(--accent);color:var(--bg);border-color:var(--accent);}

/* Explicit modes override retired per-page palettes without a third appearance. */
html[data-theme=light],body[data-theme=light] {--bg:#f4f6f7!important;--surface:#fffaf0!important;--text:#061a31!important;--muted:#677786!important;--accent:#9b7128!important;--accent-soft:#fff3d8!important;--line:#d9e0e5!important;--focus:#9b7128!important;}
html[data-theme=dark],body[data-theme=dark] {--bg:#041526!important;--surface:#061a31!important;--text:#fffaf0!important;--muted:#b3c3cd!important;--accent:#d0a34b!important;--accent-soft:#123a5c!important;--line:#123a5c!important;--focus:#e0b457!important;}
body.sv-business-showcase .product-card {background:var(--surface)!important;border-color:var(--line)!important;}
body.sv-business-showcase :is(.sv-card-link,.sv-card-request) {color:var(--text)!important;}
body.sv-business-showcase .product-card p {color:var(--muted)!important;}
body.sv-business-showcase .steps li::after {background:var(--line)!important;}
body.sv-business-showcase .sv-step-number {border-color:var(--line)!important;}
/* Same original transparent emblem, clipped as in the reference footer; no recolouring. */
.sv-shell-logo-emblem {width:52px;height:56px;overflow:hidden;display:block;flex:none;background:transparent;}
.sv-shell-logo-emblem img {width:202px!important;max-width:none!important;height:auto!important;}
.sv-shell-wordmark {font:700 26px/1 Georgia,'Times New Roman',serif;letter-spacing:.01em;color:var(--text);}
.sv-shell-footer-brand {display:inline-flex;align-items:center;}
.sv-shell-footer-brand .sv-shell-logo-emblem {width:52px;height:56px;}
.sv-shell-footer-brand .sv-shell-logo-emblem img {width:202px!important;max-width:none!important;}

.sv-shell-globe {display:block;flex:none;width:22px;height:22px;background:var(--text);mask:url("/design-shell/assets/globe.svg") center/contain no-repeat;-webkit-mask:url("/design-shell/assets/globe.svg") center/contain no-repeat;}

/* r3: Rechts-nach-links (Arabisch). Die Logo-Box zeigt immer den linken Teil des Logobildes (Emblem). */
.sv-shell-logo-emblem { direction:ltr; }
html[dir="rtl"] .sv-shell-section { border-left:0; border-right:1px solid var(--sv-shell-line); padding-left:0; padding-right:16px; }
html[dir="rtl"] .sv-shell-close { float:left; }
html[dir="rtl"] .sv-shell-skip { left:auto; right:16px; }
