/* Shared visual roles: light business UI. Product accents are not audit statuses. */
:root { --suite-navy:#1a3a5a; --suite-green:#00785c; --suite-ink:#243746; --suite-muted:#526573; --suite-line:#d5dfe5; --suite-paper:#fff; --suite-bg:#f6f8fa; --suite-radius:12px; }
body[data-suite] { background:var(--suite-bg); color:var(--suite-ink); font-family:'Noto Sans JP',system-ui,sans-serif; font-size:14px; color-scheme:light; }
[hidden] { display:none !important; }
body[data-suite] :where(button,input,select,textarea) { font-family:inherit; }
body[data-suite] :where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #287aa5; outline-offset:3px; }
body[data-suite] :where(button):disabled { cursor:not-allowed; }
body[data-suite] :where(.btn-primary,.btn-secondary,.btn-icon) { min-height:36px; border-radius:8px; padding:8px 14px; font-size:14px; font-weight:600; border:1px solid transparent; }
body[data-suite] .btn-primary { background:var(--suite-navy); color:white; }
body[data-suite] .btn-primary:hover { background:#294f71; }
body[data-suite] .btn-secondary { background:white; color:var(--suite-navy); border-color:#aabcc9; }
body[data-suite] .btn-secondary:hover { background:#edf4f8; }
body[data-suite] :where(.card,.rounded-xl) { border-radius:var(--suite-radius); box-shadow:0 3px 12px #1a3a5a0a; }
body[data-suite] :where(.hint,.text-xs,.eyebrow,.step-label,.status-pill,.artifact-list small,.artifact-list a,.artifact-group-header small,.bei-notice,.bei-summary span,.ma-handoff p,.workflow-steps small,.progress-summary p,.job-details summary) { font-size:12px; line-height:1.65; }
body[data-suite] :where(.text-gray-400,.text-slate-400) { color:var(--suite-muted); }
body[data-suite] :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:14px; }
body[data-suite] table { font-variant-numeric:tabular-nums; }
body[data-suite] :where(th,td) { font-size:13px; }
body[data-suite] .hero { background:#fff; color:var(--suite-navy); border:1px solid var(--suite-line); border-left:4px solid var(--suite-green); box-shadow:none; border-radius:12px; }
body[data-suite] .hero :where(p:not(.eyebrow),.hero-flow li) { color:var(--suite-muted); }
body[data-suite] .hero :where(.eyebrow,.hero-flow span) { color:var(--suite-green); }
body[data-suite] .hero-flow span { border-color:var(--suite-line); }
body[data-suite] pre { background:#f3f6f8; color:#314b5d; border:1px solid var(--suite-line); font-size:12px; }
.suite-header { background:white; border-bottom:1px solid var(--suite-line); padding:12px max(16px,calc((100vw - 1500px)/2)); }
.suite-top,.suite-products,.suite-tools,.suite-context,.suite-steps { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.suite-top { justify-content:space-between; }
.suite-header a { text-decoration:none; color:var(--suite-navy); }
.suite-brand { font-size:22px; font-weight:700; white-space:nowrap; }
.suite-brand span { font-size:12px; font-weight:400; }
.suite-products a { padding:6px 12px; border-radius:6px; font-size:14px; border-bottom:3px solid transparent; }
.suite-products a[aria-current] { background:#eaf4f0; border-bottom-color:var(--suite-green); font-weight:700; }
body[data-suite=ya] .suite-products a[aria-current] { background:#fff4e4; border-bottom-color:#dd7700; }
.suite-tools { font-size:12px; }
.suite-tools button { border:1px solid var(--suite-line); border-radius:6px; padding:6px 9px; background:white; color:var(--suite-navy); cursor:pointer; }
.suite-context { margin-top:8px; font-size:12px; color:var(--suite-muted); gap:8px 16px; overflow-wrap:anywhere; }
.suite-context strong { color:var(--suite-navy); font-size:14px; }
.suite-context [data-source] { flex:1; }
.suite-badge { padding:3px 8px; border:1px solid var(--suite-line); border-radius:5px; background:#f4f7f9; font-size:12px; }
.suite-reference { background:#fff8e9; color:#79520d; border-color:#e4c88c; }
.suite-steps { margin-top:10px; gap:5px; }
.suite-step { padding:6px 12px; border:1px solid var(--suite-line); border-radius:6px; background:white; color:var(--suite-navy); font-size:13px; cursor:pointer; }
.suite-step[aria-current] { background:var(--suite-navy); color:white; }
.suite-step:disabled { opacity:.5; }
.suite-dialog { width:min(760px,calc(100vw - 32px)); max-height:85vh; overflow:auto; border:1px solid var(--suite-line); border-radius:12px; padding:24px; color:var(--suite-ink); background:white; box-shadow:0 20px 60px #1a3a5a30; }
.suite-dialog::backdrop { background:#1a3a5a66; }
.suite-dialog h2 { font-size:20px; margin:0 0 16px; color:var(--suite-navy); }
.suite-dialog-body { line-height:1.7; overflow-wrap:anywhere; }
.suite-dialog-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:20px; }
.suite-dialog table { width:100%; border-collapse:collapse; }
.suite-dialog :where(td,th) { padding:8px; border-bottom:1px solid var(--suite-line); text-align:left; }
.suite-notice { position:fixed; right:16px; bottom:16px; z-index:99999; width:min(540px,calc(100vw - 32px)); padding:14px; display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #72ad99; border-left-width:5px; border-radius:10px; box-shadow:0 4px 24px #1a3a5a22; }
.suite-notice[data-error=true] { border-color:#c74747; }
.suite-notice span { flex:1; }
.suite-context-card { background:white; border:1px solid var(--suite-line); border-radius:12px; padding:16px; margin:16px 0; line-height:1.7; }
.suite-context-card h3 { margin:0 0 8px; color:var(--suite-navy); font-size:16px; }
.suite-context-card p { margin:4px 0; font-size:13px; }
.suite-target { outline:3px solid #c99427; outline-offset:4px; }
body[data-density=compact] :where(td,th) { padding-top:4px; padding-bottom:4px; font-size:12px; }
body[data-density=compact] .card { padding:14px; }
@media(max-width:640px) { .suite-top { gap:8px; } .suite-products { order:3; width:100%; justify-content:space-between; } .suite-tools { margin-left:auto; } .suite-brand span { display:none; } .suite-context [data-source] { flex-basis:100%; } }
