@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    --brand: #0d766e;
    --brand-dark: #163d4a;
    --accent: #e8b45d;
    --ink: #18343d;
    --muted: #667c83;
    --line: #dfe8e9;
    --mist: #edf7f5;
    --surface: #ffffff;
    --shadow: 0 18px 55px rgba(20, 54, 64, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--ink); font-family: "DM Sans", system-ui, sans-serif; background: #fff; }
h1,h2,h3,h4,h5,h6,.brand-lockup { font-family: "Manrope", system-ui, sans-serif; letter-spacing: -.035em; }
a { color: var(--brand); }
.text-brand { color: var(--brand) !important; }
.public-body { overflow-x: hidden; }
.container { max-width: 1180px; }
.site-header { background: rgba(255,255,255,.9); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(223,232,233,.8); }
.navbar { min-height: 78px; }
.brand-lockup { display: inline-flex; align-items: center; gap: .68rem; color: var(--brand-dark); font-weight: 800; font-size: 1.28rem; }
.brand-symbol { width: 38px; height: 38px; display: grid; place-items: center; background: var(--brand); color: #fff; border-radius: 12px; box-shadow: 0 8px 20px color-mix(in srgb, var(--brand) 28%, transparent); }
.brand-symbol.has-custom-icon { width:var(--site-icon-size,40px); height:var(--site-icon-size,40px); overflow:hidden; padding:0; background:transparent; border-radius:10px; box-shadow:none; }
.brand-symbol.has-custom-icon img { width:100%; height:100%; object-fit:contain; }
.site-header-logo { display:block; width:var(--site-logo-width,180px); max-width:60vw; height:var(--site-logo-height,52px); object-fit:contain; object-position:left center; }
.site-footer-logo { display:block; width:var(--footer-logo-width,180px); max-width:100%; height:var(--footer-logo-height,56px); object-fit:contain; object-position:left center; }
.navbar .nav-link { color: #38525a; font-size: .94rem; font-weight: 600; padding: .65rem .75rem !important; }
.navbar .nav-link:hover { color: var(--brand); }
.btn { border-radius: 11px; font-weight: 600; }
.btn-brand { background: var(--brand); border-color: var(--brand); color: #fff; padding: .7rem 1.05rem; }
.btn-brand:hover,.btn-brand:focus { background: color-mix(in srgb, var(--brand) 84%, black); border-color: transparent; color: #fff; }
.btn-dark-ink { background: var(--brand-dark); color: #fff; border-color: var(--brand-dark); }
.btn-dark-ink:hover { background: #0d2c35; color:#fff; }
.btn-soft { background: var(--mist); color: var(--brand); border-color: transparent; }
.btn-soft:hover { background: #dcefeb; color: var(--brand); }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; color: var(--brand); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; }
.eyebrow::before { content:""; width: 26px; height: 2px; background: var(--accent); }
.display-title { font-size: clamp(2.55rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -.065em; font-weight: 800; }
.section-title { font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.08; font-weight: 800; }
.lead-copy { font-size: 1.12rem; line-height: 1.75; color: var(--muted); max-width: 640px; }
.hero { position: relative; padding: 7rem 0 6rem; background: radial-gradient(circle at 86% 18%, rgba(232,180,93,.25), transparent 24%), radial-gradient(circle at 5% 70%, rgba(13,118,110,.13), transparent 27%), linear-gradient(180deg,#fbfdfd,#f4f9f8); overflow: hidden; }
.hero::after { content:""; position:absolute; inset:auto -10% -300px 45%; height:500px; border-radius:50%; border:1px solid rgba(13,118,110,.15); box-shadow: 0 0 0 70px rgba(13,118,110,.035),0 0 0 140px rgba(13,118,110,.025); }
.hero .container { position: relative; z-index: 1; }
.hero-proof { display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:2rem; color:#4c646b; font-size:.9rem; }
.hero-proof span { display:flex; align-items:center; gap:.45rem; }
.hero-proof i { color:var(--brand); }
.trust-panel { position:relative; padding:1.2rem; border-radius:28px; background:var(--brand-dark); color:#fff; box-shadow:0 30px 80px rgba(22,61,74,.24); transform:rotate(1deg); }
.trust-panel::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.12); border-radius:20px; pointer-events:none; }
.trust-top { display:flex; justify-content:space-between; align-items:center; padding:1.1rem; }
.trust-score { width:98px; height:98px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--accent) 0 var(--trust-score,88%),rgba(255,255,255,.1) var(--trust-score,88%)); position:relative; }
.trust-score::after { content:""; position:absolute; inset:8px; background:var(--brand-dark); border-radius:50%; }
.trust-score strong { position:relative; z-index:1; font:800 1.4rem "Manrope"; }
.trust-card { position:relative; z-index:1; background:#fff; color:var(--ink); border-radius:18px; padding:1.1rem; margin:.75rem; }
.trust-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.72rem 0; border-bottom:1px solid var(--line); }
.trust-row:last-child { border:0; }
.trust-row small { color:var(--muted); }
.mini-badge { display:inline-flex; padding:.3rem .55rem; background:#e9f8f2; color:#087556; border-radius:100px; font-size:.72rem; font-weight:700; }
.logo-strip { padding:1.25rem 0; border-block:1px solid var(--line); background:#fff; }
.logo-strip-inner { display:flex; flex-wrap:wrap; gap:1.3rem 2.8rem; justify-content:center; color:#839398; text-transform:uppercase; font-weight:800; letter-spacing:.08em; font-size:.78rem; }
.section { padding:6.5rem 0; }
.section-soft { background:#f5f8f8; }
.cert-card { height:100%; border:1px solid var(--line); border-radius:20px; padding:1.45rem; background:#fff; transition:.25s ease; display:flex; flex-direction:column; }
.cert-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--cert-color,var(--brand)) 45%,white); box-shadow:var(--shadow); }
.cert-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:color-mix(in srgb,var(--cert-color,var(--brand)) 12%,white); color:var(--cert-color,var(--brand)); font-size:1.3rem; }
.cert-card .category { color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.cert-card p { color:var(--muted); font-size:.92rem; }
.text-link { margin-top:auto; text-decoration:none; font-weight:700; }
.process-grid { counter-reset:process; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:22px; overflow:hidden; }
.process-item { counter-increment:process; background:#fff; padding:2rem 1.5rem; }
.process-item::before { content:"0" counter(process); display:block; color:var(--brand); font:800 .72rem "Manrope"; margin-bottom:.8rem; }
.process-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:1.15rem; border-radius:13px; background:var(--mist); color:var(--brand); font-size:1.2rem; }
.process-item p { color:var(--muted); font-size:.9rem; margin:0; }
.metric-band { background:var(--brand-dark); color:#fff; border-radius:28px; padding:2.4rem; }
.metric-value { display:flex; align-items:center; gap:.8rem; }
.metric-value strong { display:block; font:800 2.6rem "Manrope"; letter-spacing:-.06em; }
.metric-value i { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.1); color:var(--accent); font-size:1.05rem; }
.metric-item > span { display:block; margin-top:.55rem; color:rgba(255,255,255,.6); font-size:.88rem; }
.seal-stage { display:grid; grid-template-columns:minmax(0,.9fr) minmax(220px,1.1fr); align-items:center; gap:1.5rem; min-height:450px; border-radius:28px; overflow:hidden; background:radial-gradient(circle at 20% 15%,rgba(232,180,93,.32),transparent 28%),linear-gradient(145deg,var(--brand-dark),#0b6a66); padding:3rem; color:#fff; }
.seal-stage-copy { position:relative; z-index:2; }
.seal-stage-copy p { max-width:270px; margin-bottom:0; }
.seal-stage-art { display:grid; place-items:center; min-width:0; min-height:300px; }
.seal-disc { position:relative; width:245px; height:245px; border-radius:50%; display:grid; place-items:center; text-align:center; background:#f8fbfa; color:var(--brand-dark); border:12px solid var(--accent); box-shadow:0 25px 50px rgba(0,0,0,.25); transform:rotate(4deg); }
.seal-disc::after { content:""; position:absolute; inset:13px; border:2px dashed var(--brand); border-radius:50%; }
.seal-disc div { position:relative; z-index:1; }
.seal-disc i { font-size:2.3rem; color:var(--brand); }
.seal-real-image { display:block; width:min(100%,290px); max-height:320px; object-fit:contain; filter:drop-shadow(0 24px 35px rgba(0,0,0,.3)); }
.testimonial { border:1px solid var(--line); border-radius:20px; padding:1.6rem; height:100%; }
.quote-mark { color:var(--accent); font-size:2rem; line-height:1; }
.plan-card { border:1px solid var(--line); border-radius:22px; padding:1.6rem; height:100%; position:relative; background:#fff; }
.plan-card.highlighted { border:2px solid var(--brand); box-shadow:var(--shadow); }
.plan-ribbon { position:absolute; top:0; right:1.2rem; transform:translateY(-50%); background:var(--accent); color:var(--brand-dark); border-radius:100px; padding:.35rem .75rem; font-size:.72rem; font-weight:800; }
.plan-price { font:800 2.15rem "Manrope"; letter-spacing:-.05em; }
.faq-accordion .accordion-item { border:0; border-bottom:1px solid var(--line); }
.faq-accordion .accordion-button { padding:1.35rem 0; font-weight:700; background:transparent; box-shadow:none; }
.faq-accordion .accordion-body { padding:0 0 1.35rem; color:var(--muted); }
.contact-panel { border-radius:28px; background:linear-gradient(135deg,var(--brand-dark),#0c5f5c); color:#fff; padding:clamp(1.7rem,5vw,4rem); overflow:hidden; position:relative; }
.contact-panel::after { content:""; position:absolute; width:300px; height:300px; border:70px solid rgba(255,255,255,.04); border-radius:50%; right:-80px; top:-90px; }
.contact-panel .form-control,.contact-panel .form-select { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:#fff; }
.contact-panel .form-control::placeholder { color:rgba(255,255,255,.55); }
.contact-panel .form-control:focus,.contact-panel .form-select:focus { background:rgba(255,255,255,.14); color:#fff; box-shadow:0 0 0 .2rem rgba(232,180,93,.2); }
.site-footer { background:#102f38; color:#fff; }
.site-footer a { color:rgba(255,255,255,.62); text-decoration:none; display:block; margin-top:.65rem; font-size:.9rem; }
.site-footer a:hover { color:#fff; }
.footer-copy { max-width:480px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.45); }
.inner-hero { padding:5rem 0 3.5rem; background:linear-gradient(180deg,#edf7f5,#fff); }
.content-card { border:1px solid var(--line); border-radius:22px; padding:clamp(1.4rem,4vw,3rem); }
.validation-card { max-width:780px; margin:-1rem auto 6rem; border:0; border-radius:24px; box-shadow:var(--shadow); padding:2rem; }
.validation-result { border-radius:18px; padding:1.3rem; background:#f6f9f9; border:1px solid var(--line); }
.status-orb { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; }
.status-orb.valid { color:#087556; background:#dcf4eb; }
.status-orb.invalid { color:#b42318; background:#fee4e2; }
.flash-wrap { position:fixed; z-index:2000; top:90px; left:50%; transform:translateX(-50%); max-width:720px; }

.auth-body { min-height:100vh; display:grid; place-items:center; padding:2rem 1rem; background:radial-gradient(circle at 10% 10%,rgba(13,118,110,.14),transparent 27%),radial-gradient(circle at 90% 85%,rgba(232,180,93,.18),transparent 25%),#f5f8f8; }
.auth-shell { width:100%; max-width:520px; }
.auth-card { border:0; border-radius:24px; box-shadow:var(--shadow); padding:clamp(1.5rem,5vw,2.6rem); }
.auth-card .form-control { min-height:50px; border-radius:12px; border-color:var(--line); }
.form-control:focus,.form-select:focus { border-color:var(--brand); box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 12%,transparent); }

.dashboard-body { background:#f3f6f6; min-height:100vh; }
.sidebar { position:fixed; z-index:1045; inset:0 auto 0 0; width:264px; background:var(--sidebar-bg, var(--brand-dark)); color:var(--sidebar-text, #fff); display:flex; flex-direction:column; }
.sidebar-brand { display:flex; justify-content:space-between; align-items:center; padding:1.35rem 1.25rem; }
.sidebar-brand .brand-lockup { color:var(--sidebar-text, #fff) !important; }
.sidebar-close { display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:10px; background:transparent; color:var(--sidebar-text, #fff); }
.sidebar-close:hover { background:var(--sidebar-active-bg, rgba(255,255,255,.09)); color:var(--sidebar-active-text, #fff); }
.sidebar-caption { color:var(--sidebar-muted, rgba(255,255,255,.55)); padding:0 1.25rem 1.2rem; font-size:.75rem; }
.sidebar-nav { flex:1; overflow-y:auto; padding:.25rem .75rem 1rem; }
.sidebar-nav a,.sidebar-footer a { display:flex; align-items:center; gap:.72rem; color:var(--sidebar-text, #fff); opacity:.78; text-decoration:none; padding:.67rem .8rem; border-radius:10px; font-size:.88rem; margin:.08rem 0; }
.sidebar-nav a:hover,.sidebar-nav a.active,.sidebar-footer a:hover { background:var(--sidebar-active-bg, rgba(255,255,255,.09)); color:var(--sidebar-active-text, #fff); opacity:1; }
.sidebar-nav i,.sidebar-footer i { font-size:1rem; width:18px; }
.sidebar-section { color:var(--sidebar-muted, rgba(255,255,255,.55)); font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:1rem .8rem .35rem; }
.sidebar-footer { padding:.75rem; border-top:1px solid var(--sidebar-border, rgba(255,255,255,.12)); }
.dashboard-content { margin-left:264px; min-height:100vh; }
.topbar { height:76px; display:flex; align-items:center; gap:1rem; padding:0 1.8rem; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:1030; }
.topbar-search { display:flex; align-items:center; gap:.6rem; background:#f2f6f6; border-radius:11px; padding:.62rem .85rem; width:300px; color:#809096; }
.topbar-search input { border:0; outline:0; background:transparent; width:100%; font-size:.87rem; }
.notification-button { width:40px; height:40px; border:0; border-radius:11px; background:#f2f6f6; color:var(--ink); position:relative; }
.notification-count { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; display:grid; place-items:center; background:#d92d20; color:#fff; border-radius:100px; font-size:.64rem; font-weight:800; border:2px solid #fff; }
.notification-menu { width:min(390px,calc(100vw - 24px)); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; }
.notification-item { display:block; padding:.9rem 1rem; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); }
.notification-item:hover { background:#f6f9f9; }
.notification-item small { color:var(--muted); }
.user-chip { display:flex; align-items:center; gap:.65rem; padding-left:.4rem; }
.user-chip > span { width:38px; height:38px; display:grid; place-items:center; background:var(--brand-dark); color:#fff; border-radius:11px; font-weight:800; }
.user-chip strong,.user-chip small { display:block; line-height:1.2; }
.user-chip strong { font-size:.85rem; }.user-chip small { color:var(--muted); font-size:.7rem; margin-top:.22rem; }
.dashboard-main { padding:1.8rem; max-width:1600px; margin:0 auto; }
.page-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; }
.page-heading h1 { font-size:1.65rem; font-weight:800; margin:0 0 .35rem; }
.page-heading p { color:var(--muted); margin:0; }
.stat-card { background:#fff; border:1px solid var(--line); border-radius:17px; padding:1.25rem; height:100%; }
.stat-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--mist); color:var(--brand); }
.stat-card strong { display:block; font:800 1.8rem "Manrope"; letter-spacing:-.05em; margin-top:1.2rem; }
.stat-card small { color:var(--muted); }
.panel-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.25rem; height:100%; }
.panel-card-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.panel-card-header h2 { font-size:1rem; font-weight:800; margin:0; }
.table { --bs-table-bg:transparent; }
.table > :not(caption) > * > * { padding:.9rem .7rem; border-color:#edf1f2; vertical-align:middle; font-size:.84rem; }
.table thead th { color:#7b8c91; text-transform:uppercase; font-size:.65rem; letter-spacing:.06em; font-weight:700; }
.status-badge { display:inline-flex; align-items:center; padding:.34rem .58rem; border-radius:100px; font-size:.7rem; font-weight:700; background:#eef2f3; color:#53666c; }
.status-badge.active,.status-badge.certified,.status-badge.approved,.status-badge.paid,.status-badge.resolved,.status-badge.published { background:#e2f5ed; color:#087556; }
.status-badge.pending_payment,.status-badge.under_review,.status-badge.audit,.status-badge.documents_pending,.status-badge.open { background:#fff2d8; color:#8a5a00; }
.status-badge.suspended,.status-badge.cancelled,.status-badge.rejected,.status-badge.expired,.status-badge.critical { background:#fee4e2; color:#b42318; }
.progress-thin { height:6px; background:#eaf0f0; }
.progress-thin .progress-bar { background:var(--brand); }
.timeline { position:relative; padding-left:1.8rem; }
.timeline::before { content:""; position:absolute; top:.4rem; bottom:.4rem; left:.48rem; width:2px; background:var(--line); }
.timeline-item { position:relative; padding:0 0 1.1rem; }
.timeline-item::before { content:""; position:absolute; left:-1.68rem; top:.2rem; width:12px; height:12px; border-radius:50%; background:#fff; border:3px solid var(--brand); }
.timeline-item.muted::before { border-color:#c4cfd2; }
.timeline-item strong { display:block; font-size:.86rem; }
.timeline-item small { color:var(--muted); }
.resource-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.resource-form .form-label { font-size:.78rem; font-weight:700; }
.resource-form .form-control,.resource-form .form-select { min-height:44px; border-radius:10px; border-color:var(--line); }
.btn-outline-brand { border-color:color-mix(in srgb,var(--brand) 58%,#d8e2e4); color:var(--brand); }
.btn-outline-brand:hover { border-color:var(--brand); background:var(--brand); color:#fff; }
.resource-image-thumb { display:inline-grid; place-items:center; width:48px; height:48px; padding:3px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.resource-image-thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.resource-current-image { display:flex; align-items:center; gap:.8rem; padding:.8rem; border:1px solid var(--line); border-radius:12px; background:#f8fafa; color:var(--muted); font-size:.75rem; }
.resource-current-image img { width:76px; height:76px; object-fit:contain; border-radius:9px; background:#fff; }
.settings-page-heading { align-items:flex-end; }
.settings-eyebrow { display:block; color:var(--brand); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.45rem; }
.settings-heading-action { flex:0 0 auto; }
.settings-workspace { display:grid; grid-template-columns:244px minmax(0,1fr); align-items:start; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 16px 45px rgba(27,58,67,.06); }
.settings-navigation { position:sticky; top:94px; padding:1.2rem; background:#f8fafa; border-right:1px solid var(--line); border-radius:20px 0 0 20px; }
.settings-navigation-heading { display:flex; align-items:center; gap:.75rem; padding:.35rem .35rem 1.1rem; border-bottom:1px solid var(--line); margin-bottom:.8rem; }
.settings-navigation-heading strong,.settings-navigation-heading small { display:block; }
.settings-navigation-heading strong { color:var(--ink); font-size:.84rem; }
.settings-navigation-heading small { color:var(--muted); font-size:.7rem; margin-top:.18rem; }
.settings-navigation-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:var(--mist); color:var(--brand); }
.settings-navigation nav { display:grid; gap:.18rem; }
.settings-navigation nav a { display:flex; align-items:center; gap:.72rem; padding:.68rem .75rem; border-radius:10px; color:#5f7076; text-decoration:none; font-size:.82rem; font-weight:650; transition:.16s ease; }
.settings-navigation nav a i { width:18px; font-size:.95rem; color:#8a9a9f; }
.settings-navigation nav a:hover { background:#edf3f3; color:var(--ink); }
.settings-navigation nav a.active { background:#e5f2ef; color:var(--brand); }
.settings-navigation nav a.active i { color:var(--brand); }
.settings-navigation-note { display:flex; gap:.55rem; align-items:flex-start; padding:.85rem; margin-top:1rem; background:#fff; border:1px solid var(--line); border-radius:11px; color:var(--muted); font-size:.69rem; line-height:1.5; }
.settings-navigation-note i { color:var(--brand); margin-top:.08rem; }
.settings-content { min-width:0; }
.settings-section { scroll-margin-top:94px; border-bottom:1px solid var(--line); }
.settings-section-header { display:flex; gap:.9rem; align-items:flex-start; padding:1.7rem 1.9rem 1.15rem; }
.settings-section-header h2 { margin:0 0 .3rem; color:var(--ink); font-size:1.05rem; font-weight:800; }
.settings-section-header p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.55; }
.settings-section-icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:12px; background:var(--mist); color:var(--brand); font-size:1.05rem; }
.settings-section-body { padding:0 1.9rem 1.8rem 4.7rem; }
.settings-section-body .form-label { color:#42555b; font-size:.75rem; font-weight:750; margin-bottom:.42rem; }
.settings-section-body .form-control,.settings-section-body .form-select,.settings-section-body .input-group-text { min-height:45px; border-color:#dce5e7; border-radius:10px; font-size:.84rem; }
.settings-section-body .input-group > .form-control { border-radius:10px 0 0 10px; }
.settings-section-body .input-group-text { display:flex; align-items:center; border-radius:0 10px 10px 0; background:#f5f8f8; color:var(--muted); }
.settings-subsection + .settings-subsection-bordered { border-top:1px solid var(--line); margin-top:1.6rem; padding-top:1.6rem; }
.settings-subsection-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.settings-subsection-title h3 { margin:0 0 .25rem; color:var(--ink); font-size:.86rem; font-weight:800; }
.settings-subsection-title p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.5; }
.settings-color-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.settings-color-grid-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
.settings-color-field { display:flex; align-items:center; gap:.72rem; min-width:0; padding:.65rem .72rem; border:1px solid #dce5e7; border-radius:12px; background:#fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease; }
.settings-color-field:hover { border-color:color-mix(in srgb,var(--brand) 48%,#dce5e7); box-shadow:0 5px 16px rgba(26,66,75,.07); }
.settings-color-input { flex:0 0 42px; width:42px; height:42px; padding:.18rem; border:1px solid #d5dfe1; border-radius:10px; background:#fff; cursor:pointer; }
.settings-color-input::-webkit-color-swatch-wrapper { padding:0; }
.settings-color-input::-webkit-color-swatch { border:0; border-radius:7px; }
.settings-color-input::-moz-color-swatch { border:0; border-radius:7px; }
.settings-color-field span { min-width:0; }
.settings-color-field strong,.settings-color-field small { display:block; }
.settings-color-field strong { overflow:hidden; color:#42555b; font-size:.72rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.settings-color-field small { color:var(--muted); font:700 .66rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.03em; margin-top:.2rem; }
.settings-live-badge { display:inline-flex; align-items:center; gap:.42rem; flex:0 0 auto; color:#087556; background:#e8f6f1; border-radius:100px; padding:.35rem .58rem; font-size:.65rem; font-weight:750; }
.settings-live-badge span { width:6px; height:6px; border-radius:50%; background:#12a271; box-shadow:0 0 0 3px rgba(18,162,113,.13); }
.settings-sidebar-preview { min-height:300px; }
.settings-preview-help { display:flex; align-items:center; gap:.4rem; color:var(--muted); font-size:.69rem; margin:.65rem 0 0; }
.settings-info-note { display:flex; align-items:center; gap:.6rem; padding:.75rem .85rem; margin-top:1rem; border-radius:10px; background:#f7f9f9; color:var(--muted); font-size:.72rem; }
.settings-info-note i { color:var(--brand); }
.settings-compact-group { display:flex; align-items:flex-start; gap:.7rem; height:100%; padding:.9rem; border:1px solid var(--line); border-radius:13px; background:#fbfcfc; }
.settings-compact-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:#e8f3f1; color:var(--brand); }
.settings-maintenance-row { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem; border:1px solid #f0d3d0; border-radius:14px; background:#fffafa; }
.settings-maintenance-description { display:flex; align-items:flex-start; gap:.8rem; }
.settings-maintenance-description strong { display:block; color:var(--ink); font-size:.82rem; margin-bottom:.22rem; }
.settings-maintenance-description p { max-width:700px; color:var(--muted); font-size:.73rem; line-height:1.5; margin:0; }
.settings-maintenance-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:#feeceb; color:#c1382e; }
.settings-actions { position:sticky; bottom:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.9rem; background:rgba(255,255,255,.94); border-radius:0 0 20px 0; box-shadow:0 -10px 24px rgba(27,58,67,.06); backdrop-filter:blur(10px); }
.settings-save-status { display:flex; align-items:center; gap:.65rem; color:var(--muted); }
.settings-save-status > span { flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:#12a271; box-shadow:0 0 0 4px rgba(18,162,113,.12); }
.settings-save-status strong,.settings-save-status small { display:block; }
.settings-save-status strong { color:#42555b; font-size:.74rem; }
.settings-save-status small { font-size:.67rem; margin-top:.12rem; }
.settings-save-status.is-dirty > span { background:#e8a32e; box-shadow:0 0 0 4px rgba(232,163,46,.13); }
.settings-branding-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.settings-branding-card { display:flex; flex-direction:column; gap:.8rem; min-width:0; padding:1rem; border:1px solid var(--line); border-radius:15px; background:#fbfcfc; }
.settings-branding-card > div:not(.settings-branding-preview) > strong { display:block; color:var(--ink); font-size:.82rem; }
.settings-branding-card > div:not(.settings-branding-preview) > p { min-height:2.1rem; margin:.2rem 0 0; color:var(--muted); font-size:.69rem; line-height:1.5; }
.settings-branding-preview { display:grid; place-items:center; height:106px; overflow:hidden; padding:.7rem; border:1px dashed #cbd8da; border-radius:12px; background:#fff; color:var(--brand); }
.settings-branding-preview img { display:block; max-width:100%; max-height:88px; object-fit:contain; }
.settings-branding-preview > span { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:var(--mist); font-size:1.15rem; }
.settings-branding-preview.footer-preview { background:var(--brand-dark); border-color:color-mix(in srgb,var(--brand-dark) 65%,white); color:#fff; }
.settings-branding-preview.footer-preview > span { background:rgba(255,255,255,.12); }
.settings-branding-preview.icon-preview img { width:64px; height:64px; object-fit:contain; }
.homepage-field-card { position:relative; height:100%; padding:1rem; border:1px solid var(--line); border-radius:14px; background:#fbfcfc; }
.homepage-field-card h3 { margin:0 0 1rem; color:var(--ink); font-size:.86rem; font-weight:800; }
.homepage-icon-field { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:.65rem; }
.homepage-icon-field > span { display:grid; place-items:center; width:44px; height:44px; border:1px solid #dce5e7; border-radius:11px; background:#fff; color:var(--brand); font-size:1.08rem; }
.homepage-step-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.homepage-card-number { position:absolute; top:.8rem; right:.85rem; display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:var(--mist); color:var(--brand); font-size:.7rem; font-weight:850; }
.homepage-step-grid .homepage-icon-field { padding-right:2.5rem; }
.homepage-seal-upload { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:15px; background:#fbfcfc; }
.homepage-seal-upload strong { display:block; color:var(--ink); font-size:.82rem; }
.homepage-seal-upload p { margin:.2rem 0 .65rem; color:var(--muted); font-size:.69rem; }
.homepage-seal-preview { display:grid; place-items:center; flex:0 0 112px; width:112px; height:112px; overflow:hidden; border:1px dashed #cbd8da; border-radius:50%; background:#fff; }
.homepage-seal-preview img { width:100%; height:100%; padding:.35rem; object-fit:contain; }
.homepage-seal-preview > span { display:grid; place-items:center; width:74px; height:74px; border:5px double var(--brand); border-radius:50%; color:var(--brand); font-size:1.55rem; }
.homepage-content-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.certificate-layout-heading { align-items:flex-end; }
.certificate-layout-assets { height:auto; }
.certificate-layout-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.certificate-layout-section-title > div:first-child { display:flex; align-items:flex-start; gap:.8rem; }
.certificate-layout-section-title h2 { margin:0 0 .25rem; color:var(--ink); font-size:.95rem; font-weight:800; }
.certificate-layout-section-title p { margin:0; color:var(--muted); font-size:.73rem; }
.certificate-layout-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.certificate-layout-asset-card { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:.85rem; padding:.9rem; border:1px solid var(--line); border-radius:14px; background:#fbfcfc; }
.certificate-layout-asset-card strong { display:block; color:var(--ink); font-size:.8rem; }
.certificate-layout-asset-card p { margin:.18rem 0 .55rem; color:var(--muted); font-size:.67rem; line-height:1.45; }
.certificate-layout-asset-preview { display:grid; place-items:center; width:110px; height:82px; overflow:hidden; padding:.55rem; border:1px dashed #cbd8da; border-radius:11px; background:#fff; color:var(--brand); }
.certificate-layout-asset-preview img { width:100%; height:100%; object-fit:contain; }
.certificate-layout-asset-preview > span { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:var(--mist); font-size:1.1rem; }
.certificate-layout-asset-preview.signature-preview img { filter:grayscale(1) contrast(1.25); }
.certificate-layout-editor { display:grid; grid-template-columns:minmax(460px,540px) minmax(0,1fr); align-items:start; gap:1rem; }
.certificate-layout-controls { display:grid; gap:1rem; min-width:0; }
.certificate-config-section { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(27,58,67,.045); scroll-margin-top:92px; }
.certificate-config-section > header { display:flex; align-items:flex-start; gap:.8rem; padding:1.15rem 1.25rem; border-bottom:1px solid var(--line); background:#fbfcfc; }
.certificate-config-section > header > span { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:var(--mist); color:var(--brand); }
.certificate-config-section > header h2 { margin:0 0 .2rem; color:var(--ink); font-size:.9rem; font-weight:800; }
.certificate-config-section > header p { margin:0; color:var(--muted); font-size:.69rem; line-height:1.45; }
.certificate-config-body { display:grid; gap:.85rem; padding:1.2rem 1.25rem 1.3rem; }
#textos .certificate-config-body { grid-template-columns:repeat(2,minmax(0,1fr)); }
.certificate-config-body .form-label { color:#42555b; font-size:.71rem; font-weight:750; margin-bottom:.38rem; }
.certificate-config-body .form-control,.certificate-config-body .form-select,.certificate-config-body .input-group-text { min-height:42px; border-color:#dce5e7; border-radius:9px; font-size:.79rem; }
.certificate-config-body .input-group > .form-control { border-radius:9px 0 0 9px; }
.certificate-config-body .input-group-text { border-radius:0 9px 9px 0; background:#f5f8f8; color:var(--muted); font-size:.67rem; }
.certificate-layout-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.certificate-layout-color-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.certificate-layout-color { display:flex; align-items:center; gap:.65rem; min-width:0; padding:.6rem; border:1px solid var(--line); border-radius:11px; background:#fbfcfc; cursor:pointer; }
.certificate-layout-color input { flex:0 0 40px; width:40px; height:40px; padding:.15rem; border:1px solid #d5dfe1; border-radius:9px; background:#fff; cursor:pointer; }
.certificate-layout-color input::-webkit-color-swatch-wrapper { padding:0; }
.certificate-layout-color input::-webkit-color-swatch { border:0; border-radius:6px; }
.certificate-layout-color strong,.certificate-layout-color small { display:block; }
.certificate-layout-color strong { overflow:hidden; color:#42555b; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.certificate-layout-color small { margin-top:.15rem; color:var(--muted); font:700 .61rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.certificate-layout-toggle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.certificate-layout-toggle { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.75rem .8rem; border:1px solid var(--line); border-radius:12px; background:#fbfcfc; cursor:pointer; }
.certificate-layout-toggle strong,.certificate-layout-toggle small { display:block; }
.certificate-layout-toggle strong { color:var(--ink); font-size:.72rem; }
.certificate-layout-toggle small { margin-top:.18rem; color:var(--muted); font-size:.63rem; line-height:1.4; }
.certificate-layout-toggle .form-check-input { width:2.2rem; height:1.15rem; cursor:pointer; }
.certificate-config-subtitle { margin:.35rem 0 -.2rem; padding-top:.8rem; border-top:1px solid var(--line); color:var(--brand); font-size:.72rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.certificate-layout-savebar { position:sticky; bottom:0; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.95); box-shadow:0 -12px 30px rgba(27,58,67,.08); backdrop-filter:blur(10px); }
.certificate-layout-preview-panel { position:sticky; top:92px; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 16px 45px rgba(27,58,67,.07); }
.certificate-layout-preview-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-bottom:1px solid var(--line); }
.certificate-layout-preview-toolbar strong,.certificate-layout-preview-toolbar small,.certificate-layout-preview-toolbar label > span { display:block; }
.certificate-layout-preview-toolbar strong { color:var(--ink); font-size:.82rem; }
.certificate-layout-preview-toolbar small { margin-top:.12rem; color:var(--muted); font-size:.65rem; }
.certificate-layout-preview-toolbar label { min-width:220px; }
.certificate-layout-preview-toolbar label > span { margin-bottom:.28rem; color:var(--muted); font-size:.61rem; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.certificate-preview-canvas { min-height:320px; overflow:hidden; padding:12px; background:linear-gradient(135deg,#e9efef,#dfe7e7); }
.certificate-preview-scaler { position:relative; }
.certificate-preview-scaler .certificate-sheet { margin:0; box-shadow:0 18px 45px rgba(23,52,60,.22); }
.certificate-layout-preview-note { display:flex; align-items:center; gap:.45rem; margin:0; padding:.75rem 1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.65rem; }
.certificate-layout-preview-note i { color:var(--brand); }
.settings-format-badge { display:inline-flex; align-items:center; gap:.4rem; flex:0 0 auto; padding:.4rem .6rem; border:1px solid var(--line); border-radius:100px; background:#f7f9f9; color:var(--muted); font-size:.66rem; font-weight:750; }
.certificate-background-list { display:grid; gap:.7rem; }
.certificate-background-item { display:grid; grid-template-columns:132px minmax(180px,1fr) minmax(230px,auto); align-items:center; gap:1rem; padding:.8rem; border:1px solid var(--line); border-radius:14px; background:#fbfcfc; }
.certificate-background-preview { position:relative; display:grid; place-items:center; width:132px; aspect-ratio:1.414/1; overflow:hidden; border:1px solid #d7e1e3; border-radius:10px; background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--brand) 20%,transparent),transparent 28%),linear-gradient(145deg,#fff,#eaf2f1); background-position:center; background-repeat:no-repeat; background-size:cover; color:var(--brand); }
.certificate-background-preview::after { content:""; position:absolute; inset:7px; border:1px solid currentColor; border-radius:5px; opacity:.35; }
.certificate-background-preview span { position:relative; z-index:1; font:800 1rem "Manrope",sans-serif; }
.certificate-background-preview small { position:absolute; z-index:1; right:6px; bottom:5px; padding:.12rem .28rem; border-radius:4px; background:rgba(255,255,255,.88); color:#53666c; font-size:.52rem; font-weight:800; }
.certificate-background-preview.has-image span { opacity:0; }
.certificate-background-info { min-width:0; }
.certificate-background-info small,.certificate-background-info strong,.certificate-background-info span { display:block; }
.certificate-background-info small { color:var(--brand); font-size:.63rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.certificate-background-info strong { overflow:hidden; margin:.22rem 0; color:var(--ink); font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
.certificate-background-info span { color:var(--muted); font-size:.68rem; }
.certificate-background-actions { display:grid; grid-template-columns:auto auto; align-items:center; justify-content:end; gap:.45rem .6rem; }
.certificate-background-actions > small { grid-column:1/-1; max-width:230px; overflow:hidden; color:var(--muted); font-size:.62rem; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.portal-asset-heading { align-items:flex-end; }
.portal-asset-section { padding:1.35rem; margin-bottom:1rem; border:1px solid var(--line); border-radius:18px; background:#fff; }
.portal-asset-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.portal-asset-section-title h2 { margin:0 0 .25rem; color:var(--ink); font-size:1rem; font-weight:800; }
.portal-asset-section-title p { margin:0; color:var(--muted); font-size:.76rem; }
.portal-asset-count { display:grid; place-items:center; min-width:30px; height:30px; padding:0 .5rem; border-radius:100px; background:var(--mist); color:var(--brand); font-size:.72rem; font-weight:800; }
.portal-asset-count.muted { background:#eff3f3; color:#718388; }
.portal-asset-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:1rem; }
.portal-certificate-card,.portal-seal-card,.portal-catalog-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.portal-certificate-card:hover,.portal-seal-card:hover,.portal-catalog-card:hover { border-color:color-mix(in srgb,var(--asset-color,var(--brand)) 35%,var(--line)); box-shadow:0 14px 34px rgba(26,61,69,.09); transform:translateY(-2px); }
.portal-certificate-preview { position:relative; display:flex; align-items:flex-end; min-height:160px; padding:1rem; overflow:hidden; background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--asset-color,var(--brand)) 35%,transparent),transparent 30%),linear-gradient(145deg,#f9fcfb,#e8f1f0); background-position:center; background-repeat:no-repeat; background-size:cover; }
.portal-certificate-preview::after { content:""; position:absolute; inset:12px; border:1px solid color-mix(in srgb,var(--asset-color,var(--brand)) 45%,transparent); border-radius:10px; }
.portal-certificate-preview.has-image::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(13,33,39,.52)); }
.portal-authenticated-badge { position:absolute; z-index:2; top:.8rem; right:.8rem; display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .55rem; border-radius:100px; background:rgba(255,255,255,.94); color:#087556; font-size:.62rem; font-weight:800; }
.portal-certificate-preview-copy { position:relative; z-index:2; }
.portal-certificate-preview-copy small,.portal-certificate-preview-copy strong,.portal-certificate-preview-copy span { display:block; }
.portal-certificate-preview-copy small { color:#52676d; font-size:.6rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.portal-certificate-preview.has-image .portal-certificate-preview-copy small,.portal-certificate-preview.has-image .portal-certificate-preview-copy strong,.portal-certificate-preview.has-image .portal-certificate-preview-copy span { color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.25); }
.portal-certificate-preview-copy strong { color:var(--asset-color,var(--brand)); font:800 1.65rem "Manrope",sans-serif; }
.portal-certificate-preview-copy span { color:#566b71; font-size:.68rem; font-weight:700; }
.portal-asset-card-body { padding:1rem; }
.portal-asset-card-body h3 { margin:.18rem 0 0; color:var(--ink); font-size:.9rem; font-weight:800; }
.portal-asset-category { color:var(--asset-color,var(--brand)); font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.portal-asset-meta { display:grid; gap:.35rem; padding:.8rem 0; color:var(--muted); font-size:.68rem; }
.portal-asset-meta span { display:flex; align-items:center; gap:.4rem; }
.portal-asset-meta i { color:var(--asset-color,var(--brand)); }
.portal-certified-sites { margin:0 0 .9rem; padding:.7rem .75rem; border:1px solid color-mix(in srgb,var(--asset-color,var(--brand)) 18%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--asset-color,var(--brand)) 5%,white); }
.portal-certified-sites > small { display:block; margin-bottom:.4rem; color:var(--muted); font-size:.61rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.portal-certified-sites > small i { color:var(--asset-color,var(--brand)); }
.portal-certified-sites > div { display:flex; flex-wrap:wrap; gap:.35rem; }
.portal-certified-sites a { display:inline-flex; align-items:center; gap:.32rem; max-width:100%; padding:.28rem .48rem; border-radius:7px; background:#fff; color:var(--ink); font-size:.66rem; font-weight:700; line-height:1.25; text-decoration:none; overflow-wrap:anywhere; }
.portal-certified-sites a:hover { color:var(--asset-color,var(--brand)); }
.portal-certified-sites a i { flex:0 0 auto; color:var(--asset-color,var(--brand)); font-size:.58rem; }
.portal-asset-empty { display:flex; align-items:center; gap:.85rem; padding:1.1rem; border:1px dashed #cad7d9; border-radius:14px; background:#fafcfc; }
.portal-asset-empty > span { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:12px; background:var(--mist); color:var(--brand); font-size:1.2rem; }
.portal-asset-empty strong { display:block; font-size:.82rem; }
.portal-asset-empty p { margin:.2rem 0 0; color:var(--muted); font-size:.72rem; }
.portal-asset-catalog { background:#f9fbfb; }
.portal-catalog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.8rem; }
.portal-catalog-card { display:flex; flex-direction:column; padding:1rem; }
.portal-catalog-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:.8rem; border-radius:12px; background:color-mix(in srgb,var(--asset-color,var(--brand)) 12%,white); color:var(--asset-color,var(--brand)); font-size:1.1rem; }
.portal-catalog-card small { color:var(--asset-color,var(--brand)); font-size:.59rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.portal-catalog-card h3 { margin:.2rem 0 .4rem; color:var(--ink); font-size:.84rem; font-weight:800; }
.portal-catalog-card p { color:var(--muted); font-size:.7rem; line-height:1.5; }
.portal-catalog-card .btn { margin-top:auto; }
.portal-seal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; }
.portal-seal-card { display:grid; grid-template-columns:155px minmax(0,1fr); }
.portal-seal-visual { display:grid; place-items:center; min-height:230px; padding:1.2rem; background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--asset-color,var(--brand)) 17%,white),#f7faf9 67%); }
.portal-seal-visual img { width:100%; max-height:190px; object-fit:contain; filter:drop-shadow(0 12px 18px rgba(27,60,68,.14)); }
.portal-seal-fallback { display:grid; place-items:center; width:118px; height:118px; border:6px double var(--asset-color,var(--brand)); border-radius:50%; color:var(--asset-color,var(--brand)); text-align:center; }
.portal-seal-fallback i { font-size:2rem; line-height:1; }
.portal-seal-fallback strong { font:800 .8rem "Manrope",sans-serif; }
.portal-seal-code { padding:.7rem; margin-top:.8rem; border:1px dashed #cddadc; border-radius:10px; background:#f9fbfb; }
.portal-seal-code small,.portal-seal-code strong { display:block; }
.portal-seal-code small { color:var(--muted); font-size:.6rem; }
.portal-seal-code strong { margin-top:.2rem; color:var(--ink); font:800 .74rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.sidebar-preview { --preview-sidebar-bg:#163d4a; --preview-sidebar-text:#fff; --preview-sidebar-muted:#9fc2c6; --preview-sidebar-active-bg:#0d766e; --preview-sidebar-active-text:#fff; --preview-sidebar-border:#315963; min-height:285px; padding:1rem; border-radius:16px; background:var(--preview-sidebar-bg); color:var(--preview-sidebar-text); box-shadow:0 14px 34px rgba(20,54,64,.16); transition:background-color .18s ease,color .18s ease; }
.sidebar-preview-brand { display:flex; align-items:center; gap:.55rem; margin-bottom:1rem; font-family:"Manrope",system-ui,sans-serif; }
.sidebar-preview-brand i { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--preview-sidebar-active-bg); color:var(--preview-sidebar-active-text); }
.sidebar-preview > small { display:block; color:var(--preview-sidebar-muted); font-size:.58rem; font-weight:800; letter-spacing:.09em; margin:0 0 .55rem .55rem; }
.sidebar-preview-link { display:flex; align-items:center; gap:.55rem; padding:.6rem .65rem; margin:.18rem 0; border-radius:9px; color:var(--preview-sidebar-text); opacity:.78; font-size:.78rem; font-weight:600; }
.sidebar-preview-link.active { background:var(--preview-sidebar-active-bg); color:var(--preview-sidebar-active-text); opacity:1; }
.sidebar-preview-divider { height:1px; margin:.8rem 0; background:var(--preview-sidebar-border); }
.empty-state { text-align:center; padding:3.5rem 1rem; color:var(--muted); }
.empty-state i { display:block; font-size:2.3rem; color:#a7b6ba; margin-bottom:.75rem; }

.integration-page-heading { align-items:flex-end; }
.integration-admin-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:1rem; margin-bottom:1rem; }
.integration-form-card,.integration-guide-card,.integration-list-card { border:1px solid var(--line); }
.integration-form-card .panel-card-header,.integration-guide-card .panel-card-header,.integration-list-card .panel-card-header { margin-bottom:1.25rem; }
.integration-form-icon { display:grid; place-items:center; flex:0 0 45px; width:45px; height:45px; border-radius:13px; background:var(--mist); color:var(--brand); font-size:1.2rem; }
.integration-form-card .form-text { display:block; margin-top:.38rem; color:var(--muted); font-size:.68rem; line-height:1.4; }
.integration-size-field { display:grid; grid-template-columns:minmax(0,1fr) 126px; align-items:center; gap:1.25rem; padding:1rem; border:1px solid var(--line); border-radius:14px; background:#fafcfc; }
.integration-size-preview { display:grid; place-items:center; justify-self:center; width:88px; height:88px; border:5px double var(--brand); border-radius:50%; background:#fff; color:var(--brand); font-size:30px; box-shadow:0 10px 24px rgba(22,61,74,.11); transition:width .18s ease,height .18s ease,font-size .18s ease; }
.integration-form-actions { display:flex; justify-content:flex-end; gap:.65rem; padding-top:.2rem; }
.integration-guide-card h2 { margin:0 0 1.1rem; color:var(--ink); font-size:1.05rem; font-weight:800; }
.integration-steps { display:grid; gap:.82rem; margin:0; padding:0; list-style:none; }
.integration-steps li { display:flex; align-items:flex-start; gap:.7rem; }
.integration-steps li > span { display:grid; place-items:center; flex:0 0 29px; width:29px; height:29px; border-radius:9px; background:var(--mist); color:var(--brand); font-size:.72rem; font-weight:900; }
.integration-steps strong,.integration-steps small { display:block; }
.integration-steps strong { color:var(--ink); font-size:.76rem; }
.integration-steps small { margin-top:.12rem; color:var(--muted); font-size:.67rem; line-height:1.45; }
.integration-security-note { display:flex; align-items:flex-start; gap:.7rem; margin-top:1.2rem; padding:.9rem; border:1px solid #cce5da; border-radius:13px; background:#eff9f5; color:#176348; }
.integration-security-note > i { margin-top:.05rem; font-size:1.05rem; }
.integration-security-note strong { display:block; font-size:.72rem; }
.integration-security-note p { margin:.22rem 0 0; color:#477365; font-size:.64rem; line-height:1.45; }
.integration-total { display:grid; place-items:center; min-width:34px; height:34px; padding:0 .6rem; border-radius:10px; background:var(--mist); color:var(--brand); font-size:.78rem; font-weight:900; }
.integration-list { display:grid; gap:1rem; }
.integration-item { padding:1rem; border:1px solid var(--line); border-radius:15px; background:#fbfcfc; }
.integration-item-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.integration-item-head h3 { margin:0; color:var(--ink); font-size:.92rem; font-weight:800; }
.integration-item-head p { margin:.3rem 0 0; color:var(--muted); font-size:.68rem; }
.integration-item-actions { display:flex; flex:0 0 auto; gap:.35rem; }
.integration-item-actions form { margin:0; }
.integration-authorized-sites { margin:.9rem 0; padding:.75rem; border:1px solid #dce7e8; border-radius:11px; background:#fff; }
.integration-authorized-sites > small { display:block; margin-bottom:.45rem; color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.integration-authorized-sites > div { display:flex; flex-wrap:wrap; gap:.4rem; }
.integration-site-chip,.integration-site-warning { display:inline-flex; align-items:center; gap:.35rem; padding:.34rem .5rem; border-radius:8px; font-size:.64rem; font-weight:750; }
.integration-site-chip { background:#eaf6f2; color:#0b7658; }
.integration-site-warning { background:#fff3dc; color:#8a5a00; }
.integration-code-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.integration-code-block { display:grid; align-content:start; gap:.55rem; min-width:0; padding:.8rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.integration-code-block strong,.integration-code-block small { display:block; }
.integration-code-block strong { color:var(--ink); font-size:.72rem; }
.integration-code-block small { margin-top:.12rem; color:var(--muted); font-size:.62rem; }
.integration-code-block textarea { resize:none; color:#37545b; font-size:.62rem; line-height:1.45; white-space:pre; }
.integration-copy { justify-self:start; }
.integration-copy.is-copied { border-color:#0b8f67; background:#e8f7f1; color:#087556; }
.integration-verification-hero { padding-bottom:5rem; }
.integration-verification-wrap { max-width:900px; }
.integration-verification-card { padding:0; overflow:hidden; }
.integration-verification-status { display:flex; align-items:center; gap:1rem; padding:1.5rem; }
.integration-verification-status.is-valid { background:linear-gradient(135deg,#eaf8f2,#f8fcfa); }
.integration-verification-status.is-invalid { background:linear-gradient(135deg,#fff0ef,#fffafa); }
.integration-verification-status > span { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; border-radius:15px; background:#fff; font-size:1.5rem; box-shadow:0 8px 20px rgba(20,56,64,.1); }
.integration-verification-status.is-valid > span,.integration-verification-status.is-valid small { color:#0a805f; }
.integration-verification-status.is-invalid > span,.integration-verification-status.is-invalid small { color:#b5362e; }
.integration-verification-status small { font-size:.64rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.integration-verification-status h2 { margin:.22rem 0 0; color:var(--ink); font:800 1.28rem "Manrope",sans-serif; }
.integration-verification-status p { margin:.18rem 0 0; color:var(--muted); font-size:.78rem; }
.integration-verification-data { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border-block:1px solid var(--line); }
.integration-verification-data > div { min-width:0; padding:1rem 1.15rem; background:#fff; }
.integration-verification-data small,.integration-verification-data strong { display:block; }
.integration-verification-data small { color:var(--muted); font-size:.62rem; }
.integration-verification-data strong { margin-top:.22rem; color:var(--ink); font-size:.76rem; overflow-wrap:anywhere; }
.integration-verification-sites { padding:1.2rem 1.5rem; }
.integration-verification-sites > small { display:block; margin-bottom:.6rem; color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.integration-verification-sites > div { display:flex; flex-wrap:wrap; gap:.45rem; }
.integration-verification-sites span { display:inline-flex; align-items:center; gap:.4rem; padding:.43rem .58rem; border-radius:9px; background:var(--mist); color:var(--brand-dark); font-size:.68rem; font-weight:750; }
.integration-verification-sites span i { color:var(--brand); }
.integration-verification-sites p { margin:0; color:var(--muted); font-size:.72rem; }
.integration-verification-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; border-top:1px solid var(--line); background:#fafcfc; }
.integration-verification-footer > span { color:var(--muted); font-size:.67rem; }

@media (max-width: 991.98px) {
    .hero { padding:4.5rem 0; }
    .trust-panel { margin-top:2rem; transform:none; }
    .process-grid { grid-template-columns:repeat(2,1fr); }
    .seal-stage { grid-template-columns:1fr; min-height:auto; }
    .seal-stage-copy { text-align:center; }
    .seal-stage-copy p { max-width:520px; margin-inline:auto; }
    .seal-stage-art { min-height:270px; }
    .sidebar { position:fixed; }
    .dashboard-content { margin-left:0; }
    .topbar { padding:0 1rem; }
    .dashboard-main { padding:1rem; }
    .settings-workspace { grid-template-columns:1fr; }
    .settings-navigation { position:sticky; top:76px; z-index:8; padding:.75rem; border-right:0; border-bottom:1px solid var(--line); border-radius:20px 20px 0 0; }
    .settings-navigation-heading,.settings-navigation-note { display:none; }
    .settings-navigation nav { display:flex; gap:.35rem; overflow-x:auto; scrollbar-width:none; }
    .settings-navigation nav::-webkit-scrollbar { display:none; }
    .settings-navigation nav a { flex:0 0 auto; padding:.58rem .7rem; white-space:nowrap; }
    .settings-section { scroll-margin-top:145px; }
    .settings-actions { border-radius:0 0 20px 20px; }
    .settings-branding-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .settings-branding-card:last-child { grid-column:1/-1; }
    .homepage-content-groups { grid-template-columns:1fr; }
    .certificate-layout-asset-grid { grid-template-columns:1fr; }
    .certificate-layout-field-grid,#textos .certificate-config-body { grid-template-columns:1fr; }
    .certificate-background-item { grid-template-columns:132px minmax(0,1fr); }
    .certificate-background-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:flex-end; }
    .certificate-background-actions > small { order:3; width:100%; max-width:none; text-align:right; }
    .integration-admin-grid { grid-template-columns:1fr; }
    .integration-code-grid { grid-template-columns:1fr; }
}
@media (max-width: 575.98px) {
    .display-title { font-size:2.55rem; }
    .section { padding:4rem 0; }
    .process-grid { grid-template-columns:1fr; }
    .seal-stage { min-height:auto; padding:2rem 1.3rem; }
    .seal-stage-art { min-height:230px; }
    .seal-disc { width:210px; height:210px; transform:rotate(3deg); }
    .seal-real-image { max-width:230px; max-height:230px; }
    .page-heading { display:block; }
    .page-heading .btn { margin-top:1rem; }
    .dashboard-main { padding:.85rem; }
    .panel-card { padding:1rem; }
    .settings-page-heading { display:flex; flex-direction:column; align-items:stretch; }
    .settings-heading-action { width:100%; }
    .settings-navigation nav a span { display:none; }
    .settings-navigation nav a i { width:auto; font-size:1rem; }
    .settings-section-header { padding:1.3rem 1.1rem .9rem; }
    .settings-section-body { padding:0 1.1rem 1.35rem; }
    .settings-section-icon { flex-basis:38px; width:38px; height:38px; }
    .settings-color-grid,.settings-color-grid-sidebar { grid-template-columns:1fr; }
    .settings-branding-grid,.homepage-step-grid { grid-template-columns:1fr; }
    .settings-branding-card:last-child { grid-column:auto; }
    .certificate-layout-heading { align-items:stretch; }
    .certificate-layout-heading .btn { width:100%; }
    .certificate-layout-section-title,.certificate-layout-preview-toolbar { align-items:stretch; flex-direction:column; }
    .certificate-layout-asset-card { grid-template-columns:1fr; }
    .certificate-layout-asset-preview { width:100%; }
    .certificate-layout-asset-card .btn { width:100%; }
    .certificate-layout-color-grid,.certificate-layout-toggle-grid { grid-template-columns:1fr; }
    .certificate-layout-savebar { align-items:stretch; flex-direction:column; }
    .certificate-layout-savebar .btn { width:100%; }
    .homepage-seal-upload { align-items:stretch; flex-direction:column; }
    .homepage-seal-preview { align-self:center; }
    .homepage-seal-upload .btn { width:100%; }
    .settings-subsection-title { display:block; }
    .settings-live-badge { margin-top:.65rem; }
    .settings-maintenance-row { align-items:stretch; flex-direction:column; }
    .settings-maintenance-row .btn { width:100%; }
    .settings-actions { align-items:stretch; flex-direction:column; padding:.9rem 1.1rem; }
    .settings-actions .btn { width:100%; }
    .certificate-background-item { grid-template-columns:1fr; }
    .certificate-background-preview { width:100%; }
    .certificate-background-actions { justify-content:stretch; }
    .certificate-background-actions .btn,.certificate-background-actions label { flex:1; }
    .certificate-background-actions > small { text-align:left; }
    .portal-asset-heading { align-items:stretch; }
    .portal-asset-heading .btn { width:100%; }
    .portal-asset-section { padding:1rem; }
    .portal-asset-grid,.portal-catalog-grid,.portal-seal-grid { grid-template-columns:1fr; }
    .portal-seal-card { grid-template-columns:1fr; }
    .portal-seal-visual { min-height:190px; }
    .integration-size-field { grid-template-columns:1fr; }
    .integration-item-head,.integration-verification-footer { align-items:stretch; flex-direction:column; }
    .integration-item-actions { align-self:flex-end; }
    .integration-verification-data { grid-template-columns:1fr 1fr; }
    .integration-verification-footer .btn { width:100%; }
}
@media (max-width: 767.98px) {
    .metric-value { justify-content:center; }
}
@media (max-width: 1399.98px) {
    .certificate-layout-editor { grid-template-columns:1fr; }
    .certificate-layout-preview-panel { position:static; order:-1; }
}
