.sa { --sa-green:#24634c; --sa-muted:#627269; color:#263c31; max-width:1120px; margin:0 auto; line-height:1.65; }
.sa h1 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.5; }
.sa h2 { font-size:1.1rem; line-height:1.6; }
.sa .sa-kicker { color:var(--sa-green); font-size:.85rem; font-weight:600; }
.sa .sa-panel { border:1px solid #dfe7e1; border-radius:14px; padding:1.4rem; background:#fff; margin-bottom:1.2rem; }
.sa .sa-intro { background:#eef5f0; border:1px solid #dce8df; border-radius:14px; padding:1.35rem; margin-bottom:1.4rem; }
.sa .sa-note { color:var(--sa-muted); font-size:.9rem; }
.sa .sa-notice { border-left:3px solid #b49151; background:#fbf8ef; padding:.85rem 1rem; font-size:.9rem; border-radius:6px; }
.sa .btn-success { background:var(--sa-green); border-color:var(--sa-green); }
.sa .btn { border-radius:8px; padding:.55rem .95rem; }
.sa .form-control,.sa .form-select { border-color:#cedbd2; min-height:44px; border-radius:8px; }
.sa .form-label { font-weight:600; font-size:.93rem; }
.sa .form-text { color:var(--sa-muted); line-height:1.65; }
.sa .sa-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1.2rem 0; }
.sa .sa-metric { border:1px solid #dfe7e1; border-radius:10px; background:#fff; padding:1rem; }
.sa .sa-value { font-size:1.7rem; font-weight:700; font-variant-numeric:tabular-nums; }
.sa .sa-bar { height:6px; border-radius:8px; background:#e6eee8; overflow:hidden; margin-top:.7rem; }
.sa .sa-bar span { display:block; height:100%; background:#4d896d; }
.sa .sa-tag { display:inline-block; border-radius:6px; padding:.2rem .65rem; font-size:.82rem; background:#edf3ef; color:#355c46; }
.sa .sa-tag-warn { background:#fff1d8; color:#805b1c; }
.sa .sa-gate { display:flex; gap:.65rem; padding:.65rem 0; border-bottom:1px solid #edf1ee; }
.sa .sa-gate:last-child { border:0; }
.sa .sa-recommendation { padding:1rem 0; border-bottom:1px solid #e4eae5; }
.sa .sa-recommendation:last-child { border:0; }
.sa .sa-recommendation p { margin:.4rem 0; }
.sa .sa-actions { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:flex-end; padding:1rem 0; }
.sa .table { font-size:.9rem; --bs-table-color:#304639; }
.sa .table th { background:#f3f6f4; white-space:nowrap; font-weight:600; }
.sa .table td,.sa .table th { padding:.8rem; vertical-align:middle; }
.sa details > summary { cursor:pointer; font-weight:600; padding:.5rem 0; }
.sa .sa-plan { background:#f7f9f7; padding:1rem; border-radius:10px; margin-top:1rem; }
.sa .sa-prewrap { white-space:pre-wrap; overflow-wrap:anywhere; }
.sa .sa-total { font-size:2.5rem; font-weight:700; line-height:1.3; }
.sa .sa-panel { scroll-margin-top:80px; }
.sa .sa-form-nav { display:flex; flex-wrap:wrap; gap:.5rem; }
.sa .sa-ratio-value { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sa a:focus-visible,.sa button:focus-visible,.sa summary:focus-visible { outline:3px solid #24634c; outline-offset:3px; }
@media(max-width:767px) { .sa .sa-panel { padding:1rem; } .sa .sa-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .sa .sa-actions .btn { flex:1; } }
@media print { nav,footer,.sa-no-print,#a2hs-banner { display:none!important; } .sa .sa-panel { break-inside:avoid; } .sa { max-width:none; } }
