:root{--ink:#1f1f1f;--muted:#66625e;--sand:#a58e73;--sand-dark:#806a52;--paper:#f5f1ec;--cream:#fbfaf8;--line:#ded7ce;--white:#fff;--success:#2d6a4f;--danger:#9b2c2c;--shadow:0 18px 60px rgba(41,33,24,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.topbar{background:#242424;color:#f4f0ea;font-size:.88rem}.topbar-inner,.header-inner,.admin-header-inner{display:flex;align-items:center;justify-content:space-between}.topbar-inner{min-height:38px}.topbar a{text-decoration:none}.header{background:rgba(251,250,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}.header-inner{min-height:80px}.brand img,.footer-logo{display:block;height:auto}.header-cta,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font-weight:750;text-decoration:none;cursor:pointer;transition:.2s ease}.header-cta,.primary-button{background:var(--ink);color:var(--white)}.header-cta:hover,.primary-button:hover{background:var(--sand-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.hero{background:linear-gradient(135deg,#f7f3ee 0%,#eee6dc 100%);padding:72px 0 84px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;color:var(--sand-dark);margin-bottom:12px}.eyebrow.light{color:#ddcdbb}.hero h1,.section-heading h2,.trust h2,.final-cta h2,.simple-card h1,.legal-card h1,.admin-title h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.05;margin:0}.hero h1{font-size:clamp(2.75rem,5.5vw,5.25rem);max-width:760px}.lead{font-size:1.2rem;color:var(--muted);max-width:670px;margin:24px 0}.hero-points{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.hero-points li{position:relative;padding-left:30px}.hero-points li:before{content:"✓";position:absolute;left:0;color:var(--sand-dark);font-weight:900}.form-card{background:#fff;padding:34px;border:1px solid #e8e1d8;border-radius:24px;box-shadow:var(--shadow)}.form-kicker{font-size:.83rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--sand-dark);margin:0 0 8px}.form-card h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;margin:0}.form-intro{color:var(--muted);margin:10px 0 24px}.field{display:grid;gap:7px;margin:0 0 15px;font-size:.92rem;font-weight:700}.field input,.search-form input{width:100%;border:1px solid #ccc3b8;background:#fff;border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.field input:focus,.search-form input:focus{border-color:var(--sand-dark);box-shadow:0 0 0 3px rgba(165,142,115,.16)}.check-row{display:flex;gap:11px;align-items:flex-start;margin:15px 0;color:#4f4b47;font-size:.83rem;line-height:1.45}.check-row input{margin-top:3px;accent-color:var(--sand-dark);width:18px;height:18px;flex:0 0 auto}.check-row a{font-weight:700}.form-card .primary-button{width:100%;margin-top:7px}.form-note{font-size:.75rem;color:#77716b;margin:15px 0 0}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.alert{background:#fff1f1;border:1px solid #ebc4c4;color:#842029;border-radius:12px;padding:12px 14px;margin:0 0 18px;font-size:.9rem}.section{padding:88px 0}.section-heading{max-width:760px;margin-bottom:38px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2,.trust h2,.final-cta h2{font-size:clamp(2.2rem,4vw,3.7rem)}.cards.three,.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.card-number{color:var(--sand-dark);font-weight:800;font-size:.82rem;letter-spacing:.12em}.card h3,.step h3{font-size:1.25rem;margin:18px 0 8px}.card p,.step p,.trust-copy p{color:var(--muted);margin:0}.trust{background:#252525;color:#fff}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.trust-copy p{color:#ddd4ca;font-size:1.05rem}.text-link{display:inline-block;margin-top:22px;color:#fff;font-weight:800;text-decoration:none}.step{text-align:center;padding:20px 28px}.step strong{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--paper);border:1px solid var(--line);font-family:Georgia,serif;font-size:1.2rem}.final-cta{padding:62px 0;background:var(--sand-dark);color:#fff}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.secondary-button{background:#fff;color:var(--ink)}.footer{padding:58px 0 20px;background:#111;color:#d7d2cc}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer h3{color:#fff;margin-top:0}.footer p{font-size:.9rem}.footer a{text-decoration:none}.footer-bottom{border-top:1px solid #363636;margin-top:36px;padding-top:18px;font-size:.82rem;color:#8e8a85}.simple-page,.legal-page,.admin-login{min-height:100vh;background:var(--paper)}.simple-shell,.login-shell,.legal-shell{width:min(920px,calc(100% - 40px));margin:0 auto;padding:56px 0}.simple-card,.login-card,.legal-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;margin-top:28px;padding:38px}.simple-card h1,.legal-card h1{font-size:clamp(2.2rem,5vw,4rem)}.simple-card .inline{width:auto;margin-top:12px}.reference{background:var(--paper);border-radius:12px;padding:12px 14px;word-break:break-all}.notice{background:#fff8e8;border:1px solid #efd69e;padding:12px;border-radius:12px}.legal-card h2{margin-top:30px}.legal-card p{color:#4c4945}.legal-warning{border-left:4px solid var(--sand);background:var(--paper);padding:14px 16px}.login-shell{max-width:520px}.login-card h1{font-family:Georgia,serif;font-size:2.5rem;margin:0}.admin-page{background:#f6f4f1}.admin-header{background:#fff;border-bottom:1px solid var(--line)}.admin-header-inner{min-height:74px}.admin-header-inner>div{display:flex;gap:14px;align-items:center;font-size:.9rem}.inline-form{display:inline}.link-button{border:0;background:none;text-decoration:underline;cursor:pointer;color:var(--muted)}.admin-main{padding-top:44px;padding-bottom:60px}.admin-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.admin-title h1{font-size:3rem}.admin-title p{margin:8px 0 0;color:var(--muted)}.search-form{display:flex;gap:8px;width:min(470px,100%)}.search-form button{border:0;background:var(--ink);color:#fff;border-radius:10px;padding:0 18px;font-weight:750;cursor:pointer}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(20,20,20,.05)}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #ece8e3;vertical-align:top;font-size:.88rem}th{background:#f2efeb;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#625e59}td small{display:block;color:#8b857e;margin-top:3px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800}.badge.yes{background:#e7f4ec;color:#286144}.badge.no{background:#efefef;color:#555}.badge.warn{background:#fff1db;color:#805a14}.download-link{font-weight:800}.empty{text-align:center;padding:44px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:22px;align-items:center;margin-top:24px}.pagination a{font-weight:800}.pagination span{color:var(--muted)}@media(max-width:900px){.hero-grid,.trust-grid{grid-template-columns:1fr;gap:40px}.hero{padding-top:50px}.cards.three,.step-grid{grid-template-columns:1fr}.final-cta-inner,.admin-title{align-items:flex-start;flex-direction:column}.search-form{width:100%}.footer-grid{grid-template-columns:1fr 1fr}.header-cta{display:none}}@media(max-width:600px){.container{width:min(100% - 24px,1160px)}.hero{padding:40px 0 56px}.hero h1{font-size:2.8rem}.form-card,.simple-card,.login-card,.legal-card{padding:24px;border-radius:16px}.section{padding:62px 0}.footer-grid{grid-template-columns:1fr}.topbar-inner{font-size:.78rem}.topbar-inner span{display:none}.admin-title h1{font-size:2.4rem}}

/* Intranet v2: roles, usuarios y borrado controlado */
.admin-brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.admin-nav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:28px}.admin-nav a{padding:9px 12px;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:750;color:var(--muted)}.admin-nav a:hover,.admin-nav a.active{background:var(--paper);color:var(--ink)}.admin-user{display:flex;gap:14px;align-items:center;font-size:.9rem}.danger-link{border:1px solid #e2bcbc;background:#fff5f5;color:var(--danger);border-radius:9px;padding:7px 10px;font-weight:800;cursor:pointer}.danger-link:hover{background:#fde8e8}.admin-notice{border-radius:12px;padding:13px 15px;margin-bottom:22px;border:1px solid}.admin-notice.success{background:#eaf7ef;border-color:#badcc7;color:#245d3e}.admin-notice.error{background:#fff1f1;border-color:#ebc4c4;color:#842029}.users-title{align-items:flex-start}.users-title>div{max-width:790px}.admin-users-grid{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:24px;align-items:start}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 8px 28px rgba(20,20,20,.05)}.admin-panel h2{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}.admin-panel .muted{margin:0 0 22px;color:var(--muted);font-size:.9rem}.admin-create-form{display:grid;gap:15px}.admin-create-form .primary-button{width:100%;margin-top:4px}.root-user{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:18px 0}.root-user small{display:block;color:var(--muted);margin-top:3px}.badge.super{background:#eee7ff;color:#59418d}.compact-table table{min-width:700px}.users-list-panel{min-width:0}.delete-form{white-space:nowrap}@media(max-width:900px){.admin-header-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.admin-nav{order:3;width:100%;margin:0;border-top:1px solid var(--line);padding-top:8px}.admin-user{margin-left:auto}.admin-users-grid{grid-template-columns:1fr}}@media(max-width:600px){.admin-header-inner{align-items:flex-start}.admin-user{width:100%;justify-content:space-between}.admin-nav{overflow-x:auto}.admin-panel{padding:20px}.root-user{align-items:flex-start;flex-direction:column}}

/* v3: landing más compacta en escritorio y validación SHA-256 */
@media (min-width:901px){
  .topbar-inner{min-height:30px}
  .header-inner{min-height:66px}
  .hero{padding:36px 0 42px}
  .hero-grid{gap:50px}
  .hero h1{font-size:clamp(2.6rem,4.3vw,4.35rem)}
  .lead{font-size:1.05rem;margin:16px 0}
  .hero-points{margin:18px 0 0;gap:8px;font-size:.92rem}
  .hero-points li{padding-left:26px}
  .form-card{padding:24px 26px;border-radius:20px}
  .form-kicker{font-size:.72rem;margin-bottom:5px}
  .form-card h2{font-size:1.7rem;line-height:1.08}
  .form-intro{font-size:.9rem;margin:6px 0 14px}
  .form-card .field{gap:5px;margin-bottom:10px;font-size:.84rem}
  .form-card .field input{padding:10px 12px;border-radius:10px}
  .form-card .check-row{gap:8px;margin:9px 0;font-size:.74rem;line-height:1.34}
  .form-card .check-row input{width:16px;height:16px;margin-top:2px}
  .form-card .primary-button{padding:11px 18px;margin-top:5px;font-size:.9rem}
  .form-card .form-note{font-size:.68rem;line-height:1.35;margin-top:10px}
}

.admin-notice.warning{background:#fff8e8;border-color:#efd69e;color:#6e5218}.hash-short{margin:5px 0 2px}.hash-action{display:inline-block;font-size:.78rem;font-weight:800}.integrity-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.selected-record{display:grid;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:16px 0}.selected-record span:not(.mono){color:var(--muted);font-size:.9rem}.integrity-upload{margin-top:18px}.integrity-upload input[type=file]{padding:10px;background:var(--paper)}.integrity-result{border:1px solid;border-radius:14px;padding:16px 18px;margin-top:14px}.integrity-result strong{display:block;font-size:1.05rem}.integrity-result p{margin:5px 0 0}.integrity-result.ok{background:#eaf7ef;border-color:#badcc7;color:#245d3e}.integrity-result.bad{background:#fff1f1;border-color:#ebc4c4;color:#842029}.integrity-result.neutral{background:#f2efeb;border-color:var(--line);color:#4c4945}.compact-result{margin-top:8px}.hash-details{display:grid;gap:0;margin:18px 0}.hash-details>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid #ece8e3}.hash-details dt{font-weight:800;color:#625e59}.hash-details dd{margin:0}.hash-full{overflow-wrap:anywhere;word-break:break-all}.panel-link{margin:16px 0 0;font-size:.88rem}.compact-notice{margin:14px 0 0}.server-integrity-panel{margin-top:24px}.backfill-panel{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.backfill-panel h2{margin-bottom:5px}.backfill-panel .muted{margin:0;max-width:760px}.secondary-admin-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer;white-space:nowrap}.secondary-admin-button:hover{background:#ebe5de}
@media(max-width:900px){.integrity-grid{grid-template-columns:1fr}.backfill-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.hash-details>div{grid-template-columns:1fr;gap:4px}.secondary-admin-button{white-space:normal;width:100%}}


/* v4: tabla de formularios sin scroll horizontal en escritorio */
@media (min-width:1101px){
  .admin-page .container{width:min(1320px,calc(100% - 32px))}
  .admin-main{padding-top:38px}
  .admin-title{margin-bottom:22px}
  .admin-title h1{font-size:2.75rem}

  .submissions-table{overflow:hidden}
  .submissions-table table{width:100%;min-width:0;table-layout:fixed}
  .submissions-table th,
  .submissions-table td{padding:12px 9px;font-size:.81rem;line-height:1.45;overflow-wrap:anywhere}
  .submissions-table th{font-size:.71rem;letter-spacing:.04em}
  .submissions-table .mono{font-size:.76rem}
  .submissions-table td small{max-width:100%;font-size:.72rem;overflow-wrap:anywhere;word-break:break-word;text-overflow:clip}
  .submissions-table .badge{padding:4px 7px;font-size:.7rem}
  .submissions-table .danger-link{padding:6px 8px;font-size:.76rem}
  .submissions-table .download-link,
  .submissions-table .hash-action{font-size:.77rem}

  /* Reparto de columnas: fecha, nombre, email, teléfono, IP, terceros, email, PDF, SHA, acciones */
  .submissions-table th:nth-child(1),.submissions-table td:nth-child(1){width:10.5%}
  .submissions-table th:nth-child(2),.submissions-table td:nth-child(2){width:8.5%}
  .submissions-table th:nth-child(3),.submissions-table td:nth-child(3){width:20%}
  .submissions-table th:nth-child(4),.submissions-table td:nth-child(4){width:8.5%}
  .submissions-table th:nth-child(5),.submissions-table td:nth-child(5){width:11.5%}
  .submissions-table th:nth-child(6),.submissions-table td:nth-child(6){width:8%}
  .submissions-table th:nth-child(7),.submissions-table td:nth-child(7){width:6.5%}
  .submissions-table th:nth-child(8),.submissions-table td:nth-child(8){width:10.5%}
  .submissions-table th:nth-child(9),.submissions-table td:nth-child(9){width:8%}
  .submissions-table th:nth-child(10),.submissions-table td:nth-child(10){width:8%}
}

/* Portátiles: sigue siendo compacta y solo recurre a scroll cuando realmente no hay espacio. */
@media (min-width:901px) and (max-width:1100px){
  .admin-page .container{width:calc(100% - 24px)}
  .submissions-table table{min-width:1040px}
  .submissions-table th,.submissions-table td{padding:11px 9px;font-size:.8rem}
}
\n\n/* v5: formulario alineado con regulamostutarifa.com y sin campo email */\n.reference-form-title{font-family:inherit!important;font-size:1.42rem!important;line-height:1.25!important;font-weight:750;letter-spacing:0!important;margin:0 0 18px!important}\n.reference-form{margin:0}.reference-form .field{font-weight:600}.reference-form .field input{border-radius:3px;border-color:#bdb8b1;background:#fff;box-shadow:none}.reference-form .field input:focus{border-color:#756b60;box-shadow:0 0 0 2px rgba(128,106,82,.12)}\n.reference-form .check-row{font-size:.76rem;line-height:1.42;color:#4e4944;margin:10px 0}.reference-form .check-row a{text-decoration:underline;font-weight:700}.reference-submit{border-radius:3px!important;text-transform:uppercase;letter-spacing:.035em;font-weight:800!important;padding:11px 22px!important;margin-top:8px!important}\n.form-legal-notice{margin-top:14px;padding-top:13px;border-top:1px solid rgba(128,106,82,.28);font-size:.69rem;line-height:1.4;color:#625c56}.form-legal-notice strong{display:block;font-size:.7rem;margin-bottom:4px;color:#3d3935}.form-legal-notice p{margin:0}\n/* Integramos formulario y texto legal en una misma superficie para eliminar el contraste de tarjeta blanca. */\n.hero .form-card{background:rgba(251,250,248,.72);box-shadow:none;border-color:rgba(128,106,82,.28)}\n@media (min-width:901px){.hero .form-card{padding:20px 24px}.reference-form-title{font-size:1.28rem!important;margin-bottom:14px!important}.reference-form .field{margin-bottom:9px;font-size:.8rem}.reference-form .field input{padding:9px 11px}.reference-form .check-row{font-size:.69rem;line-height:1.34;margin:8px 0}.reference-form .check-row input{width:15px;height:15px}.reference-submit{padding:9px 18px!important;font-size:.84rem!important}.form-legal-notice{font-size:.64rem;line-height:1.32;margin-top:10px;padding-top:10px}.form-legal-notice strong{font-size:.65rem}}\n@media (max-width:600px){.reference-form-title{font-size:1.2rem!important}.form-legal-notice{font-size:.7rem}}\n
/* v6: landing fiel a regulamostutarifa.com según la captura facilitada */
.reference-landing-page{
  margin:0;
  background:#e99805;
  color:#000;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
}
.reference-landing-page *{box-sizing:border-box}
.reference-landing-page .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.reference-landing{min-height:100vh;background:#e99805;padding:10px 0 28px}
.reference-layout{width:min(1120px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:start}
.reference-copy{padding:68px 10px 20px;color:#000}
.reference-copy h1{margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:48px;line-height:1.12;letter-spacing:-1.2px;font-weight:700;color:#fff}
.reference-copy p{margin:0 0 14px;font-size:16px;line-height:1.65;font-weight:400}
.reference-copy-last{margin-top:27px!important}
.reference-copy strong{font-weight:800}
.reference-form-panel{min-height:553px;background:#594a30;color:#fff;padding:48px 10px 79px}
.reference-form-panel h2{margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:23px;line-height:1.3;font-weight:700;color:#fff;letter-spacing:0}
.reference-alert{margin:0 0 10px;background:#fff1f1;border:1px solid #efb6b6;color:#842029;padding:8px 10px;font-size:13px;line-height:1.35}
.reference-exact-form{margin:0;padding:0}
.reference-field{display:block;margin:0 0 6px;font-size:16px;font-weight:400;color:#fff}
.reference-field span{display:block;margin:0 0 5px;line-height:1.35}
.reference-field em{font-style:normal;color:#ff263d;margin-left:4px}
.reference-field input{display:block;width:100%;height:46px;padding:7px 10px;border:1px solid #aaa;border-radius:3px;background:#fff;color:#111;font:16px Arial,Helvetica,sans-serif;outline:none;box-shadow:none}
.reference-field input:focus{border-color:#777;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.reference-check{display:flex;align-items:flex-start;gap:4px;margin:10px 0 0;color:#fff;font-size:16px;line-height:1.48;font-weight:400;cursor:pointer}
.reference-check input{appearance:auto;-webkit-appearance:checkbox;width:13px;height:13px;min-width:13px;margin:4px 0 0;accent-color:auto}
.reference-check span{display:block;flex:1}
.reference-check a{color:#ff263d;text-decoration:none;font-weight:400}
.reference-check a:hover{color:#ff5365;text-decoration:underline}
.reference-accept{display:block;width:100%;height:48px;margin:9px 0 0;border:0;border-radius:4px;background:#f3dfbc;color:#e96a02;font:14px Arial,Helvetica,sans-serif;font-weight:400;text-align:center;cursor:pointer}
.reference-accept:hover{filter:brightness(.985)}
.reference-accept:disabled{opacity:.7;cursor:wait}
.reference-legal-footer{width:min(1120px,calc(100% - 40px));margin:42px auto 0;padding:18px 10px 0;border-top:1px solid rgba(89,74,48,.32);text-align:center;color:#4c3b21;font-size:12px;line-height:1.55}
.reference-legal-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700}
.reference-legal-footer a{color:#4c3b21;text-decoration:underline}
.reference-legal-footer p{margin:3px 0}
.reference-registry{font-size:11px;opacity:.9}
.desktop-only{display:block}

@media (max-width:900px){
  .reference-landing{padding-top:0}
  .reference-layout{width:100%;grid-template-columns:1fr}
  .reference-copy{padding:38px 24px 32px}
  .reference-copy h1{font-size:42px}
  .reference-form-panel{min-height:0;padding:34px 24px 40px}
  .reference-legal-footer{width:calc(100% - 40px);margin-top:26px;padding-left:0;padding-right:0}
  .desktop-only{display:none}
}

@media (max-width:560px){
  .reference-copy{padding:30px 18px 26px}
  .reference-copy h1{font-size:36px;letter-spacing:-.7px}
  .reference-copy p{font-size:15px;line-height:1.55}
  .reference-copy-last{margin-top:20px!important}
  .reference-form-panel{padding:28px 18px 34px}
  .reference-form-panel h2{font-size:21px}
  .reference-field,.reference-check{font-size:15px}
  .reference-check{line-height:1.42}
  .reference-legal-footer{font-size:11px}
}


/* v7: recuperamos el cuadro inferior de aviso sobre tratamiento de datos con terceros */
.reference-third-party-box{width:min(1120px,calc(100% - 40px));margin:48px auto 0}
.reference-third-party-inner{background:#ead7ad;padding:14px 16px 16px;color:#111;box-shadow:none}
.reference-third-party-inner h3{margin:0 0 8px;font:700 12px/1.3 Arial,Helvetica,sans-serif;color:#000}
.reference-third-party-inner p{margin:0 0 8px;font:400 12px/1.9 Arial,Helvetica,sans-serif;color:#111}
.reference-third-party-inner p:last-child{margin-bottom:0}
.reference-third-party-inner a{color:#e04b83;text-decoration:none}
.reference-third-party-inner a:hover{text-decoration:underline}
@media (max-width:900px){
  .reference-third-party-box{width:calc(100% - 40px);margin-top:28px}
  .reference-third-party-inner{padding:14px 14px 16px}
}
@media (max-width:560px){
  .reference-third-party-box{width:calc(100% - 24px)}
  .reference-third-party-inner h3{font-size:11px}
  .reference-third-party-inner p{font-size:11px;line-height:1.75}
}


/* v9: versión más moderna y ordenada del bloque de formulario */
.reference-form-panel{padding:34px 22px 42px;background:linear-gradient(180deg,#5f5036 0%,#56472f 100%);box-shadow:0 24px 44px rgba(54,41,18,.18)}
.reference-form-panel h2{font-size:20px;line-height:1.28;margin:0 0 16px;font-weight:700}
.reference-exact-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 14px 16px;backdrop-filter:blur(1.5px)}
.reference-field{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.01em}
.reference-field span{margin:0 0 6px}
.reference-field input{height:48px;padding:10px 13px;border:1px solid #d6d0c6;border-radius:8px;background:#fff;color:#111;font:15px Arial,Helvetica,sans-serif;transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease}
.reference-field input:focus{border-color:#b57b35;box-shadow:0 0 0 3px rgba(243,223,188,.22)}
.reference-check{gap:10px;margin:10px 0 0;padding:10px 12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.035);font-size:14px;line-height:1.5}
.reference-check input{width:15px;height:15px;min-width:15px;margin:3px 0 0}
.reference-check a{color:#ff3b30;font-weight:700}
.reference-check a:hover{color:#ff695f;text-decoration:underline}
.reference-accept{height:50px;margin-top:14px;border-radius:9px;background:linear-gradient(180deg,#f3dfbc 0%,#ead1a6 100%);color:#c45e10;font-size:14px;font-weight:700;letter-spacing:.04em;box-shadow:0 10px 18px rgba(0,0,0,.08);transition:transform .16s ease, filter .16s ease, box-shadow .16s ease}
.reference-accept:hover{transform:translateY(-1px);filter:none;box-shadow:0 14px 22px rgba(0,0,0,.12)}
.reference-accept:active{transform:translateY(0)}
.reference-alert{border-radius:10px;padding:10px 12px;margin:0 0 12px}
@media (min-width:901px){
  .reference-form-panel{padding:36px 24px 44px}
}
@media (max-width:560px){
  .reference-form-panel{padding:24px 16px 30px}
  .reference-exact-form{padding:12px 12px 14px;border-radius:12px}
  .reference-form-panel h2{font-size:19px;margin-bottom:14px}
  .reference-field{font-size:13px}
  .reference-check{font-size:13px;padding:10px 10px}
}

/* v11: filtros por fecha, columna email oculta y tabla reajustada */
.admin-title-with-filters{align-items:flex-end;flex-wrap:wrap}
.admin-filters{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:760px}
.admin-filters input,.admin-filters select{height:42px;border:1px solid #ccc3b8;background:#fff;border-radius:10px;padding:0 12px;font:inherit;color:var(--ink);outline:none}
.admin-filters input:focus,.admin-filters select:focus{border-color:var(--sand-dark);box-shadow:0 0 0 3px rgba(165,142,115,.14)}
.admin-filter-search{width:250px}
.admin-filters select{min-width:142px;cursor:pointer}
.admin-filters button{height:42px;border:0;background:var(--ink);color:#fff;border-radius:10px;padding:0 17px;font-weight:750;cursor:pointer}
.filter-reset{height:42px;display:inline-flex;align-items:center;padding:0 8px;color:var(--muted);font-size:.86rem;font-weight:750}
.history-generate{display:inline-block;padding:5px 8px;border-radius:8px;background:#fff8e8;color:#805a14;text-decoration:none}

@media (min-width:1101px){
  .submissions-table-no-email th:nth-child(1),.submissions-table-no-email td:nth-child(1){width:13%}
  .submissions-table-no-email th:nth-child(2),.submissions-table-no-email td:nth-child(2){width:15%}
  .submissions-table-no-email th:nth-child(3),.submissions-table-no-email td:nth-child(3){width:11%}
  .submissions-table-no-email th:nth-child(4),.submissions-table-no-email td:nth-child(4){width:12%}
  .submissions-table-no-email th:nth-child(5),.submissions-table-no-email td:nth-child(5){width:8%}
  .submissions-table-no-email th:nth-child(6),.submissions-table-no-email td:nth-child(6){width:9%}
  .submissions-table-no-email th:nth-child(7),.submissions-table-no-email td:nth-child(7){width:13%}
  .submissions-table-no-email th:nth-child(8),.submissions-table-no-email td:nth-child(8){width:11%}
  .submissions-table-no-email th:nth-child(9),.submissions-table-no-email td:nth-child(9){width:8%}
}
@media (max-width:900px){
  .admin-title-with-filters{align-items:stretch}
  .admin-filters{width:100%;max-width:none;justify-content:flex-start}
  .admin-filter-search{flex:1 1 240px;width:auto}
  .admin-filters select{flex:1 1 150px}
}
@media (max-width:560px){
  .admin-filters{display:grid;grid-template-columns:1fr 1fr}
  .admin-filter-search{grid-column:1/-1;width:100%}
  .admin-filters button{grid-column:1/2}
  .filter-reset{grid-column:2/3;justify-content:center}
}

/* v13: selector principal Energía / Telefonía */
.service-selector-page{margin:0;min-height:100vh;background:#e99805;color:#241b0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.service-selector{min-height:100vh;display:grid;place-items:center;padding:42px 20px}
.service-selector-shell{width:min(980px,100%);text-align:center}
.service-selector-logo{display:block;width:246px;max-width:62vw;height:auto;margin:0 auto 30px}
.service-selector-kicker{display:inline-block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:850;color:#5b4320}
.service-selector h1{margin:0;font-size:clamp(2.25rem,5vw,4.1rem);line-height:1.04;letter-spacing:-.045em;color:#fff}
.service-selector-intro{width:min(690px,100%);margin:16px auto 34px;font-size:1.06rem;line-height:1.65;color:#3f2f17}
.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:left}
.service-choice-card{position:relative;display:flex;min-height:300px;flex-direction:column;padding:30px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:#fff;color:#2a241c;text-decoration:none;box-shadow:0 18px 44px rgba(86,55,5,.16);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.service-choice-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(86,55,5,.22);border-color:rgba(89,74,48,.3)}
.service-choice-icon{display:grid;place-items:center;width:66px;height:66px;margin-bottom:26px;border-radius:18px;background:#f6ead3;color:#a45d00}
.service-choice-icon svg{width:38px;height:38px}
.service-telephony .service-choice-icon{background:#eceff2;color:#465361}
.service-choice-title{font-size:1.5rem;font-weight:900;letter-spacing:.025em}
.service-choice-copy{margin-top:10px;font-size:.96rem;line-height:1.58;color:#696158}
.service-choice-link{margin-top:auto;padding-top:28px;font-size:.91rem;font-weight:800;color:#8c5208}
.service-telephony .service-choice-link{color:#465361}
.service-selector-footer{margin-top:30px;font-size:.78rem;color:#5a431f}
.service-selector-footer nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-weight:750}
.service-selector-footer a{text-decoration:underline}
.service-selector-footer p{margin:0}
@media(max-width:680px){.service-selector{padding:28px 14px}.service-selector-logo{margin-bottom:22px}.service-selector-intro{margin-bottom:24px}.service-choice-grid{grid-template-columns:1fr}.service-choice-card{min-height:250px;padding:24px}.service-choice-icon{margin-bottom:20px}.service-selector-footer{margin-top:24px}}

/* v13: contexto de servicio en los formularios */
.service-back-link{display:inline-block;margin:0 0 16px;color:#503813;font-size:12px;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}
.service-back-link:hover{text-decoration:underline}
.service-form-badge{display:inline-flex;align-items:center;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}

/* v13: filtro y etiqueta de servicio en la intranet */
.service-badge.energy{background:#fff1db;color:#805a14}
.service-badge.telephony{background:#e9eef3;color:#3f5368}
@media (min-width:1101px){
  .submissions-table-no-email th:nth-child(1),.submissions-table-no-email td:nth-child(1){width:12%}
  .submissions-table-no-email th:nth-child(2),.submissions-table-no-email td:nth-child(2){width:13%}
  .submissions-table-no-email th:nth-child(3),.submissions-table-no-email td:nth-child(3){width:8%}
  .submissions-table-no-email th:nth-child(4),.submissions-table-no-email td:nth-child(4){width:10%}
  .submissions-table-no-email th:nth-child(5),.submissions-table-no-email td:nth-child(5){width:11%}
  .submissions-table-no-email th:nth-child(6),.submissions-table-no-email td:nth-child(6){width:7%}
  .submissions-table-no-email th:nth-child(7),.submissions-table-no-email td:nth-child(7){width:8%}
  .submissions-table-no-email th:nth-child(8),.submissions-table-no-email td:nth-child(8){width:13%}
  .submissions-table-no-email th:nth-child(9),.submissions-table-no-email td:nth-child(9){width:10%}
  .submissions-table-no-email th:nth-child(10),.submissions-table-no-email td:nth-child(10){width:8%}
}
@media(min-width:1101px){.admin-filters{max-width:940px}.admin-filter-search{min-width:250px}}


/* v15: mejoras visuales de contraste, logos y selector más elaborado */
.reference-copy{color:#2f220f}
.reference-copy p{color:#2f220f}
.reference-copy strong{color:#17110a}
.service-side-logo{display:block;width:230px;max-width:58vw;height:auto;margin:0 0 14px;filter:brightness(0)}
.service-back-link{margin:0 0 18px;color:#3a2a11;font-size:12px;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.07em}
.service-back-link:hover{color:#1f1507;text-decoration:underline}
.reference-copy h1{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.08)}
.reference-form-panel{border-radius:0 0 0 22px}
.reference-form-panel,.reference-form-panel h2,.reference-form-panel .service-form-badge{color:#fff}
.reference-third-party-inner a{color:#c73360;font-weight:700}
.reference-third-party-inner a:hover{color:#a9224d}
.reference-legal-footer,.reference-legal-footer a{color:#3d2a11}
.reference-legal-footer a:hover{color:#201306}
.service-selector-intro{color:#402f16}
.service-choice-card{overflow:hidden}
.service-choice-card:before{content:"";position:absolute;right:-55px;top:-55px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.55)}
.service-choice-card:after{content:"";position:absolute;left:-22px;bottom:-30px;width:108px;height:108px;border-radius:32px;background:rgba(240,228,210,.55);transform:rotate(18deg)}
.service-choice-visual{position:relative;display:block;height:152px;margin-bottom:20px;border-radius:24px;overflow:hidden}
.service-choice-visual svg{display:block;width:100%;height:100%}
.visual-chip{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.88);color:#6d4a16;font-size:12px;font-weight:800;letter-spacing:.03em;box-shadow:0 8px 16px rgba(0,0,0,.08)}
.telephony-visual .visual-chip{color:#3f5368}
.service-choice-title{position:relative;z-index:1;color:#17120d}
.service-choice-copy{position:relative;z-index:1;color:#554c43}
.service-choice-link{position:relative;z-index:1}
.service-energy .service-choice-link{color:#7a4708}
.service-telephony .service-choice-link{color:#3f5368}
.service-energy{background:linear-gradient(180deg,#fffdfa 0%,#fff9f0 100%)}
.service-telephony{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%)}
.service-choice-card:hover .service-choice-visual{transform:translateY(-2px)}
.service-choice-visual{transition:transform .18s ease}
@media(max-width:900px){.service-side-logo{margin-bottom:12px}.reference-form-panel{border-radius:0}.reference-copy h1{font-size:40px}.reference-copy p{color:#271b0d}.service-choice-visual{height:138px}}
@media(max-width:560px){.service-side-logo{width:200px;max-width:64vw}.reference-copy h1{font-size:34px}.service-choice-visual{height:126px}.visual-chip{font-size:11px;height:26px;padding:0 10px}}


/* v16: ordenación de columnas y búsqueda en vivo del admin */
.sortable-th{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;white-space:nowrap}
.sortable-th span{font-size:.86rem;line-height:1;color:#9a9289}
.sortable-th:hover{color:#1f1f1f;text-decoration:underline;text-underline-offset:3px}
.sortable-th.active{color:#1f1f1f;font-weight:900}
.sortable-th.active span{color:#806a52}
.admin-results{position:relative;transition:opacity .14s ease}
.admin-results.is-loading{opacity:.58;pointer-events:none}
.admin-results.is-loading:after{content:"Actualizando…";position:absolute;top:12px;right:14px;z-index:4;padding:6px 9px;border-radius:999px;background:#242424;color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 5px 14px rgba(0,0,0,.14)}


/* v17: formulario con fondo marrón plano y aspecto más limpio en energía y telefonía */
.reference-form-panel{background:#5a4a31 !important;box-shadow:none !important;border-radius:0 !important}
.reference-exact-form{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;backdrop-filter:none !important;box-shadow:none !important}
.reference-check{background:transparent !important;border:0 !important;border-radius:0 !important;padding:8px 0 0 !important;box-shadow:none !important}
.reference-check:first-of-type{margin-top:12px !important}
.reference-field input{border-radius:6px;border:1px solid #ddd5ca;box-shadow:none}
.reference-field input:focus{border-color:#d8c3a0;box-shadow:0 0 0 2px rgba(243,223,188,.18)}
.reference-accept{margin-top:16px}
@media(max-width:560px){.reference-check{padding-top:8px !important}}


/* v22: formulario único genérico y admin sin columna Servicio */
.reference-copy{padding-top:68px}
.submissions-table-generic table{min-width:0}
@media (min-width:1101px){
  .submissions-table-generic th:nth-child(1),.submissions-table-generic td:nth-child(1){width:15%}
  .submissions-table-generic th:nth-child(2),.submissions-table-generic td:nth-child(2){width:16%}
  .submissions-table-generic th:nth-child(3),.submissions-table-generic td:nth-child(3){width:12%}
  .submissions-table-generic th:nth-child(4),.submissions-table-generic td:nth-child(4){width:13%}
  .submissions-table-generic th:nth-child(5),.submissions-table-generic td:nth-child(5){width:9%}
  .submissions-table-generic th:nth-child(6),.submissions-table-generic td:nth-child(6){width:10%}
  .submissions-table-generic th:nth-child(7),.submissions-table-generic td:nth-child(7){width:13%}
  .submissions-table-generic th:nth-child(8),.submissions-table-generic td:nth-child(8){width:12%}
}
