.contact-panel{background:var(--app-color-white);padding:1.5rem;border-radius:1rem 0 0 1rem;box-shadow:-4px 0 8px #0000001a;display:flex;flex-direction:column;gap:1rem;width:300px;max-width:80vw;position:relative}.contact-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer}.contact-form{display:flex;flex-direction:column;gap:1rem;font-family:var(--font-body)}.contact-form label{display:flex;flex-direction:column;font-weight:600;color:var(--app-color-blue)}.contact-form input,.contact-form textarea{width:100%;padding:.5rem;border:1px solid var(--app-color-gray);border-radius:var(--radius-md, .5rem);font-size:1rem;color:var(--app-color-black)}.contact-button{margin-top:1rem;background:var(--app-color-purple);color:var(--app-color-white);padding:.75rem;border:none;border-radius:var(--radius-md, .5rem);font-size:1.1rem;font-weight:700;cursor:pointer}.contact-button:disabled{opacity:.6;cursor:not-allowed}.status{display:flex;align-items:center;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md, .5rem);font-size:1rem;font-weight:600;gap:.5rem}.status.submitting{background:var(--app-color-blue);color:var(--app-color-white)}.status.success{background:var(--app-color-teal);color:var(--app-color-white)}.status.error{background:var(--app-color-orange);color:var(--app-color-white)}.spinner{width:1rem;height:1rem;border:2px solid var(--app-color-white);border-top:2px solid rgba(255,255,255,.6);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
