body{
  font-family:'Montserrat','Roboto',sans-serif;
  margin:0 auto;
  max-width:1150px;
  padding:2.5rem 1.75rem 4rem;
  background:#edf3f7;
  color:#0f2f4d;
}
body.overlay-open{overflow:hidden;}
.site-header{
  background:white;
  border-radius:16px;
  padding:2rem 2.25rem;
  margin-bottom:1.75rem;
  box-shadow:0 12px 32px rgba(0,58,112,0.12);
  color:#003a70;
  border:1px solid #d5e3f0;
}
.site-header .brand{display:flex;align-items:center;gap:1.25rem;}
.site-header .logo-link{display:inline-flex;}
.site-header .logo-link:hover{opacity:.9;}
.site-header .brand-text{display:flex;flex-direction:column;gap:.3rem;}
.site-header .logo{height:70px;width:auto;filter:none;}
.site-header h1{margin:0;font-size:2.1rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#003a70;}
.site-header p{margin:.4rem 0 0;font-size:1rem;font-weight:400;color:#345978;}
.filters,.sync,.operations{
  background:white;
  border-radius:14px;
  padding:1.5rem 1.75rem;
  margin-bottom:1.5rem;
  box-shadow:0 12px 28px rgba(15,47,77,0.12);
}
.sync form,.operations form{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.sync button,.operations button{background:#0091d5;color:white;border:none;border-radius:999px;padding:.6rem 1.45rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.sync button:hover,.operations button:hover{background:#007bb3;transform:translateY(-1px);}
.sync button.secondary,.operations button.secondary{background:#003a70;}
.sync form.danger,.operations form.danger{margin-top:1rem;}
.sync button.danger,.operations button.danger{background:#c62828;}
.sync form + form,.operations form + form{margin-top:1rem;}
#filters-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;}
#filters-form .filter-field{display:flex;flex-direction:column;gap:.4rem;min-width:160px;flex:0 1 160px;}
#filters-form .filter-field:first-child{flex:1 1 260px;min-width:220px;max-width:420px;}
#filters-form .filter-label{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0f2f4d99;}
#filters-form input[type=search],
#filters-form select{width:100%;padding:.58rem .85rem;border-radius:10px;border:1px solid #c5d6e5;background:#f7fbff;box-shadow:inset 0 1px 2px rgba(15,47,77,0.08);transition:border .2s ease,box-shadow .2s ease;}
#filters-form input[type=search]:focus,
#filters-form select:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;background:white;}
.tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #d1e3f0;}
.tab{background:none;border:none;border-radius:12px 12px 0 0;padding:.75rem 1.35rem;font-weight:600;color:#4d6a85;cursor:pointer;letter-spacing:.04em;transition:color .2s ease,background .2s ease;}
.tab:hover{color:#003a70;background:rgba(0,58,112,0.08);}
.tab.active{background:white;color:#003a70;box-shadow:0 -1px 0 white inset,0 0 0 1px rgba(0,58,112,0.18);border-bottom-color:white;}
.tab-panels{display:flex;flex-direction:column;gap:1.5rem;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.org-admin{background:white;border-radius:16px;padding:1.75rem;box-shadow:0 14px 30px rgba(15,47,77,0.14);}
.org-header h2{margin:0;font-size:1.35rem;}
.org-header p{margin:.35rem 0 1rem;color:#4d6a85;}
.org-status{margin-bottom:1rem;padding:.65rem 1rem;border-radius:8px;font-size:.9rem;}
.org-status.success{background:#ecfdf5;color:#047857;}
.org-status.error{background:#fef2f2;color:#b91c1c;}
.org-layout{display:flex;gap:1.5rem;flex-wrap:wrap;}
.org-versions{flex:0 0 280px;display:flex;flex-direction:column;gap:1rem;}
.version-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
.version-item{border:1px solid #d5e3f0;border-radius:12px;padding:.9rem 1.1rem;background:#f4f9fc;display:flex;flex-direction:column;gap:.6rem;}
.version-header{display:flex;flex-direction:column;gap:.3rem;}
.version-name{font-weight:600;color:#005a9c;text-decoration:none;}
.version-name.current{color:#003a70;}
.version-name.active{text-decoration:underline;}
.version-meta{font-size:.75rem;color:#6b7280;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.version-counts{display:flex;gap:.65rem;flex-wrap:wrap;font-size:.78rem;color:#345978;}
.version-counts .version-count{display:flex;align-items:center;gap:.25rem;}
.version-counts .version-count.total{font-weight:600;color:#003a70;}
.version-counts .version-count.visible{color:#047857;}
.version-counts .version-count.hidden{color:#b45309;}
.badge{background:#d4ecf7;color:#005a9c;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;}
.badge.viewing{background:#d1fae5;color:#047857;}
.badge.current{background:#bfd7f0;color:#003a70;}
.version-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
.inline-form{display:inline;}
.inline-form button{background:#005a9c;color:white;border:none;border-radius:999px;padding:.45rem 1rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.inline-form button:hover{background:#004a83;transform:translateY(-1px);}
.actions .primary.disabled,
.actions .primary:disabled,
button.primary.disabled,
button.primary:disabled{
    background:#e5e7eb !important;
    color:#6b7280 !important;
    border-color:#e5e7eb !important;
    cursor:not-allowed !important;
    box-shadow:none !important;
    pointer-events:none;
}
.actions .primary.disabled,
.actions .primary:disabled,
button.primary.disabled,
button.primary:disabled{
    background:#e5e7eb !important;
    color:#6b7280 !important;
    border-color:#e5e7eb !important;
    cursor:not-allowed !important;
    box-shadow:none !important;
    pointer-events:none;
}
.org-archive-controls{margin-top:.75rem;display:flex;justify-content:flex-end;}
.org-archive-controls button{background:none;border:none;color:#005a9c;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .6rem;border-radius:999px;}
.org-archive-controls button:hover{background:#e0edf6;}
.org-form button.disabled,
.org-form button:disabled{
    background:#e5e7eb !important;
    color:#6b7280 !important;
    border-color:#e5e7eb !important;
    cursor:not-allowed !important;
    box-shadow:none !important;
    pointer-events:none;
}
.version-list.archive{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;}
.version-list.archive.hidden{display:none;}
.version-item.archived{opacity:.85;background:#f4f9fc;border-style:dashed;}
.version-item .archive-button{background:#c62828;color:#fff;border:none;border-radius:999px;padding:.4rem .9rem;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .2s ease;}
.version-item .archive-button:hover{background:#ad1f1f;}
.org-archive-controls{margin-top:.75rem;display:flex;justify-content:flex-end;}
.org-archive-controls button{background:none;border:none;color:#005a9c;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;}
.version-list.archive{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;}
.version-list.archive.hidden{display:none;}
.version-item.archived{opacity:.85;background:#f4f9fc;border-style:dashed;}
.version-item .archive-button{background:#c62828;color:#fff;border:none;border-radius:999px;padding:.4rem .9rem;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .2s ease;}
.version-item .archive-button:hover{background:#ad1f1f;}
.org-version-forms{display:flex;flex-direction:column;gap:1rem;}
.org-form{display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;}
.org-form.danger{background:#fef2f2;border-color:#fecaca;}
.org-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#345978;}
.org-form .inline-checkbox{flex-direction:row;align-items:center;gap:.5rem;}
.org-form input,
.org-form select{padding:.5rem .7rem;border-radius:10px;border:1px solid #c5d6e5;background:#f7fbff;transition:border .2s ease,box-shadow .2s ease;}
.org-form input:focus,
.org-form select:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;background:white;}
.org-form button{align-self:flex-start;background:#0091d5;color:white;border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.org-form button:hover{background:#007bb3;transform:translateY(-1px);}
.org-form.danger button{background:#dc2626;}
.org-editor{flex:1 1 420px;display:flex;flex-direction:column;gap:1.5rem;}
.org-tree-panel{border:1px solid #d5e3f0;border-radius:12px;padding:1.1rem;background:#fbfdff;max-height:400px;overflow:auto;}
.version-summary{background:#e6f2fb;border-radius:10px;padding:.85rem 1rem;display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center;font-size:.9rem;font-weight:600;color:#003a70;margin-bottom:1rem;}
.version-summary span{display:flex;align-items:center;gap:.35rem;}
.version-summary-visible{color:#047857;}
.version-summary-hidden{color:#b45309;}
.org-tree-empty{color:#6b7280;font-style:italic;}
.org-tree{list-style:none;margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.35rem;}
.org-tree ul{list-style:none;margin:0;padding-left:1rem;}
.tree-label{background:none;border:none;padding:0;font:inherit;color:#005a9c;cursor:pointer;}
.tree-node.selected>.tree-label{font-weight:700;color:#0f172a;}
.sap-code{font-size:.8rem;color:#6b7280;margin-left:.35rem;}
.node-details{margin-top:1rem;border-top:1px solid #d1e3f0;padding-top:1rem;font-size:.85rem;color:#345978;}
.node-details dl{margin:0;display:grid;grid-template-columns:120px 1fr;gap:.4rem .75rem;}
.org-node-forms{display:flex;flex-direction:column;gap:1rem;}
.team-cell{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:#003a70;max-width:240px;white-space:nowrap;min-width:0;}
.team-cell .team-name{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.team-cell .team-alert{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;background:#fde7e7;color:#b91c1c;font-size:.75rem;font-weight:700;line-height:1;text-transform:uppercase;cursor:help;flex:0 0 auto;}
.detail-team{margin:.35rem 0;color:#345978;font-size:.95rem;}
.detail-team .team-cell{font-weight:600;}
.col-team{min-width:150px;}
main.layout{display:block;}
section.summary{
  background:white;
  border-radius:16px;
  padding:1.75rem 1.5rem;
  box-shadow:0 14px 32px rgba(15,47,77,0.12);
}
table.summary-table{width:100%;border-collapse:collapse;font-size:.95rem;}
table.summary-table th{font-weight:700;text-align:left;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:#4d6a85;padding-bottom:.6rem;border-bottom:2px solid #d1e3f0;}
table.summary-table td{padding:.65rem .6rem;border-top:1px solid #dbe6f0;}
table.summary-table td.col-name,
table.summary-table td.col-job{word-break:break-word;}
span.flag-updated.hidden{display:none;}
table.summary-table .is-hidden{text-decoration:line-through;color:#9ca3af;}
span.diff-dot{color:#dc2626;font-weight:700;margin-right:6px;}
.grid-row.diff .cell{background:#fee2e2;}
tr.summary-row{cursor:pointer;}
tr.summary-row:hover{background:#f1f7fb;}
td.col-flag{width:20px;color:#e04f5f;font-weight:700;}
span.flag-updated{color:#e04f5f;font-size:1.1rem;line-height:1;}
span.flag-updated.is-new{color:#2563eb;}
.summary-meta{margin:.35rem 0;color:#345978;font-size:.9rem;}
article.record-detail{display:flex;flex-direction:column;gap:1.25rem;}
article.record-detail.hidden .detail-header h2{text-decoration:line-through;color:#9ca3af;}
article.record-detail .detail-header{display:flex;gap:1.5rem;align-items:flex-start;justify-content:space-between;}
article.record-detail .detail-header .detail-main{flex:1;display:flex;flex-direction:column;gap:.35rem;}
article.record-detail .detail-header h2{margin:0;font-size:1.6rem;display:flex;align-items:center;gap:.5rem;}
article.record-detail .detail-header .detail-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;}
article.record-detail .detail-header .detail-badge.new-arrival{background:#2563eb;color:white;}
article.record-detail .detail-sapid{margin:0;font-size:.9rem;color:#345978;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
article.record-detail .detail-role{margin:0;color:#345978;}
article.record-detail .detail-meta{margin:0;color:#4d6a85;font-size:.9rem;}
article.record-detail .photo{background:#e0edf6;border-radius:14px;display:flex;align-items:center;justify-content:center;min-width:140px;max-width:140px;min-height:140px;overflow:hidden;}
article.record-detail .photo .photo-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
article.record-detail .photo img.staff-photo{width:100%;height:100%;object-fit:cover;border-radius:12px;}
article.record-detail .photo-placeholder{padding:1rem;text-align:center;color:#6b7280;font-size:.85rem;}
article.record-detail .detail-body{display:flex;}
article.record-detail .detail-body form{width:100%;}
form.detail-form{display:flex;flex-direction:column;gap:.9rem;}
form.detail-form .grid-header,form.detail-form .grid-row{display:grid;grid-template-columns:minmax(120px,auto) 20% 20% 1fr;gap:.75rem;align-items:center;}
form.detail-form .grid-header{font-weight:600;color:#003a70;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;}
form.detail-form .cell{padding:.35rem .5rem;background:#f6f9fb;border-radius:10px;min-height:2.2rem;display:flex;align-items:center;}
form.detail-form .cell.showing{padding:0;}
form.detail-form .cell.showing input,
form.detail-form .cell.showing select{width:100%;padding:.45rem .6rem;border-radius:10px;border:1px solid #c5d6e5;background:#f7fbff;transition:border .2s ease,box-shadow .2s ease;}
form.detail-form input[type=text],form.detail-form input[type=number]{width:100%;padding:.45rem .6rem;border-radius:10px;border:1px solid #c5d6e5;background:#f7fbff;transition:border .2s ease,box-shadow .2s ease;}
form.detail-form .cell.showing input:focus,
form.detail-form .cell.showing select:focus,
form.detail-form input[type=text]:focus,
form.detail-form input[type=number]:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;background:white;}
form.detail-form .toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#345978;}
form.detail-form .toggle + .toggle{margin-top:.5rem;}
form.detail-form .actions{display:flex;gap:.75rem;justify-content:flex-end;}
form.detail-form button.primary{background:#0091d5;color:white;border:none;border-radius:999px;padding:.6rem 1.35rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
form.detail-form button.primary:hover{background:#007bb3;transform:translateY(-1px);}
.detail-form .actions .secondary{background:#005a9c;color:white;border:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.detail-form .actions .secondary:hover{background:#004a83;transform:translateY(-1px);}
.detail-form .actions .danger{background:#c62828;color:white;border:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.detail-form .actions .danger:hover{background:#ad1f1f;transform:translateY(-1px);}
.detail-extra{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem;}
.detail-extra h3{margin:0 0 .5rem 0;font-size:1.1rem;font-weight:600;color:#003a70;}
.speciality-block input{padding:.58rem .85rem;border-radius:10px;border:1px solid #c5d6e5;background:#f7fbff;width:100%;transition:border .2s ease,box-shadow .2s ease;}
.speciality-block input:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;background:white;}
.links-block{display:flex;flex-direction:column;gap:.8rem;}
.links-block .link-row{display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1rem;border:1px solid #d5e3f0;border-radius:12px;background:#f7fbff;}
.links-block .link-row label{font-size:.85rem;font-weight:600;color:#003a70;display:flex;flex-direction:column;gap:.35rem;}
.links-block .link-row input{padding:.5rem .75rem;border-radius:10px;border:1px solid #c5d6e5;background:white;transition:border .2s ease,box-shadow .2s ease;}
.links-block .link-row input:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;}
.description-block textarea{width:100%;min-height:220px;border:1px solid #c5d6e5;border-radius:12px;padding:.75rem .9rem;background:#fbfdff;font-family:'Roboto Mono','Roboto',monospace;font-size:.95rem;line-height:1.5;transition:border .2s ease,box-shadow .2s ease;}
.description-block textarea:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;background:white;}
.degrees-block{display:flex;flex-direction:column;gap:.85rem;}
.degrees-block h3{margin:0;font-size:1.05rem;font-weight:600;color:#003a70;}
.degrees-list{display:flex;flex-direction:column;gap:.85rem;}
.degree-row{display:flex;flex-direction:column;gap:.75rem;background:#f7fbff;border:1px solid #d5e3f0;border-radius:12px;padding:1rem;}
.detail-form .detail-extra,
.detail-form .detail-extra > *,
.detail-form .degrees-list,
.detail-form .degree-row,
.detail-form .links-block,
.detail-form .description-block,
.detail-form .degrees-actions{width:100%;box-sizing:border-box;}
.degree-row input,
.links-block input,
.speciality-block input,
.description-block textarea{width:100%;box-sizing:border-box;}
.degree-row .degree-fields{display:flex;flex-direction:column;gap:.65rem;flex:1;}
.degree-row label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:#003a70;flex:0 0 auto;}
.degree-row input{padding:.5rem .75rem;border-radius:10px;border:1px solid #c5d6e5;background:white;transition:border .2s ease,box-shadow .2s ease;}
.degree-row input:focus{border-color:#0091d5;box-shadow:0 0 0 3px rgba(0,145,213,0.2);outline:none;}
.degree-row .remove-degree{align-self:flex-start;background:#c62828;color:white;border:none;border-radius:999px;padding:.45rem .9rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.degree-row .remove-degree:hover{background:#ad1f1f;transform:translateY(-1px);}
.degrees-actions{display:flex;justify-content:flex-end;}
.degrees-actions [data-add-degree]{background:#005a9c;color:white;border:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.degrees-actions [data-add-degree]:hover{background:#004a83;transform:translateY(-1px);}
.no-results-text{display:none;text-align:center;padding:1.5rem 0;color:#4d6a85;font-size:1rem;}
.no-results-text .message{font-size:1.05rem;font-weight:500;color:#2b3f58;}
.archived-badge{background:#ffe1e1;color:#a61b1b;border-radius:12px;padding:.6rem 1rem;margin-bottom:1rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;}
.archive-notice{padding:1.5rem;background:#f4f9fc;border-radius:12px;text-align:center;color:#003a70;box-shadow:0 6px 18px rgba(15,47,77,0.08);}
.archive-notice button{margin-top:1rem;background:#005a9c;color:white;border:none;border-radius:999px;padding:.55rem 1.3rem;font-weight:600;text-transform:uppercase;cursor:pointer;}
.archive-notice button:hover{background:#004a83;}
.overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:40;}
.overlay.open{pointer-events:auto;opacity:1;}
.overlay-backdrop{position:absolute;inset:0;background:rgba(15,23,42,0.45);}
.overlay-card{position:relative;background:white;border-radius:16px;max-height:90vh;max-width:900px;width:calc(100% - 3rem);padding:2rem;overflow:auto;box-shadow:0 30px 60px rgba(15,23,42,0.25);} 
.person-links-list a{color:#005a9c;text-decoration:none;font-weight:600;}
.person-links-list a:hover{text-decoration:underline;}
