body{background:radial-gradient(circle at 10% 12%,rgba(127,168,204,.13),transparent 27rem),radial-gradient(circle at 92% 82%,rgba(168,187,138,.15),transparent 25rem),#F7F5F0}
    .field{width:100%;border:1px solid #D8DEE2;border-radius:.85rem;background:rgba(255,255,255,.92);padding:.8rem .95rem;color:#293847;outline:none;transition:.2s}
    .field:focus{border-color:#5B7FA6;background:#fff;box-shadow:0 0 0 4px rgba(91,127,166,.13)}
    .field[aria-invalid="true"]{border-color:#A85353;box-shadow:0 0 0 3px rgba(168,83,83,.09)}
    .error{color:#974747;font-size:.78rem;margin-top:.35rem}
    #loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(23,55,95,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:.3s ease}
    #loading-overlay.active{opacity:1;visibility:visible}
    .loading-card{background:#fff;border-radius:1.5rem;padding:48px 40px;text-align:center;box-shadow:0 20px 60px rgba(61,90,122,.2);max-width:420px;animation:slideUp .4s ease}
    @keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    .spinner{width:48px;height:48px;border:4px solid #E8EEF3;border-top-color:#5B7FA6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}
    @keyframes spin{to{transform:rotate(360deg)}}
    .loading-title{font-size:20px;font-weight:600;color:#17375f;margin:0 0 8px}
    .loading-text{color:#6b7a8c;font-size:15px;margin:0}