/* TGWork Org Structure v6 — responsive portrait hierarchy */
.orgp-page{padding:24px 22px 48px;max-width:1500px;margin:0 auto;min-width:0;overflow-x:clip}
.orgp-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;color:rgb(var(--muted));font-size:11px}
.orgp-breadcrumbs a{color:rgb(var(--muted));text-decoration:none}.orgp-breadcrumbs a:hover{color:rgb(var(--brand))}.orgp-breadcrumbs>span{opacity:.55}.orgp-breadcrumbs b{color:rgb(var(--fg-2));font-weight:800}.orgp-breadcrumb-plain{color:rgb(var(--muted))}
.orgp-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px;padding:0 2px}.orgp-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;color:rgb(var(--brand));text-transform:uppercase;margin-bottom:7px}.orgp-page-head h1{margin:0;font-size:clamp(26px,3vw,39px);letter-spacing:-.035em;line-height:1.05;color:rgb(var(--fg))}.orgp-page-head p{margin:8px 0 0;color:rgb(var(--muted));font-size:13px;max-width:790px;line-height:1.55}.orgp-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.orgp-add-root{white-space:nowrap;box-shadow:0 10px 26px rgb(var(--brand)/.18)}
.orgp-forest{display:flex;flex-direction:column;gap:22px}.orgp-pyramid-section{border:1px solid rgb(var(--line));border-radius:20px;background:linear-gradient(180deg,rgb(var(--surface)) 0%,rgb(var(--surface-2)/.72) 100%);overflow:visible;box-shadow:0 14px 38px rgb(0 0 0/.07)}.orgp-pyramid-title{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid rgb(var(--line));background:rgb(var(--surface)/.92);border-radius:20px 20px 0 0}.orgp-pyramid-title>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:rgb(var(--brand));color:#fff;font-size:10px;font-weight:900}.orgp-pyramid-title>div{display:flex;flex-direction:column;gap:1px}.orgp-pyramid-title b{font-size:12px;color:rgb(var(--fg))}.orgp-pyramid-title small{font-size:9px;color:rgb(var(--muted))}.orgp-level-stat{margin-left:auto;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:9px;background:rgb(var(--surface-2));border:1px solid rgb(var(--line));color:rgb(var(--muted));font-size:8px}.orgp-level-stat b{font-size:11px;color:rgb(var(--fg))}
/* No horizontal scrolling: each level wraps to a new row. */
.orgp-chart-scroll{overflow:visible;padding:26px 18px 30px;cursor:default}.orgp-chart{display:block;width:100%;min-width:0;padding:0}.orgp-chart ul{position:relative;margin:0;padding-left:0;list-style:none}.orgp-tree-root{display:block!important;padding-top:0!important;width:100%}.orgp-tree-root>.orgp-tree-node{padding-top:0!important;width:100%}.orgp-tree-node{list-style:none;text-align:center;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center}.orgp-tree-children{width:100%;padding-top:36px!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px 14px;align-items:start;justify-items:center}.orgp-tree-children::before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:1.5px solid rgb(var(--line-strong))}.orgp-tree-children>.orgp-tree-node{width:100%;padding:14px 2px 0!important}.orgp-tree-children>.orgp-tree-node::before{content:"";position:absolute;top:0;left:50%;height:14px;border-left:1.5px solid rgb(var(--line-strong))}.orgp-tree-children>.orgp-tree-node::after{display:none!important}.orgp-tree-children .orgp-tree-children{margin-top:8px;padding-top:30px!important;grid-template-columns:1fr;gap:20px}.orgp-tree-children .orgp-tree-children::before{height:18px}.orgp-tree-node.is-hidden>.orgp-card{opacity:.52;filter:saturate(.55)}
/* Portrait cards inspired by board-of-directors layouts. */
.orgp-card{position:relative;width:176px;min-height:316px;border:1px solid rgb(var(--line));border-radius:18px;background:linear-gradient(180deg,rgb(var(--surface)) 0%,rgb(var(--surface-2)/.86) 100%);box-shadow:0 10px 26px rgb(0 0 0/.10);transition:transform .18s,border-color .18s,box-shadow .18s;overflow:visible}.orgp-card::before{content:"";position:absolute;inset:-1px auto -1px -1px;width:3px;border-radius:18px 0 0 18px;background:var(--org-accent,#E31E24)}.orgp-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--org-accent,#E31E24) 45%,rgb(var(--line)));box-shadow:0 18px 40px rgb(0 0 0/.15)}.orgp-card.is-root{width:222px;min-height:374px;border-width:1.5px}.orgp-card.has-pyramid-link{cursor:pointer}.orgp-card.has-pyramid-link:focus-visible{outline:3px solid rgb(var(--brand)/.24);outline-offset:4px}.orgp-card-click{height:100%;padding:14px 11px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;border-radius:18px;outline:none}.orgp-department-chip{max-width:100%;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--org-accent,#E31E24) 12%,transparent);border:1px solid color-mix(in srgb,var(--org-accent,#E31E24) 30%,transparent);color:var(--org-accent,#E31E24);font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:34px;margin-bottom:9px}.orgp-pyramid-badge{display:inline-flex;align-items:center;margin:-2px 0 7px;padding:2px 6px;border-radius:999px;background:rgb(var(--brand)/.08);border:1px solid rgb(var(--brand)/.18);color:rgb(var(--brand));font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.orgp-photo-wrap{position:relative;margin:0 auto 10px;width:132px;height:150px;border-radius:18px;padding:4px;background:linear-gradient(145deg,color-mix(in srgb,var(--org-accent,#E31E24) 82%,#fff),rgb(var(--surface)));box-shadow:0 0 0 1px color-mix(in srgb,var(--org-accent,#E31E24) 42%,transparent),0 10px 22px rgb(0 0 0/.17);overflow:hidden}.orgp-card.is-root .orgp-photo-wrap{width:166px;height:190px;border-radius:22px;padding:5px}.orgp-photo{width:100%;height:100%;object-fit:cover;object-position:center 24%;border-radius:14px;display:block;background:rgb(var(--surface-2));border:2px solid rgb(var(--surface))}.orgp-card.is-root .orgp-photo{border-radius:17px}.orgp-photo-empty{display:grid;place-items:center;color:rgb(var(--muted));font-size:34px;font-weight:900}.orgp-person-name{margin:0;max-width:100%;font-size:12px;line-height:1.28;color:rgb(var(--fg));font-weight:850;letter-spacing:-.01em;word-break:break-word}.orgp-card.is-root .orgp-person-name{font-size:15px}.orgp-person-name.muted{color:rgb(var(--fg-2));font-size:11px}.orgp-position{margin:4px 0 0;color:rgb(var(--muted));font-size:9.5px;line-height:1.35;min-height:25px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.orgp-card.is-root .orgp-position{font-size:11px}.orgp-contacts{margin-top:auto;padding-top:9px;width:100%;display:flex;flex-direction:column;gap:4px}.orgp-contacts a{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:rgb(var(--fg-2));font-size:8px;min-height:21px;border-radius:7px;background:rgb(var(--surface));border:1px solid rgb(var(--line));padding:3px 5px}.orgp-contacts a:hover{color:rgb(var(--brand));border-color:rgb(var(--brand)/.35)}.orgp-contacts a b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orgp-hidden-badge{position:absolute;left:9px;bottom:7px;border-radius:999px;padding:3px 6px;background:rgb(var(--warning-soft));color:rgb(var(--warning));font-size:7px;font-weight:900;text-transform:uppercase}
/* HR/owner controls — always clickable, above card overlay. */
.orgp-card-tools{position:absolute;top:8px;right:8px;z-index:30;display:flex;gap:3px;padding:3px;border-radius:11px;border:1px solid rgb(var(--line));background:rgb(var(--surface));box-shadow:0 8px 22px rgb(0 0 0/.18)}.orgp-tool{position:relative;z-index:31;width:29px;height:29px;border:0;border-radius:8px;background:rgb(var(--surface-2));color:rgb(var(--fg));font-size:13px;font-weight:900;display:grid;place-items:center;cursor:pointer}.orgp-tool:hover{background:rgb(var(--brand));color:#fff;transform:translateY(-1px)}.orgp-tool.danger:hover{background:rgb(var(--danger));color:#fff}.orgp-info-button{position:absolute;left:7px;top:7px;z-index:25;width:25px;height:25px;border-radius:50%;border:1px solid rgb(var(--line-strong));background:rgb(var(--surface-2));color:rgb(var(--muted));font:900 11px/1 inherit;display:grid;place-items:center;cursor:pointer}.orgp-info-button:hover{color:#fff;background:var(--org-accent,#E31E24);border-color:var(--org-accent,#E31E24)}
/* empty/hint */
.orgp-empty{border:1px dashed rgb(var(--line-strong));border-radius:20px;padding:48px 28px;text-align:center;background:rgb(var(--surface)/.7)}.orgp-empty-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:17px;display:grid;place-items:center;background:rgb(var(--brand)/.10);color:rgb(var(--brand));font-size:29px}.orgp-empty h2{margin:0;color:rgb(var(--fg));font-size:19px}.orgp-empty p{max-width:680px;margin:8px auto 17px;color:rgb(var(--muted));font-size:12px;line-height:1.55}.orgp-no-children{margin:0 16px 16px;padding:12px 13px;border:1px dashed rgb(var(--line-strong));border-radius:13px;background:rgb(var(--surface-2)/.55);display:flex;align-items:center;gap:11px}.orgp-no-children>span{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;background:rgb(var(--brand)/.08);color:rgb(var(--brand));font-size:19px}.orgp-no-children>div{min-width:0;flex:1}.orgp-no-children b{display:block;color:rgb(var(--fg));font-size:11px}.orgp-no-children p{margin:3px 0 0;color:rgb(var(--muted));font-size:9px;line-height:1.45}.orgp-admin-hint{margin-top:16px;border:1px solid rgb(var(--line));border-radius:13px;background:rgb(var(--surface));padding:10px 12px;color:rgb(var(--muted));font-size:10px;line-height:1.5}.orgp-admin-hint span{display:inline-block;margin-right:7px;color:rgb(var(--brand));font-size:8px;font-weight:900;letter-spacing:.12em}
/* modals */
body.orgp-modal-open{overflow:hidden!important}.orgp-modal[hidden]{display:none!important}.orgp-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px;overflow:auto;overscroll-behavior:contain}.orgp-modal-backdrop{position:fixed;inset:0;background:rgb(3 7 14/.74);backdrop-filter:blur(8px)}.orgp-modal-panel{position:relative;z-index:1;width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgb(var(--line-strong));border-radius:21px;background:rgb(var(--surface));box-shadow:0 30px 90px rgb(0 0 0/.42)}.orgp-modal-head{position:sticky;top:0;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 17px;border-bottom:1px solid rgb(var(--line));background:rgb(var(--surface)/.96);backdrop-filter:blur(12px)}.orgp-modal-kicker{display:block;font-size:8px;font-weight:900;letter-spacing:.15em;color:rgb(var(--brand));text-transform:uppercase;margin-bottom:5px}.orgp-modal-head h2{margin:0;font-size:19px;color:rgb(var(--fg))}.orgp-modal-head p{margin:4px 0 0;color:rgb(var(--muted));font-size:10px}.orgp-modal-x{flex:none;width:33px;height:33px;border-radius:10px;border:1px solid rgb(var(--line));background:rgb(var(--surface-2));color:rgb(var(--fg));font-size:21px;cursor:pointer}.orgp-node-form,.orgp-responsible-form{padding:16px 17px 17px}.orgp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 13px}.orgp-field-grid label,.orgp-search-label{display:flex;flex-direction:column;gap:6px}.orgp-field-grid label>span,.orgp-search-label>span{font-size:9px;font-weight:850;color:rgb(var(--fg-2))}.orgp-field-grid .full{grid-column:1/-1}.orgp-field-grid input:not([type=checkbox]),.orgp-field-grid textarea,.orgp-search-label input{width:100%;border:1px solid rgb(var(--line-strong));border-radius:10px;background:rgb(var(--surface-2));color:rgb(var(--fg));padding:10px 11px;outline:none;font:inherit;font-size:11px}.orgp-field-grid textarea{resize:vertical;min-height:76px;line-height:1.45}.orgp-field-grid input:focus,.orgp-field-grid textarea:focus,.orgp-search-label input:focus{border-color:rgb(var(--brand));box-shadow:0 0 0 3px rgb(var(--brand)/.10)}.orgp-field-grid input[type=color]{height:40px;padding:4px}.orgp-checkbox{flex-direction:row!important;align-items:center!important}.orgp-checkbox input{width:18px;height:18px}.orgp-pyramid-switch{align-items:flex-start!important;padding:10px 11px;border:1px solid rgb(var(--brand)/.20);border-radius:11px;background:rgb(var(--brand)/.05)}.orgp-pyramid-switch>span{display:flex!important;flex-direction:column;gap:3px}.orgp-pyramid-switch small{font-size:8px;font-weight:500;color:rgb(var(--muted));line-height:1.45}.orgp-form-actions{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid rgb(var(--line))}.orgp-actions-spacer{flex:1}.orgp-form-note{font-size:9px;color:rgb(var(--muted));line-height:1.5;margin:11px 0 0}
/* employee search + independent org photo */
.orgp-responsible-form{position:relative}.orgp-suggestions{margin-top:6px;border:1px solid rgb(var(--line-strong));border-radius:13px;background:rgb(var(--surface));box-shadow:0 14px 34px rgb(0 0 0/.20);max-height:280px;overflow:auto}.orgp-suggestion{width:100%;border:0;border-bottom:1px solid rgb(var(--line));background:transparent;color:rgb(var(--fg));padding:8px 9px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.orgp-suggestion:hover{background:rgb(var(--surface-2))}.orgp-suggestion img{width:44px;height:52px;flex:none;border-radius:10px;object-fit:cover;background:rgb(var(--surface-2));border:1px solid rgb(var(--line-strong))}.orgp-suggestion-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.orgp-suggestion-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orgp-suggestion-copy small{font-size:9px;color:rgb(var(--muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orgp-selected{margin-top:11px;padding:10px;border:1px solid rgb(var(--ok)/.35);background:rgb(var(--ok-soft));border-radius:13px;display:flex;align-items:center;gap:10px}.orgp-selected img{width:62px;height:72px;border-radius:12px;object-fit:cover;border:2px solid rgb(var(--ok)/.40)}.orgp-selected-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.orgp-selected-copy b{font-size:12px}.orgp-selected-copy span{font-size:9px;color:rgb(var(--muted))}.orgp-photo-upload{margin-top:13px;padding:13px;border:1px solid rgb(var(--line));border-radius:14px;background:rgb(var(--surface-2)/.6)}.orgp-photo-upload-copy{display:flex;flex-direction:column;gap:3px}.orgp-photo-upload-copy b{font-size:11px;color:rgb(var(--fg))}.orgp-photo-upload-copy span{font-size:9px;line-height:1.5;color:rgb(var(--muted))}.orgp-photo-upload-row{display:flex;align-items:center;gap:11px;margin-top:11px}.orgp-photo-upload-preview{width:86px;height:102px;border-radius:13px;object-fit:cover;border:2px solid rgb(var(--line-strong));background:rgb(var(--surface))}.orgp-file-button{cursor:pointer}.orgp-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.orgp-file-button span{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border-radius:10px;border:1px solid rgb(var(--line-strong));background:rgb(var(--surface));color:rgb(var(--fg));font-size:10px;font-weight:800}.orgp-file-button:hover span{border-color:rgb(var(--brand));color:rgb(var(--brand))}.orgp-remove-photo{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:9px;color:rgb(var(--fg-2));cursor:pointer}.orgp-remove-photo input{width:17px;height:17px}.orgp-photo-upload>small{display:block;margin-top:8px;color:rgb(var(--muted));font-size:8px}
/* detail */
.orgp-detail-panel{width:min(820px,calc(100vw - 28px))}.orgp-detail-body{display:grid;grid-template-columns:225px 1fr;gap:22px;padding:21px}.orgp-detail-person{text-align:center}.orgp-detail-photo{width:180px;height:210px;border-radius:20px;object-fit:cover;object-position:center 22%;border:4px solid rgb(var(--surface));box-shadow:0 0 0 2px rgb(var(--brand)/.40),0 18px 38px rgb(0 0 0/.18);background:rgb(var(--surface-2))}.orgp-detail-contact{display:flex;flex-direction:column;gap:6px;margin-top:14px}.orgp-detail-contact a{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:9px;border:1px solid rgb(var(--line));background:rgb(var(--surface-2));color:rgb(var(--fg-2));text-decoration:none;font-size:10px}.orgp-detail-copy{display:flex;flex-direction:column;gap:18px}.orgp-detail-copy section>span{display:block;font-size:8px;font-weight:900;letter-spacing:.14em;color:rgb(var(--muted));margin-bottom:6px}.orgp-detail-copy p{margin:0;color:rgb(var(--fg-2));font-size:12px;line-height:1.65;white-space:pre-line}.orgp-detail-copy ul{margin:0;padding-left:18px;color:rgb(var(--fg-2));font-size:11px;line-height:1.65}
@media(max-width:1180px){.orgp-page{padding:20px 14px 40px}.orgp-tree-children{grid-template-columns:repeat(auto-fit,minmax(164px,1fr));gap:28px 10px}.orgp-card{width:166px}.orgp-photo-wrap{width:124px;height:142px}.orgp-card.is-root{width:210px}}
@media(max-width:780px){.orgp-page{padding:15px 8px 32px}.orgp-page-head{align-items:flex-start;flex-direction:column}.orgp-head-actions{width:100%;justify-content:flex-start}.orgp-pyramid-title{padding:11px 12px}.orgp-level-stat{display:none}.orgp-chart-scroll{padding:20px 7px 24px}.orgp-tree-children{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 6px}.orgp-card{width:min(162px,calc(50vw - 20px));min-height:296px}.orgp-photo-wrap{width:min(116px,calc(50vw - 54px));height:132px}.orgp-card.is-root{width:204px}.orgp-card.is-root .orgp-photo-wrap{width:148px;height:170px}.orgp-card-tools{right:-2px}.orgp-field-grid{grid-template-columns:1fr}.orgp-field-grid .full{grid-column:auto}.orgp-modal{padding:8px}.orgp-modal-panel{width:100%;max-height:calc(100vh - 16px);border-radius:15px}.orgp-detail-body{grid-template-columns:1fr;padding:17px}.orgp-detail-photo{width:156px;height:184px}.orgp-form-actions{flex-wrap:wrap}.orgp-actions-spacer{display:none}.orgp-no-children{align-items:flex-start;flex-wrap:wrap}.orgp-no-children .btn{width:100%}}
@media(max-width:420px){.orgp-tree-children{grid-template-columns:1fr}.orgp-card{width:190px}.orgp-photo-wrap{width:136px;height:154px}}

/* Telegram brand icon */
.orgp-telegram-icon{width:17px;height:17px;flex:none;object-fit:contain;border-radius:50%;display:inline-block;vertical-align:middle}
