.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 12px}

.btn-primary{background:var(--blue);color:white;border:none;padding:12px 22px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}
.btn-primary:hover{background:var(--blue-hover)}

.btn-secondary{background:white;color:var(--text);border:1px solid var(--border);padding:12px 22px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}

input,select,textarea{padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s ease;font-family:var(--font-body)}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,114,206,0.1)}

.card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:25px}

.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}
.empty-state .icon{font-size:48px;margin-bottom:12px}
.empty-state h3{font-family:var(--font-heading);font-size:18px;color:var(--navy);margin-bottom:8px}
.empty-state p{font-size:14px}
