/* Public self-registration pages: centre wizard, staff registration, status. Light, calm, readable on a phone. */
.reg-body{background:linear-gradient(180deg,#eef4ff 0,#f6f8fc 320px,#f6f8fc 100%);min-height:100vh;font-family:Cairo,system-ui,sans-serif;color:#0f1d33}
.reg-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;max-width:1080px;margin:0 auto}
.reg-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:#0f1d33;text-decoration:none}
.reg-mark{width:36px;height:36px;display:inline-flex;border-radius:10px;overflow:hidden}
.reg-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.9rem}
.reg-links a{color:#1d4ed8;text-decoration:none;font-weight:600}
.reg-links a:hover{text-decoration:underline}
.reg-main{padding:8px 16px 48px}
.reg-wrap{max-width:980px;margin:0 auto}
.reg-narrow{max-width:760px}
.reg-head{margin:8px 0 18px}
.reg-head h1{font-size:1.6rem;font-weight:800;margin:0 0 6px;color:#0f1d33}
.reg-head h1 i{color:#2563eb}
.reg-head p{color:#4b5b75;margin:0;max-width:62ch}
.reg-card{background:#fff;border:1px solid #e3e9f3;border-radius:18px;box-shadow:0 10px 30px -18px rgba(15,29,51,.28);padding:22px 22px 18px}
.reg-card fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.reg-card legend{font-size:1.1rem;font-weight:800;margin-bottom:14px;padding:0;float:none;width:auto;color:#13284d;outline:0}
.reg-card legend small{font-size:.75rem;font-weight:500;color:#6b7a93;margin-inline-start:8px}
.reg-card .form-label{font-weight:600;font-size:.88rem;color:#273650;margin-bottom:.3rem}
.reg-card .form-control,.reg-card .form-select,.reg-card .ss-control{border-radius:10px;min-height:44px}
.reg-foot{text-align:center;color:#7a879c;font-size:.8rem;padding:0 0 24px}
.reg-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}

/* step chips */
.reg-steps{list-style:none;display:flex;gap:8px;padding:0 0 10px;margin:0 0 14px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}
.reg-steps li{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 14px;border-radius:999px;background:#fff;border:1px solid #dfe6f1;color:#5b6a83;font-size:.85rem;font-weight:600;scroll-snap-align:center;cursor:default;user-select:none}
.reg-steps li .n{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2f8;color:#5b6a83;font-size:.78rem}
.reg-steps li.done{cursor:pointer;color:#14532d;border-color:#bbf7d0;background:#f0fdf4}
.reg-steps li.done .n{background:#16a34a;color:#fff}
.reg-steps li.current{color:#fff;background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 16px -8px rgba(29,78,216,.7)}
.reg-steps li.current .n{background:#fff;color:#1d4ed8}
.reg-steps li:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}

.reg-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf1f7;padding-top:16px;margin-top:6px}
.reg-actions .btn{min-height:44px;padding-inline:20px;border-radius:12px;font-weight:700}
.reg-progress{flex:1 1 auto;text-align:center}
.reg-draft{background:#f1f6ff;border:1px solid #dbe7ff;border-radius:10px;padding:8px 12px;font-size:.85rem;color:#1e3a8a;margin-bottom:12px}

/* tags */
.reg-tags{display:flex;flex-direction:column;gap:6px}
.reg-tag-list{display:flex;flex-wrap:wrap;gap:6px}
.reg-tag{display:inline-flex;align-items:center;gap:6px;background:#eef4ff;color:#1d4ed8;border:1px solid #d6e3ff;border-radius:999px;padding:3px 6px 3px 10px;font-size:.82rem;font-weight:600}
.reg-tag button{border:0;background:transparent;color:inherit;font-size:1rem;line-height:1;padding:0 4px;border-radius:50%}
.reg-tag button:hover{background:#dbe7ff}

/* working days */
.reg-days{display:flex;flex-wrap:wrap;gap:8px}
.reg-day{position:relative;cursor:pointer;margin:0}
.reg-day input{position:absolute;opacity:0;pointer-events:none}
.reg-day span{display:inline-block;padding:8px 14px;border-radius:10px;border:1px solid #dfe6f1;background:#fff;font-size:.86rem;font-weight:600;color:#3b4a63;transition:background .15s,border-color .15s}
.reg-day input:checked+span{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.reg-day input:focus-visible+span{outline:3px solid #93c5fd;outline-offset:2px}

/* documents */
.reg-docs{display:grid;gap:10px}
.reg-doc{border:1px dashed #cdd8ea;border-radius:14px;padding:12px 14px;background:#fbfcff}
.reg-doc-head{display:flex;align-items:flex-start;gap:12px}
.reg-doc-head>i{font-size:1.3rem;color:#2563eb;margin-top:3px}
.reg-doc-files{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:.85rem}
.reg-file{word-break:break-all}

/* review */
.reg-summary{display:grid;gap:12px}
.reg-sum{border:1px solid #e6ecf5;border-radius:14px;padding:12px 14px}
.reg-sum-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.reg-sum-head h3{font-size:1rem;font-weight:800;margin:0;color:#13284d}
.reg-sum dt{font-weight:600;color:#5b6a83;font-size:.85rem}
.reg-sum dd{font-size:.9rem;margin-bottom:6px;word-break:break-word}

/* done */
.reg-done{text-align:center;padding:36px 22px}
.reg-done:focus{outline:0}
.reg-done-ic{font-size:3.2rem;color:#16a34a;margin-bottom:6px}
.reg-done h2{font-size:1.2rem;font-weight:800;max-width:52ch;margin:0 auto 18px;line-height:1.7}
.reg-ref{font:800 1.6rem/1.2 ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#1d4ed8;background:#eef4ff;border-radius:12px;display:inline-block;padding:10px 18px;margin-bottom:8px}

@media (max-width:575.98px){
  .reg-top{padding:12px 16px}
  .reg-card{padding:16px 14px 14px;border-radius:14px}
  .reg-head h1{font-size:1.3rem}
  .reg-actions{flex-wrap:wrap}
  .reg-actions .reg-progress{order:-1;flex-basis:100%}
  .reg-actions .btn{flex:1 1 auto}
  .reg-doc-head{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.reg-day span{transition:none}}
