.s04 { --s04-bg:var(--base,#fff); --s04-surface:var(--surface,#fafafa); --s04-text:var(--ink,#0a0a0a); --s04-muted:var(--muted,#525252); --s04-line:var(--line,#e5e5e5); color:var(--s04-text); background:var(--s04-bg); min-width:0; font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.s04 *, .s04-dialog * { box-sizing:border-box; }
.s04 a { color:inherit; text-underline-offset:3px; }
.s04 a:hover { color:#315fca; }
.s04 button,.s04 input,.s04 select,.s04-dialog button { font:inherit; }
.s04 button,.s04-dialog button { cursor:pointer; }
.s04 button:disabled,.s04-dialog button:disabled { cursor:not-allowed; opacity:.5; }
.s04 :focus-visible,.s04-dialog :focus-visible { outline:2px solid #315fca; outline-offset:3px; }
.s04-tabs { display:flex; align-items:stretch; flex-wrap:wrap; border-bottom:1px solid var(--s04-line); min-height:44px; gap:0 16px; padding:0 24px; }
.s04-tabs a { display:flex; align-items:center; min-height:44px; text-decoration:none; border-bottom:2px solid transparent; color:var(--s04-muted); font-size:13px; }
.s04-tabs a[aria-current] { color:var(--s04-text); border-color:currentColor; font-weight:600; }
.s04-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 24px; border-bottom:1px solid var(--s04-line); font-size:12px; color:var(--s04-muted); }
.s04-toolbar>span { min-width:0; overflow-wrap:anywhere; }
.s04-toolbar>a { white-space:nowrap; }
.s04-btn { min-height:32px; padding:6px 12px; border:1px solid var(--s04-line); border-radius:9.8px; background:var(--s04-bg); color:var(--s04-text); font-size:13px!important; font-weight:500; }
.s04-primary { background:var(--ink,#000); color:var(--base,#fff); border-color:var(--ink,#000); }
.s04-heading { padding:24px; border-bottom:1px solid var(--s04-line); }
.s04-heading h2 { margin:0; font-size:24px; line-height:1.25; font-weight:600; }
.s04-heading h3 { margin:0; font-size:18px; font-weight:600; }
.s04-heading p { max-width:85ch; margin:8px 0 0; color:var(--s04-muted); }
.s04-back { display:inline-block; margin-bottom:16px; min-height:32px; font-size:13px; }
.s04-provenance { display:flex; flex-wrap:wrap; gap:4px 20px; padding:12px 24px; border-bottom:1px solid var(--s04-line); background:var(--s04-surface); color:var(--s04-muted); font-size:12px; }
.s04-provenance>span:last-child { max-width:110ch; }
.s04-filter { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 24px; border-bottom:1px solid var(--s04-line); }
.s04-filter>span { margin-left:auto; color:var(--s04-muted); font-size:12px; }
.s04 select,.s04 input { max-width:100%; min-height:40px; border:1px solid var(--s04-line); border-radius:8px; padding:8px 12px; background:var(--s04-bg); color:var(--s04-text); }
.s04-table-scroll { width:100%; overflow:auto; overscroll-behavior-x:contain; border-bottom:1px solid var(--s04-line); }
.s04 table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.s04 th { text-align:left; font-size:12px; font-weight:500; color:var(--s04-muted); background:var(--s04-surface); padding:12px 16px; white-space:nowrap; }
.s04 td { padding:14px 16px; border-top:1px solid var(--s04-line); min-height:44px; vertical-align:top; overflow-wrap:anywhere; }
.s04 th:first-child,.s04 td:first-child { padding-left:24px; }
.s04 th:last-child,.s04 td:last-child { padding-right:24px; }
.s04 .s04-number { text-align:right; white-space:nowrap; }
.s04 td small { display:block; max-width:60ch; margin-top:4px; font-size:12px; color:var(--s04-muted); }
.s04 td>a { display:inline-flex; align-items:center; min-height:24px; }
.s04-badge { display:inline-block; padding:3px 8px; border:1px solid var(--s04-line); border-radius:6px; background:var(--s04-surface); color:var(--s04-muted); font-size:12px; white-space:nowrap; }
.s04-high,.s04-critical,.s04-failed { background:#fff0f1; color:#a22f3a; border-color:#efd1d5; }
.s04-low,.s04-medium,.s04-warning,.s04-open { background:#fff7e9; color:#80510b; border-color:#efdfc4; }
.s04-success,.s04-resolved { background:#eaf5f0; color:#126b57; border-color:#cce4d9; }
.s04-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-bottom:1px solid var(--s04-line); }
.s04-details>div { padding:16px 24px; min-width:0; border-bottom:1px solid var(--s04-line); }
.s04-details>div:nth-child(odd) { border-right:1px solid var(--s04-line); }
.s04 dt { color:var(--s04-muted); font-size:12px; margin:0 0 4px; }
.s04 dd { margin:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.s04 dd pre { margin:0; max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.s04-reading { padding:24px; border-bottom:1px solid var(--s04-line); }
.s04-reading h3 { margin:0 0 8px; font-size:18px; font-weight:600; }
.s04-reading p { color:var(--s04-muted); margin:0 0 16px; max-width:90ch; }
.s04-links { display:flex; gap:12px 24px; flex-wrap:wrap; }
.s04-links>a { display:inline-flex; align-items:center; min-height:32px; }
.s04-command { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.s04-command label { display:flex; flex-direction:column; gap:6px; font-size:13px; max-width:360px; }
.s04-command>.s04-btn { min-height:40px; }
.s04-command+.s04-provenance { padding:12px 0 0; border:0; background:transparent; }
.s04-empty { padding:32px 24px; }
.s04-empty strong { font-weight:500; }
.s04-empty p { max-width:75ch; margin:8px 0 0; color:var(--s04-muted); }
.s04-error,.s04-notice { padding:0 24px; overflow-wrap:anywhere; }
.s04-error:not(:empty),.s04-notice:not(:empty) { padding-top:12px; padding-bottom:12px; border-bottom:1px solid var(--s04-line); }
.s04-error { color:#a22f3a; }
.s04-notice { color:#126b57; }
.s04-dialog { max-width:520px; width:calc(100% - 32px); max-height:calc(100dvh - 32px); overflow:auto; padding:24px; border:1px solid var(--line,#e5e5e5); border-radius:10px; background:var(--base,#fff); color:var(--ink,#0a0a0a); font:14px/1.5 system-ui,sans-serif; }
.s04-dialog::backdrop { background:rgb(0 0 0 / .35); }
.s04-dialog h2 { margin:0; font-size:20px; line-height:1.3; }
.s04-dialog dt { font-size:12px; color:var(--muted,#525252); }
.s04-dialog dd { margin:0 0 12px; overflow-wrap:anywhere; }
.s04-dialog-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
.s04-dialog button { min-height:40px; border:1px solid var(--line,#e5e5e5); border-radius:9.8px; padding:8px 12px; background:var(--base,#fff); color:var(--ink,#0a0a0a); font-size:13px; }
.s04-dialog [data-confirm] { background:var(--ink,#000); color:var(--base,#fff); border-color:var(--ink,#000); }
.s04-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:768px) {
  .s04-tabs,.s04-toolbar,.s04-heading,.s04-provenance,.s04-filter,.s04-reading,.s04-empty { padding-left:16px; padding-right:16px; }
  .s04-tabs { gap:0 16px; }
  .s04-tabs a,.s04-btn,.s04 td>a,.s04-links>a,.s04-back { min-height:44px; }
  .s04-toolbar { align-items:flex-start; }
  .s04-toolbar .s04-btn { flex-shrink:0; max-width:155px; }
  .s04-heading h2 { font-size:22px; }
  .s04 select,.s04 input { min-height:44px; font-size:16px; }
  .s04 table { min-width:600px; }
  .s04 th:first-child,.s04 td:first-child { padding-left:16px; }
  .s04 th:last-child,.s04 td:last-child { padding-right:16px; }
  .s04-details { grid-template-columns:1fr; }
  .s04-details>div { padding:14px 16px; border-right:0!important; }
  .s04-command { align-items:stretch; }
  .s04-command label { width:100%; max-width:none; }
  .s04-command>.s04-btn { min-height:44px; }
  .s04-dialog { padding:20px; }
  .s04-dialog button { min-height:44px; }
  .s04-dialog-actions { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .s04 *,.s04-dialog * { scroll-behavior:auto!important; transition:none!important; } }
[data-theme=dark] .s04-error { color:#ffa7b0; }
[data-theme=dark] .s04-notice { color:#8acfb9; }
[data-theme=dark] .s04-high,[data-theme=dark] .s04-critical,[data-theme=dark] .s04-failed {background:#382026;color:#f2a6ae;border-color:#65333e}
[data-theme=dark] .s04-low,[data-theme=dark] .s04-medium,[data-theme=dark] .s04-warning,[data-theme=dark] .s04-open {background:#392c1b;color:#edc488;border-color:#604726}
[data-theme=dark] .s04-success,[data-theme=dark] .s04-resolved {background:#183123;color:#9fd7b3;border-color:#2a5440}

.s04 .s04-reading>label{display:grid;gap:8px;margin:16px 0;max-width:700px}.s04 textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--base);color:var(--ink)}.s04 .s04-filter{flex-wrap:wrap}.s04 .s04-filter select{max-width:100%}@media(max-width:720px){.s04 textarea{font-size:16px}.s04 .s04-filter label{width:100%;min-width:0}}
