/* Organization chart: tree with connector lines drawn by CSS, so the layout follows the data. */
.org-status:empty{display:none}
.org-status{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand);font-size:var(--text-sm);white-space:pre-line}
.org-status[data-tone=success]{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}
.org-status[data-tone=warning]{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning)}
.org-status[data-tone=error]{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}
.org-sheet{padding:0;overflow:clip}
.org-doc-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line)}
.org-doc-head>img{width:120px;height:43px;object-fit:contain}
.org-doc-title{text-align:center;min-width:0}
.org-doc-title h2{font-size:var(--text-xl);margin:0;color:var(--ink)}
.org-doc-title p{margin:0;color:var(--muted);font-size:var(--text-sm)}
.org-doc-code{display:inline-block;margin-top:4px;padding:0 12px;border:1px solid var(--brand-line);border-radius:999px;font-size:var(--text-xs);color:var(--brand)}
.org-doc-info{display:grid;gap:2px;margin:0;font-size:var(--text-xs);color:var(--muted);min-width:120px}
.org-doc-info div{display:flex;gap:6px;justify-content:space-between}
.org-doc-info dt{color:var(--muted)}.org-doc-info dd{margin:0;color:var(--ink)}
.org-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface-muted);position:sticky;top:0;z-index:4}
.org-tool-group{display:flex;gap:4px;align-items:center;padding-inline-end:12px;border-inline-end:1px solid var(--line)}
.org-tool-group:last-child{border:0;padding:0}
.org-tool-end{margin-inline-start:auto}
.org-toolbar button{min-height:36px;padding:4px 10px;font-size:var(--text-sm)}
.org-dirty{font-size:var(--text-xs);color:var(--muted);margin-inline-end:4px}
.org-dirty[data-state=dirty]{color:var(--warning)}
.org-layout{display:grid;grid-template-columns:minmax(0,1fr);min-height:420px}
.org-layout:has(.org-inspector:not([hidden])){grid-template-columns:minmax(0,1fr) 300px}
.org-canvas-wrap{position:relative;min-width:0}
.org-zoom{position:absolute;inset-block-start:10px;inset-inline-end:10px;z-index:3;display:flex;align-items:center;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.org-zoom button{min-height:32px;padding:2px 6px;border-color:transparent}
.org-zoom output{min-width:44px;text-align:center;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.org-canvas{overflow:auto;padding:56px 16px 28px;max-height:calc(100vh - 220px);min-height:420px;background:linear-gradient(var(--surface),var(--surface)) padding-box,radial-gradient(circle,#d9e2e9 1px,transparent 1.2px) 0 0/20px 20px;text-align:center;overscroll-behavior:contain}
.org-canvas:focus-visible{outline-offset:-3px}
.org-stage{display:inline-block;min-width:100%;text-align:center}
.org-tree,.org-tree ul{display:flex;justify-content:center;margin:0;padding:0;list-style:none}
.org-tree ul{position:relative;padding-top:22px}
.org-tree li{position:relative;display:flex;flex-direction:column;align-items:center;padding:22px 6px 0}
.org-tree>li{padding-top:0}
/* Each child draws its half of the horizontal bus; RTL puts the first child on the right. */
.org-tree li::before,.org-tree li::after{content:"";position:absolute;top:0;width:50%;height:22px;border-top:2px solid #7f94a4}
.org-tree li::before{left:0}
.org-tree li::after{right:0;border-left:2px solid #7f94a4}
.org-tree li:first-child::after{border-top:0}
.org-tree li:last-child::before{border-top:0}
.org-tree li:only-child::before{border-top:0}
.org-tree>li::before,.org-tree>li::after{display:none}
.org-tree ul::before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:2px solid #7f94a4}
.org-box{position:relative;display:flex;align-items:center;gap:8px;inline-size:180px;min-height:72px;padding:10px 12px;border:1.5px solid #9fb3c1;border-radius:12px;background:#fff;color:var(--ink);text-align:start;box-shadow:0 2px 6px #16364c12;font:inherit;line-height:1.6;cursor:default}
button.org-box{cursor:pointer}
button.org-box:hover:not(:disabled){background:#f7fbfe;border-color:var(--brand)}
.org-box.has-reports{background:linear-gradient(180deg,#eef5fb,#fff 70%);border-color:#6f8ea3}
.org-tree>li>.org-box{background:#dbe9f6;border-color:var(--brand);inline-size:220px}
.org-box img{flex:none;inline-size:36px;block-size:36px;object-fit:contain}
.org-box-text{display:grid;min-width:0;gap:1px}
.org-box-text strong{font-size:12.5px;font-weight:500;color:var(--brand);overflow-wrap:anywhere}
.org-person{font-size:var(--text-sm);overflow-wrap:anywhere}
.org-box-text small{font-size:11.5px;color:var(--muted)}
.org-note{color:var(--warning)!important}
.org-box.is-vacant{border-style:dashed;background:#fbfcfd;border-color:#8b9fae}
.org-vacant-label{font-size:var(--text-xs);color:var(--subtle)}
.org-badge{position:absolute;inset-block-end:-11px;inset-inline-end:10px;min-inline-size:22px;block-size:22px;padding:0 6px;border-radius:999px;border:1.5px solid #2f5d80;background:#fff;color:#2f5d80;font-size:11px;line-height:19px;text-align:center;font-variant-numeric:tabular-nums}
.org-box.is-selected{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--brand)}
.org-box.is-drop{outline:3px dashed var(--success);outline-offset:3px;background:var(--success-bg)}
.org-box.is-dragging{opacity:.5}
.org-empty{display:grid;gap:12px;justify-items:center;padding:60px 20px;color:var(--muted)}
.org-empty strong{color:var(--ink);font-weight:500}
.org-inspector{border-inline-start:1px solid var(--line);padding:16px;background:var(--surface);max-height:calc(100vh - 220px);overflow:auto}
.org-inspector h3{font-size:var(--text-lg);margin:0 0 8px}
.org-form{display:grid;gap:14px}
.org-form label{font-size:var(--text-sm)}
.org-form input:not([type=radio]),.org-form select{display:block;margin-top:6px}
.org-form .field-hint{display:block;margin-top:4px}
.org-form fieldset{border:0;margin:0;padding:0;display:grid;gap:4px}
.org-form legend{font-size:var(--text-sm);margin-bottom:4px}
.org-choice{display:flex;align-items:center;gap:8px;min-height:32px;cursor:pointer}
.org-choice input,.org-icon-choice input{inline-size:16px;block-size:16px;min-height:16px;margin:0;accent-color:var(--brand)}
.org-icons{grid-template-columns:repeat(3,minmax(0,1fr))}
.org-icon-choice{position:relative;display:grid;place-items:center;gap:2px;min-height:56px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}
.org-icon-choice input{position:absolute;opacity:0}
.org-icon-choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.org-icon-choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.org-auto{font-size:var(--text-xs);color:var(--brand)}
.org-badge-input{max-width:120px}
.org-meta-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 4px 0;font-size:var(--text-xs);color:var(--muted)}
.org-credit a{color:var(--brand)}
@media(max-width:1024px){.org-layout:has(.org-inspector:not([hidden])){grid-template-columns:minmax(0,1fr)}.org-inspector{border-inline-start:0;border-top:1px solid var(--line);max-height:none}}
@media(max-width:760px){
 .org-doc-head{grid-template-columns:auto minmax(0,1fr);padding:12px}
 .org-doc-head>img{width:84px;height:30px}
 .org-doc-info{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px}
 .org-canvas{max-height:70vh;padding-top:52px}
 .org-tool-group{padding-inline-end:8px}
 .org-tool-end{margin-inline-start:0;width:100%;justify-content:flex-end}
}
@media print{
 @page orgchart{size:A4 landscape;margin:10mm}
 body:has(.org-sheet) #page>*:not(.org-sheet){display:none!important}
 .org-sheet{page:orgchart;border:0;break-inside:avoid}
 .org-toolbar,.org-zoom,.org-inspector{display:none!important}
 .org-layout{display:block;min-height:0}
 .org-canvas{overflow:visible;max-height:none;min-height:0;padding:12px 0;background:none}
 .org-box{box-shadow:none}
 .org-meta-line{display:none}
}
.org-status button{margin-inline-start:8px;min-height:32px;padding:2px 12px;font-size:var(--text-xs)}
