*{box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-height:100vh;font-size:16px;line-height:1.5;background:radial-gradient(circle at top left,rgba(224,232,244,.6),transparent 50%),radial-gradient(circle at bottom right,rgba(248,240,222,.5),transparent 50%),linear-gradient(180deg,#f2f4f7,#e8ecf1,#dfe4eb);color:#1a202c;padding:2rem 1.5rem}.wrap{max-width:1100px;margin:0 auto}.panel{background:#fff;border-radius:20px;padding:2rem 2.25rem;margin-bottom:2rem;border:1px solid rgba(173,191,214,.5);box-shadow:0 4px 24px #0f172a14,0 1px 3px #0000000a;transition:box-shadow .25s ease,transform .25s ease}.panel:hover{box-shadow:0 12px 40px #0f172a1f,0 4px 12px #0000000d;transform:translateY(-2px);transition:box-shadow .25s ease,transform .25s ease}.panel h2{margin:0 0 1.25rem;font-size:1.65rem;font-weight:700;color:#0b1e33;display:flex;align-items:center;gap:.6rem;letter-spacing:-.02em;line-height:1.3}.panel h2 i{color:#c9a227;font-size:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;color:#0b1e33;margin-bottom:.5rem;font-size:.9375rem;letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1.125rem;border-radius:12px;border:1px solid #c5d4e8;background:#fff;font-size:1rem;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e4a76;box-shadow:0 0 0 3px #1e4a7626}.form-group textarea{min-height:160px;resize:vertical}.form-group .hint{font-size:.8125rem;color:#4a5568;margin-top:.35rem;line-height:1.5}.btn{background:linear-gradient(180deg,#d4a83a,#c9a227);color:#0b1e33;border:none;padding:.875rem 1.75rem;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 8px #c9a2274d}.btn:hover{background:linear-gradient(180deg,#e0b44a,#d4a83a);box-shadow:0 4px 14px #c9a22759;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:linear-gradient(180deg,#1e4a76,#163a5e);color:#fff;box-shadow:0 2px 8px #0f1e3340}.btn-secondary:hover{background:linear-gradient(180deg,#2b5f8a,#1e4a76);box-shadow:0 4px 14px #0f1e334d}.btn-danger{background:#b91c1c;color:#fff;box-shadow:0 2px 8px #b91c1c40}.btn-danger:hover{background:#991b1b;box-shadow:0 4px 14px #b91c1c4d}.header-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#0b1e33,#123765);border-radius:20px;border:1px solid rgba(95,149,204,.4);color:#f9fafb;box-shadow:0 8px 32px #0b1e3340}.header-brand{display:flex;align-items:flex-start;gap:1rem}.header-avatar{width:3rem;height:3rem;border-radius:50%;background:#d4a83a40;border:2px solid rgba(212,168,58,.6);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#d4a83a;flex-shrink:0}.header-trust{margin:.5rem 0 0;font-size:.8125rem;color:#e2efffbf;line-height:1.4}.header-title h1{margin:0;font-size:1.625rem;font-weight:700;display:flex;align-items:center;gap:.65rem;letter-spacing:-.02em}.header-title h1 i{color:#d4a83a;font-size:1.35rem}.header-logo{height:2.25rem;width:auto;object-fit:contain;border-radius:6px;flex-shrink:0}.header-subtitle{margin:.35rem 0 0;font-size:1rem;color:#e2efffeb;line-height:1.4}.user-info{font-size:.9375rem;opacity:.98}.user-info span{margin-right:.75rem}.logout-btn{background:#ffffff26;color:#f9fafb;border:1px solid rgba(255,255,255,.45);padding:.625rem 1.25rem;border-radius:10px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:background .2s ease}.logout-btn:hover{background:#ffffff40}.login-page{text-align:center;padding:3rem 1rem}.login-section{background:#fff;border-radius:20px;padding:2.5rem 2.75rem;max-width:480px;margin:2.5rem auto 2rem;border:1px solid rgba(173,191,214,.5);box-shadow:0 8px 40px #0f172a1f,0 2px 8px #0000000a}.login-logo{height:3rem;width:auto;object-fit:contain;border-radius:8px;margin-bottom:1rem;display:block}.login-header h2{color:#0b1e33;margin:0 0 .75rem;font-size:1.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:-.02em;line-height:1.3}.login-header h2 i{color:#c9a227;font-size:1.35rem}.login-subtitle{margin:0 0 1.5rem;font-size:1.0625rem;color:#4a5568;line-height:1.5}.register-title{margin-bottom:.5rem;font-weight:600;color:#0b1e33}.msg{padding:.875rem 1.125rem;border-radius:12px;margin-bottom:1rem;font-size:1rem;line-height:1.45}.msg.ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}.msg.err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.msg.info{background:#eff6ff;border:1px solid #93c5fd;color:#1e40af}.file-name{font-size:.9375rem;color:#4a5568;margin-top:.4rem;line-height:1.4}.ai-output{background:#0f172a;color:#e5f0ff;padding:.75rem 1rem;border-radius:12px;font-size:.9rem;white-space:pre-wrap;border:1px solid #333}.mt-1{margin-top:.5rem}.divider{height:1px;background:#b8d4eb;margin:1.25rem 0}.btn-spinner{display:inline-block;width:1rem;height:1rem;border-radius:999px;border:2px solid rgba(148,163,184,.7);border-top-color:#0b1e33;margin-right:.5rem;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.email-preview{margin:1.25rem 0 1.5rem;padding:1rem 1.25rem;border-radius:18px;background:#f8fafc;border:1px solid rgba(148,163,184,.6);transition:box-shadow .2s ease}.email-preview-header{display:flex;flex-direction:column;margin-bottom:.75rem}.email-preview-label{font-weight:600;color:#0b1e33;font-size:.95rem}.email-preview-small{font-size:.85rem;color:#64748b}.email-preview-body{border-radius:10px;background:#fff;padding:.75rem .9rem;border:1px dashed rgba(148,163,184,.7)}.email-preview-subject{margin:0 0 .5rem;font-size:.95rem;color:#111827}.email-preview-subject span{font-weight:600;margin-right:.2rem}.email-preview-message pre{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:pre-wrap;font-size:.9rem;color:#111827}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;margin-left:.5rem;font-size:.85rem;font-weight:700;background:#0f172a0f;color:#0b1e33;border:1px solid rgba(148,163,184,.9);cursor:help}.help-icon:hover{background:#0f172a1f}.ai-suggestion-card{margin-top:1rem;padding:1rem 1.25rem;border-radius:14px;background:#0f172a;border:1px solid rgba(148,163,184,.7);color:#e5f0ff}.ai-suggestion-header{margin-bottom:.75rem}.ai-suggestion-title{font-weight:600;font-size:.95rem}.ai-suggestion-subtitle{display:block;margin-top:.2rem;font-size:.85rem;color:#e2efffcc}.ai-suggestion-subject{margin:0 0 .5rem;font-size:.9rem}.ai-suggestion-subject span{font-weight:600;margin-right:.25rem}.ai-suggestion-body{margin-bottom:.75rem}.ai-suggestion-body pre{margin:.15rem 0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;white-space:pre-wrap}.ai-suggestion-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.register-cta{margin-top:1.25rem;margin-bottom:0;font-size:.95rem;color:#0b1e33}.btn-link{background:none;border:none;padding:0;font-size:inherit;font-weight:600;color:#1e4a76;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#0b1e33}.forgot-link{display:inline-block;margin-top:.75rem}.modal-overlay{position:fixed;inset:0;background:#0b1e3399;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-box{max-width:420px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.modal-header h2{margin:0}.modal-close{background:#0b1e331a;border:1px solid #b8d4eb;color:#0b1e33;width:2.25rem;height:2.25rem;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close:hover{background:#0b1e3326}.modal-back{width:100%;margin-top:1rem}.app-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;margin-bottom:2rem;padding:.75rem;border-radius:16px;background:#fff;border:1px solid rgba(173,191,214,.5);box-shadow:0 4px 20px #0f172a14,0 1px 3px #0000000a}.app-step{position:relative;border:none;padding:.875rem 1rem;border-radius:12px;background:#f8fafc;color:#1a202c;display:flex;align-items:center;gap:.75rem;cursor:pointer;text-align:left;transition:background .2s ease,box-shadow .2s ease,transform .15s ease,border-color .2s ease;border:1px solid rgba(203,213,225,.8);font-size:.9375rem}.app-step:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0f172a1f;border-color:#1e4a7659}.app-step--active{background:#fff!important;border-color:#c9a227!important;box-shadow:0 4px 16px #c9a22740!important}.app-step--completed .app-step-number{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 2px 6px #05966959}.app-step-number{width:2.25rem;height:2.25rem;border-radius:10px;background:linear-gradient(135deg,#c9a227,#d4a83a);color:#0b1e33;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9375rem;flex-shrink:0;box-shadow:0 2px 6px #c9a22759}.app-step-text{display:flex;flex-direction:column;font-size:.9375rem;font-weight:600;line-height:1.3;color:#0b1e33}.app-step-text small{font-size:.8125rem;font-weight:500;opacity:.85;color:#4a5568}.app-section{scroll-margin-top:96px}@media(max-width:600px){body{padding:1.25rem 1rem}.panel{padding:1.5rem 1.25rem;margin-bottom:1.5rem}.panel h2{font-size:1.35rem}.header-bar{flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.header-title h1{font-size:1.4rem}.app-steps{grid-template-columns:repeat(2,minmax(0,1fr));padding:.6rem;margin-bottom:1.5rem}.app-step{padding:.75rem .875rem;font-size:.875rem}.panel .btn,.panel .btn-secondary{width:100%;padding:1rem 1.25rem}.form-group textarea{min-height:180px}.login-section{padding:2rem 1.5rem;margin-top:2rem}.login-header h2{font-size:1.5rem}}
