:root{color-scheme:dark;background-color:#1e1e1e}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Nunito Sans,Segoe UI,sans-serif;background-color:#1e1e1e;color:#ececec}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.outerring{min-height:100vh;width:100%;background-color:#191919;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,4rem)}.outerring.full-width{align-items:stretch;justify-content:stretch;padding:clamp(1rem,3vw,2.5rem);min-height:100vh}.portal-card{background-color:#252525;color:#ececec;width:min(440px,100%);border-radius:24px;padding:clamp(2rem,4vw,3rem);box-shadow:0 24px 70px #00000073;display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}.portal-card.full-width{width:100%;max-width:none;flex:1 1 auto;height:100%;gap:clamp(1rem,2vw,1.5rem)}.outerring.full-width .portal-card{max-width:none}.portal-header{display:flex;flex-direction:column}.portal-header .eyebrow{letter-spacing:.32em;text-transform:uppercase;font-size:.65rem;color:#ffffffa6}.portal-header .title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;margin:0}.portal-header .subtitle{margin:0;font-size:.95rem;color:#ffffffa6;line-height:1.5}.portal-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.portal-tabs a{padding:.55rem 1rem;border-radius:999px;border:1px solid transparent;background:#ffffff0f;font-size:.85rem;font-weight:600;transition:background .15s ease,border-color .15s ease}.portal-tabs a.active{background:#1830d2;border-color:#1830d2}.portal-tabs a:hover{background:#ffffff1f}.portal-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.form-card{display:flex;flex-direction:column;gap:1.5rem}.form-card h2{margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700}.form-card p.description{margin:0;color:#ffffffa6;font-size:.95rem;line-height:1.6}.form-fields{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field.invalid input,.form-field.invalid textarea{border-color:#f39595}.hint{font-size:.75rem;color:#ffffffa6}.form-field.invalid .hint{color:#f39595}label{font-size:.9rem;font-weight:600;display:block;margin-bottom:.4rem}input,textarea{width:100%;padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background-color:#1e1e1e;color:#ececec;font-size:.95rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{outline:none;border-color:#1830d299;box-shadow:0 0 0 2px #1830d259}@media (min-width: 1024px){.outerring.full-width{height:100vh;overflow:hidden}.portal-card.full-width{padding:clamp(1.5rem,3vw,2.5rem)}.portal-card.full-width .portal-content{overflow:hidden}}@media (max-width: 768px){.outerring.full-width{height:auto;min-height:100vh;padding:clamp(1.25rem,6vw,2rem) clamp(1rem,5vw,1.5rem);overflow-y:auto;align-items:flex-start;justify-content:flex-start}.portal-card.full-width{padding:clamp(1.25rem,6vw,2rem);height:auto}.portal-card.full-width .portal-content{overflow:visible}}textarea{min-height:112px;resize:vertical}.helper-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#ffffffa6}.link-inline{color:#ececec;text-decoration:underline}.link-inline:hover{color:#ececec}.primary-btn{width:100%;padding:.9rem 1rem;border-radius:10px;border:none;background-color:#1830d2;color:#ececec;font-size:1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;transition:background-color .15s ease,transform .15s ease}.primary-btn:hover{background-color:#0f25ff}.primary-btn:disabled{background:#ffffff1f;color:#ffffffa6;cursor:not-allowed}.secondary-btn{padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#ececec;font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.secondary-btn:hover{background:#ffffff1f;border-color:#ffffffa6}.link-list{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.link-list a{color:#ffffffa6;text-decoration:underline}.link-list a:hover{color:#ececec}.portal-footer{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem;color:#ffffffa6}.portal-footer .app-links{display:flex;gap:.75rem;flex-wrap:wrap}.portal-footer .app-links a{text-decoration:underline}.status-message{font-size:.85rem;padding:.75rem 1rem;border-radius:12px;display:flex;align-items:center;gap:.5rem;background:#ffffff14;border:1px solid transparent}.status-message.error{color:#f39595;border-color:#f3959559}.status-message.success{color:#7ed321;border-color:#7ed32159}.status-message.info{color:#1830d2;border-color:#1830d266;background:#1830d21f;flex-direction:column;align-items:flex-start}.status-message.info .secondary-btn{margin-top:.25rem}.loading-indicator{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#ffffffe6;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 540px){.portal-card{border-radius:16px;padding:clamp(1.5rem,6vw,2rem)}.portal-tabs{flex-direction:column;align-items:stretch}.portal-tabs a{text-align:center}}
