/* Directory-only styling preserves all six administrative chart layouts. */
.personnel-directory.personnel-public{--personnel-ink:#233f55;--personnel-muted:#66757e;--personnel-gold:#ae9058;max-width:1320px;margin:0 auto;padding:24px 0 50px;font:14px/1.9 Kodchasan,Tahoma,sans-serif;color:var(--personnel-ink);min-width:0}
.personnel-public *{box-sizing:border-box}
.personnel-public :is(h1,h2,h3,p,span,small,strong,label,select,button,a){font-size:14px}
.personnel-discovery{border:1px solid #d9d7cc;border-radius:15px;overflow:hidden;background:#fffefa;box-shadow:0 10px 35px #203b5308;margin-bottom:30px}
.personnel-public .personnel-public-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:36px 40px;margin:0;border:0;border-top:3px solid var(--personnel-gold);background:linear-gradient(115deg,#172e43,#304d64);color:#fffefa}
.personnel-heading-copy{min-width:0;flex:1}
.personnel-public .personnel-public-heading h1{font-size:14px;line-height:2;font-weight:600;margin:0 0 13px;color:#fffefa;overflow-wrap:anywhere}
.personnel-public .personnel-public-heading p{color:#dbe3e8;margin:0;line-height:1.9;overflow-wrap:anywhere}
.personnel-heading-summary{display:flex;align-items:center;gap:22px;padding-left:32px;border-left:1px solid #d5be8b38;flex-shrink:0;min-width:230px}
.personnel-heading-emblem{display:grid;place-items:center;width:78px;height:82px;border:1px solid #d1b77d66;border-radius:10px;color:#e0c58d;background:#ffffff04}
.personnel-heading-emblem svg{width:47px;height:47px}
.personnel-heading-summary>div>span{color:#d9e0e3;line-height:1.8}
.personnel-public .personnel-heading-summary p{margin:5px 0;color:#fff8e7;font-variant-numeric:tabular-nums}
.personnel-heading-summary strong{display:inline-block;margin-right:7px;border-bottom:1px solid #cbb17b;font-weight:600;color:#fffefa}
.personnel-public .personnel-filter{display:flex;align-items:end;gap:18px;margin:0;padding:25px 30px;background:#fffefa}
.personnel-filter-field{display:grid;gap:9px;min-width:0;flex:1}
.personnel-filter-field label{color:#4c6572;line-height:1.7}
.personnel-public .personnel-filter select{display:block;width:100%;min-width:0;height:48px;padding:10px 14px;border:1px solid #d5ddd9;background:#fafbfa;color:#334f60;border-radius:7px;font:inherit;text-overflow:ellipsis}
.personnel-public .personnel-filter button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:48px;padding:10px 22px;border:1px solid #203b53;background:#203b53;color:#fff9ec;border-radius:7px;font:inherit;cursor:pointer;flex-shrink:0}
.personnel-public .personnel-filter button:hover{background:#31536b;border-color:#31536b}
.personnel-all-groups{display:inline-flex;align-items:center;justify-content:center;min-height:48px;color:#596c75;text-decoration:none;padding:9px 4px;flex-shrink:0}
.personnel-all-groups:hover{text-decoration:underline;text-underline-offset:4px}
.personnel-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}
.personnel-section-heading h2{display:flex;align-items:center;gap:12px;font-weight:600;margin:0;line-height:1.9}
.personnel-section-heading h2:before{content:"";width:3px;height:20px;flex-shrink:0;background:var(--personnel-gold);border-radius:2px}
.personnel-section-heading>span{color:var(--personnel-muted);line-height:1.8}
.personnel-public .personnel-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.personnel-public .personnel-group-card{display:flex;flex-direction:column;min-width:0;padding:26px 27px 0;border:1px solid #dcded5;border-top:2px solid #b59b68;border-radius:12px;background:#fffefa;color:var(--personnel-ink);box-shadow:0 5px 18px #203b5305;transition:border-color .18s,box-shadow .18s,transform .18s}
.personnel-public .personnel-group-card:hover{border-color:#ad925a;box-shadow:0 12px 28px #203b5310;transform:translateY(-3px)}
.personnel-group-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.personnel-group-icon{display:grid;place-items:center;width:54px;height:54px;background:#f5f1e5;color:#907540;border:1px solid #daceb1;border-radius:10px}
.personnel-group-icon svg{width:34px;height:34px}
.personnel-group-number{font-variant-numeric:tabular-nums;color:#a4acac;letter-spacing:2px}
.personnel-public .personnel-group-kind{color:#8b7549;line-height:1.8}
.personnel-public .personnel-group-card h2{color:#233f55;line-height:1.9;font-weight:600;font-size:14px;overflow-wrap:anywhere;margin:9px 0 24px;flex:1}
.personnel-group-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:18px 0;border-top:1px solid #e5e2d6;color:#6a7880;line-height:1.8}
.personnel-group-open{display:inline-flex;align-items:center;gap:10px;color:#315266}
.personnel-group-open>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d8c7a2;border-radius:50%;color:#927743}
.personnel-chart-shell{border:1px solid #dcdcd1;border-radius:13px;background:#f5f5ee;overflow:hidden;box-shadow:0 8px 26px #203b5305}
.personnel-public .personnel-chart-hint{display:flex;align-items:center;gap:10px;margin:0;padding:16px 24px;background:#fffefa;border-bottom:1px solid #e0ded2;color:#677883;line-height:1.8}
.personnel-chart-hint svg{width:23px;height:23px;color:#9b7f47;flex-shrink:0}
.personnel-public .personnel-scroll{border:0;border-radius:0;padding:32px 26px;background:radial-gradient(ellipse at 50% 0,#fdfcf6,#f1f2ec);scrollbar-width:thin;scrollbar-color:#b7a174 #eeeee5}
.personnel-public .personnel-board{color:var(--personnel-ink)}
.personnel-public .personnel-board .person-card{--branch-color:#506b80;border-color:#d6dcd7;border-top-color:var(--branch-color);box-shadow:0 7px 18px #223d500a;background:#fffefa;border-radius:10px}
.personnel-public .personnel-board .branch-1>.person-card{--branch-color:#637e90}.personnel-public .personnel-board .branch-2>.person-card{--branch-color:#ae9058}.personnel-public .personnel-board .branch-3>.person-card{--branch-color:#906b75}
.personnel-public .personnel-board .person-copy h3{font-size:14px;color:#28485e;font-weight:600}
.personnel-public .personnel-board .person-copy p{color:#627682;line-height:1.85}
.personnel-public .person-photo{background:#edf0e8;border-color:#d5ccba;box-shadow:0 3px 10px #203b5308}
.personnel-public .person-avatar{color:#927c4c;background:linear-gradient(140deg,#f8f3e5,#e7ece7)}
.personnel-public .person-boss{padding-top:10px;margin-top:12px;border-top:1px solid #e6e1d3;color:#8a7957}
.personnel-public .personnel-layout-portraits .person-card{background:transparent;border:0;box-shadow:none}
.personnel-public .personnel-layout-portraits .person-photo{width:116px;height:116px;border:5px solid #fffefa;box-shadow:0 6px 20px #223d5014}
.personnel-public .personnel-layout-cards .person-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:23px}
.personnel-public .personnel-layout-cards .person-card{padding:25px 22px;border-top-width:2px}
.personnel-public .personnel-layout-cards .person-photo{width:120px;height:144px;border-radius:8px}
.personnel-public .person-level{background:#e9ede7;border:1px solid #dce0d5;border-radius:10px;padding:24px}
.personnel-public .person-level>h2{color:#7e714f;font-weight:500}
.personnel-public .person-table{background:#fffefa;border:1px solid #d9ddd5}
.personnel-public .person-table th{padding:17px 22px;background:#233f55;color:#fff8e7;font-weight:500;border-bottom:2px solid #ae9058}
.personnel-public .person-table td{padding:20px 22px;border-bottom-color:#dfe2d9;color:#4e6675}
.personnel-public .person-table tbody tr:nth-child(even){background:#f4f4ed}
.personnel-public .person-table .person-card{border:0;background:transparent;box-shadow:none;padding:0}
.personnel-public .personnel-empty{border:1px solid #dedcd0;background:#fffefa;border-radius:12px;color:#637682;line-height:1.9}
.personnel-public-empty{padding:50px 24px}
.personnel-empty-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 22px;border:1px solid #d8c8a4;border-radius:11px;background:#f7f3e8;color:#9b814c}
.personnel-empty-icon svg{width:38px;height:38px}
.personnel-public-empty h2{font-weight:500;color:var(--personnel-ink);margin:0 0 10px}
.personnel-public-empty p{margin:0}
.personnel-public :is(a,button,select,.personnel-scroll):focus-visible{outline:2px solid #a18244;outline-offset:4px}
.personnel-public .personnel-scroll:focus-visible{outline-offset:-4px}
@media(max-width:1000px){.personnel-public .personnel-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-public .personnel-public-heading{padding:30px;gap:24px}.personnel-heading-summary{padding-left:24px;gap:15px;min-width:210px}.personnel-heading-emblem{width:60px;height:66px}.personnel-heading-emblem svg{width:38px;height:38px}}
@media(max-width:767px){.personnel-directory.personnel-public{padding:18px 0 36px}.personnel-public .personnel-public-heading{flex-direction:column;align-items:stretch;padding:28px 25px;gap:22px}.personnel-heading-summary{border-left:0;border-top:1px solid #d5be8b38;padding:20px 0 0;min-width:0}.personnel-heading-emblem{width:52px;height:56px}.personnel-heading-emblem svg{width:34px;height:34px}.personnel-public .personnel-filter{padding:22px;gap:14px;flex-wrap:wrap;align-items:end}.personnel-filter-field{flex-basis:100%}.personnel-public .personnel-filter button{flex:1}.personnel-section-heading{align-items:start;flex-direction:column;gap:7px}.personnel-section-heading>span{padding-left:15px}.personnel-public .personnel-group-grid{gap:18px}.personnel-public .personnel-group-card{padding:23px 22px 0}.personnel-public .personnel-scroll{padding:24px 16px}.personnel-public .personnel-chart-hint{padding:14px 18px}.personnel-public .person-level{padding:18px}.personnel-public .personnel-layout-cards .person-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}}
@media(max-width:540px){.personnel-public .personnel-group-grid{grid-template-columns:minmax(0,1fr)}.personnel-public .personnel-filter button{width:100%;flex-basis:100%}.personnel-all-groups{width:100%}.personnel-discovery{border-radius:12px}.personnel-public .personnel-layout-cards .person-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.personnel-public .personnel-group-card{transition:none}.personnel-public .personnel-group-card:hover{transform:none}}
