.btn{
padding:6px 13px;border:1px solid var(--border);background:var(--surface);
cursor:pointer;border-radius:var(--radius-sm);font-size:12px;font-weight:500;
transition:all .15s;box-shadow:var(--shadow);font-family:inherit;color:var(--ink);
display:inline-flex;align-items:center;gap:4px;white-space:nowrap;
}
.btn:hover{background:var(--surface-2);border-color:var(--border-strong);}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);}
.btn.success{background:var(--green);border-color:var(--green);color:var(--on-accent);}
.btn.success:hover{background:var(--green-deep);border-color:var(--green-deep);}
.btn.warn{background:var(--orange);border-color:var(--orange);color:var(--on-accent);}
.btn.warn:hover{background:var(--orange-deep);}
.btn.danger{background:var(--red);border-color:var(--red);color:var(--on-accent);}
.btn.danger:hover{background:var(--red-deep);}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-muted);}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink);}
.toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.section-card{
background:var(--surface);border:1px solid var(--border);
border-radius:var(--radius);padding:12px 14px;
box-shadow:var(--shadow);margin-bottom:10px;
}
.section-title{font-size:12px;font-weight:700;color:var(--ink-muted);
text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
input[type="number"],input[type="text"],select{
height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);
background:var(--surface);font-size:12px;font-family:inherit;color:var(--ink);
transition:border-color .15s,box-shadow .15s;
}
input[type="number"]{text-align:center;}
input[type="text"]{padding:0 8px;}
select{padding:0 4px;}
textarea{
border:1px solid var(--border);border-radius:var(--radius-sm);
background:var(--surface);color:var(--ink);font-family:inherit;
transition:border-color .15s,box-shadow .15s;
}
input::placeholder,textarea::placeholder{color:var(--ink-faint);}
input:focus,select:focus,textarea:focus{
outline:none;border-color:var(--accent);
box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}
input[type="number"]{-moz-appearance:textfield;}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}