:root {
  --guinda: #691c32;
  --guinda-dark: #3f1019;
  --guinda-deep: #26090f;
  --guinda-soft: #fbf2f4;
  --dorado: #bc955c;
  --dorado-dark: #8f6a3a;
  --crema: #ecd798;
  --cream-bg: #fdfaf5;
  --ink: #211b1d;
  --muted: #73696c;
  --line: #e8e2e0;
  --surface: #ffffff;
  --success: #237a57;
  --warning: #a85d12;
  --danger: #b32636;
  --shadow-sm: 0 4px 18px rgba(59, 24, 34, 0.06);
  --shadow-lg: 0 28px 80px rgba(47, 13, 23, 0.16);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 32px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--cream-bg); }
body { margin: 0; background: var(--cream-bg); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Variable", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif; line-height: 1.5; overflow-x: hidden; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid rgba(188, 149, 92, .45); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .45; }
img { display: block; max-width: 100%; }
.page-width { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.connection-status { position: fixed; z-index: 100; right: 14px; bottom: 14px; display: flex; align-items: center; gap: 7px; border: 1px solid rgba(35,122,87,.15); background: rgba(255,255,255,.92); color: var(--success); padding: 7px 11px; border-radius: 999px; box-shadow: var(--shadow-sm); backdrop-filter: blur(10px); font-size: 11px; font-weight: 750; }
.connection-status.offline { color: var(--warning); border-color: rgba(168,93,18,.2); }

.button { min-height: 45px; border: 0; border-radius: 12px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 750; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--guinda); color: #fff; box-shadow: 0 10px 22px rgba(105,28,50,.18); }
.button-primary:hover { background: #571527; box-shadow: 0 14px 28px rgba(105,28,50,.24); }
.button-ghost { background: #fff; color: var(--guinda); border: 1px solid #ddcfd3; }
.button-ghost:hover { background: var(--guinda-soft); }
.button-soft { background: var(--guinda-soft); color: var(--guinda); border: 1px solid #efdce1; }
.button-large { min-height: 54px; padding-inline: 23px; border-radius: 14px; }
.button-full { width: 100%; }
.text-button { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; color: var(--guinda); font-weight: 750; padding: 8px 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--guinda); font-family: Montserrat, Arial, sans-serif; font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.eyebrow.light { color: #f1d7a7; }

.public-header { position: sticky; z-index: 50; top: 0; height: 78px; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(105,28,50,.1); backdrop-filter: blur(16px); }
.public-header-inner { width: min(1240px, calc(100% - 40px)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.header-brand { display: flex; align-items: center; gap: 11px; border: 0; padding: 0; background: transparent; color: var(--guinda); text-align: left; flex-shrink: 0; }
.header-brand img { width: 55px; height: 55px; object-fit: contain; }
.header-brand span { display: flex; flex-direction: column; line-height: 1.15; }
.header-brand strong { font: 800 13px/1.1 Montserrat, Arial, sans-serif; letter-spacing: .04em; }
.header-brand small { color: var(--dorado-dark); font-size: 9px; text-transform: uppercase; letter-spacing: .18em; margin-top: 4px; }
.public-nav { display: flex; align-items: center; gap: 4px; }
.public-nav button { border: 0; background: transparent; color: #554a4d; min-height: 40px; padding: 0 13px; border-radius: 10px; font-size: 13px; font-weight: 650; display: inline-flex; gap: 7px; align-items: center; }
.public-nav button:hover { background: var(--guinda-soft); color: var(--guinda); }
.public-nav .nav-install { color: var(--guinda); }
.public-nav .nav-login { background: var(--guinda); color: white; padding-inline: 16px; margin-left: 5px; }
.public-nav .nav-login:hover { background: #521426; color: white; }
.menu-button { display: none; border: 0; background: var(--guinda-soft); color: var(--guinda); border-radius: 11px; width: 42px; height: 42px; align-items: center; justify-content: center; }

.hero { min-height: 650px; position: relative; overflow: hidden; background: linear-gradient(118deg, #fff 0%, #fff 51%, #fbf5eb 100%); }
.hero::before { content: ""; position: absolute; width: 680px; height: 680px; right: -120px; top: -60px; border: 1px solid rgba(188,149,92,.18); border-radius: 50%; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-orb-one { width: 270px; height: 270px; background: rgba(236,215,152,.18); left: -100px; bottom: -90px; }
.hero-orb-two { width: 200px; height: 200px; background: rgba(105,28,50,.05); right: 28%; top: 10%; }
.hero-grid { min-height: 650px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 56px; position: relative; z-index: 1; padding-block: 55px; }
.hero-copy { padding-left: 12px; }
.hero-copy h1 { max-width: 700px; margin: 17px 0 18px; font: 800 clamp(42px, 5.1vw, 72px)/.99 Montserrat, Arial, sans-serif; letter-spacing: -.045em; color: var(--guinda-dark); }
.hero-copy h1 span { color: var(--dorado-dark); }
.hero-copy > p { max-width: 640px; color: #63585b; font-size: 18px; line-height: 1.75; margin: 0; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.privacy-promise { display: flex; align-items: center; gap: 11px; margin-top: 24px; color: var(--success); }
.privacy-promise > span { display: flex; flex-direction: column; font-size: 11px; color: var(--muted); }
.privacy-promise strong { font-size: 12px; color: #315e4b; }
.hero-visual { position: relative; min-height: 500px; display: grid; place-items: center; }
.hero-seal-wrap { width: min(440px, 85%); aspect-ratio: 1; position: relative; display: grid; place-items: center; }
.hero-seal-wrap::before, .hero-seal-wrap::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(188,149,92,.23); inset: -10%; }
.hero-seal-wrap::after { inset: -20%; border-color: rgba(105,28,50,.07); }
.hero-seal-wrap img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 25px 45px rgba(105,28,50,.14)); position: relative; z-index: 2; }
.seal-glow { position: absolute; inset: 7%; border-radius: 50%; background: #fff; box-shadow: 0 30px 70px rgba(105,28,50,.12); }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; background: rgba(255,255,255,.95); border: 1px solid #eee1df; border-radius: 14px; padding: 12px 15px; box-shadow: var(--shadow-sm); color: var(--guinda); }
.floating-card span { display: flex; flex-direction: column; }
.floating-card strong { color: var(--ink); font-size: 12px; }
.floating-card small { color: var(--muted); font-size: 10px; }
.card-folio { left: -3%; top: 20%; }
.card-channel { right: -7%; bottom: 17%; }

.quick-actions { display: grid; grid-template-columns: 1fr 1.15fr 1.15fr; gap: 14px; margin-top: -36px; position: relative; z-index: 3; }
.quick-card { min-height: 96px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; color: var(--ink); box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.quick-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(59,24,34,.1); }
.quick-card > svg { width: 18px; color: var(--dorado-dark); }
.quick-card > span:not(.quick-icon) { display: flex; flex-direction: column; }
.quick-card small { color: var(--muted); font-size: 10px; }
.quick-card strong { color: var(--guinda); font-size: 14px; }
.quick-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--guinda-soft); color: var(--guinda); }
.quick-emergency { background: var(--guinda); border-color: var(--guinda); color: white; }
.quick-emergency .quick-icon { background: rgba(255,255,255,.13); color: white; }
.quick-emergency small, .quick-emergency strong, .quick-emergency > svg { color: white; }

.how-section { padding-block: 110px 120px; }
.section-heading { text-align: center; max-width: 700px; margin: 0 auto 52px; }
.section-heading h2 { margin: 12px 0 10px; color: var(--guinda-dark); font: 800 clamp(30px, 4vw, 43px)/1.1 Montserrat, Arial, sans-serif; letter-spacing: -.03em; }
.section-heading p { color: var(--muted); margin: 0; font-size: 16px; }
.steps-row { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; gap: 25px; }
.steps-row::before { content: ""; position: absolute; left: 10%; right: 10%; top: 30px; border-top: 1px dashed #d9c9c1; }
.process-step { text-align: center; position: relative; }
.process-step > span { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; border: 1px solid #dfcfae; background: #fff; color: var(--guinda); font: 800 15px Montserrat, Arial, sans-serif; position: relative; z-index: 1; box-shadow: 0 5px 20px rgba(105,28,50,.07); }
.process-step h3 { margin: 0 0 9px; color: var(--guinda-dark); font: 750 16px/1.3 Montserrat, Arial, sans-serif; }
.process-step p { color: var(--muted); margin: 0; font-size: 13px; line-height: 1.65; }
.trust-section { background: linear-gradient(130deg, var(--guinda-deep), var(--guinda) 65%, #812b44); color: white; padding: 80px 0; position: relative; overflow: hidden; }
.trust-section::after { content: ""; position: absolute; width: 500px; height: 500px; right: -140px; top: -230px; border-radius: 50%; border: 1px solid rgba(236,215,152,.15); box-shadow: 0 0 0 80px rgba(236,215,152,.025), 0 0 0 160px rgba(236,215,152,.018); }
.trust-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
.trust-grid h2 { font: 800 39px/1.12 Montserrat, Arial, sans-serif; letter-spacing: -.03em; margin: 15px 0; }
.trust-grid > div:first-child > p { color: #eadde1; line-height: 1.75; }
.trust-points { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.trust-points > div { display: flex; align-items: center; gap: 13px; min-height: 82px; border-radius: 15px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); padding: 16px; }
.trust-points svg { color: var(--crema); }
.trust-points span { display: flex; flex-direction: column; }
.trust-points strong { font-size: 13px; }
.trust-points span { color: #d6c5ca; font-size: 11px; }

footer { background: #fff; border-top: 1px solid var(--line); padding: 56px 0 18px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr .8fr .8fr 1.2fr; gap: 50px; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-logo { width: 95px; margin-bottom: 4px; }
.footer-grid p { max-width: 330px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.footer-grid strong { color: var(--guinda); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 7px; }
.footer-grid button, .footer-grid a { color: var(--muted); font-size: 12px; border: 0; background: none; padding: 0; text-decoration: none; }
.footer-grid button:hover, .footer-grid a:hover { color: var(--guinda); }
.footer-bottom { border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; color: #998f92; font-size: 10px; margin-top: 42px; padding-top: 16px; }
.brand-strip { display: flex; align-items: center; gap: 15px; margin-left: auto; }
.brand-strip img { height: 45px; width: auto; max-width: 230px; object-fit: contain; }
.brand-divider { width: 1px; height: 35px; background: #e4d8d7; }
.brand-strip.compact { margin: 0; width: 100%; justify-content: center; padding: 13px 10px; border-top: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); }
.brand-strip.compact img { filter: brightness(0) invert(1); opacity: .7; max-width: 165px; height: 35px; }

/* Citizen form */
.form-shell { min-height: 100vh; background: linear-gradient(135deg, #faf6f0 0%, #fff 50%, #fbf2f4 100%); }
.form-header { height: 78px; padding-inline: max(24px, calc((100% - 1180px)/2)); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(15px); }
.form-main { width: min(820px, calc(100% - 34px)); margin: auto; padding: 28px 0 70px; }
.form-topline { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.form-topline > span { display: inline-flex; gap: 6px; align-items: center; color: var(--success); font-size: 11px; font-weight: 700; }
.progress-wrap { margin-bottom: 20px; }
.progress-meta { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 9px; }
.progress-meta strong { color: var(--guinda); font-size: 12px; }
.progress-meta span { color: var(--muted); font-size: 11px; }
.progress-track { height: 5px; background: #eadfe1; border-radius: 99px; overflow: hidden; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--guinda), var(--dorado)); border-radius: inherit; transition: width .35s ease; }
.form-card { background: #fff; border: 1px solid #ede5e3; border-radius: 24px; box-shadow: 0 16px 48px rgba(65,25,35,.08); padding: clamp(24px, 5vw, 46px); }
.step-intro { text-align: center; max-width: 650px; margin: 0 auto 30px; }
.step-icon { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 13px; border-radius: 16px; color: var(--guinda); background: var(--guinda-soft); border: 1px solid #eedce1; }
.step-intro h1 { color: var(--guinda-dark); margin: 9px 0 9px; font: 800 clamp(25px, 5vw, 34px)/1.15 Montserrat, Arial, sans-serif; letter-spacing: -.025em; }
.step-intro p { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 0; }
.mode-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 6px; border-radius: 15px; background: #f5f1ee; margin-bottom: 23px; }
.mode-toggle button { position: relative; min-height: 62px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; padding: 10px 14px; color: #665b5f; border: 1px solid transparent; border-radius: 11px; background: transparent; font-weight: 750; }
.mode-toggle button svg { grid-row: 1/3; }
.mode-toggle button small { font-weight: 500; font-size: 10px; color: #8b8083; }
.mode-toggle button.active { background: white; border-color: #dfcdd2; color: var(--guinda); box-shadow: var(--shadow-sm); }
.category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.category-card { min-height: 106px; position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 13px; background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 16px; text-align: left; color: var(--ink); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.category-card:hover { transform: translateY(-1px); border-color: #cbaeb6; }
.category-card.selected { background: var(--guinda-soft); border-color: var(--guinda); box-shadow: 0 0 0 1px var(--guinda); }
.category-symbol { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--guinda); background: var(--guinda-soft); font-weight: 850; }
.category-card.selected .category-symbol { background: var(--guinda); color: white; }
.category-card > span:nth-child(2) { display: flex; flex-direction: column; }
.category-card strong { color: var(--guinda-dark); font-size: 13px; }
.category-card small { color: var(--muted); font-size: 10px; line-height: 1.45; margin-top: 5px; }
.radio-dot { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid #d8ccce; border-radius: 50%; color: white; }
.selected .radio-dot { background: var(--guinda); border-color: var(--guinda); }
.form-grid { display: grid; gap: 16px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.field { position: relative; display: flex; flex-direction: column; gap: 7px; margin-top: 4px; }
.field.full { margin-top: 18px; }
.field.full-grid { grid-column: 1/-1; }
.field > span { color: #52484b; font-size: 11px; font-weight: 750; }
.field input, .field textarea, .field select, .comment-box textarea { width: 100%; min-height: 46px; border: 1px solid #dcd2d0; border-radius: 11px; background: #fff; color: var(--ink); padding: 11px 13px; font-size: 13px; transition: border-color .2s ease, box-shadow .2s ease; }
.field textarea { resize: vertical; min-height: 130px; }
.field input:focus, .field textarea:focus, .field select:focus, .comment-box textarea:focus { outline: none; border-color: var(--guinda); box-shadow: 0 0 0 3px rgba(105,28,50,.09); }
.field select { appearance: none; padding-right: 35px; }
.select-arrow { position: absolute; right: 13px; bottom: 14px; pointer-events: none; color: var(--muted); }
.char-count { color: #968a8e; text-align: right; font-size: 9px; }
.location-button { min-height: 46px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; border: 1px dashed #c9a5af; border-radius: 11px; background: var(--guinda-soft); color: var(--guinda); padding: 10px 13px; font-size: 12px; font-weight: 650; overflow: hidden; }
.evidence-box { margin-top: 22px; display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; border: 1px dashed #ceb8b0; border-radius: 15px; background: #fdfbf8; padding: 18px; }
.evidence-box > div:first-child { display: grid; grid-template-columns: auto 1fr; column-gap: 13px; }
.evidence-icon { grid-row: 1/3; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #fff; color: var(--guinda); }
.evidence-box h3 { margin: 0; font-size: 13px; color: var(--guinda-dark); }
.evidence-box p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.evidence-box > button { grid-column: 2; justify-self: end; grid-row: 1; }
.file-list { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 7px; }
.file-list span { display: flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 7px 8px; font-size: 10px; color: #5f5558; }
.file-list button { display: grid; place-items: center; border: 0; background: transparent; color: var(--danger); padding: 0; }
.notice { display: flex; align-items: flex-start; gap: 12px; border-radius: 13px; padding: 14px; background: #f0f8f4; color: var(--success); margin-bottom: 22px; }
.notice strong { font-size: 12px; }
.notice p { color: #557568; margin: 2px 0 0; font-size: 10px; }
.anonymous-panel { text-align: center; border: 1px solid #d9e9e1; border-radius: 18px; background: linear-gradient(145deg, #f3fbf7, #fff); padding: 30px; }
.anonymous-panel > svg { width: 55px; height: 55px; color: var(--success); }
.anonymous-panel h3 { color: #255d47; margin: 12px 0 6px; font: 750 19px Montserrat, Arial, sans-serif; }
.anonymous-panel > p { max-width: 530px; margin: auto; color: #61746c; font-size: 12px; line-height: 1.65; }
.anonymous-panel ul { list-style: none; padding: 0; margin: 20px auto 0; max-width: 480px; display: grid; gap: 8px; text-align: left; }
.anonymous-panel li { display: flex; align-items: center; gap: 9px; color: #315e4b; font-size: 11px; }
.anonymous-panel li svg { width: 17px; }
.check-line, .terms-line { display: flex; align-items: flex-start; gap: 11px; background: #fbfaf8; border: 1px solid var(--line); border-radius: 13px; padding: 14px; margin-top: 20px; color: #5f5558; font-size: 11px; }
.check-line input, .terms-line input, .notify-line input { accent-color: var(--guinda); width: 17px; height: 17px; flex-shrink: 0; }
.check-line span { display: flex; flex-direction: column; }
.check-line small { color: var(--muted); margin-top: 2px; }
.review-list { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.review-row { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: start; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.review-row:last-child { border-bottom: 0; }
.review-icon { color: var(--guinda); width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--guinda-soft); }
.review-icon svg { width: 16px; }
.review-row > div { display: flex; flex-direction: column; min-width: 0; }
.review-row small { color: var(--muted); font-size: 9px; }
.review-row strong { color: #443b3e; font-size: 11px; font-weight: 650; white-space: normal; }
.review-row strong small { display: block; margin-top: 3px; font-weight: 500; }
.review-row button { border: 0; background: none; color: var(--guinda); font-size: 10px; font-weight: 750; }
.terms-line button { border: 0; background: none; color: var(--guinda); padding: 0; text-decoration: underline; }
.form-errors { display: flex; align-items: flex-start; gap: 9px; border: 1px solid #efc9cf; background: #fff4f5; color: var(--danger); border-radius: 11px; padding: 11px 13px; margin-top: 16px; font-size: 11px; }
.form-errors p { margin: 0 0 2px; }
.form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.form-security { display: flex; justify-content: center; align-items: center; gap: 7px; text-align: center; color: #8e8286; font-size: 9px; }

/* Confirmation and tracking */
.confirmation-page { min-height: 100vh; display: grid; place-items: center; padding: 35px 18px; background: radial-gradient(circle at 50% 20%, #fff 0, #faf4ed 45%, #f7edef 100%); }
.confirmation-card { width: min(600px, 100%); background: white; border: 1px solid var(--line); border-radius: 28px; padding: clamp(28px, 6vw, 50px); box-shadow: var(--shadow-lg); text-align: center; }
.success-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 50%; background: #eaf7f0; color: var(--success); border: 8px solid #f4fbf7; }
.success-icon svg { width: 32px; height: 32px; stroke-width: 3; }
.confirmation-card h1 { color: var(--guinda-dark); font: 800 30px/1.15 Montserrat, Arial, sans-serif; letter-spacing: -.025em; margin: 10px 0; }
.confirmation-card > p { color: var(--muted); font-size: 12px; max-width: 490px; margin: 0 auto; }
.folio-box { display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; background: var(--guinda-soft); border: 1px dashed #cda9b2; border-radius: 16px; padding: 18px 20px; margin: 25px 0 14px; text-align: left; }
.folio-box small { color: var(--muted); font-size: 9px; }
.folio-box strong { color: var(--guinda); font: 800 20px Montserrat, Arial, sans-serif; letter-spacing: .04em; }
.folio-box button { grid-row: span 2; align-self: center; border: 1px solid #d8c1c7; background: #fff; color: var(--guinda); border-radius: 8px; padding: 6px 9px; font-size: 9px; font-weight: 750; }
.folio-box > span { grid-column: 1/-1; height: 1px; background: #e2ced3; margin-block: 8px; }
.important-note { display: flex; align-items: flex-start; gap: 10px; background: #fff8e9; border: 1px solid #ead7ad; color: #9a661a; border-radius: 12px; padding: 12px; text-align: left; }
.important-note span { display: flex; flex-direction: column; font-size: 10px; color: #826b48; }
.important-note svg { width: 18px; flex-shrink: 0; }
.confirmation-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0; }
.confirmation-card .brand-strip { justify-content: center; margin: 25px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.confirmation-card .brand-strip img { max-width: 180px; height: 38px; }
.tracking-page { min-height: 100vh; }
.tracking-main { padding-block: 75px 100px; }
.tracking-heading { text-align: center; max-width: 670px; margin: 0 auto 30px; }
.tracking-heading h1 { color: var(--guinda-dark); font: 800 clamp(30px, 5vw, 44px)/1.1 Montserrat, Arial, sans-serif; letter-spacing: -.035em; margin: 12px 0 8px; }
.tracking-heading p { color: var(--muted); margin: 0; }
.tracking-search { width: min(760px, 100%); margin: auto; display: grid; grid-template-columns: 1.25fr .8fr auto; gap: 11px; align-items: end; background: white; border: 1px solid var(--line); border-radius: 18px; padding: 18px; box-shadow: var(--shadow-sm); }
.tracking-search label { display: flex; flex-direction: column; gap: 6px; }
.tracking-search label span { font-size: 10px; color: #564b4e; font-weight: 750; }
.tracking-search input { min-height: 44px; border: 1px solid #dcd2d0; border-radius: 10px; padding: 10px 12px; color: var(--guinda); font-weight: 750; letter-spacing: .04em; }
.tracking-search > small { grid-column: 1/-1; text-align: center; color: #9b8f92; font-size: 9px; }
.empty-result { text-align: center; width: min(600px,100%); margin: 30px auto; border: 1px solid var(--line); background: white; border-radius: 18px; padding: 40px; color: var(--muted); }
.empty-result svg { color: #c5b8bb; width: 40px; height: 40px; }
.empty-result h2 { color: var(--guinda-dark); font: 750 19px Montserrat, Arial, sans-serif; }
.tracking-result { width: min(940px, 100%); margin: 34px auto 0; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); overflow: hidden; }
.tracking-summary { display: flex; justify-content: space-between; align-items: center; padding: 23px 27px; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, #fff, var(--guinda-soft)); }
.tracking-summary > div { display: flex; flex-direction: column; }
.tracking-summary small, .tracking-summary span { color: var(--muted); font-size: 9px; }
.tracking-summary h2 { margin: 2px 0; color: var(--guinda); font: 800 22px Montserrat, Arial, sans-serif; }
.tracking-grid { display: grid; grid-template-columns: .9fr 1.1fr; }
.tracking-grid > article { padding: 28px; }
.tracking-grid > article + article { border-left: 1px solid var(--line); }
.tracking-grid h3 { margin: 0 0 20px; color: var(--guinda-dark); font: 750 16px Montserrat, Arial, sans-serif; }
.tracking-grid dl { display: grid; gap: 12px; margin: 0; }
.tracking-grid dl > div { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 9px; border-bottom: 1px solid #f0ebea; }
.tracking-grid dt { color: var(--muted); font-size: 10px; }
.tracking-grid dd { color: #443a3d; font-size: 11px; font-weight: 700; text-align: right; margin: 0; }
.citizen-message { margin-top: 22px; display: flex; align-items: center; gap: 11px; padding: 13px; border-radius: 12px; background: #f3f9f6; color: var(--success); }
.citizen-message span { display: flex; flex-direction: column; font-size: 9px; color: #6b8177; }
.citizen-message strong { color: #2d644d; font-size: 10px; }

/* Login */
.login-page { min-height: 100vh; display: grid; grid-template-columns: .92fr 1.08fr; background: #fff; }
.login-brand { position: relative; overflow: hidden; min-height: 100vh; padding: 35px clamp(30px, 6vw, 80px); display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: radial-gradient(circle at 15% 85%, #9a3a54 0, transparent 33%), linear-gradient(145deg, var(--guinda-deep), var(--guinda)); }
.login-brand::after { content: ""; position: absolute; width: 600px; height: 600px; border: 1px solid rgba(236,215,152,.12); border-radius: 50%; right: -300px; top: 5%; box-shadow: 0 0 0 80px rgba(236,215,152,.025), 0 0 0 160px rgba(236,215,152,.02); }
.login-brand > button { position: relative; z-index: 1; align-self: flex-start; display: flex; align-items: center; gap: 8px; color: #eadde1; border: 0; background: none; padding: 0; font-size: 12px; }
.login-brand > div:not(.brand-strip) { position: relative; z-index: 1; max-width: 500px; }
.login-brand > div > img { width: 180px; filter: brightness(0) invert(1); opacity: .92; }
.login-brand h1 { margin: 25px 0 15px; font: 800 clamp(45px, 6vw, 70px)/.95 Montserrat, Arial, sans-serif; letter-spacing: -.04em; }
.login-brand p { color: #decdd2; line-height: 1.75; max-width: 450px; }
.login-brand .brand-strip { position: relative; z-index: 1; margin: 0; justify-content: flex-start; }
.login-brand .brand-strip img { filter: brightness(0) invert(1); opacity: .75; }
.login-brand .brand-divider { background: rgba(255,255,255,.22); }
.login-panel { display: grid; place-items: center; padding: 40px; background: #fff; }
.login-panel form { width: min(410px, 100%); }
.login-lock { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: var(--guinda-soft); color: var(--guinda); margin-bottom: 18px; }
.login-panel h2 { color: var(--guinda-dark); font: 800 34px/1.12 Montserrat, Arial, sans-serif; letter-spacing: -.03em; margin: 10px 0 8px; }
.login-panel form > p { color: var(--muted); font-size: 12px; margin: 0 0 22px; }
.login-panel .field { margin-bottom: 14px; }
.demo-access { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 18px; background: #faf7f3; border: 1px dashed #d6c5b4; border-radius: 12px; padding: 12px; }
.demo-access strong { color: var(--dorado-dark); font-size: 10px; text-transform: uppercase; }
.demo-access code { font-size: 11px; color: var(--guinda); }
.demo-access small { color: var(--muted); font-size: 9px; margin-top: 4px; }
.login-help { display: flex; align-items: center; justify-content: center; gap: 7px; color: #95898c; margin-top: 18px; }

/* Admin */
.admin-shell { min-height: 100vh; background: #f5f3f1; display: grid; grid-template-columns: 244px 1fr; }
.sidebar { width: 244px; position: fixed; inset: 0 auto 0 0; z-index: 70; background: linear-gradient(180deg, var(--guinda-deep), #4d1424 70%, #3a0d19); color: white; display: flex; flex-direction: column; }
.sidebar-brand { height: 86px; display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-bottom: 1px solid rgba(255,255,255,.09); }
.sidebar-brand img { width: 52px; height: 52px; object-fit: contain; filter: brightness(0) invert(1); }
.sidebar-brand span { display: flex; flex-direction: column; }
.sidebar-brand strong { font: 800 12px Montserrat, Arial, sans-serif; letter-spacing: .05em; }
.sidebar-brand small { font-size: 8px; color: #cdbec2; }
.sidebar-brand > button { display: none; margin-left: auto; border: 0; background: transparent; color: white; }
.sidebar nav { flex: 1; display: flex; flex-direction: column; gap: 3px; padding: 20px 12px; }
.sidebar nav > button { min-height: 45px; display: flex; align-items: center; gap: 11px; color: #d4c6ca; border: 0; background: transparent; padding: 0 13px; border-radius: 10px; text-align: left; font-size: 12px; font-weight: 650; }
.sidebar nav > button svg { width: 18px; }
.sidebar nav > button:hover:not(:disabled) { background: rgba(255,255,255,.07); color: white; }
.sidebar nav > button.active { background: rgba(255,255,255,.12); color: white; box-shadow: inset 3px 0 0 var(--dorado); }
.nav-count { margin-left: auto; min-width: 22px; height: 20px; display: grid; place-items: center; background: rgba(255,255,255,.12); border-radius: 99px; font-size: 9px; }
.nav-lock { margin-left: auto; width: 13px !important; }
.sidebar-footer { padding-bottom: 15px; }
.user-mini { display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; padding: 15px 16px 0; }
.user-mini > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--dorado); color: var(--guinda-deep); font-size: 10px; font-weight: 850; }
.user-mini > div { display: flex; flex-direction: column; min-width: 0; }
.user-mini strong { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-mini small { color: #bdaeb2; font-size: 8px; }
.user-mini button { border: 0; background: transparent; color: #d3c3c7; padding: 4px; }
.admin-main { grid-column: 2; min-width: 0; }
.admin-header { height: 86px; display: flex; align-items: center; gap: 15px; padding: 0 clamp(22px, 4vw, 48px); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; backdrop-filter: blur(14px); }
.admin-header > div:nth-child(2) { min-width: 0; }
.admin-header small { color: var(--muted); font-size: 9px; }
.admin-header h1 { color: var(--guinda-dark); margin: 1px 0 0; font: 750 clamp(19px, 3vw, 25px) Montserrat, Arial, sans-serif; letter-spacing: -.02em; }
.admin-menu { display: none; border: 0; background: var(--guinda-soft); color: var(--guinda); border-radius: 10px; width: 40px; height: 40px; place-items: center; }
.admin-header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.admin-header-actions select { max-width: 175px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #5d5255; padding: 8px 27px 8px 10px; font-size: 10px; }
.icon-button { width: 36px; height: 36px; position: relative; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; color: #6b5f63; border-radius: 10px; padding: 0; }
.icon-button svg { width: 17px; }
.admin-header .icon-button span { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--danger); top: 7px; right: 7px; border: 1px solid #fff; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--guinda); font-size: 10px; font-weight: 800; }
.dashboard-content, .content-section { padding: clamp(20px, 3vw, 34px) clamp(20px, 4vw, 48px) 50px; }
.welcome-banner { min-height: 185px; display: flex; align-items: center; justify-content: space-between; gap: 35px; border-radius: 22px; padding: 30px 38px; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(236,215,152,.16), transparent 30%), linear-gradient(110deg, var(--guinda-deep), var(--guinda) 78%); box-shadow: 0 14px 34px rgba(67,15,30,.14); }
.welcome-banner h2 { margin: 9px 0 7px; font: 800 27px Montserrat, Arial, sans-serif; letter-spacing: -.025em; }
.welcome-banner p { color: #decdd2; margin: 0 0 18px; font-size: 11px; }
.welcome-banner button { display: inline-flex; align-items: center; gap: 7px; border: 0; border-radius: 9px; background: white; color: var(--guinda); padding: 9px 13px; font-size: 10px; font-weight: 750; }
.banner-stat { width: 130px; height: 130px; border-radius: 50%; border: 8px solid rgba(255,255,255,.13); outline: 3px solid var(--dorado); display: grid; place-content: center; text-align: center; flex-shrink: 0; }
.banner-stat span { font: 800 30px Montserrat, Arial, sans-serif; }
.banner-stat small { max-width: 75px; color: #d9c9cd; font-size: 8px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 20px 0; }
.kpi-grid article { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 17px; box-shadow: 0 3px 10px rgba(55,25,33,.03); }
.kpi-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--guinda-soft); color: var(--guinda); flex-shrink: 0; }
.kpi-icon svg { width: 19px; }
.kpi-grid article > div { display: grid; grid-template-columns: auto auto; column-gap: 7px; align-items: baseline; }
.kpi-grid small { grid-column: 1/-1; color: var(--muted); font-size: 9px; }
.kpi-grid strong { color: var(--guinda-dark); font: 800 22px Montserrat, Arial, sans-serif; }
.kpi-grid article > div > span { color: var(--success); font-size: 8px; font-weight: 700; }
.dashboard-grid { display: grid; grid-template-columns: 1.45fr .85fr; gap: 18px; }
.panel-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 3px 12px rgba(55,25,33,.03); }
.panel-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 20px 14px; }
.panel-title h2, .panel-title h3 { margin: 0; color: var(--guinda-dark); font: 750 14px Montserrat, Arial, sans-serif; }
.panel-title p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.panel-title > button:not(.icon-button) { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--guinda); font-size: 9px; font-weight: 750; }
.mini-table { border-top: 1px solid var(--line); }
.mini-table > button { width: 100%; display: grid; grid-template-columns: auto 1fr auto auto; gap: 11px; align-items: center; padding: 13px 17px; border: 0; border-bottom: 1px solid #f0eceb; background: white; text-align: left; color: #54494d; }
.mini-table > button:last-child { border-bottom: 0; border-radius: 0 0 17px 17px; }
.mini-table > button:hover { background: #fdfafa; }
.mini-type { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; background: var(--guinda-soft); color: var(--guinda); font-weight: 850; }
.mini-table button > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.mini-table button strong { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-table button small { color: var(--muted); font-size: 8px; }
.mini-table button > svg { width: 16px; color: #9b8f92; }
.status-pill { display: inline-flex; align-items: center; white-space: nowrap; border-radius: 99px; padding: 5px 8px; font-size: 8px; font-weight: 750; }
.status-recibida { color: #6b5d9d; background: #f0edfa; }
.status-en-revision { color: #9a6518; background: #fff4dd; }
.status-canalizada { color: #2b6689; background: #e9f4fa; }
.status-informacion-requerida { color: #a2482a; background: #fff0e8; }
.status-en-investigacion { color: #8a3150; background: #faeaf0; }
.status-concluida { color: #237a57; background: #e8f6ef; }
.status-improcedente { color: #7b7476; background: #efeded; }
.donut-wrap { display: flex; flex-direction: column; align-items: center; padding: 12px 22px 24px; }
.donut { width: 145px; height: 145px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--guinda) 0 34%, var(--dorado) 34% 61%, #d9b77a 61% 82%, #e7d6d9 82%); position: relative; }
.donut::after { content: ""; position: absolute; inset: 18px; background: white; border-radius: 50%; }
.donut span { position: relative; z-index: 1; color: var(--guinda-dark); font: 800 25px Montserrat, Arial, sans-serif; display: flex; flex-direction: column; align-items: center; }
.donut small { color: var(--muted); font: 500 8px Arial, sans-serif; }
.legend { width: 100%; display: grid; gap: 7px; margin-top: 17px; }
.legend span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }
.legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--guinda); }
.legend .l2 { background: var(--dorado); }.legend .l3 { background: #d9b77a; }.legend .l4 { background: #e7d6d9; }
.legend strong { margin-left: auto; color: #4e4447; }
.content-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 17px; }
.content-heading p { color: var(--muted); margin: 0; font-size: 11px; }
.list-toolbar { display: flex; gap: 10px; background: white; border: 1px solid var(--line); border-radius: 14px 14px 0 0; padding: 13px; }
.search-field { flex: 1; min-height: 42px; display: flex; align-items: center; gap: 9px; border: 1px solid #ddd4d2; border-radius: 9px; padding: 0 11px; color: var(--muted); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 11px; }
.select-filter { display: flex; align-items: center; gap: 7px; border: 1px solid #ddd4d2; border-radius: 9px; padding: 0 10px; color: var(--muted); }
.select-filter select { border: 0; outline: 0; background: transparent; font-size: 10px; color: #665a5e; }
.data-table-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; }
.content-section > .data-table-wrap:not(:has(+ *)) { border-top: 1px solid var(--line); border-radius: 14px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 800px; }
.data-table th { background: #faf8f7; color: #887c80; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--line); }
.data-table td { padding: 13px 14px; border-bottom: 1px solid #f0eceb; color: #5a4f52; font-size: 10px; vertical-align: middle; }
.data-table tbody tr { cursor: pointer; }
.data-table tbody tr:hover { background: #fdfafa; }
.data-table td > strong, .data-table td > small { display: block; }
.data-table td > strong { color: #41373a; font-size: 10px; }
.data-table td > small { color: #918589; font-size: 8px; margin-top: 2px; }
.priority { display: inline-flex; align-items: center; gap: 5px; font-size: 8px; font-weight: 750; }
.priority::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #8c8385; }
.priority-alta { color: var(--danger); }.priority-alta::before { background: var(--danger); }
.priority-media { color: var(--warning); }.priority-media::before { background: var(--warning); }
.priority-normal { color: var(--success); }.priority-normal::before { background: var(--success); }
.table-empty { text-align: center; padding: 45px; color: var(--muted); }
.table-empty h3 { color: var(--guinda-dark); margin: 8px 0 3px; }
.table-empty p { margin: 0; font-size: 11px; }

/* Drawer */
.drawer-backdrop { position: fixed; z-index: 90; inset: 0; background: rgba(28,11,16,.48); backdrop-filter: blur(2px); display: flex; justify-content: flex-end; }
.complaint-drawer { width: min(620px, 100%); height: 100%; background: #f8f6f4; box-shadow: -15px 0 50px rgba(31,11,17,.2); overflow: hidden; animation: slideIn .25s ease-out; }
@keyframes slideIn { from { transform: translateX(40px); opacity: 0; } }
.complaint-drawer > header { height: 75px; display: flex; justify-content: space-between; align-items: center; padding: 0 23px; background: white; border-bottom: 1px solid var(--line); }
.complaint-drawer header small { color: var(--muted); font-size: 9px; }
.complaint-drawer header h2 { margin: 1px 0 0; color: var(--guinda); font: 800 18px Montserrat, Arial, sans-serif; }
.complaint-drawer header button { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; color: #665a5e; }
.drawer-body { height: calc(100% - 75px); overflow-y: auto; padding: 22px; display: flex; flex-direction: column; gap: 15px; }
.drawer-body > * { flex-shrink: 0; }
.drawer-summary, .evidence-preview, .management-box, .drawer-timeline { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 18px; }
.drawer-summary h3 { margin: 13px 0 7px; color: var(--guinda-dark); font: 750 17px/1.3 Montserrat, Arial, sans-serif; }
.drawer-summary p { color: var(--muted); font-size: 11px; line-height: 1.65; margin: 0; }
.drawer-summary > .priority { margin-left: 6px; }
.drawer-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 13px; }
.drawer-details > div { min-height: 72px; display: flex; flex-direction: column; justify-content: center; background: white; padding: 12px; }
.drawer-details small { color: var(--muted); font-size: 8px; }
.drawer-details strong { color: #504549; font-size: 9px; margin-top: 3px; }
.evidence-preview { padding: 0 0 15px; }
.evidence-preview .panel-title > span { min-width: 26px; height: 22px; display: grid; place-items: center; background: var(--guinda-soft); color: var(--guinda); border-radius: 99px; font-size: 9px; font-weight: 750; }
.evidence-thumbs { display: grid; gap: 7px; padding: 0 18px; }
.evidence-thumbs button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; background: #faf8f7; border: 1px solid var(--line); border-radius: 9px; padding: 9px 11px; color: var(--guinda); text-align: left; }
.evidence-thumbs button span { color: #63585b; font-size: 9px; }
.evidence-thumbs button svg { width: 16px; }
.empty-inline { color: var(--muted); font-size: 10px; padding-inline: 18px; }
.management-box h3, .drawer-timeline > h3 { margin: 0 0 15px; color: var(--guinda-dark); font: 750 14px Montserrat, Arial, sans-serif; }
.management-box .field select { font-size: 10px; }
.notify-line { display: flex; gap: 8px; align-items: flex-start; color: var(--muted); font-size: 9px; margin: 13px 0; }
.timeline { display: flex; flex-direction: column; }
.timeline-item { display: grid; grid-template-columns: auto 1fr; gap: 12px; position: relative; min-height: 78px; }
.timeline-item::before { content: ""; position: absolute; left: 13px; top: 27px; bottom: -1px; width: 1px; background: #ded4d2; }
.timeline-item:last-child::before { display: none; }
.timeline-item > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #e8f6ef; color: var(--success); position: relative; z-index: 1; }
.timeline-item.current > span { background: var(--guinda); color: white; box-shadow: 0 0 0 5px var(--guinda-soft); }
.timeline-item > div { display: flex; flex-direction: column; padding-top: 1px; }
.timeline-item small { color: #9a8e92; font-size: 8px; }
.timeline-item strong { color: #463b3f; font-size: 11px; margin-top: 2px; }
.timeline-item p { color: var(--muted); font-size: 9px; line-height: 1.5; margin: 3px 0 12px; }
.comment-box { border-top: 1px solid var(--line); padding-top: 13px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.comment-box textarea { grid-column: 1/-1; resize: vertical; min-height: 75px; font-size: 10px; }
.comment-box label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; }
.comment-box input { accent-color: var(--guinda); }
.comment-box button { display: flex; align-items: center; gap: 6px; border: 0; border-radius: 8px; background: var(--guinda); color: white; padding: 7px 10px; font-size: 9px; font-weight: 750; }

/* Users and settings */
.role-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 18px; }
.role-cards article { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 11px; background: white; border: 1px solid var(--line); border-radius: 14px; padding: 15px; }
.role-cards svg { grid-row: 1/3; color: var(--guinda); background: var(--guinda-soft); width: 38px; height: 38px; padding: 9px; border-radius: 10px; }
.role-cards strong { color: var(--guinda-dark); font: 800 20px Montserrat, Arial, sans-serif; }
.role-cards span { color: var(--muted); font-size: 9px; }
.table-person { display: flex; align-items: center; gap: 8px; }
.table-person i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--guinda-soft); color: var(--guinda); font-size: 8px; font-style: normal; font-weight: 800; }
.role-pill { border-radius: 99px; background: var(--guinda-soft); color: var(--guinda); padding: 5px 8px; font-size: 8px; font-weight: 750; }
.active-dot { display: inline-flex; align-items: center; gap: 5px; color: var(--success); font-size: 8px; font-weight: 750; }
.active-dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--success); }
.settings-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 17px; align-items: start; }
.brand-settings, .color-settings, .system-settings { padding-bottom: 20px; }
.logo-settings { display: grid; gap: 11px; padding: 0 20px; }
.logo-upload { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.logo-canvas { height: 70px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: #f8f5f1; }
.logo-canvas img { max-height: 62px; max-width: 100px; object-fit: contain; }
.logo-upload > div:last-child { display: flex; flex-direction: column; align-items: flex-start; }
.logo-upload strong { color: #4c4144; font-size: 10px; }
.logo-upload small { color: var(--muted); font-size: 8px; }
.logo-upload label { display: inline-flex; align-items: center; gap: 5px; color: var(--guinda); margin-top: 8px; font-size: 9px; font-weight: 750; cursor: pointer; }
.color-settings { padding-inline: 20px; }
.color-settings .panel-title { padding-inline: 0; }
.color-row { display: grid; grid-template-columns: auto 1fr 90px; gap: 10px; align-items: center; border-top: 1px solid var(--line); padding: 12px 0; }
.color-row > input[type="color"] { width: 37px; height: 37px; border: 0; padding: 0; background: none; }
.color-row span { display: flex; flex-direction: column; }
.color-row strong { color: #4c4144; font-size: 9px; }
.color-row small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.color-row > input:last-child { min-width: 0; border: 1px solid var(--line); border-radius: 7px; padding: 7px; color: var(--guinda); font-size: 9px; font-family: ui-monospace, Consolas, monospace; }
.system-settings { padding-inline: 20px; }
.system-settings .panel-title { padding-inline: 0; }
.setting-toggle { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; border-top: 1px solid var(--line); padding: 12px 0; }
.setting-toggle > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; background: var(--guinda-soft); color: var(--guinda); }
.setting-toggle > span svg { width: 17px; }
.setting-toggle > div { display: flex; flex-direction: column; }
.setting-toggle strong { font-size: 10px; color: #4b4044; }
.setting-toggle small { font-size: 8px; color: var(--muted); }
.setting-toggle button { width: 35px; height: 20px; border: 0; border-radius: 99px; background: #cfc6c8; padding: 2px; }
.setting-toggle button i { display: block; width: 16px; height: 16px; border-radius: 50%; background: white; transition: transform .2s ease; }
.setting-toggle button.active { background: var(--guinda); }
.setting-toggle button.active i { transform: translateX(15px); }
.integration-status { display: grid; gap: 9px; border-top: 1px solid var(--line); padding-top: 14px; }
.integration-status span { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; color: #62575a; font-size: 9px; }
.integration-status i { width: 8px; height: 8px; border-radius: 50%; }
.integration-status i.ready { background: var(--success); }.integration-status i.pending { background: var(--warning); }
.integration-status strong { color: var(--muted); font-size: 8px; }

@media (max-width: 1050px) {
  .public-nav button:not(.nav-login):not(.nav-install) { display: none; }
  .hero-grid { grid-template-columns: 1fr .75fr; gap: 25px; }
  .hero-copy h1 { font-size: 54px; }
  .floating-card { display: none; }
  .quick-actions { grid-template-columns: 1fr 1fr 1fr; }
  .footer-grid { grid-template-columns: 1.2fr .8fr .8fr; }.footer-grid > .brand-strip { grid-column: 1/-1; justify-content: flex-start; margin: 0; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .page-width { width: min(100% - 28px, 680px); }
  .public-header { height: 70px; }
  .public-header-inner { width: calc(100% - 28px); }
  .header-brand img { width: 48px; height: 48px; }
  .header-brand strong { font-size: 11px; }
  .public-nav { display: none; position: absolute; top: 69px; left: 0; right: 0; padding: 12px 14px 17px; flex-direction: column; background: white; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm); }
  .public-nav.open { display: flex; }
  .public-nav button, .public-nav button:not(.nav-login):not(.nav-install) { width: 100%; display: flex; justify-content: flex-start; min-height: 45px; }
  .public-nav .nav-login { margin-left: 0; justify-content: center; }
  .menu-button { display: flex; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; min-height: auto; padding: 55px 0 105px; }
  .hero-copy { padding: 0; }
  .hero-copy > .eyebrow { justify-content: center; }
  .hero-copy h1 { font-size: clamp(42px, 12vw, 60px); }
  .hero-copy > p { font-size: 15px; }
  .hero-actions { justify-content: center; }
  .privacy-promise { justify-content: center; text-align: left; }
  .hero-visual { min-height: 350px; order: -1; margin-bottom: -35px; }
  .hero-seal-wrap { width: min(350px, 82%); }
  .quick-actions { grid-template-columns: 1fr; margin-top: -55px; }
  .quick-card { min-height: 82px; }
  .how-section { padding-block: 80px; }
  .steps-row { grid-template-columns: 1fr 1fr; gap: 40px 20px; }
  .steps-row::before { display: none; }
  .trust-grid { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .trust-grid h2 { font-size: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1/-1; }
  .form-header .brand-strip { display: none; }
  .form-header { height: 70px; padding-inline: 17px; }
  .login-page { grid-template-columns: 1fr; }
  .login-brand { display: none; }
  .login-panel { min-height: 100vh; padding: 30px 22px; background: radial-gradient(circle at 50% 0, var(--guinda-soft), white 46%); }
  .tracking-grid { grid-template-columns: 1fr; }
  .tracking-grid > article + article { border-left: 0; border-top: 1px solid var(--line); }
  .tracking-search { grid-template-columns: 1fr 1fr; }.tracking-search .button { grid-column: 1/-1; }
  .admin-shell { grid-template-columns: 1fr; }
  .sidebar { transform: translateX(-100%); transition: transform .25s ease; box-shadow: 10px 0 35px rgba(31,11,17,.2); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-brand > button { display: grid; }
  .admin-main { grid-column: 1; }
  .admin-menu { display: grid; }
  .admin-header { padding-inline: 15px; }
  .admin-header-actions select { display: none; }
  .welcome-banner { padding: 25px; }.banner-stat { width: 105px; height: 105px; }
  .data-table-wrap { border-radius: 0 0 12px 12px; }
  .role-cards { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .connection-status { max-width: calc(100% - 20px); right: 10px; bottom: 10px; }
  .hero-grid { padding-top: 35px; }
  .hero-visual { min-height: 285px; }
  .hero-copy h1 { margin-top: 13px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .privacy-promise { align-items: flex-start; }
  .quick-actions { width: calc(100% - 22px); }
  .steps-row { grid-template-columns: 1fr; }
  .process-step { display: grid; grid-template-columns: auto 1fr; text-align: left; column-gap: 15px; }
  .process-step > span { grid-row: 1/3; margin: 0; width: 48px; height: 48px; }
  .process-step h3 { align-self: end; }.process-step p { margin-top: 3px; }
  .trust-points { grid-template-columns: 1fr; text-align: left; }
  .footer-grid { grid-template-columns: 1fr; }.footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .form-main { width: calc(100% - 20px); padding-top: 14px; }
  .form-card { padding: 22px 16px; border-radius: 18px; }
  .category-grid, .form-grid.two, .mode-toggle { grid-template-columns: 1fr; }
  .category-card { min-height: 94px; }
  .evidence-box { grid-template-columns: 1fr; text-align: left; }.evidence-box > button { grid-column: 1; grid-row: auto; width: 100%; }.file-list { grid-column: 1; }
  .form-actions .button { flex: 1; padding-inline: 11px; }
  .confirmation-actions { grid-template-columns: 1fr; }
  .folio-box strong { font-size: 17px; }
  .confirmation-card { padding-inline: 20px; }
  .tracking-main { padding-block: 45px 70px; }
  .tracking-search { grid-template-columns: 1fr; }.tracking-search .button { grid-column: auto; }
  .tracking-summary { align-items: flex-start; padding: 18px; }
  .tracking-grid > article { padding: 20px 18px; }
  .admin-header > div:nth-child(2) small { display: none; }.admin-header h1 { font-size: 17px; }
  .admin-header .icon-button { display: none; }
  .dashboard-content, .content-section { padding: 14px 10px 40px; }
  .welcome-banner { min-height: auto; text-align: center; flex-direction: column; }
  .welcome-banner h2 { font-size: 23px; }.welcome-banner button { margin: auto; }
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .kpi-grid article { padding: 12px; gap: 9px; }.kpi-icon { width: 34px; height: 34px; }.kpi-grid strong { font-size: 18px; }
  .mini-table > button { grid-template-columns: auto 1fr auto; }.mini-table .status-pill { display: none; }
  .list-toolbar { flex-direction: column; }
  .content-heading { padding-inline: 4px; }
  .content-heading .button { font-size: 10px; padding-inline: 12px; }
  .complaint-drawer { width: 100%; }.drawer-body { padding: 12px; }.drawer-details { grid-template-columns: 1fr 1fr; }
  .role-cards { gap: 8px; }.role-cards article { padding: 11px; }
  .settings-grid { gap: 10px; }
  .logo-upload { grid-template-columns: 80px 1fr; }.logo-canvas { height: 60px; }.logo-canvas img { max-width: 75px; max-height: 52px; }
}

@supports (padding: max(0px)) {
  .public-header-inner, .form-header, .admin-header { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
  .connection-status { bottom: max(10px, env(safe-area-inset-bottom)); }
  .sidebar-footer { padding-bottom: max(15px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* PHP nativo */
.view{display:none}.view.active{display:block}.toast{position:fixed;z-index:999;left:50%;top:20px;transform:translateX(-50%);background:#237a57;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow-lg)}.toast.bad{background:var(--danger)}a.quick-card{text-decoration:none}
.hero-photo-wrap{width:min(460px,92%);height:520px;position:relative;border-radius:34px;overflow:hidden;background:#ddd;box-shadow:0 30px 70px rgba(50,15,24,.22)}.hero-photo-wrap>img{width:100%;height:100%;object-fit:cover}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(31,9,16,.75))}.photo-badge{position:absolute;left:24px;right:24px;bottom:24px;padding:18px;background:rgba(255,255,255,.92);border-radius:16px;display:flex;flex-direction:column;color:var(--guinda)}.photo-badge small{color:var(--muted)}
.wizard-step{display:none}.wizard-step.active{display:block}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.form-errors{margin-top:14px;padding:12px;border-radius:10px;background:#fff0f1;color:var(--danger)}.evidence-box input{grid-column:1/-1}.anonymous-panel .big-icon{font-size:50px;color:var(--success)}.review-box{display:grid;gap:10px}.review-box>div{border:1px solid var(--line);padding:14px;border-radius:12px;display:flex;flex-direction:column}.review-box small,.credential small{color:var(--muted)}.consent{display:flex;gap:10px;margin-top:20px;font-size:12px}
.centered-page{min-height:100vh;background:radial-gradient(circle at 50% 0,var(--guinda-soft),#fff 55%);padding:60px 20px}.success-card,.lookup-card{width:min(560px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,44px);box-shadow:var(--shadow-lg);text-align:center}.success-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:var(--success);font-size:35px}.credential{border:1px dashed var(--dorado);background:#fffaf1;padding:14px;border-radius:12px;margin:12px 0;display:flex;flex-direction:column}.credential strong{font-size:22px;color:var(--guinda)}.lookup-card{text-align:left}.lookup-card>h1,.lookup-card>p{text-align:center}.lookup-card form{display:grid;gap:12px}.tracking-result{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.timeline>div{display:flex;gap:12px;margin-top:16px}.timeline i{width:11px;height:11px;border-radius:50%;background:var(--guinda);margin-top:5px}.timeline span{display:flex;flex-direction:column}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--guinda-soft);color:var(--guinda);font-size:11px;font-weight:750}
.login-page.active{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:linear-gradient(145deg,var(--guinda-deep),var(--guinda));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;text-align:center}.login-brand img{width:220px}.login-card{width:min(430px,calc(100% - 40px));margin:auto;padding:40px;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg)}
.admin-shell.active{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f7f4f1}.admin-sidebar{position:sticky;top:0;height:100vh;background:var(--guinda-deep);color:#fff;padding:24px 15px;display:flex;flex-direction:column}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 8px 20px}.sidebar-logo img{width:55px}.sidebar-logo span{display:flex;flex-direction:column}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav button,.sidebar-logout{border:0;border-radius:10px;background:transparent;color:#decbd0;padding:13px;text-align:left}.admin-sidebar nav button.active{background:rgba(255,255,255,.12);color:#fff}.sidebar-logout{margin-top:auto}.content-section{padding:25px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-grid article,.panel-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.metric-grid strong{font-size:32px;color:var(--guinda)}.content-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.search-input{min-height:45px;flex:1;border:1px solid var(--line);border-radius:12px;padding:0 14px}.settings-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.upload-form{display:grid;grid-template-columns:90px 1fr 180px auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0}.upload-form img{width:90px;height:70px;object-fit:cover;border-radius:10px}.upload-form span,.color-row span{display:flex;flex-direction:column}.color-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.dialog-form{min-width:380px;display:grid;gap:8px}dialog{border:0;border-radius:20px;box-shadow:var(--shadow-lg)}dialog::backdrop{background:rgba(31,9,16,.55)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}
@media(max-width:850px){.public-nav{display:none;position:absolute;left:12px;right:12px;top:68px;background:#fff;box-shadow:var(--shadow-lg);border-radius:15px;padding:10px;flex-direction:column}.public-nav.open{display:flex}.menu-button{display:grid}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-actions,.privacy-promise{justify-content:center}.hero-visual{order:-1}.quick-actions{grid-template-columns:1fr;margin-top:20px}.login-page.active{grid-template-columns:1fr}.login-brand{display:none}.admin-shell.active{grid-template-columns:80px 1fr}.sidebar-logo span{display:none}.admin-sidebar nav button{font-size:0}.settings-grid{grid-template-columns:1fr}.upload-form{grid-template-columns:80px 1fr}.upload-form input,.upload-form button{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero-grid{display:flex;flex-direction:column}.hero-visual{order:-1;min-height:auto;width:calc(100% + 40px);margin-left:-20px}.hero-photo-wrap{width:100%;height:430px;border-radius:0}.photo-badge{display:none}.hero-copy h1{font-size:46px}.admin-shell.active{display:block}.admin-sidebar{position:relative;width:100%;height:auto;display:block}.sidebar-logo,.sidebar-logout{display:none}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar nav button{font-size:11px;min-width:max-content}.content-section{padding:12px}.dialog-form{min-width:0}.data-table-wrap{overflow:auto}}

/* Detalles restaurados del diseño institucional */
.login-brand img{filter:brightness(0) invert(1)}
.admin-sidebar .sidebar-logo>img,.sidebar-institution img{filter:brightness(0) invert(1);opacity:.96}.sidebar-logo button{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px}.sidebar-institution{margin-top:auto;padding:18px 12px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-institution img{max-height:42px;max-width:150px}.admin-sidebar nav button{display:flex;align-items:center;gap:10px}.admin-sidebar nav i{margin-left:auto;background:rgba(255,255,255,.14);border-radius:999px;padding:2px 7px;font-size:10px}.admin-head-right{display:flex;align-items:center;gap:12px}.notification-button{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;position:relative}.notification-button i{position:absolute;width:6px;height:6px;background:#c12847;border-radius:50%;right:8px;top:7px}.admin-menu{display:none;width:42px;height:42px;border:0;border-radius:10px;background:var(--guinda-soft);color:var(--guinda);font-size:20px}.admin-header{display:flex;align-items:center;gap:14px}.admin-header>div:nth-child(2){flex:1}.sidebar-shade{display:none}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:13px 10px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-user>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--dorado);color:var(--guinda-deep);font-size:11px;font-weight:800}.sidebar-user>div{display:flex;flex-direction:column;min-width:0}.sidebar-user strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{font-size:9px;color:#cdb8be}.sidebar-logout{margin-top:0!important}
.welcome-banner{min-height:220px;border-radius:25px;padding:34px 38px;background:linear-gradient(115deg,#3f1019,#7e2944);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-lg);margin-bottom:20px}.welcome-banner h2{font:800 31px/1.08 Montserrat,Arial,sans-serif;max-width:600px;margin:13px 0}.welcome-banner p{font-size:12px}.score-ring{width:135px;height:135px;border:4px solid var(--dorado);box-shadow:inset 0 0 0 6px rgba(255,255,255,.12);border-radius:50%;display:grid;place-content:center;text-align:center;flex:none}.score-ring strong{font-size:35px}.score-ring small{font-size:9px}.metric-grid.rich article{display:flex;flex-direction:row;align-items:center;gap:15px}.metric-grid.rich i,.role-summary i{width:45px;height:45px;display:grid;place-items:center;background:var(--guinda-soft);color:var(--guinda);border-radius:12px;font-style:normal}.metric-grid.rich span{display:flex;flex-direction:column}.recent-card,.chart-card{margin-top:20px;padding:0}.panel-title-row{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.panel-title-row h2{margin:0}.panel-title-row button{border:0;background:none;color:var(--guinda);font-weight:700}.chart-card{padding:22px}.chart-card h2{margin:0}.chart-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:260px}.donut{width:185px;height:185px;border-radius:50%;margin:auto;background:conic-gradient(var(--guinda) 0 34%,var(--dorado) 34% 61%,#e5ba73 61% 82%,#ead7dc 82%);display:grid;place-items:center}.donut:before{content:"";position:absolute}.donut span{width:118px;height:118px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.donut strong{font-size:30px;color:var(--guinda)}.donut small{font-size:9px}.legend p{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.legend i{width:9px;height:9px;border-radius:50%;background:var(--guinda)}
.case-toolbar{display:grid;grid-template-columns:1fr 220px;gap:10px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0}.case-toolbar select{border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff}.role-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.role-summary article{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.role-summary span{display:flex;flex-direction:column}.role-summary strong{font-size:25px;color:var(--guinda)}.settings-wide{grid-column:1/-1}.setting-toggle{display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.setting-toggle>i{width:42px;height:42px;display:grid;place-items:center;background:var(--guinda-soft);border-radius:11px;font-style:normal;color:var(--guinda)}.setting-toggle span{display:flex;flex-direction:column}.setting-toggle input{appearance:none;width:43px;height:24px;border-radius:99px;background:#ccc;position:relative}.setting-toggle input:checked{background:var(--guinda)}.setting-toggle input:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.2s}.setting-toggle input:checked:after{left:22px}.operation-list{display:grid}.operation-list span{padding:9px 0;display:flex;align-items:center;gap:9px}.operation-list span>i{width:8px;height:8px;border-radius:50%;background:var(--success)}.operation-list strong{margin-left:auto}.operation-list .pending{background:var(--warning)}.notice-options{display:grid;gap:12px}.notice-options label{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px}.notice-options span{display:flex;flex-direction:column}.notice-options small{color:var(--muted)}
@media(max-width:850px){.admin-menu{display:grid;place-items:center}.admin-shell.active{grid-template-columns:1fr}.admin-sidebar{position:fixed;z-index:300;left:0;top:0;width:330px;max-width:86vw;height:100vh;transform:translateX(-105%);transition:transform .25s;padding:18px 10px}.admin-sidebar .sidebar-logo span{display:flex}.admin-sidebar nav button{font-size:13px}.sidebar-logo button{display:block}.sidebar-institution{margin-top:auto}.sidebar-open .admin-sidebar{transform:translateX(0)}.sidebar-open .sidebar-shade{display:block;position:fixed;z-index:299;inset:0;background:rgba(22,6,11,.45)}.metric-grid.rich,.role-summary{grid-template-columns:1fr 1fr}.chart-layout{grid-template-columns:1fr}.legend{margin-top:16px}}
@media(max-width:560px){.trust-section{padding:60px 0}.trust-grid{gap:28px}.trust-points{grid-template-columns:1fr 1fr}.footer-grid{gap:28px}.footer-grid .brand-strip{display:flex;align-items:flex-start;flex-direction:column}.footer-grid .brand-divider{width:100%;height:1px}.welcome-banner{padding:25px 20px}.welcome-banner h2{font-size:25px}.score-ring{width:105px;height:105px}.metric-grid.rich{grid-template-columns:1fr 1fr}.metric-grid.rich article{padding:13px}.case-toolbar{grid-template-columns:1fr}.role-summary{grid-template-columns:1fr 1fr}.chart-card{padding:18px}.trust-points>div{min-height:100px;align-items:flex-start}.admin-header h1{font-size:20px}}

/* Correcciones de identidad, avisos, estatus e iconografía */
.upload-form img{object-fit:contain!important;background:#faf7f3;padding:8px;border:1px solid #eee5e1}.upload-form input[type=file]{width:100%;min-width:0;color:var(--muted);font-size:10px}.upload-form input[type=file]::file-selector-button{border:1px solid #dbcbd0;background:#fff;color:var(--guinda);padding:9px 12px;border-radius:9px;font-weight:700;margin-right:8px;cursor:pointer}.upload-form .button{min-height:38px}
.setting-toggle>span{width:auto!important;height:auto!important;display:flex!important;place-items:unset!important;border-radius:0!important;background:transparent!important;color:inherit!important;min-width:0}.setting-toggle>span strong{font-size:11px;color:#4b4044}.setting-toggle>span small{font-size:9px;line-height:1.45;color:var(--muted);margin-top:2px}.setting-toggle>i{flex:none}.setting-toggle input{flex:none}
.status-pill.status-recibida{color:#6b5d9d;background:#f0edfa}.status-pill.status-en-revision{color:#9a6518;background:#fff4dd}.status-pill.status-canalizada{color:#2b6689;background:#e9f4fa}.status-pill.status-informacion-requerida{color:#a2482a;background:#fff0e8}.status-pill.status-en-investigacion{color:#8a3150;background:#faeaf0}.status-pill.status-concluida{color:#237a57;background:#e8f6ef}.status-pill.status-improcedente{color:#6f686a;background:#efeded}.priority{font-size:10px}.priority-alta{color:var(--danger)}.priority-media{color:var(--warning)}.priority-normal{color:var(--success)}
.category-symbol{font-family:Arial,sans-serif;font-size:17px;font-style:normal}.category-card:nth-child(1) .category-symbol{font-family:Georgia,serif}.category-card:nth-child(5) .category-symbol{font-weight:900}

/* Fotografía de portada panorámica y punto focal del grupo */
.hero-visual{min-width:0}.hero-photo-wrap{width:min(570px,100%);height:auto;aspect-ratio:16/10;border-radius:30px}.hero-photo-wrap>img{object-fit:cover;object-position:50% 72%}.photo-badge{left:20px;right:20px;bottom:18px;padding:15px 18px}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);gap:44px}
@media(max-width:1050px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);gap:28px}.hero-photo-wrap{aspect-ratio:4/3}.hero-photo-wrap>img{object-position:50% 74%}}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.hero-photo-wrap{width:min(680px,100%);aspect-ratio:16/10}.hero-photo-wrap>img{object-position:50% 72%}}
@media(max-width:560px){.hero-photo-wrap{height:auto;aspect-ratio:4/3}.hero-photo-wrap>img{object-position:50% 76%}}

/* Flujo ciudadano y acceso institucional detallados */
[hidden]{display:none!important}.form-actions{border-top:1px solid var(--line);padding-top:18px}.form-actions #nextBtn{margin-left:auto}.form-actions #sendBtn{margin-left:auto}.secure-footnote{text-align:center;color:#918589;font-size:9px;margin-top:12px}.category-card.selected{background:#fff8fa;border:2px solid var(--guinda);box-shadow:none}.category-card.selected .category-symbol{background:var(--guinda);color:#fff}.category-card.selected .radio-dot{background:var(--guinda);border-color:var(--guinda);color:#fff}.mode-toggle button.active{border-color:#d9bac3}.step-intro .step-icon{font-size:18px}
.login-page.active{position:relative}.login-brand{position:relative;overflow:hidden;align-items:flex-start;text-align:left;padding:70px 7%}.login-brand:before,.login-brand:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(236,215,152,.12);border-radius:50%;right:-300px;top:-100px;box-shadow:0 0 0 100px rgba(255,255,255,.015),0 0 0 200px rgba(255,255,255,.012)}.login-back{position:absolute;z-index:2;top:18px;left:38px;border:0;background:transparent;color:#fff;font-size:11px}.login-brand-copy{position:relative;z-index:1;margin:auto 0;max-width:540px}.login-brand-copy img{width:180px;margin-bottom:30px}.login-brand-copy h1{font:800 clamp(48px,5vw,76px)/.92 Montserrat,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 28px;color:#fff}.login-brand-copy p{max-width:460px;line-height:1.7;color:#f2e5e8}.login-institutions{position:relative;z-index:1;display:flex;align-items:center;gap:22px;margin-top:auto}.login-institutions img{filter:brightness(0) invert(1);max-width:170px;max-height:55px;object-fit:contain}.login-institutions span{width:1px;height:45px;background:rgba(255,255,255,.35)}.login-panel{display:grid;place-items:center;min-height:100vh;background:#fff}.login-card{box-shadow:none;border:0;padding:32px;width:min(480px,calc(100% - 40px))}.login-card h2{font:800 35px/1.1 Montserrat,Arial,sans-serif;color:var(--guinda-dark);margin:10px 0}.login-card>p{color:var(--muted);font-size:12px;margin-bottom:25px}.login-lock{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--guinda-soft);color:var(--guinda);margin-bottom:16px}.demo-access{display:flex;flex-direction:column;gap:4px;border:1px dashed #d7b98d;background:#fffaf4;border-radius:12px;padding:14px;margin-top:15px;color:#6e555d}.demo-access strong{font-size:9px;color:var(--dorado-dark)}.demo-access code{font:10px Consolas,monospace}.demo-access small{font-size:8px;color:var(--muted)}.login-help{text-align:center;color:#85797c;font-size:10px;margin-top:16px}
@media(max-width:850px){.login-panel{min-height:100vh}.login-card{box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:24px}.login-page.active{background:radial-gradient(circle at top,var(--guinda-soft),#fff 55%)}.login-back{display:none}}
@media(max-width:560px){.form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);z-index:5;margin-inline:-16px;padding:15px 16px max(15px,env(safe-area-inset-bottom))}.secure-footnote{padding-bottom:8px}.category-card.selected{border-width:2px}.login-card{padding:25px 20px}.login-card h2{font-size:28px}.demo-access{display:none}}

/* Páginas informativas: FAQ, términos, privacidad, consulta de folio */
.compact-page{min-height:0;padding-bottom:80px}
.legal-page{padding:70px 20px 100px}
.legal-wrap{width:min(760px,100%);margin:auto}
.legal-wrap>.eyebrow{display:block;margin-bottom:10px}
.legal-wrap>h1{color:var(--guinda-dark);font:800 clamp(28px,5vw,40px)/1.15 Montserrat,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 12px}
.legal-intro{color:var(--muted);font-size:14px;line-height:1.75;margin:0 0 34px;max-width:620px}
.legal-body{display:grid;gap:16px}
.legal-body section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;box-shadow:0 3px 12px rgba(55,25,33,.03)}
.legal-body h2{color:var(--guinda-dark);font:750 15px Montserrat,Arial,sans-serif;margin:0 0 8px}
.legal-body p{color:#5a4f52;font-size:13px;line-height:1.75;margin:0}
.legal-note{display:flex;gap:12px;align-items:flex-start;background:#fff8e9;border:1px solid #ead7ad;color:#826b48;border-radius:14px;padding:16px 18px;margin-top:28px;font-size:12px;line-height:1.65}
.inline-link{border:0;background:none;padding:0;color:var(--guinda);text-decoration:underline;font:inherit;font-weight:750;cursor:pointer}
.faq-list{display:grid;gap:10px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;transition:border-color .2s ease}
.faq-list details[open]{border-color:#dfcdd2}
.faq-list summary{cursor:pointer;font-weight:750;color:var(--guinda-dark);font-size:14px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--guinda);font-size:19px;font-weight:800;flex-shrink:0;line-height:1}
.faq-list details[open] summary::after{content:"–"}
.faq-list p{margin:14px 0 2px;color:var(--muted);font-size:13px;line-height:1.75}
@media(max-width:560px){.legal-page{padding:45px 16px 70px}.legal-body section{padding:18px 20px}.faq-list details{padding:14px 16px}}
