/* Modal shell */
.advisor-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center}
.advisor-modal-content{background:#fff;border-radius:20px;padding:32px;max-width:400px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.1);animation:advisorModalSlideIn .3s ease-out}
@keyframes advisorModalSlideIn{from{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.advisor-modal-close{position:absolute;top:16px;right:20px;background:0 0;border:0;font-size:24px;cursor:pointer;color:#999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}
.advisor-modal-close:hover{background:#f0f0f0;color:#333}
.advisor-modal-title{margin:0 0 24px;font-size:24px;font-weight:700;color:#333;text-align:center}

/* Form */
.advisor-form-group{margin-bottom:20px}
.advisor-form-label{display:block;margin-bottom:8px;font-weight:600;color:#555;font-size:14px}
.advisor-form-input,.advisor-form-select,textarea.advisor-form-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s;box-sizing:border-box}
textarea.advisor-form-input{resize:vertical}
.advisor-form-input:focus,.advisor-form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}
.advisor-submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:0;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:16px}
.advisor-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}
.advisor-submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}

/* Messages */
.advisor-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}
.advisor-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.advisor-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}

/* Mobile */
@media (max-width:480px){.advisor-modal-content{padding:24px 20px;margin:20px}}