.org-chart { --org-ink:#183b32; --org-accent:#2d6654; color:#263d36; background:#fff; border:1px solid #d9e3dc; border-radius:14px; padding:clamp(16px,3vw,28px); margin:18px 0; font:14px/1.5 system-ui,sans-serif; }
.org-chart * { box-sizing:border-box; }
.org-chart h3,.org-chart h4 { color:var(--org-ink); margin:0; }
.org-chart h3 { font-size:24px; }
.org-chart h4 { font-size:17px; }
.org-chart p { margin:6px 0 12px; }
.org-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:start; }
.org-source { color:#45675c; background:#f0f5f1; border-radius:20px; padding:5px 10px; font-size:12px; }
.org-explainer { max-width:85ch; color:#52665e; }
.org-validation { background:#edf5ef; border-left:3px solid var(--org-accent); padding:10px 14px; }
.org-validation.org-warning { background:#fff3df; border-color:#9b5f10; }
.org-role-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); gap:8px; margin:20px 0; }
.org-role-picker button { appearance:none; text-align:left; font:inherit; color:var(--org-ink); background:#f7f9f7; border:1px solid #c9d9cd; border-radius:9px; padding:12px; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.org-role-picker button strong,.org-role-picker button span { display:block; }
.org-role-picker button span { color:#52665e; font-size:12px; margin-top:5px; }
.org-role-picker button[aria-pressed="true"] { background:#e7f1ea; border:2px solid var(--org-accent); padding:11px; }
.org-chart button:focus-visible,.org-chart summary:focus-visible { outline:3px solid #a56719; outline-offset:3px; }
.org-owner { max-width:460px; margin:25px auto 0; background:#edf5ef; border:2px solid var(--org-accent); border-radius:12px; padding:16px; text-align:center; overflow-wrap:anywhere; }
.org-owner>span { color:#52665e; text-transform:uppercase; font-size:11px; letter-spacing:1px; }
.org-owner h4 { font-size:22px; margin:5px 0; }
.org-connector { text-align:center; color:var(--org-accent); font-size:32px; line-height:1.2; }
.org-route-label { text-align:center; color:#52665e; }
.org-branches { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.org-branch { border:1px solid #c9d9cd; border-top:3px solid var(--org-accent); border-radius:9px; padding:14px; min-width:0; overflow-wrap:anywhere; }
.org-chart summary { cursor:pointer; font-weight:600; color:var(--org-ink); padding:6px 0; }
.org-functions { margin:6px 0; padding-left:20px; }
.org-functions li { margin:10px 0; overflow-wrap:anywhere; }
.org-functions small { display:block; color:#52665e; }
.org-functions p { font-size:12px; color:#52665e; }
.org-duties { margin-top:18px; border-top:1px solid #d9e3dc; padding-top:8px; }
.org-planned { margin-top:22px; padding-top:18px; border-top:1px dashed #98aaa0; }
.org-planned .org-branch { border-style:dashed; border-top-width:1px; background:#fafaf7; }
@media (max-width:600px) { .org-role-picker { grid-template-columns:repeat(2,minmax(0,1fr)); } .org-role-picker button { font-size:12px; padding:9px; } .org-role-picker button[aria-pressed="true"] { padding:8px; } .org-role-picker button span { font-size:11px; } }
@media print { .org-chart { break-inside:avoid; } .org-role-picker { grid-template-columns:repeat(4,1fr); } }
