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

:root {
  --pc-bg: #080a12;
  --pc-bg-2: #0d1020;
  --pc-panel: rgba(17, 21, 37, .88);
  --pc-border: rgba(255,255,255,.09);
  --pc-text: #f4f6fb;
  --pc-muted: #9299ad;
  --pc-purple: #8b5cf6;
  --pc-cyan: #22d3ee;
  --pc-green: #34d399;
  /* La ratificacion es un servicio que se paga aparte: se lalou con dorado
     para que se lea como el sello del escribano y no como otro estado verde. */
  --pc-gold: #d9a94a;
  --pc-gold-2: #f5e2a8;
  --pc-gold-dim: rgba(217,169,74,.14);
  --pc-gold-line: rgba(217,169,74,.42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pc-bg);
  color: var(--pc-text);
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--pc-text);
}
a { text-decoration: none; }
section { scroll-margin-top: 80px; }

.pc-navbar {
  background: rgba(8,10,18,.78);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--pc-border);
}
.navbar-brand { letter-spacing: -.5px; }
.navbar-brand > span:last-child { color: var(--pc-cyan); }
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  border-radius: 10px;
  background: linear-gradient(135deg,var(--pc-purple),var(--pc-cyan));
}
.nav-link { color: #b8bfd0 !important; margin: 0 5px; }
.nav-link:hover { color: #fff !important; }
.btn-wallet {
  color: #fff;
  border: 1px solid rgba(34,211,238,.35);
  background: rgba(34,211,238,.08);
}
.btn-wallet:hover { background: rgba(34,211,238,.16); color: #fff; }

.hero-section {
  position: relative;
  min-height: 100vh;
  background:
    radial-gradient(circle at 75% 45%, rgba(139,92,246,.17), transparent 28%),
    radial-gradient(circle at 15% 70%, rgba(34,211,238,.08), transparent 25%),
    var(--pc-bg);
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .3;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(to bottom, black, transparent);
}
.demo-badge, .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pc-cyan);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: 1.7px;
}
.pulse-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--pc-green);
  box-shadow: 0 0 0 5px rgba(52,211,153,.08);
}
.hero-section h1 { line-height: 1.02; letter-spacing: -2.5px; }
.gradient-text {
  background: linear-gradient(90deg,var(--pc-cyan),var(--pc-purple));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-lead {
  color: #aab1c3;
  font-size: 1.15rem;
  line-height: 1.8;
  max-width: 650px;
}
.btn-primary {
  border: 0;
  background: linear-gradient(135deg,var(--pc-purple),#6d4ae8);
  box-shadow: 0 12px 30px rgba(139,92,246,.2);
}
.btn-primary:hover { filter: brightness(1.1); }
.btn-outline-light { border-color: rgba(255,255,255,.18); }
.mini-feature {
  color: #bfc5d4;
  font-size: .85rem;
  display: flex;
  gap: 9px;
  align-items: center;
}
.mini-feature i { color: var(--pc-cyan); font-size: 1.1rem; }

.hero-visual { position: relative; height: 520px; display:grid; place-items:center; }
.hero-card {
  width: 310px;
  height: 310px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 38px;
  background: rgba(16,20,36,.7);
  backdrop-filter: blur(12px);
  box-shadow: 0 40px 100px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.06);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap: 16px;
  transform: rotate(-5deg);
  animation: float 5s ease-in-out infinite;
  position: relative;
  z-index: 2;
}
.hero-doc,.hero-hash,.hero-block {
  width: 70px; height: 70px; border-radius: 20px;
  display:grid; place-items:center; font-size: 1.9rem;
}
.hero-doc { background: rgba(34,211,238,.1); color: var(--pc-cyan); }
.hero-hash { background: rgba(139,92,246,.14); color: #a78bfa; }
.hero-block { background: rgba(52,211,153,.1); color: var(--pc-green); }
.doc-lines { position:absolute; left: 35px; top: 48px; display:none; }
.connector-line { height: 16px; width: 1px; background: linear-gradient(var(--pc-cyan),var(--pc-purple)); }
.orbit { position:absolute; border:1px solid rgba(139,92,246,.18); border-radius:50%; }
.orbit-one { width:470px;height:470px; animation: spin 18s linear infinite; }
.orbit-two { width:360px;height:360px; border-color:rgba(34,211,238,.15); animation: spin 12s linear infinite reverse; }
.floating-code,.floating-check {
  position:absolute; z-index:3; border:1px solid var(--pc-border); background:rgba(12,15,28,.9);
  border-radius:14px; padding:12px 16px; font-family:'Space Mono',monospace; font-size:.7rem; box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.floating-code { right: 0; top: 110px; color:var(--pc-muted); }
.floating-code strong { color:var(--pc-cyan); }
.floating-check { left: 0; bottom: 110px; color:var(--pc-green); font-family:Inter,sans-serif; font-weight:700; }
.floating-check i { margin-right:6px; }

.section-space { padding: 110px 0; }
.section-alt { background: linear-gradient(180deg, #0a0d17, #0d1020); }
.section-heading { margin-bottom: 55px; }
.section-heading h2 { font-size: clamp(2rem,4vw,3.1rem); letter-spacing:-1.5px; margin-top:12px; }
.section-heading p { color:var(--pc-muted); max-width:700px; margin:12px auto 0; line-height:1.7; }

.pc-panel {
  background: var(--pc-panel);
  border: 1px solid var(--pc-border);
  border-radius: 24px;
  padding: clamp(20px,4vw,38px);
  box-shadow: 0 30px 70px rgba(0,0,0,.2);
}
.drop-zone {
  border: 1px dashed rgba(255,255,255,.2);
  border-radius: 20px;
  padding: 55px 20px;
  text-align:center;
  background: rgba(255,255,255,.018);
  transition:.25s ease;
}
.drop-zone:hover,.drop-zone.dragover {
  border-color:var(--pc-cyan);
  background:rgba(34,211,238,.045);
  transform:translateY(-2px);
}
.drop-zone.compact { padding:45px 20px; }
.upload-icon {
  width:72px;height:72px;margin:0 auto 20px;border-radius:22px;
  display:grid;place-items:center;font-size:2rem;color:var(--pc-cyan);
  background:rgba(34,211,238,.08);
}
.drop-zone p { color:var(--pc-muted); }

.selected-file {
  display:flex;align-items:center;gap:15px;padding:16px;
  border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--pc-border);
}
.file-type-icon {
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;
  background:rgba(139,92,246,.12);color:#b79cff;font-size:1.4rem;
}
.hash-box {
  background:#060810;border:1px solid rgba(34,211,238,.15);border-radius:18px;padding:20px;
}
.form-label { color:#bfc5d4; font-size:.88rem; font-weight:600; }
.hash-value {
  font-family:'Space Mono',monospace;font-size:.78rem;line-height:1.8;
  color:var(--pc-cyan);word-break:break-all;
}
.status-pill {
  font-size:.72rem;padding:5px 9px;border-radius:20px;background:rgba(255,255,255,.05);color:var(--pc-muted);
}
.status-pill.ready { color:var(--pc-green);background:rgba(52,211,153,.08); }
.pc-input {
  background:#090c16 !important;border-color:var(--pc-border) !important;color:#fff !important;
}
.pc-input:focus { border-color:rgba(34,211,238,.5) !important; box-shadow:0 0 0 .2rem rgba(34,211,238,.07) !important; }
.pc-input::placeholder { color:#5e6576; }
.demo-notice,.important-note {
  display:flex;gap:14px;padding:16px 18px;border-radius:15px;
  background:rgba(34,211,238,.045);border:1px solid rgba(34,211,238,.12);
}
.demo-notice > i,.important-note > i { color:var(--pc-cyan);font-size:1.25rem; }
.demo-notice p,.important-note p { color:var(--pc-muted);margin:.3rem 0 .7rem;font-size:.85rem; }
.form-check-label { color:#aeb5c5;font-size:.82rem; }
.form-check-input { background-color:#0b0e18;border-color:#4c5364; }

.pc-table { color:#dfe3ed; --bs-table-color:#dfe3ed; margin:0; }
.pc-table > :not(caption) > * > * { background:transparent; border-bottom-color:var(--pc-border); padding:16px 10px; }
.pc-table thead th { color:#747c91; font-size:.72rem; text-transform:uppercase;letter-spacing:1px; }
.hash-short { font-family:'Space Mono',monospace;color:var(--pc-cyan);font-size:.72rem; }
.state-demo { color:var(--pc-green);font-size:.75rem; }
.action-btn { color:#aeb5c5;border:0;background:transparent;padding:6px; }
.action-btn:hover { color:#fff; }
.empty-history { text-align:center;padding:50px 20px;color:var(--pc-muted); }
.empty-history i { font-size:3rem;display:block;margin-bottom:15px;opacity:.5; }

.process-card {
  position:relative;height:100%;padding:28px;border:1px solid var(--pc-border);
  border-radius:20px;background:rgba(255,255,255,.018);
}
.process-card > span { position:absolute;right:20px;top:18px;color:#454c5f;font-family:'Space Mono';font-size:.75rem; }
.process-card > i { color:var(--pc-cyan);font-size:2rem;display:block;margin-bottom:30px; }
.process-card h5 { margin-bottom:10px; }
.process-card p { color:var(--pc-muted);font-size:.88rem;line-height:1.7;margin:0; }

.pc-footer { padding:30px 0;border-top:1px solid var(--pc-border);color:#737b8e;font-size:.8rem; }
.pc-footer strong { color:#dce1ec; }

.pc-modal { background:#101424;color:#fff;border:1px solid var(--pc-border);border-radius:22px; }
.wallet-option {
  width:100%;display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--pc-border);
  border-radius:15px;background:rgba(255,255,255,.03);color:#fff;text-align:left;
}
.wallet-option:hover { border-color:var(--pc-cyan);background:rgba(34,211,238,.05); }
.wallet-logo { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(139,92,246,.15);color:#a78bfa; }
.wallet-option small { display:block;color:var(--pc-muted);margin-top:3px; }

.certificate-sheet {
  background:#090c16;border:1px solid var(--pc-border);border-radius:16px;padding:25px;
}
.cert-status { display:inline-flex;gap:7px;align-items:center;color:var(--pc-green);font-weight:700;font-size:.75rem; }
.cert-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px; }
.cert-item { background:rgba(255,255,255,.03);border:1px solid var(--pc-border);border-radius:12px;padding:13px; }
.cert-item small { display:block;color:#687084;font-size:.68rem;text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px; }
.cert-item div { color:#dce1ec;word-break:break-word;font-size:.82rem; }
.cert-hash { font-family:'Space Mono',monospace;color:var(--pc-cyan) !important;font-size:.68rem !important; }
.simulated-label { color:#a78bfa !important; }
.processing-box { text-align:center;padding:35px; }
.spinner-ring {
  width:48px;height:48px;border:3px solid rgba(255,255,255,.1);
  border-top-color:var(--pc-cyan);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 18px;
}
.result-ok,.result-no {
  padding:18px;border-radius:15px;border:1px solid;
}
.result-ok { border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.05); }
.result-no { border-color:rgba(248,113,113,.2);background:rgba(248,113,113,.04); }
.result-ok i { color:var(--pc-green); }
.result-no i { color:#f87171; }

@keyframes float { 0%,100%{transform:rotate(-5deg) translateY(0)} 50%{transform:rotate(-3deg) translateY(-12px)} }
@keyframes spin { to{transform:rotate(360deg)} }

/* ------------------------------------------------------------------
   ProofChain - estilos del flujo real (contrato, tarifas, libro)
   ------------------------------------------------------------------ */
.pc-banner { border-radius:14px; }
.status-pill.status-success { color:var(--pc-green);background:rgba(52,211,153,.1); }
.status-pill.status-warning { color:#fbbf24;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3); }
.status-pill.status-secondary { color:var(--pc-muted);background:rgba(255,255,255,.05); }
.status-pill.status-info { color:var(--pc-cyan);background:rgba(34,211,238,.1); }

/* ------------------------------------------------------------------
   Sello notarial: la marca visual de que el escribano firmo.
   ------------------------------------------------------------------ */
/* El pill es semantico: gris (no registrado) -> ambar (atestado) ->
   cian (ratificacion solicitada) -> verde (ratificado). El dorado queda
   para el sello notarial, que es la marca premium del escribano. */
.status-pill.status-ratified {
  color:#4ade80;
  background:linear-gradient(135deg,rgba(52,211,153,.2),rgba(52,211,153,.08));
  border:1px solid rgba(52,211,153,.45);
  font-weight:700;letter-spacing:.04em;
}

/* Aviso de privacidad del modal. OJO: .alert-info de bootstrap es un cuadro
   CLARO (#cff4fc con texto #055160) en los dos temas, asi que acá van tonos
   oscuros. Poner cian o blanco sobre ese fondo los vuelve invisibles. */
.pc-privacy { display:flex;gap:10px;align-items:flex-start; }
.pc-privacy > i { flex:0 0 auto;margin-top:1px;color:#0e7490; }
.pc-privacy a { color:#0e7490;font-weight:600;text-decoration:none;border-bottom:1px dashed rgba(14,116,144,.55); }
.pc-privacy a:hover { color:#155e75;border-bottom-style:solid; }

/* Aviso de venta: aparece cuando el documento esta atestado pero sin firma.
   Es el unico bloque que pide plata, asi que no se camufla con un boton comun. */
.pc-upsell {
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 18px;border-radius:14px;margin-top:16px;
  background:linear-gradient(135deg,rgba(217,169,74,.13),rgba(217,169,74,.04));
  border:1px dashed var(--pc-gold-line);
}
.pc-upsell > i { color:var(--pc-gold);font-size:1.35rem;flex:0 0 auto; }
.pc-upsell > div { flex:1 1 240px;min-width:0; }
.pc-upsell strong { color:var(--pc-gold-2);display:block;font-size:.92rem; }
.pc-upsell .text-secondary { color:var(--pc-muted); }

/* Tarjeta de certificado ya firmada: marco dorado, sin cambiar el layout. */
.certificate-card.is-ratified {
  border-color:var(--pc-gold-line);
  background:linear-gradient(135deg,rgba(217,169,74,.09),rgba(255,255,255,.02));
  box-shadow:0 0 0 1px rgba(217,169,74,.08);
}

/* Icono del titulo del modal: dorado cuando hay firma notarial. */
.pc-icon-ratified { color:var(--pc-gold-2) !important; text-shadow:0 0 18px rgba(217,169,74,.55); }

.pc-seal {
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 18px;border-radius:14px;margin-bottom:12px;
  background:linear-gradient(135deg,rgba(217,169,74,.16),rgba(217,169,74,.05));
  border:1px solid var(--pc-gold-line);
  box-shadow:0 0 0 1px rgba(217,169,74,.08),0 8px 30px -12px rgba(217,169,74,.35);
}
.pc-seal-stamp {
  flex:0 0 auto;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 32% 28%,var(--pc-gold-2),var(--pc-gold) 62%,#9a7420);
  color:#2a1e05;font-size:1.5rem;
  box-shadow:inset 0 0 0 3px rgba(42,30,5,.32),0 0 22px -4px rgba(217,169,74,.65);
}
.pc-seal-body { min-width:0;flex:1 1 220px; }
/* QR pegado a la derecha del sello, con marco dorado. */
.pc-seal-qr {
  flex:0 0 auto;margin-left:auto;display:block;line-height:0;
  padding:5px;border-radius:12px;background:#fff;
  border:1px solid var(--pc-gold-line);
  box-shadow:0 0 18px -8px rgba(217,169,74,.7);
  transition:transform .15s ease,box-shadow .15s ease;
}
.pc-seal-qr:hover { transform:scale(1.03);box-shadow:0 0 24px -6px rgba(217,169,74,.9); }
.pc-seal-qr img { display:block;width:92px;height:92px;image-rendering:pixelated; }
.pc-seal-title {
  font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pc-gold-2);
}
.pc-seal-sub { font-size:.78rem;color:var(--pc-muted); }
.pc-seal-hash {
  font-family:'Space Mono',monospace;font-size:.7rem;color:var(--pc-gold);
  word-break:break-all;margin-top:2px;
}

/* Panel del certificado cuando ya esta firmado. */
.pc-panel.is-ratified {
  border-color:var(--pc-gold-line);
  background:linear-gradient(180deg,rgba(217,169,74,.07),rgba(17,21,37,.88) 40%);
  box-shadow:0 0 0 1px rgba(217,169,74,.1),0 18px 50px -28px rgba(217,169,74,.5);
}

/* Filas de tablas ya firmadas. */
.is-ratified > td { background:rgba(52,211,153,.06); }
tr.is-ratified > td:first-child { box-shadow:inset 3px 0 0 #34d399; }
tr.is-ratified > td { border-color:rgba(52,211,153,.2); }
tr.is-ratified:hover > td { background:rgba(52,211,153,.11); }

.ratification-offer {
  border:1px solid var(--pc-border);border-radius:12px;padding:12px 14px;background:rgba(34,211,238,.04);
}

.pc-progress { height:12px;background:rgba(255,255,255,.06);border-radius:20px; }
.pc-progress .progress-bar {
  background:linear-gradient(90deg,var(--pc-cyan),var(--pc-purple));
  font-size:.6rem;line-height:12px;border-radius:20px;overflow:hidden;white-space:nowrap;
}

.fee-box {
  border:1px solid rgba(34,211,238,.18);
  border-radius:18px;padding:18px 20px;
  background:linear-gradient(180deg,rgba(34,211,238,.04),rgba(139,92,246,.04));
}
.fee-item { border:1px solid var(--pc-border);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.03); }
.fee-item strong { display:block;font-size:1.05rem;margin-top:4px; }
.fee-item.total { border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.06); }
.feeless-note { font-size:.82rem;color:var(--pc-muted); }

.pc-panel-inner { border:1px solid rgba(52,211,153,.3);border-radius:18px;padding:20px;background:rgba(52,211,153,.04); }

.pc-console {
  background:#05070d;color:#a9e8df;border:1px solid var(--pc-border);
  border-radius:14px;padding:16px;font-size:.75rem;line-height:1.6;
  max-height:320px;overflow:auto;font-family:'Space Mono',monospace;
}
.static-field { padding:11px 14px;min-height:46px; }

.pc-tabs {
  border-bottom:1px solid var(--pc-border);
}
.pc-tabs .nav-link {
  color:var(--pc-muted);border:0;border-bottom:2px solid transparent;
  font-weight:600;border-radius:0;
}
.pc-tabs .nav-link.active { color:#fff;border-bottom-color:var(--pc-cyan);background:transparent; }
.pc-tabs .nav-link:hover { color:#fff; }
.tab-content.pc-panel { border-top-left-radius:0;border-top-right-radius:0; }
.tab-content.pc-panel > .tab-pane { padding:0; }

.hash-cell { font-family:'Space Mono',monospace;color:var(--pc-cyan);font-size:.72rem;word-break:break-all;max-width:260px; }

.certificate-card {
  border:1px solid var(--pc-border);border-radius:16px;padding:18px;
  background:rgba(255,255,255,.025);
}

.pc-toast { background:#101424;color:#dfe3ed;border:none; }
.pc-toast .toast-header { background:#141a30;color:#dfe3ed;border:none; }
.pc-toast .toast-header .btn-close { filter:invert(1); }

.pc-footer a.pc-credit { color:#8f97ad;text-decoration:none; }
.pc-footer a.pc-credit:hover { color:var(--pc-cyan); }

.pc-modal-cert dt { color:var(--pc-muted);font-weight:600; }
.pc-modal-cert dd { word-break:break-all; }

.pc-qr-block { border:1px solid var(--pc-border);border-radius:16px;padding:14px;background:rgba(255,255,255,.03); }
.pc-qr-img { display:block;width:140px;height:140px;background:#fff;border-radius:12px;padding:8px;flex:0 0 auto;image-rendering:pixelated; }
.pc-qr-link { color:var(--pc-cyan);text-decoration:none; }
.pc-qr-link:hover { text-decoration:underline; }

.drop-zone.dragover { border-color:var(--pc-cyan);background:rgba(34,211,238,.045);transform:translateY(-2px); }

@media (max-width: 767px) {
  .hash-cell { max-width:100%; }
}

@media (max-width: 991px) {
  .hero-section h1 { letter-spacing:-1.5px; }
  .section-space { padding:80px 0; }
}
@media (max-width: 767px) {
  .hero-section h1 { font-size:3rem; }
  .hero-lead { font-size:1rem; }
  .section-heading { margin-bottom:35px; }
  .cert-grid { grid-template-columns:1fr; }
  .pc-table thead { display:none; }
  .pc-table tr { display:block;border:1px solid var(--pc-border);border-radius:14px;margin-bottom:12px;padding:8px; }
  .pc-table td { display:flex;justify-content:space-between;gap:15px;border:0 !important; }
  .pc-table td:before { content:attr(data-label);color:#687084;font-size:.72rem;text-transform:uppercase; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important; }
}

/* ------------------------------------------------------------------
   TEMA CLARO (data-theme="light")
   El dark sigue siendo el default; se activa desde el toggle del navbar
   o con <html data-theme="light">. La elección se guarda en localStorage.
   ------------------------------------------------------------------ */
html[data-theme="light"] {
  --pc-bg: #eef2f7;
  --pc-bg-2: #f7f9fc;
  --pc-panel: rgba(255,255,255,.92);
  --pc-border: rgba(15,23,42,.13);
  --pc-text: #131a26;
  --pc-muted: #5b6576;
}
html[data-theme="light"] body { background: var(--pc-bg); }
html[data-theme="light"] .pc-navbar { background: rgba(255,255,255,.9); }
html[data-theme="light"] .navbar-brand { color:#0f172a; }
html[data-theme="light"] .nav-link { color:#3b4759 !important; }
html[data-theme="light"] .nav-link:hover { color:#0f172a !important; }
html[data-theme="light"] .pc-navbar .navbar-toggler { border-color: rgba(15,23,42,.25); }
html[data-theme="light"] .pc-navbar .navbar-toggler-icon { filter: invert(1); }
html[data-theme="light"] .btn-wallet { color:#0f172a; border-color: rgba(2,132,199,.45); background: rgba(2,132,199,.08); }
html[data-theme="light"] .btn-wallet:hover { background: rgba(2,132,199,.16); color:#0f172a; }
html[data-theme="light"] .btn-outline-light { color:#334155; border-color: rgba(15,23,42,.3); }
html[data-theme="light"] .btn-outline-light:hover { background: rgba(15,23,42,.07); color:#0f172a; }

html[data-theme="light"] .hero-section {
  background:
    radial-gradient(circle at 75% 45%, rgba(139,92,246,.10), transparent 28%),
    radial-gradient(circle at 15% 70%, rgba(34,211,238,.08), transparent 25%),
    var(--pc-bg);
}
html[data-theme="light"] .hero-grid { opacity:.45; }
html[data-theme="light"] .hero-lead { color:#475569; }
html[data-theme="light"] .mini-feature { color:#475569; }
html[data-theme="light"] .hero-card { background: rgba(255,255,255,.82); box-shadow:0 40px 100px rgba(15,23,42,.14), inset 0 1px rgba(255,255,255,.65); }
html[data-theme="light"] .floating-code,
html[data-theme="light"] .floating-check { background: rgba(255,255,255,.94); box-shadow:0 20px 40px rgba(15,23,42,.12); }
html[data-theme="light"] .floating-code strong { color:#0e7490; }
html[data-theme="light"] .hero-hash { color:#6d3ff0; }

html[data-theme="light"] .section-alt { background: linear-gradient(180deg, #f0f4f9, #e8edf5); }
html[data-theme="light"] .section-heading h2 { color:#101828; }
html[data-theme="light"] .pc-panel { box-shadow:0 30px 70px rgba(15,23,42,.08); }

html[data-theme="light"] .drop-zone { border-color: rgba(15,23,42,.28); background: rgba(255,255,255,.55); }
html[data-theme="light"] .drop-zone:hover,
html[data-theme="light"] .drop-zone.dragover { border-color:#0284c7; background: rgba(2,132,199,.07); }
html[data-theme="light"] .selected-file { background: rgba(15,23,42,.035); }
html[data-theme="light"] .file-type-icon { color:#6d3ff0; }
html[data-theme="light"] .hash-box { background:#f4f7fc; border-color: rgba(2,132,199,.35); }
html[data-theme="light"] .form-label { color:#1f2937; }
html[data-theme="light"] .hash-value { color:#0e7490; }
html[data-theme="light"] .status-pill { background: rgba(15,23,42,.06); color:#5b6576; }
html[data-theme="light"] .status-pill.ready { color:#059669; background: rgba(5,150,105,.1); }
html[data-theme="light"] .status-pill.status-success { color:#059669; background: rgba(5,150,105,.1); }
html[data-theme="light"] .status-pill.status-warning { color:#b45309; background: rgba(180,83,9,.1); }
html[data-theme="light"] .status-pill.status-info { color:#0891b2; background: rgba(8,145,178,.1); }
html[data-theme="light"] .status-pill.status-secondary { color:#5b6576; background: rgba(15,23,42,.06); }
html[data-theme="light"] .status-pill.status-ratified { color:#047857; background: linear-gradient(135deg,rgba(5,150,105,.18),rgba(5,150,105,.07)); border-color: rgba(4,120,87,.45); }
html[data-theme="light"] .pc-upsell { background: linear-gradient(135deg,rgba(217,169,74,.18),rgba(217,169,74,.05)); }
html[data-theme="light"] .pc-upsell > i { color:#8a6413; }
html[data-theme="light"] .pc-upsell strong { color:#8a6413; }
html[data-theme="light"] .certificate-card.is-ratified { background: linear-gradient(135deg,rgba(217,169,74,.14),rgba(255,255,255,.6)); }
html[data-theme="light"] .pc-icon-ratified { color:#8a6413 !important; text-shadow:none; }
html[data-theme="light"] .pc-seal { background: linear-gradient(135deg,rgba(217,169,74,.2),rgba(217,169,74,.06)); }
html[data-theme="light"] .pc-seal-title { color:#8a6413; }
html[data-theme="light"] .pc-seal-hash { color:#8a6413; }
html[data-theme="light"] .pc-panel.is-ratified { background: linear-gradient(180deg,rgba(217,169,74,.1),rgba(255,255,255,.9) 40%); }
html[data-theme="light"] .is-ratified > td { background: rgba(5,150,105,.09); }
html[data-theme="light"] tr.is-ratified > td:first-child { box-shadow: inset 3px 0 0 #059669; }
html[data-theme="light"] tr.is-ratified > td { border-color: rgba(4,120,87,.22); }
html[data-theme="light"] tr.is-ratified:hover > td { background: rgba(5,150,105,.15); }
html[data-theme="light"] .pc-input { background:#fff !important; border-color: rgba(15,23,42,.22) !important; color:#131a26 !important; }
html[data-theme="light"] .pc-input::placeholder { color:#8a94a6; }
html[data-theme="light"] .form-check-label { color:#334155; }
html[data-theme="light"] .form-check-input { background-color:#fff; border-color:#9aa4b6; }
html[data-theme="light"] .demo-notice,
html[data-theme="light"] .important-note { background: rgba(2,132,199,.07); border-color: rgba(2,132,199,.25); }

html[data-theme="light"] .pc-table { color:#1f2937; --bs-table-color:#1f2937; }
html[data-theme="light"] .pc-table thead th { color:#7c8598; }
html[data-theme="light"] .pc-table tr { border-color:#d8dfe9; }
html[data-theme="light"] .hash-cell { color:#0e7490; }
html[data-theme="light"] .hash-short { color:#0e7490; }
html[data-theme="light"] .action-btn { color:#475569; }
html[data-theme="light"] .action-btn:hover { color:#0f172a; }
html[data-theme="light"] .empty-history { color:#5b6576; }
html[data-theme="light"] .pc-tabs { border-bottom-color:var(--pc-border); }
html[data-theme="light"] .pc-tabs .nav-link.active { color:#0f172a; }
html[data-theme="light"] .pc-tabs .nav-link:hover { color:#0f172a; }

html[data-theme="light"] .process-card { background: rgba(255,255,255,.6); }
html[data-theme="light"] .process-card > span { color:#94a3b8; }
html[data-theme="light"] .pc-footer { color:#5b6576; }
html[data-theme="light"] .pc-footer strong { color:#0f172a; }
html[data-theme="light"] .pc-footer a.pc-credit { color:#64748b; }
html[data-theme="light"] .pc-footer a.pc-credit:hover { color:#0f172a; }

html[data-theme="light"] .pc-modal { background:#ffffff; color:#131a26; border-color: rgba(15,23,42,.15); }
html[data-theme="light"] .pc-modal .modal-title,
html[data-theme="light"] .pc-modal h4 { color:#0f172a; }
html[data-theme="light"] .btn-close { filter: invert(.6); }
html[data-theme="light"] .modal-content .btn-close { filter: invert(.6); }
html[data-theme="light"] .wallet-option { background:#fff; color:#0f172a; }
html[data-theme="light"] .wallet-logo { color:#6d3ff0; }
html[data-theme="light"] .certificate-sheet { background:#f8fafc; }
html[data-theme="light"] .cert-item { background: rgba(15,23,42,.025); }
html[data-theme="light"] .cert-item small { color:#64748b; }
html[data-theme="light"] .cert-item div { color:#1f2937; }
html[data-theme="light"] .cert-hash { color:#0e7490 !important; }
html[data-theme="light"] .simulated-label { color:#6d3ff0 !important; }
html[data-theme="light"] .spinner-ring { border-color: rgba(15,23,42,.12); }

html[data-theme="light"] .fee-box { border-color: rgba(2,132,199,.3); background: linear-gradient(180deg,rgba(2,132,199,.05),rgba(139,92,246,.05)); }
html[data-theme="light"] .fee-item { background: #fff; }
html[data-theme="light"] .fee-item.total { border-color: rgba(2,132,199,.4); background: rgba(2,132,199,.08); }
html[data-theme="light"] .pc-panel-inner { background: rgba(5,150,105,.05); border-color: rgba(5,150,105,.3); }
html[data-theme="light"] .pc-console { background:#f4f7fc; color:#0f766e; }

html[data-theme="light"] .result-ok { border-color: rgba(5,150,105,.35); background: rgba(5,150,105,.06); }
html[data-theme="light"] .result-no { border-color: rgba(220,38,38,.35); background: rgba(220,38,38,.05); }

html[data-theme="light"] .pc-toast { background:#fff; color:#1f2937; }
html[data-theme="light"] .pc-toast .toast-header { background:#f8fafc; color:#1f2937; }
html[data-theme="light"] .pc-toast .toast-header .btn-close { filter: invert(.6); }
html[data-theme="light"] .pc-modal-cert dt { color:#5b6576; }

html[data-theme="light"] .certificate-card { background: rgba(255,255,255,.6); }
html[data-theme="light"] .hash-cell a,
html[data-theme="light"] .hash-value a { color:#0e7490; }
