/* No Pierdas Tu Residencia 0.1 — CSS acotado al portal */
#nptr-app {
  --nptr-navy: #062a5e;
  --nptr-deep: #031c40;
  --nptr-red: #c8102e;
  --nptr-yellow: #f4c430;
  --nptr-muted: #5d6674;
  --nptr-line: #e0e8f1;
  --nptr-bg: #f3f6fa;
  --nptr-green: #15815d;
  color: var(--nptr-deep);
  width: 100%;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.55;
}
#nptr-app, #nptr-app *, #nptr-app *::before, #nptr-app *::after { box-sizing: border-box; }
#nptr-app .nptr-wrap { max-width: 1200px; margin: 0 auto; padding: 34px 22px 80px; }
#nptr-app h1, #nptr-app h2, #nptr-app h3 { color: var(--nptr-deep); font-family: inherit; line-height: 1.14; }
#nptr-app h1 { margin: 9px 0 10px; font-size: clamp(35px,5vw,55px); font-weight: 820; letter-spacing: -.055em; }
#nptr-app h2 { font-size: 23px; margin: 0 0 12px; letter-spacing: -.03em; }
#nptr-app p { margin: 0 0 16px; }
#nptr-app a { text-decoration: none; }
#nptr-app .nptr-eyebrow { display: inline-block; font-size: 11px; font-weight: 850; color: var(--nptr-red); text-transform: uppercase; letter-spacing: .10em; }
#nptr-app .nptr-head { margin: 0 0 29px; }
#nptr-app .nptr-head p { font-size: 17px; color: var(--nptr-muted); max-width: 700px; }
#nptr-app .nptr-box { border: 1px solid var(--nptr-line); border-radius: 22px; background: #fff; padding: 26px; box-shadow: 0 9px 30px rgba(5,38,82,.06); min-width: 0; }
#nptr-app .nptr-fine { font-size: 12px; color: var(--nptr-muted); line-height: 1.55; }
#nptr-app .nptr-small-link { display: inline-block; margin-top: 8px; color: var(--nptr-navy); font-weight: 700; font-size: 13px; }
#nptr-app .nptr-btn, #nptr-app input[type=submit] { border: none; border-radius: 12px; min-height: 46px; padding: 12px 18px; font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--nptr-navy); text-decoration: none; cursor: pointer; transition: transform .2s,background .2s; }
#nptr-app .nptr-btn:hover, #nptr-app input[type=submit]:hover { background: var(--nptr-deep); transform: translateY(-1px); color: #fff; }
#nptr-app .nptr-primary { background: var(--nptr-red); }
#nptr-app .nptr-primary:hover { background: #9f1127; }
#nptr-app .nptr-secondary { background: var(--nptr-navy); }
#nptr-app .nptr-alert { padding: 14px 18px; border: 1px solid #d7e5f5; border-left: 4px solid var(--nptr-navy); background: #f1f7ff; border-radius: 11px; font-size: 14px; margin-bottom: 24px; }
#nptr-app .nptr-form { display: grid; gap: 17px; }
#nptr-app .nptr-form label, #nptr-app .nptr-login-box #loginform label { display: grid; gap: 6px; font-size: 13px; color: var(--nptr-deep); font-weight: 750; }
#nptr-app .nptr-form input[type=text], #nptr-app .nptr-form input[type=email], #nptr-app .nptr-form input[type=date], #nptr-app .nptr-form input[type=file], #nptr-app .nptr-form select, #nptr-app .nptr-login-box input[type=text], #nptr-app .nptr-login-box input[type=password] { display: block; width: 100%; padding: 12px; border: 1px solid #ced9e7; border-radius: 10px; background: #fff; color: var(--nptr-deep); min-height: 45px; font: inherit; font-size: 14px; }
#nptr-app .nptr-form input:focus, #nptr-app .nptr-form select:focus, #nptr-app .nptr-login-box input:focus { outline: 3px solid rgba(0,94,233,.2); border-color: #005ee9; }
#nptr-app .nptr-check-label { display: flex !important; gap: 10px !important; align-items: flex-start; font-size: 12px !important; font-weight: 500 !important; color: var(--nptr-muted) !important; }
#nptr-app .nptr-check-label input[type=checkbox] { margin: 4px 0 0; min-width: 17px; min-height: 17px; }
#nptr-app .nptr-check-label a { text-decoration: underline; color: var(--nptr-navy); font-weight: 750; }
#nptr-app .nptr-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#nptr-app .nptr-auth-grid, #nptr-app .nptr-onboarding { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
#nptr-app .nptr-auth .nptr-wrap { max-width: 1080px; }
#nptr-app .nptr-sidebox { background: linear-gradient(145deg,#eef5ff,#fff); }
#nptr-app .nptr-sidebox p { color: var(--nptr-muted); }
#nptr-app .nptr-login-box #loginform { display: grid; gap: 11px; }
#nptr-app .nptr-login-box #loginform p { margin: 0; }
#nptr-app .nptr-login-box .login-remember label { display: flex !important; gap: 9px; align-items: center; }
#nptr-app .nptr-login-box .login-submit input { width: 100%; }
#nptr-app .nptr-topline { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 24px; }
#nptr-app .nptr-logout { color: var(--nptr-navy); font-size: 12px; font-weight: 750; }
#nptr-app .nptr-overview { display: grid; grid-template-columns: 1.5fr .5fr; overflow: hidden; border-radius: 26px; background: linear-gradient(135deg,var(--nptr-deep),var(--nptr-navy)); color: #fff; }
#nptr-app .nptr-overview-main { padding: 31px 34px; min-width: 0; }
#nptr-app .nptr-overview h2 { color: #fff; margin: 15px 0; font-size: clamp(25px,3.5vw,37px); }
#nptr-app .nptr-overview-main > p { font-size: 14px; color: rgba(255,255,255,.82); max-width: 720px; }
#nptr-app .nptr-overview small { display: block; font-size: 11px; color: rgba(255,255,255,.64); line-height: 1.4; margin-top: 10px; }
#nptr-app .nptr-pill { display: inline-flex; background: rgba(244,196,48,.16); border: 1px solid rgba(244,196,48,.2); padding: 6px 11px; color: #ffe27b; font-size: 11px; font-weight: 800; border-radius: 999px; }
#nptr-app .nptr-pill-light { color: var(--nptr-navy); background: #eff5ff; border-color: #dae8fc; }
#nptr-app .nptr-progress-head { margin-top: 25px; display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
#nptr-app .nptr-progress-head strong { color: var(--nptr-yellow); }
#nptr-app .nptr-progress { height: 9px; border-radius: 10px; background: rgba(255,255,255,.2); overflow: hidden; margin-top: 8px; }
#nptr-app .nptr-progress span { height: 100%; background: linear-gradient(90deg,var(--nptr-red),var(--nptr-yellow)); display: block; border-radius: inherit; transition: width .45s; }
#nptr-app .nptr-stat-stack { display: grid; grid-template-rows: 1fr 1fr; border-left: 1px solid rgba(255,255,255,.14); }
#nptr-app .nptr-stat-stack > div { display: flex; flex-direction: column; justify-content: center; padding: 22px; border-bottom: 1px solid rgba(255,255,255,.14); }
#nptr-app .nptr-stat-stack span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.62); font-weight: 700; }
#nptr-app .nptr-stat-stack strong { display: block; font-size: 22px; color: #fff; margin-top: 5px; }
#nptr-app .nptr-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 20px 0 30px; }
#nptr-app .nptr-stat { background: var(--nptr-bg); border: 1px solid var(--nptr-line); padding: 17px 19px; border-radius: 15px; display: grid; gap: 4px; }
#nptr-app .nptr-stat span { color: var(--nptr-muted); font-size: 11px; font-weight: 750; }
#nptr-app .nptr-stat strong { color: var(--nptr-deep); font-size: 17px; }
#nptr-app .nptr-main-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr); gap: 22px; }
#nptr-app .nptr-main-column, #nptr-app .nptr-side-column { min-width: 0; display: grid; align-content: start; gap: 22px; }
#nptr-app .nptr-section-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
#nptr-app .nptr-section-head h2 { margin: 7px 0 0; }
#nptr-app .nptr-task-list { display: grid; gap: 9px; margin-bottom: 23px; }
#nptr-app .nptr-task, #nptr-app .nptr-file { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 14px 15px; border: 1px solid var(--nptr-line); border-radius: 13px; background: #fafcff; }
#nptr-app .nptr-task-content, #nptr-app .nptr-file > div:first-child { min-width: 0; overflow-wrap: anywhere; }
#nptr-app .nptr-task strong, #nptr-app .nptr-file strong { display: block; font-size: 13px; color: var(--nptr-deep); }
#nptr-app .nptr-task small, #nptr-app .nptr-file small { display: block; font-size: 11px; color: var(--nptr-muted); margin-top: 4px; }
#nptr-app .nptr-task-done { background: #f1f9f5; }
#nptr-app .nptr-task-done strong { text-decoration: line-through; color: #497062; }
#nptr-app .nptr-task-actions { display: flex; align-items: center; gap: 10px; flex: none; }
#nptr-app .nptr-inline { display: inline; margin: 0; }
#nptr-app .nptr-text-button { background: transparent; border: 0; padding: 5px 0; color: var(--nptr-navy); cursor: pointer; font-size: 12px; font-weight: 750; text-decoration: none; }
#nptr-app .nptr-text-button:hover { text-decoration: underline; }
#nptr-app .nptr-delete-button { background: transparent; border: none; color: #a90d27; font-size: 24px; line-height: 1; padding: 1px; cursor: pointer; }
#nptr-app .nptr-edit { border-top: 1px solid var(--nptr-line); padding-top: 18px; margin-top: 12px; }
#nptr-app .nptr-edit summary { color: var(--nptr-navy); cursor: pointer; font-size: 14px; font-weight: 800; }
#nptr-app .nptr-edit summary span { float: right; }
#nptr-app .nptr-edit[open] summary { margin-bottom: 20px; }
#nptr-app .nptr-files { margin-top: 19px; display: grid; gap: 9px; }
#nptr-app .nptr-upload-form { margin-top: 17px; }
#nptr-app .nptr-help { background: linear-gradient(160deg,#f7f9fd,#eff4ff); }
#nptr-app .nptr-help h2 { font-size: 22px; margin: 12px 0; }
#nptr-app .nptr-help p { color: var(--nptr-muted); font-size: 14px; }
#nptr-app .nptr-bottom-notice { font-size: 12px; line-height: 1.6; padding: 17px 20px; margin-top: 26px; color: #56677c; background: var(--nptr-bg); border-radius: 13px; }
#nptr-app .nptr-onboarding .nptr-box:first-child > p { color: var(--nptr-muted); }
@media (max-width: 880px) {
  #nptr-app .nptr-auth-grid, #nptr-app .nptr-onboarding, #nptr-app .nptr-main-grid { grid-template-columns: 1fr; }
  #nptr-app .nptr-overview { grid-template-columns: 1fr; }
  #nptr-app .nptr-stat-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
  #nptr-app .nptr-stat-stack > div { border-bottom: 0; }
}
@media (max-width: 560px) {
  #nptr-app .nptr-wrap { padding: 22px 14px 60px; }
  #nptr-app .nptr-box { padding: 19px; border-radius: 17px; }
  #nptr-app .nptr-overview-main { padding: 23px 20px; }
  #nptr-app .nptr-stats { grid-template-columns: 1fr; gap: 9px; }
  #nptr-app .nptr-task, #nptr-app .nptr-file { align-items: flex-start; flex-direction: column; }
  #nptr-app .nptr-task-actions { width: 100%; justify-content: flex-end; }
  #nptr-app .nptr-stat-stack strong { font-size: 17px; }
  #nptr-app .nptr-stat-stack > div { padding: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  #nptr-app .nptr-btn, #nptr-app .nptr-progress span { transition: none; }
}

/* Registro 0.1.1: contrasena, plan seleccionado y reenvio. */
#nptr-app .nptr-form input[type=password] { display:block; width:100%; padding:12px; border:1px solid #ced9e7; border-radius:10px; background:#fff; color:var(--nptr-deep); min-height:45px; font:inherit; font-size:14px; }
#nptr-app .nptr-plan-choice { border:1px solid #dce6f3; border-radius:12px; padding:10px 13px; background:#f4f8ff; font-size:13px; }
#nptr-app .nptr-plan-choice strong { color:var(--nptr-navy); }
#nptr-app .nptr-resend-box { margin-top:22px; }
#nptr-app .nptr-resend-form { display:grid; grid-template-columns:minmax(190px, 1fr) auto; align-items:end; gap:13px; }
#nptr-app .nptr-resend-form .nptr-trap { display:none; }
#nptr-app .nptr-resend-form .nptr-btn { white-space:nowrap; }
#nptr-app .nptr-secondary { background:#173c78; }
@media (max-width:600px) { #nptr-app .nptr-resend-form { grid-template-columns:1fr; } }
