.as-card { background:var(--card-bg); border:1px solid var(--border-light); border-radius:12px; padding:24px; margin-bottom:24px; color:var(--text-primary); }
.as-header,.as-row,.as-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.as-header h3 { font-size:16px; margin:0; }
.as-muted { font-size:12px; line-height:1.8; color:var(--text-secondary); }
.as-pill { font-size:11px; padding:5px 9px; border:1px solid var(--border-light); border-radius:5px; color:var(--text-secondary); }
.as-pill.ok { color:var(--accent-green); background:color-mix(in srgb,var(--accent-green) 8%,transparent); }
.as-machine { padding:18px; margin:20px 0; background:var(--content-bg); border:1px solid var(--border-light); border-radius:8px; }
.as-machine code { display:block; font:14px/1.8 Consolas,monospace; margin:10px 0; overflow-wrap:anywhere; user-select:text; }
.as-btn { font:inherit; font-size:12px; padding:9px 13px; background:var(--content-bg); color:var(--text-primary); border:1px solid var(--border-light); border-radius:6px; cursor:pointer; }
.as-btn.primary { background:var(--accent); border-color:var(--accent); color:white; }
.as-btn:disabled { opacity:.5; cursor:not-allowed; }
.as-devices { margin-top:16px; border:1px solid var(--border-light); border-radius:8px; overflow:hidden; }
.as-device { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px; }
.as-device + .as-device { border-top:1px solid var(--border-light); }
.as-device strong { font-size:13px; }
.as-device code { font:11px/1.8 Consolas,monospace; overflow-wrap:anywhere; }
.as-info-row { padding:18px 0; border-bottom:1px solid var(--border-light); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.as-info-row strong { font-size:13px; }
.as-contact-value { font-size:14px; margin-top:6px; overflow-wrap:anywhere; }
.as-demo { margin-top:20px; border-top:1px dashed var(--border-light); padding-top:14px; }
.as-demo select,.as-dialog select,.as-dialog input { background:var(--content-bg); color:var(--text-primary); border:1px solid var(--border-light); padding:10px; border-radius:6px; font:inherit; font-size:13px; }
.as-feedback { margin-top:12px; font-size:12px; line-height:1.8; color:var(--accent); }
.as-overlay { position:fixed; inset:0; z-index:200; background:#080e1bbd; display:flex; align-items:center; justify-content:center; padding:20px; }
.as-dialog { width:460px; max-width:100%; max-height:90vh; overflow:auto; background:var(--card-bg); color:var(--text-primary); border:1px solid var(--border-light); border-radius:12px; padding:24px; box-shadow:0 24px 80px #0005; }
.as-dialog h3 { font-size:18px; }
.as-dialog label { display:block; font-size:13px; margin:18px 0 8px; }
.as-dialog input,.as-dialog select { width:100%; }
.as-dialog .as-actions { margin-top:20px; }
.as-warning { padding:12px; margin-top:16px; font-size:12px; line-height:1.8; border-radius:6px; background:var(--content-bg); }
.as-card :focus-visible,.as-dialog :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:700px) { .as-card { padding:16px; } .as-info-row { align-items:flex-start; flex-wrap:wrap; } }
