:root {
  --org-ink: #071426;
  --org-navy: #07192b;
  --org-lime: #b7ff2a;
  --org-paper: #f6f5ef;
  --org-line: #d9ded7;
  --org-muted: #687487;
}

.org-modal { position:fixed; inset:0; z-index:13000; background:rgba(4,14,28,.72); backdrop-filter:blur(8px); display:flex; align-items:stretch; justify-content:center; padding:18px; }
.org-shell { width:min(1520px,100%); min-height:0; border-radius:24px; overflow:hidden; background:var(--org-paper); box-shadow:0 28px 90px rgba(0,0,0,.34); display:flex; flex-direction:column; }
.org-head { padding:24px 28px; color:white; background:radial-gradient(circle at 86% 20%,rgba(183,255,42,.17),transparent 28%),linear-gradient(125deg,#061424,#0b2b33); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.org-kicker { color:var(--org-lime); font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.16em; text-transform:uppercase; }
.org-head h2 { margin:6px 0 3px; font-size:28px; letter-spacing:-.035em; }
.org-head p { margin:0; color:#b9c8d5; font-size:13px; }
.org-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.org-ui-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; width:auto!important; min-width:0!important; height:auto!important; min-height:0!important; margin:0!important; overflow:visible!important; opacity:1!important; visibility:visible!important; appearance:none!important; -webkit-appearance:none!important; font-family:inherit!important; font-style:normal!important; line-height:1.2!important; letter-spacing:normal!important; text-align:center!important; text-indent:0!important; text-shadow:none!important; text-transform:none!important; white-space:nowrap!important; -webkit-text-fill-color:currentColor!important; }
/* Buttons render their own real text label. A previous data-org-label ::before
   mechanism re-rendered the label on top of the real text (font-size:0 was
   meant to hide the text but lost the specificity race to .org-button), which
   doubled every label — "CloseClose", "Save chartSave chart". Removed. */
.org-button { border:1px solid rgba(255,255,255,.25)!important; border-radius:10px!important; color:white!important; background:rgba(255,255,255,.08)!important; padding:9px 13px!important; font-size:12px!important; font-weight:750!important; cursor:pointer!important; }
.org-button:hover { background:rgba(255,255,255,.15); }
.org-button.primary { color:#071426!important; background:var(--org-lime)!important; border-color:var(--org-lime)!important; }
.org-button.close { width:auto!important; min-width:40px!important; height:40px!important; padding:0 15px!important; font-size:13px!important; }
.org-toolbar { display:flex; align-items:center; gap:12px; padding:13px 22px; border-bottom:1px solid var(--org-line); background:#fff; }
.org-search { flex:1; min-width:180px; border:1px solid var(--org-line); border-radius:11px; padding:10px 13px; font-size:14px; background:#fafbf8; }
.org-legend { font-size:12px; color:var(--org-muted); white-space:nowrap; }
.org-body { overflow:auto; padding:22px; min-height:0; }
.org-summary { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:10px; margin-bottom:18px; }
.org-stat { background:white; border:1px solid var(--org-line); border-radius:13px; padding:12px 14px; }
.org-stat strong { display:block; font-size:22px; color:var(--org-ink); }
.org-stat span { color:var(--org-muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.org-group-tier { background:linear-gradient(130deg,#071426,#173d36); color:white; border-radius:18px; padding:18px; margin-bottom:14px; }
.org-tier-label { color:var(--org-lime); font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.15em; text-transform:uppercase; }
.org-group-tier h3 { margin:6px 0 14px; font-size:20px; }
.org-people { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:8px; }
.org-person { position:relative; border:1px solid #dce2dc; background:white; border-radius:12px; padding:11px 38px 11px 12px; min-width:0; }
.org-person-name { font-size:13px; font-weight:800; color:var(--org-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.org-person-title { color:var(--org-muted); font-size:11px; margin-top:3px; line-height:1.35; }
.org-person-meta { display:flex; gap:5px; flex-wrap:wrap; margin-top:7px; }
.org-chip { border-radius:999px; background:#eef3ec; color:#526054; padding:3px 7px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.org-chip.multi { background:#ecffd0; color:#315b00; }
.org-person-edit { position:absolute!important; right:8px!important; top:8px!important; border:0!important; border-radius:8px!important; width:auto!important; min-width:42px!important; height:27px!important; padding:0 8px!important; cursor:pointer!important; background:#f0f4ec!important; color:#445246!important; font-size:10px!important; font-weight:800!important; }
.org-empty { border:1px dashed #cbd3cb; color:#7f8a80; border-radius:11px; padding:15px; text-align:center; font-size:12px; }
.org-business { margin-top:16px; }
.org-business-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.org-business-head h3 { margin:0; color:var(--org-ink); font-size:18px; }
.org-location-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:12px; }
.org-location { background:#fff; border:1px solid var(--org-line); border-radius:16px; overflow:hidden; }
.org-location-head { padding:13px 14px; display:flex; justify-content:space-between; gap:10px; background:#edf1e9; border-bottom:1px solid var(--org-line); }
.org-location-head h4 { margin:2px 0 0; color:var(--org-ink); font-size:15px; }
.org-location-code { font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace; color:#6c786b; letter-spacing:.1em; }
.org-location-edit,.org-row-edit,.org-editor-close { border:1px solid #ced7cb!important; background:#fff!important; border-radius:8px!important; padding:7px 10px!important; color:#34483b!important; font-size:11px!important; font-weight:800!important; cursor:pointer!important; }
.org-department { padding:12px 14px; border-bottom:1px solid #edf0eb; }
.org-department:last-child { border-bottom:0; }
.org-department h5 { display:flex; justify-content:space-between; margin:0 0 8px; color:#536050; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }
.org-department .org-people { grid-template-columns:1fr; }
.org-chart-key { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding:10px 14px; border:1px solid var(--org-line); border-radius:12px; background:rgba(255,255,255,.8); color:var(--org-muted); font-size:12px; }
.org-chart-key span:first-child { display:inline-flex; align-items:center; gap:8px; color:#233043; font-weight:800; }
.org-chart-key i { position:relative; display:inline-block; width:30px; height:3px; border-radius:999px; background:#91aa31; }
.org-chart-key i::after { position:absolute; left:10px; bottom:-6px; content:''; border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid #91aa31; }
.org-chart-guidance { flex:1; text-align:center; }
.org-zoom-controls { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.org-zoom-button { border:1px solid #cbd5ca!important; border-radius:8px!important; padding:7px 9px!important; background:#fff!important; color:#314337!important; cursor:pointer!important; }
.org-zoom-button:hover { border-color:#7e9b3d!important; background:#f2fbdc!important; }
.org-zoom-button:disabled { opacity:.45!important; cursor:not-allowed!important; }
.org-zoom-fit { border-color:#9db75c!important; background:#effbd3!important; color:#29420d!important; }
.org-zoom-value { min-width:46px; color:#182738; font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.org-tree-canvas { max-height:min(68vh,880px); overflow:auto; padding:28px 24px 42px; border:1px solid #d9e1da; border-radius:18px; background:linear-gradient(rgba(9,30,43,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,30,43,.035) 1px,transparent 1px),#fbfcf8; background-size:28px 28px; }
.org-tree-stage { position:relative; min-width:100%; min-height:1px; }
.org-tree { display:inline-block; min-width:100%; width:max-content; transform-origin:top left; transition:transform .16s ease; will-change:transform; }
.org-tree ul { position:relative; display:flex; justify-content:center; margin:0; padding:34px 0 0; }
.org-tree li { position:relative; list-style:none; padding:34px 10px 0; text-align:center; }
.org-tree li::before,.org-tree li::after { position:absolute; top:0; width:50%; height:34px; content:''; border-top:2px solid #879a90; }
.org-tree li::before { right:50%; border-right:2px solid #879a90; }
.org-tree li::after { left:50%; border-left:2px solid #879a90; }
.org-tree li:only-child::before,.org-tree li:only-child::after { display:none; }
.org-tree li:first-child::before,.org-tree li:last-child::after { border:0; }
.org-tree li:last-child::before { border-radius:0 8px 0 0; }
.org-tree li:first-child::after { border-radius:8px 0 0 0; }
.org-tree ul ul::before { position:absolute; top:0; left:50%; height:34px; content:''; border-left:2px solid #879a90; }
.org-tree-root { padding-top:0!important; }
.org-tree-root>.org-tree-item { padding-top:0; }
.org-tree-root>.org-tree-item::before,.org-tree-root>.org-tree-item::after { display:none; }
.org-tree-node { position:relative; display:inline-flex; flex-direction:column; min-width:190px; min-height:74px; padding:12px 14px; border:1px solid #d9e1da; border-radius:12px; background:#fff; box-shadow:0 5px 15px rgba(7,24,36,.08); text-align:left; vertical-align:top; }
.org-tree-children>.org-tree-item>.org-tree-node::before { position:absolute; top:-10px; left:calc(50% - 6px); content:''; border-left:6px solid transparent; border-right:6px solid transparent; border-top:8px solid #91aa31; }
.org-tree-node>small { color:#82908f; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.org-tree-node>strong { margin-top:3px; color:#111e2f; font-size:14px; line-height:1.25; }
.org-tree-node>span { margin-top:4px; color:#758291; font-size:11px; }
.org-tree-node>.org-location-edit { align-self:flex-end; margin-top:8px; }
.org-tree-node>.org-node-action { align-self:flex-start!important; display:inline-flex!important; width:auto!important; min-width:0!important; height:auto!important; min-height:0!important; margin-top:10px!important; padding:5px 9px!important; overflow:visible!important; border:1px solid #b9c8bb!important; border-radius:7px!important; background:#f8fbf5!important; color:#34483b!important; opacity:1!important; visibility:visible!important; font-family:inherit!important; font-size:10px!important; font-weight:800!important; line-height:1.2!important; text-indent:0!important; white-space:nowrap!important; cursor:pointer!important; }
.org-tree-node>.org-node-action:hover { border-color:#7f9b42!important; background:#eff9dc!important; color:#29440d!important; }
.org-leadership-node>.org-node-action { border-color:#68808a!important; background:rgba(255,255,255,.1)!important; color:#fff!important; }
.org-root-node { min-width:280px; padding:17px 20px; border-color:rgba(183,255,42,.45); background:linear-gradient(120deg,#061a2b,#124335); box-shadow:0 10px 24px rgba(7,24,36,.2); text-align:center; }
.org-root-node>small,.org-root-node>span { color:#b9c7c7; }
.org-root-node>strong { color:#fff; font-size:20px; }
.org-root-node>.org-drop-label { border-color:rgba(183,255,42,.65); background:rgba(183,255,42,.12); color:#e4ffac!important; }
.org-root-node.org-drop-over { border-color:var(--org-lime)!important; background:linear-gradient(120deg,#082238,#1c5a43)!important; box-shadow:0 0 0 5px rgba(183,255,42,.28),0 12px 28px rgba(7,24,36,.25)!important; }
.org-leadership-node { border-color:#41616b; background:#102d3b; }
.org-leadership-node>small,.org-leadership-node>span { color:#aec0c6; }
.org-leadership-node>strong { color:#fff; }
.org-business-node { border-color:#b4d679; background:#ecffd1; }
.org-location-node { border-color:#c9d7cb; background:#eef5f0; }
.org-department-node { border-top:4px solid #1f6a57; }
.org-unassigned-node { border-top-color:#8b9695; }
.org-person-node { width:205px; min-width:205px; min-height:78px; }
.org-tree .org-person { display:inline-flex; margin:0; }
.org-drag-handle { position:absolute; top:8px; right:9px; margin:0!important; color:#94a09a!important; font-size:14px!important; font-weight:900; letter-spacing:-3px; cursor:grab; user-select:none; }
.org-tree-node[draggable="true"] { cursor:grab; }
.org-tree-node[draggable="true"]:active { cursor:grabbing; }
.org-dragging { opacity:.45; transform:scale(.98); }
.org-drop-label { display:none; margin-top:8px!important; padding:6px 8px; border:1px dashed #7b9d33; border-radius:7px; background:#f4ffdc; color:#38510d!important; font-size:10px!important; font-weight:800; }
.org-drag-active .org-tree-node { transition:border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.org-drag-active .org-drop-label { display:block; }
.org-drag-active .org-tree-node:not([draggable="true"]) { border-color:#aebd90; }
.org-drop-over { border-color:#8cbd27!important; background:#efffd3!important; box-shadow:0 0 0 4px rgba(183,255,42,.28),0 9px 24px rgba(7,24,36,.15)!important; }
.org-move-path { grid-column:1/-1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; padding:14px; border:1px solid #dbe5d7; border-radius:12px; background:#f8fbf5; }
.org-move-path div { min-width:0; }
.org-move-path small { display:block; color:#7b897c; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.org-move-path strong { display:block; margin-top:4px; color:#142434; font-size:13px; }
.org-move-path>span { color:#7ea421; font-size:22px; font-weight:900; }
.org-move-impact { display:flex; flex-direction:column; gap:4px; padding:12px 14px; border:1px solid #edcb85; border-radius:10px; background:#fff9e9; color:#6d4b0c; }
.org-move-impact strong { font-size:12px; }
.org-move-impact span { font-size:11px; line-height:1.45; }
.org-help { margin:6px 0 0; color:#748078; font-size:11px; line-height:1.4; }
.org-editor-foot .save:disabled { opacity:.55!important; cursor:wait!important; }
.org-editor { position:fixed; inset:0; z-index:13100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(4,14,28,.55); }
.org-editor-card { width:min(560px,100%); max-height:90vh; overflow:auto; background:white; border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.org-editor-head { padding:18px 20px; border-bottom:1px solid #e5e9e3; display:flex; justify-content:space-between; align-items:center; }
.org-editor-head h3 { margin:0; color:var(--org-ink); }
.org-editor-body { padding:18px 20px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.org-field { min-width:0; }
.org-field.wide { grid-column:1/-1; }
.org-field label { display:block; margin-bottom:5px; color:#667165; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.org-field input,.org-field select { width:100%; box-sizing:border-box; border:1px solid #d5dcd3; border-radius:9px; padding:10px 11px; font-size:13px; background:#fbfcfa; }
.org-check { display:flex; align-items:center; gap:8px; color:#465344; font-size:12px; }
.org-editor-foot { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px 18px; }
.org-editor-foot .org-editor-cancel,.org-editor-foot .org-editor-save { border:1px solid #d5dcd3!important; border-radius:9px!important; padding:10px 16px!important; background:#fff!important; color:#34483b!important; cursor:pointer!important; font-size:12px!important; font-weight:800!important; }
.org-editor-foot .org-editor-save { background:var(--org-lime)!important; border-color:var(--org-lime)!important; color:var(--org-ink)!important; }

@media (max-width:760px) {
  .org-modal { padding:0; }
  .org-shell { border-radius:0; }
  .org-head { padding:17px; align-items:flex-start; }
  .org-head h2 { font-size:21px; }
  .org-actions .org-button:not(.close) { display:none; }
  .org-toolbar { padding:10px 12px; flex-wrap:wrap; }
  .org-legend { white-space:normal; }
  .org-body { padding:12px; }
  .org-summary { grid-template-columns:1fr 1fr; }
  .org-location-grid { grid-template-columns:1fr; }
  .org-people { grid-template-columns:1fr; }
  .org-chart-key { align-items:flex-start; flex-direction:column; gap:9px; }
  .org-chart-guidance { text-align:left; }
  .org-zoom-controls { width:100%; flex-wrap:wrap; }
  .org-zoom-fit { margin-left:auto!important; }
  .org-tree-canvas { max-height:none; padding:18px 14px 30px; }
  .org-tree { display:block; min-width:0; width:100%; }
  .org-tree ul { display:block; padding:0 0 0 18px; }
  .org-tree li,.org-tree li:only-child { padding:18px 0 0 22px; text-align:left; }
  .org-tree li::before,.org-tree li::after,.org-tree ul ul::before { display:none; }
  .org-tree li:not(.org-root-branch)::before { display:block; top:0; left:0; width:16px; height:34px; border:0; border-bottom:2px solid #879a90; border-left:2px solid #879a90; }
  .org-tree li:not(.org-root-branch)::after { display:block; top:0; left:0; width:0; height:100%; border:0; border-left:2px solid #879a90; }
  .org-tree li:last-child::after { height:34px; }
  .org-tree-node,.org-person-node,.org-root-node { min-width:0; width:100%; box-sizing:border-box; }
  .org-tree-children>.org-tree-item>.org-tree-node::before { top:25px; left:-11px; border-top:6px solid transparent; border-bottom:6px solid transparent; border-right:0; border-left:8px solid #91aa31; }
  .org-editor-body { grid-template-columns:1fr; }
  .org-field.wide { grid-column:auto; }
  .org-move-path { grid-column:auto; grid-template-columns:1fr; }
  .org-move-path>span { transform:rotate(90deg); justify-self:center; }
}
