/* Рекомендации коллегам: только токены общей дизайн-системы. */
.as-page { margin:0; background:var(--ic-bg); color:var(--ic-fg); font:var(--ic-fs-body)/var(--ic-lh-body) var(--ic-font-body); }
.as-shell { max-width:740px; margin:auto; padding:var(--ic-space-6); }
.as-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--ic-space-4); margin-bottom:var(--ic-space-8); }
.as-page h1 { font-size:var(--ic-fs-h2); line-height:var(--ic-lh-heading); }
.as-page h2,.as-dialog h2 { font-size:var(--ic-fs-h3); }
.as-page a,.as-dialog a { color:var(--ic-purple); }
.as-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--ic-space-2); padding:var(--ic-space-3) var(--ic-space-4); border:1px solid var(--ic-purple); border-radius:var(--ic-r-md); background:var(--ic-purple); color:var(--ic-fg-on-dark); font:inherit; text-decoration:none; cursor:pointer; }
a.as-button { color:var(--ic-fg-on-dark); }
.as-secondary { background:var(--ic-surface); color:var(--ic-fg); border-color:var(--ic-border); }
a.as-secondary { color:var(--ic-fg); }
.as-button:disabled { opacity:.55; cursor:wait; }
.as-button:focus-visible { outline:2px solid var(--ic-purple); outline-offset:3px; }
.as-muted { color:var(--ic-fg-muted); font-size:var(--ic-fs-body-sm); }
.as-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.as-next,.as-owned { padding:var(--ic-space-5); margin:var(--ic-space-5) 0; border:1px solid var(--ic-border); border-radius:var(--ic-r-lg); background:var(--ic-surface); }
.as-next>label { display:block; margin-bottom:var(--ic-space-4); }
.as-fields { display:grid; grid-template-columns:auto 1fr; gap:var(--ic-space-2) var(--ic-space-4); }
.as-fields dt { color:var(--ic-fg-muted); }
.as-fields dd { margin:0; }
.as-actions { display:flex; flex-wrap:wrap; gap:var(--ic-space-2); margin-top:var(--ic-space-4); }
.as-dialog { width:min(580px,calc(100% - 32px)); max-height:85vh; overflow:auto; box-sizing:border-box; background:var(--ic-bg); color:var(--ic-fg); border:1px solid var(--ic-border); border-radius:var(--ic-r-xl); padding:var(--ic-space-6); font:var(--ic-fs-body)/var(--ic-lh-body) var(--ic-font-body); box-shadow:var(--ic-shadow-2); }
.as-dialog__head { display:flex; align-items:center; justify-content:space-between; gap:var(--ic-space-3); }
.as-dialog__head h2 { margin:0; font-size:var(--ic-fs-h3); line-height:var(--ic-lh-heading); }
.as-close { flex:0 0 auto; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:var(--ic-r-sm); background:transparent; color:var(--ic-fg); cursor:pointer; }
.as-close:hover { background:var(--ic-bg-alt); }
.as-close:focus-visible { outline:2px solid var(--ic-purple); outline-offset:2px; }
.as-dialog__sub { margin:var(--ic-space-1) 0 var(--ic-space-4); color:var(--ic-fg-muted); }
.as-how { margin:0 0 var(--ic-space-4); padding:var(--ic-space-3) var(--ic-space-4); border-radius:var(--ic-r-md); background:var(--ic-surface); font-size:var(--ic-fs-body-sm); }
.as-how summary { font-weight:600; cursor:pointer; }
.as-how ul { margin:var(--ic-space-2) 0 0; padding-left:var(--ic-space-5); }
.as-how li + li { margin-top:var(--ic-space-1); }
.as-error { margin:0; }
.as-dialog__foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ic-space-3); margin-top:var(--ic-space-5); padding-top:var(--ic-space-4); border-top:1px solid var(--ic-border); }
.as-dialog__foot .as-actions { margin:0 0 0 auto; }
.as-dialog::backdrop { background:color-mix(in srgb,var(--ic-navy) 45%,transparent); }
.as-dialog .as-safe { background:var(--ic-surface); border-radius:var(--ic-r-md); padding:var(--ic-space-4); }
.as-link { display:block; width:100%; box-sizing:border-box; padding:var(--ic-space-3); border:1px solid var(--ic-border); border-radius:var(--ic-r-md); color:var(--ic-fg); background:var(--ic-bg); font:inherit; margin:var(--ic-space-3) 0; }
.as-entry { margin:var(--ic-space-3) 0; }
.as-card-image { display:block; width:100%; height:auto; margin:var(--ic-space-4) 0; border:1px solid var(--ic-border); border-radius:var(--ic-r-lg); box-sizing:border-box; }
.as-card-image[hidden] { display:none; }
.as-card-preview { margin:var(--ic-space-4) 0; }
.as-card-preview summary { color:var(--ic-purple); cursor:pointer; }
.as-case-controls { display:grid; gap:var(--ic-space-3); margin:var(--ic-space-4) 0; }
.as-case-controls select { display:block; width:100%; box-sizing:border-box; padding:var(--ic-space-3); margin-top:var(--ic-space-2); border:1px solid var(--ic-border); border-radius:var(--ic-r-md); background:var(--ic-bg); color:var(--ic-fg); font:inherit; }
.as-case-section { border-bottom:1px solid var(--ic-border); padding:var(--ic-space-3) 0; }
.as-case-section summary { font-weight:600; cursor:pointer; }
@media(max-width:440px) { .as-shell,.as-dialog {padding:var(--ic-space-4)} .as-fields {grid-template-columns:1fr} .as-fields dd {margin-bottom:var(--ic-space-2)} }
