/* Shared prep suite foundation v2. Copy identically; product adapters load after this file. */
:root{
 --suite-navy:#102d43;--suite-blue:#176b98;--suite-blue-hover:#105276;--suite-blue-soft:#eaf3fa;
 --suite-bg:#f3f6fa;--suite-surface:#fff;--suite-ink:#172e43;--suite-muted:#526579;--suite-line:#dce4ec;
 --suite-success:#23714f;--suite-success-soft:#edf7f1;--suite-error:#ae3944;--suite-error-soft:#fcf0f1;
 --suite-font:'Source Sans 3','Segoe UI',Arial,sans-serif;--suite-shadow:0 3px 14px rgb(16 45 67 / 5%);
 --paper:var(--suite-surface);--white:var(--suite-surface);--surface:var(--suite-bg);--ink:var(--suite-ink);
 --muted:var(--suite-muted);--line:var(--suite-line);--accent:var(--suite-blue);--accent-hover:var(--suite-blue-hover);--accent-soft:var(--suite-blue-soft);
 --wine:var(--suite-blue);--teal:var(--suite-blue);--teal-dark:var(--suite-blue-hover);--mint:var(--suite-blue-soft);--green:var(--suite-success);
 --success:var(--suite-success);--success-soft:var(--suite-success-soft);--font-body:var(--suite-font);--font-ui:var(--suite-font);--font-display:var(--suite-font);
 font-family:var(--suite-font);color:var(--suite-ink);background:var(--suite-bg);font-synthesis:none;
}
*{box-sizing:border-box}body{font-family:var(--suite-font);font-size:17px;line-height:1.6;color:var(--suite-ink);background:var(--suite-bg);margin:0}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--suite-font);color:var(--suite-ink);font-style:normal;font-weight:700;letter-spacing:-.02em}
h1{font-size:32px;line-height:1.18}h2{font-size:23px;line-height:1.3;font-weight:650}h3{font-size:20px;line-height:1.35;font-weight:650}p{line-height:1.6}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4798ca;outline-offset:3px}
::selection{background:#cce5f5;color:#102d43}.suite-muted{color:var(--suite-muted)}.suite-small{font-size:14px;line-height:1.5}
.suite-brand{display:inline-flex;align-items:center;gap:11px;font:700 23px/1.2 var(--suite-font);letter-spacing:-.025em;text-decoration:none;color:var(--suite-navy)}
.suite-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:36px;flex-shrink:0;border-radius:7px;color:#fff;background:var(--suite-blue)}
.suite-brand-mark svg{width:23px;height:23px}.suite-sidebar{background:#fff;color:var(--suite-ink);border-right:1px solid var(--suite-line)}
.suite-sidebar nav a{color:var(--suite-muted);font:600 16px/1.35 var(--suite-font);min-height:46px;border-radius:6px;text-decoration:none}
.suite-sidebar nav a:hover{background:#f3f7fb;color:var(--suite-navy)}
.suite-sidebar nav a[aria-current=page]{background:var(--suite-blue-soft);color:var(--suite-blue);box-shadow:inset 3px 0 var(--suite-blue)}
.suite-topbar{background:var(--suite-navy);color:#d9e6ef;min-height:64px;font-size:14px;line-height:1.4}
.suite-topbar a{color:#fff;text-decoration:none;font-size:14px}.suite-topbar a:hover{text-decoration:underline}
.suite-panel{border:1px solid var(--suite-line);border-radius:8px;background:#fff;padding:24px;box-shadow:var(--suite-shadow)}
.suite-primary,.suite-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:6px;font-size:16px;font-weight:650;line-height:1.4;text-decoration:none;cursor:pointer}
.suite-primary{color:#fff;background:var(--suite-blue);border:1px solid var(--suite-blue)}.suite-primary:hover{background:var(--suite-blue-hover);border-color:var(--suite-blue-hover);color:#fff}
.suite-secondary{color:var(--suite-ink);background:#fff;border:1px solid #c8d5e1}.suite-secondary:hover{background:var(--suite-blue-soft)}
.suite-label{font-size:14px;font-weight:650;line-height:1.5;color:var(--suite-muted);letter-spacing:0;text-transform:none}
.suite-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:4px;background:var(--suite-blue-soft);color:var(--suite-blue);font-size:14px;font-weight:600;line-height:1.5}
.suite-field{width:100%;min-height:46px;padding:10px 13px;border:1px solid #bacbd9;border-radius:6px;background:#fff;color:var(--suite-ink);font-size:16px}
@media(max-width:600px){h1{font-size:28px}h2{font-size:22px}.suite-panel{padding:20px}.suite-brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
