{"id":1683,"date":"2026-09-29T17:31:02","date_gmt":"2026-09-29T17:31:02","guid":{"rendered":"https:\/\/accf.unitru.edu.pe\/?p=1683"},"modified":"2026-09-29T17:33:49","modified_gmt":"2026-09-29T17:33:49","slug":"registro","status":"publish","type":"post","link":"https:\/\/accf.unitru.edu.pe\/index.php\/sisd2-2\/registro","title":{"rendered":"Registro"},"content":{"rendered":"\n<title>Registro | II Seminario Internacional de Sistemas Din\u00e1micos<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&amp;display=swap\" rel=\"stylesheet\">\n<style>\n\/* Todo est\u00e1 aislado bajo #sd para que ning\u00fan tema externo (Bootstrap, WordPress, Sites) lo desordene *\/\n#sd{\n  --ink:#0f1f3d; --muted:#5b6b82; --line:#d5dfec; --line-hover:#b3c3d9; --field:#f6f9fd;\n  --a1:#2563eb; --a2:#0891b2; --ring:rgba(8,145,178,.22);\n  --warn:#c81e4b; --warn-bg:#fff1f4; --ok:#0f7b4a; --ok-bg:#eefaf3;\n  box-sizing:border-box; width:100%; max-width:680px; margin:0 auto; padding:36px 20px 52px;\n  color:var(--ink); font:15px\/1.5 \"Plus Jakarta Sans\",\"Segoe UI\",system-ui,sans-serif; text-align:left;\n  -webkit-font-smoothing:antialiased;\n}\n#sd *,#sd *::before,#sd *::after{box-sizing:border-box}\nhtml{background:radial-gradient(60% 45% at 0% 0%,rgba(37,99,235,.13),transparent 70%),radial-gradient(55% 45% at 100% 100%,rgba(8,145,178,.14),transparent 70%),#f7f9fd;min-height:100%}\nbody{margin:0;background:transparent}\n\n#sd .sd-head{position:relative;padding-right:120px;margin:0 0 26px}\n#sd .sd-head svg{position:absolute;right:0;top:0;width:100px;height:100px}\n#sd h1{font:700 1.65rem\/1.25 Georgia,\"Times New Roman\",serif;margin:0 0 8px;padding:0;color:var(--ink)}\n#sd .sd-head p{margin:0;color:var(--muted);max-width:44ch}\n\n#sd form{position:relative;overflow:hidden;margin:0;padding:32px 28px 28px;background:#fff;border:1px solid var(--line);\n  border-radius:14px;box-shadow:0 18px 40px -18px rgba(15,31,61,.22);\n  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;align-items:start}\n#sd form::before{content:\"\";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--a1),var(--a2))}\n#sd .sd-full{grid-column:1 \/ -1}\n\n#sd .sd-f{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;min-width:0;width:100%;float:none;\n  font-weight:600;font-size:.9rem;line-height:1.3;color:#2b3b57}\n#sd input{display:block;width:100%;height:46px;margin:0;padding:0 12px;font:500 .95rem \"Plus Jakarta Sans\",system-ui,sans-serif;\n  color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:8px;box-shadow:none;\n  transition:border-color .2s,box-shadow .2s,background-color .2s}\n#sd input::placeholder{color:#93a1b5;font-weight:400}\n#sd input:hover{border-color:var(--line-hover);background:#fff}\n#sd input:focus-visible{outline:none;border-color:var(--a2);box-shadow:0 0 0 3px var(--ring);background:#fff}\n#sd input:user-invalid{border-color:var(--warn)}\n\n\/* Pa\u00eds *\/\n#sd .sd-combo{position:relative;width:100%}\n#sd .sd-combo #cb{padding-right:36px}\n#sd .sd-combo.has-flag #cb{padding-left:44px}\n#sd #flag{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:18px;margin:0;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,31,61,.15);pointer-events:none}\n#sd .sd-chev{position:absolute;right:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:transform .2s}\n#sd .sd-combo[aria-expanded=\"true\"] .sd-chev{transform:translateY(-50%) rotate(180deg)}\n#sd #lista{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;max-height:260px;overflow-y:auto;\n  background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px -12px rgba(15,31,61,.3)}\n#sd #lista[hidden]{display:none}\n#sd #lista li{display:flex;align-items:center;gap:10px;margin:0;padding:8px 10px;border-radius:6px;font-weight:500;color:var(--ink);cursor:pointer}\n#sd #lista li img{width:24px;height:18px;margin:0;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,31,61,.15);flex:none}\n#sd #lista li:hover,#sd #lista li.act{background:#e8f1fd}\n#sd #lista li[aria-selected=\"true\"]{background:linear-gradient(90deg,rgba(37,99,235,.14),rgba(8,145,178,.14));font-weight:700}\n#sd #lista li.vacio{color:var(--muted);cursor:default;background:none}\n\n#sd button{width:100%;height:48px;margin:4px 0 0;padding:0 18px;border:0;border-radius:8px;color:#fff;cursor:pointer;\n  font:600 1rem \"Plus Jakarta Sans\",system-ui,sans-serif;background:linear-gradient(90deg,var(--a1),var(--a2));\n  box-shadow:0 8px 18px -8px rgba(37,99,235,.55);transition:filter .2s,transform .1s}\n#sd button:hover{filter:brightness(1.08);transform:translateY(-1px)}\n#sd button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}\n#sd button:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}\n#sd #msg{margin:0;min-height:0;font-weight:600;font-size:.88rem;border-radius:8px}\n#sd #msg:empty{display:none}\n#sd #msg.ok{color:var(--ok);background:var(--ok-bg);padding:10px 14px;border:1px solid rgba(15,123,74,.25)}\n#sd #msg.err{color:var(--warn);background:var(--warn-bg);padding:10px 14px;border:1px solid rgba(200,30,75,.25)}\n#sd .sd-hp{position:absolute;left:-9999px;height:0;overflow:hidden}\n\n@media (max-width:560px){\n  #sd{padding:24px 14px 36px}\n  #sd .sd-head{padding-right:0} #sd .sd-head svg{position:static;width:64px;height:64px;margin-bottom:6px}\n  #sd form{grid-template-columns:1fr;padding:26px 18px 22px;gap:18px}\n}\n@media (prefers-reduced-motion:reduce){#sd *{transition:none!important}}\n<\/style>\n\n\n<div id=\"sd\">\n  <div class=\"sd-head\">\n    <svg viewBox=\"0 0 100 100\" fill=\"none\" stroke=\"url(#g)\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\">\n      <defs><linearGradient id=\"g\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#2563eb\"><\/stop><stop offset=\"1\" stop-color=\"#0891b2\"><\/stop><\/linearGradient><\/defs>\n      <path d=\"M50 50 C56 44 62 44 66 50 C70 58 62 68 50 68 C34 68 26 52 32 38 C40 22 64 20 76 34 C88 48 82 74 62 82 C42 90 18 78 14 56\"><\/path>\n      <circle cx=\"50\" cy=\"50\" r=\"2.5\" fill=\"#2563eb\" stroke=\"none\"><\/circle>\n    <\/svg>\n    <h1>II Seminario Internacional de Sistemas Din\u00e1micos<\/h1>\n    <p>Completa tus datos para inscribirte. Todos los campos son obligatorios.<\/p>\n  <\/div>\n\n  <form id=\"f\" novalidate=\"\">\n    <label class=\"sd-f\">Apellido paterno<input name=\"paterno\" autocomplete=\"family-name\" required=\"\"><\/label>\n    <label class=\"sd-f\">Apellido materno<input name=\"materno\" required=\"\"><\/label>\n\n    <label class=\"sd-f sd-full\">Nombres<input name=\"nombres\" autocomplete=\"given-name\" required=\"\"><\/label>\n\n    <label class=\"sd-f\">N\u00famero de DNI<input name=\"dni\" inputmode=\"numeric\" maxlength=\"15\" placeholder=\"8 d\u00edgitos (extranjeros: documento)\" required=\"\"><\/label>\n    <div class=\"sd-f\">\n      <span id=\"lp\">Pa\u00eds<\/span>\n      <div class=\"sd-combo\" id=\"combo\" aria-expanded=\"false\">\n        <img id=\"flag\" alt=\"\" hidden=\"\">\n        <input id=\"cb\" role=\"combobox\" aria-labelledby=\"lp\" aria-controls=\"lista\" aria-expanded=\"false\" aria-autocomplete=\"list\" autocomplete=\"off\" placeholder=\"Selecciona tu pa\u00eds\" required=\"\">\n        <svg class=\"sd-chev\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3 6l5 5 5-5\"><\/path><\/svg>\n        <ul id=\"lista\" role=\"listbox\" aria-label=\"Pa\u00edses\" hidden=\"\"><\/ul>\n        <input type=\"hidden\" id=\"pais\" name=\"pais\">\n      <\/div>\n    <\/div>\n\n    <label class=\"sd-f\">E-mail<input name=\"email\" type=\"email\" autocomplete=\"email\" required=\"\"><\/label>\n    <label class=\"sd-f\">N\u00famero de celular<input name=\"celular\" type=\"tel\" autocomplete=\"tel\" placeholder=\"+51 999 999 999\" required=\"\"><\/label>\n\n    <div class=\"sd-hp\" aria-hidden=\"true\"><label>No completar<input name=\"web\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n    <button id=\"btn\" class=\"sd-full\" type=\"submit\">Registrarme<\/button>\n    <p id=\"msg\" class=\"sd-full\" role=\"status\" aria-live=\"polite\"><\/p>\n  <\/form>\n<\/div>\n\n<script>\n\/\/ URL de tu aplicaci\u00f3n web de Google Apps Script (termina en \/exec)\nconst SCRIPT_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbzzglnv1ZuEHVJ5VOz8vm6sYY-ofHUTDJtQfL-d7G1U2kHFQxWE4pgdds6839USsETwEQ\/exec\";\n\n\/* ---------- Pa\u00edses con bandera ---------- *\/\nconst CODES = \"AF AL DE AD AO AG SA DZ AR AM AU AT AZ BS BD BB BH BE BZ BJ BY BO BA BW BR BN BG BF BI BT CV KH CM CA QA TD CL CN CY CO KM CG CD KP KR CR CI HR CU DK DJ DM EC EG SV AE ER SK SI ES US EE SZ ET RU FJ PH FI FR GA GM GE GH GD GR GT GN GQ GW GY HT HN HU IN ID IQ IR IE IS MH SB IL IT JM JP JO KZ KE KG KI KW LA LS LV LB LR LY LI LT LU MK MG MY MW MV ML MT MA MU MR MX FM MD MC MN ME MZ MM NA NR NP NI NE NG NO NZ OM NL PK PW PA PG PY PE PL PT GB CF CZ DO RW RO WS KN SM VC LC ST SN RS SC SL SG SY SO LK ZA SD SS SE CH SR TH TZ TJ TL TG TO TT TN TM TR TV UA UG UY UZ VU VA VE VN YE ZM ZW PR TW PS\".split(\" \");\nconst dn = new Intl.DisplayNames([\"es\"], { type: \"region\" });\nconst PAISES = CODES.map(c => ({ c: c.toLowerCase(), n: dn.of(c) })).sort((a, b) => a.n.localeCompare(b.n, \"es\"));\nPAISES.unshift(...PAISES.splice(PAISES.findIndex(p => p.c === \"pe\"), 1)); \/\/ Per\u00fa primero\n\nconst combo = document.getElementById(\"combo\"), cb = document.getElementById(\"cb\"), list = document.getElementById(\"lista\"),\n      hid = document.getElementById(\"pais\"), flag = document.getElementById(\"flag\");\nconst norm = s => s.normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g, \"\").toLowerCase();\nlet vis = [], act = -1;\n\nconst flagUrl = (c, w) => `https:\/\/flagcdn.com\/w${w}\/${c}.png`;\nfunction render(q = \"\") {\n  const n = norm(q);\n  vis = PAISES.filter(p => norm(p.n).includes(n));\n  list.innerHTML = vis.length\n    ? vis.map((p, i) => `<li role=\"option\" id=\"o${i}\" data-i=\"${i}\" aria-selected=\"${p.n === hid.value}\"><img decoding=\"async\" src=\"${flagUrl(p.c, 40)}\" srcset=\"${flagUrl(p.c, 80)} 2x\" alt=\"\" loading=\"lazy\"><span>${p.n}<\/span><\/li>`).join(\"\")\n    : '<li class=\"vacio\">Sin resultados<\/li>';\n  act = -1; cb.removeAttribute(\"aria-activedescendant\");\n}\nfunction setOpen(o) { list.hidden = !o; combo.setAttribute(\"aria-expanded\", o); cb.setAttribute(\"aria-expanded\", o); }\nfunction choose(p) {\n  hid.value = p.n; cb.value = p.n;\n  flag.src = flagUrl(p.c, 40); flag.hidden = false; combo.classList.add(\"has-flag\");\n  setOpen(false);\n}\nfunction clearChoice() { hid.value = \"\"; flag.hidden = true; combo.classList.remove(\"has-flag\"); }\nfunction move(d) {\n  if (!vis.length) return;\n  list.querySelector(\".act\")?.classList.remove(\"act\");\n  act = (act + d + vis.length) % vis.length;\n  const el = document.getElementById(\"o\" + act);\n  el.classList.add(\"act\"); el.scrollIntoView({ block: \"nearest\" });\n  cb.setAttribute(\"aria-activedescendant\", el.id);\n}\ncb.addEventListener(\"focus\", () => { render(hid.value ? \"\" : cb.value); setOpen(true); });\ncb.addEventListener(\"click\", () => { if (list.hidden) { render(hid.value ? \"\" : cb.value); setOpen(true); } });\ncb.addEventListener(\"input\", () => { clearChoice(); render(cb.value); setOpen(true); });\ncb.addEventListener(\"keydown\", e => {\n  if (e.key === \"ArrowDown\") { e.preventDefault(); if (list.hidden) { render(\"\"); setOpen(true); } move(1); }\n  else if (e.key === \"ArrowUp\") { e.preventDefault(); move(-1); }\n  else if (e.key === \"Enter\" && !list.hidden) {\n    e.preventDefault();\n    const p = vis[act] || (vis.length === 1 ? vis[0] : null);\n    if (p) choose(p);\n  }\n  else if (e.key === \"Escape\") setOpen(false);\n});\ncb.addEventListener(\"blur\", () => {\n  setOpen(false);\n  if (!hid.value) { const p = PAISES.find(p => norm(p.n) === norm(cb.value.trim())); if (p) choose(p); }\n});\nlist.addEventListener(\"mousedown\", e => e.preventDefault());\nlist.addEventListener(\"click\", e => { const li = e.target.closest(\"li[data-i]\"); if (li) choose(vis[li.dataset.i]); });\n\n\/* ---------- Env\u00edo a Google Sheets ---------- *\/\nconst f = document.getElementById(\"f\"), msg = document.getElementById(\"msg\"), btn = document.getElementById(\"btn\");\nconst show = (t, c) => { msg.textContent = t; msg.className = \"sd-full \" + (c || \"\"); };\n\nf.addEventListener(\"submit\", async (e) => {\n  e.preventDefault();\n  const d = new FormData(f);\n  if (d.get(\"web\")) return; \/\/ anti-spam\n  if (!f.checkValidity()) { f.reportValidity(); return; }\n  if (!hid.value) { show(\"Selecciona un pa\u00eds de la lista.\", \"err\"); cb.focus(); return; }\n  if (hid.value === \"Per\u00fa\" && !\/^\\d{8}$\/.test(d.get(\"dni\").trim())) { show(\"El DNI peruano debe tener 8 d\u00edgitos.\", \"err\"); return; }\n  btn.disabled = true; show(\"Enviando\u2026\");\n  try {\n    d.delete(\"web\");\n    await fetch(SCRIPT_URL, { method: \"POST\", mode: \"no-cors\", body: new URLSearchParams(d) });\n    f.reset(); clearChoice(); show(\"Registro enviado. Te esperamos en el seminario.\", \"ok\");\n  } catch (err) {\n    show(\"No se pudo enviar. Revisa tu conexi\u00f3n e int\u00e9ntalo de nuevo.\", \"err\");\n  } finally { btn.disabled = false; }\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Registro | II Seminario Internacional de Sistemas Din\u00e1micos II Seminario<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1683","post","type-post","status-publish","format-standard","hentry","category-sisd2-2"],"_links":{"self":[{"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/posts\/1683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/comments?post=1683"}],"version-history":[{"count":1,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/posts\/1683\/revisions"}],"predecessor-version":[{"id":1684,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/posts\/1683\/revisions\/1684"}],"wp:attachment":[{"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/media?parent=1683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/categories?post=1683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/accf.unitru.edu.pe\/index.php\/wp-json\/wp\/v2\/tags?post=1683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}