/* Components */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    padding:0 18px;
    border-radius:6px;
    border:1px solid var(--brand);
    background:var(--brand);
    color:#fff;
    font-weight:600;
    letter-spacing:0.02em;
    box-shadow:var(--shadow);
    cursor:pointer;
    transition:all .15s ease;
}
.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn.secondary{background:#fff;color:var(--text);border-color:var(--border);box-shadow:none}
.btn.secondary:hover{background:#f5f7fa}
.btn.danger{background:#b42318;border-color:#b42318;color:#fff;box-shadow:none}
.btn.danger:hover{background:#912018;border-color:#912018}
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:24px}
.input,.select,.textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand)}
label{display:block;margin:0 0 6px;font-weight:600}
.alert{padding:14px 16px;border-radius:6px;margin-bottom:16px}
.alert.success{background:#e8f7ee;color:var(--success)}
.alert.error{background:#fef0f0;color:var(--danger)}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}
