:root{--nav:#122b49;--nav2:#173b63;--blue:#2469e8;--bg:#eef3f8;--card:#fff;--text:#14233b;--muted:#6e7d90;--green:#26a269;--red:#e65151;--orange:#f2a51a;--line:#c8d5e4}*{box-sizing:border-box}body{margin:0;font:14px/1.35 "Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}.app{display:grid;grid-template-columns:224px 1fr;min-height:100vh}aside{background:linear-gradient(180deg,var(--nav),#0e2440);color:#fff;position:sticky;top:0;height:100vh;padding:18px 12px}.brand{display:flex;gap:10px;align-items:center;padding:0 8px 20px}.brand b{font-size:18px}.brand small{display:block;color:#b7c8da;margin-top:2px}.logo{font-size:30px;color:#6ea8ff}nav button{width:100%;border:0;background:transparent;color:#dbe7f4;text-align:left;padding:12px 14px;border-radius:7px;margin:2px 0;cursor:pointer;font-size:14px}nav button:hover,nav button.active{background:#22558c;color:#fff}.offline{position:absolute;bottom:22px;left:20px;color:#38d883}.offline small{color:#b7c8da}main{min-width:0}header{height:62px;background:#fff;display:flex;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid #dbe4ee;position:sticky;top:0;z-index:5}header input{flex:1;max-width:680px;padding:11px 14px;border:1px solid #cfd9e5;border-radius:7px}.user{margin-left:auto;font-weight:600}.content{padding:24px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.btn{border:1px solid #c9d5e3;background:#fff;padding:9px 13px;border-radius:6px;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.green{background:var(--green);border-color:var(--green);color:#fff}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.grid3{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px}.panel{background:#fff;border:1px solid #dae4ef;border-radius:9px;padding:18px;box-shadow:0 1px 2px #0000000a}.dep h3{margin:0 0 12px;font-size:18px}.metric{display:flex;justify-content:space-between;margin:8px 0}.big{font-size:28px;font-weight:700}.progress{height:9px;background:#e7edf4;border-radius:99px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:var(--green)}.org{background:#fff;border:1px solid #dbe4ee;border-radius:10px;padding:22px;overflow:auto}.level{display:grid;gap:22px;justify-content:center;margin:0 auto 30px}.level.l1{grid-template-columns:minmax(390px,440px)}.level.l2{grid-template-columns:repeat(2,minmax(370px,420px))}.level.l3{grid-template-columns:repeat(4,minmax(310px,350px));min-width:1360px}.level.l4{grid-template-columns:repeat(8,minmax(220px,240px));min-width:1910px}.emp-card{border:1px solid #7bc8a0;border-radius:7px;padding:12px;background:#fbfffd;display:grid;grid-template-columns:70px minmax(0,1fr);gap:11px;min-height:106px;position:relative;overflow:hidden}.emp-card.vacant{border-color:#f1a2a2;background:#fffafa}.avatar{width:70px;height:82px;border-radius:6px;background:linear-gradient(145deg,#d8e1eb,#afbecd);display:flex;align-items:center;justify-content:center;font-size:27px;color:#fff;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.emp-card b{display:block;font-size:14px;line-height:1.25;overflow-wrap:anywhere}.emp-card small{display:block;color:var(--muted);margin-top:4px;font-size:12px;line-height:1.25;overflow-wrap:anywhere}.salary{font-weight:700;margin-top:5px;font-size:13px}.badge{display:inline-block;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:700}.badge.red{background:#ffe0e0;color:#c92828}.badge.green{background:#def5e8;color:#168047}.tablewrap{background:#fff;border:1px solid #dae4ef;border-radius:9px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid #e7edf4;text-align:left;white-space:nowrap}th{background:#f7f9fc;color:#4d5c70}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat{background:#fff;border:1px solid #dae4ef;border-radius:8px;padding:16px}.stat .big{font-size:24px}.modal{position:fixed;inset:0;background:#0b162780;display:flex;align-items:center;justify-content:center;z-index:20}.modal.hidden{display:none}.modal-card{width:min(720px,94vw);max-height:92vh;overflow:auto;background:#fff;border-radius:10px;padding:24px;position:relative}.x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;cursor:pointer}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label{font-size:12px;color:var(--muted)}.formgrid input,.formgrid select,.formgrid textarea{width:100%;padding:9px;border:1px solid #cfd9e5;border-radius:6px;margin-top:4px}.formgrid textarea{min-height:70px}.span2{grid-column:1/-1}.right{margin-left:auto}.muted{color:var(--muted)}h1{margin:0 0 4px;font-size:24px}h2{margin:0 0 14px}.tabs{display:flex;gap:6px;margin-bottom:16px}.tabs button{padding:8px 12px;border:1px solid #cad6e3;background:#fff;border-radius:6px;cursor:pointer}.tabs .active{background:#eaf2ff;color:#1458c4;border-color:#a9c5f5}@media(max-width:1000px){.app{grid-template-columns:78px 1fr}.brand div:last-child,nav button span,.offline small{display:none}.brand{justify-content:center}.grid3,.cards{grid-template-columns:1fr 1fr}.level.l3{grid-template-columns:repeat(2,1fr)}}
.btn.contractor{background:#d98b17;border-color:#d98b17;color:#fff}.badge.amber{background:#fff0d1;color:#9a6200}.notice{background:#f7f9fc;border:1px solid #d7e0eb;border-left:4px solid #2469e8;border-radius:7px;padding:10px 12px;margin-bottom:16px;color:#4d5c70}.contractor-note{border-left-color:#d98b17;background:#fff8ea}.contractor-section{border-top:2px dashed #e4b45c;margin-top:8px;padding-top:18px}.contractor-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#8a5a00}.contractor-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px}.contractor-card{border-color:#e6a23c;background:#fff9ec}.three-export{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.export-dep-btn{border:1px solid #b7c9df;background:#f7fbff;border-radius:9px;padding:18px;text-align:left;cursor:pointer;color:#17365d}.export-dep-btn:hover{border-color:#2469e8;background:#edf5ff}.export-dep-btn b{display:block;font-size:17px}.export-dep-btn small{display:block;color:#6e7d90;margin-top:6px}.export-options{display:flex;gap:20px;flex-wrap:wrap;color:#4d5c70}.export-options label{display:flex;align-items:center;gap:7px}@media(max-width:1100px){.contractor-grid,.three-export{grid-template-columns:1fr 1fr}}@media(max-width:760px){.contractor-grid,.three-export{grid-template-columns:1fr}}
.salary-panel{max-width:none;min-width:0}.salary-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.salary-grid label{display:grid;grid-template-columns:minmax(180px,1fr) minmax(145px,190px) 82px;gap:12px;align-items:center;border:1px solid #dbe4ee;border-radius:8px;padding:14px 16px;background:#f9fbfd;min-width:0}.salary-grid label span{font-weight:600;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.salary-grid input{width:100%;min-width:0;padding:9px 10px;border:1px solid #cfd9e5;border-radius:6px;text-align:right;font-weight:700}.salary-grid small{color:var(--muted);white-space:nowrap}.salary-auto{padding:12px 14px;border-radius:7px;background:#eef5ff;border:1px solid #bed4f5;color:#28476d}.photo-preview{margin-top:8px;display:flex;align-items:center;gap:10px;min-height:52px}.photo-preview img{width:48px;height:56px;object-fit:cover;border-radius:6px;border:1px solid #d5dee9}.employee-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.employee-head h2{margin:0 0 6px}.employee-big-photo{width:78px;height:90px;border-radius:8px;object-fit:cover;border:1px solid #d5dee9;background:#e7edf4;display:flex;align-items:center;justify-content:center;font-size:34px}.form-photo-current{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc}.form-photo-current img,.form-photo-current .no-photo{width:72px;height:82px;object-fit:cover;border-radius:7px;background:#e7edf4;display:flex;align-items:center;justify-content:center;font-size:30px}.form-photo-current span{color:var(--muted)}
@media(max-width:760px){.salary-grid{grid-template-columns:1fr}.salary-grid label{grid-template-columns:1fr}.salary-grid input{text-align:left}}
.excel-btn{border-color:#9fcab1;background:#f3fbf6;color:#17653f}.excel-btn:hover{border-color:#26a269;background:#eaf8ef}.import-top{align-items:stretch}.import-panel{margin-top:16px}.file-box{display:flex;align-items:center;gap:14px;border:2px dashed #b8c7d8;border-radius:9px;padding:18px;background:#f9fbfd;cursor:pointer}.file-box input{max-width:330px}.file-box span{color:var(--muted)}.sync-check{display:flex;gap:10px;align-items:flex-start}.sync-check input{margin-top:4px}.sync-check small{display:block;color:var(--muted);margin-top:5px}.import-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:16px 0}.import-summary>div{background:#f7f9fc;border:1px solid #dbe4ee;border-radius:7px;padding:12px}.import-summary span{display:block;color:var(--muted);font-size:12px}.import-summary b{display:block;font-size:20px;margin-top:3px}.import-error{border-left-color:var(--red);background:#fff4f4}.import-ok{border-left-color:var(--green);background:#f2fbf6}.import-errors{max-height:220px;overflow:auto;margin-top:8px;font-size:13px}.import-errors div{padding:5px 0;border-bottom:1px solid #f0dada}.import-preview{margin-top:12px;max-height:480px}.hidden-force{display:none!important}.frozen-row{background:#fff8ea;border-radius:6px;padding:7px 9px;margin-left:-9px;margin-right:-9px}.badge.amber{background:#fff0d1;color:#9a6200}
@media(max-width:1100px){.import-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.import-summary{grid-template-columns:repeat(2,1fr)}.file-box{align-items:flex-start;flex-direction:column}}
.level.l5{grid-template-columns:minmax(390px,440px)}
.btn.contractor-off{background:#f3f5f8;border-color:#b7c3d0;color:#5d6b7a}
.contractor-disabled{border-left-color:#9aa7b5;background:#f1f4f7}
.contractor-section.disabled{border-top-color:#c8d1dc}
.position-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e7edf4}.position-row:last-of-type{border-bottom:0}.position-row small{display:block;color:var(--muted);margin-top:3px}.badge.gray{background:#edf1f5;color:#637083}

/* v5.10: compact hierarchy. Four specialist branches; two junior specialists are stacked vertically under each specialist. */
.org{padding:18px 16px}
.org .level{gap:16px;margin-bottom:22px}
.org .emp-card{grid-template-columns:58px minmax(0,1fr);gap:8px;min-height:90px;padding:9px;font-size:12px}
.org .avatar{width:58px;height:70px;font-size:23px}
.org .emp-card b{font-size:12px;line-height:1.18;overflow-wrap:break-word;word-break:normal}
.org .emp-card small{font-size:10.5px;line-height:1.18;margin-top:3px;overflow-wrap:break-word;word-break:normal}
.org .salary{font-size:11.5px;margin-top:4px}
.org .badge{font-size:9.5px;padding:2px 5px}
.specialist-branches{display:grid;grid-template-columns:repeat(4,minmax(245px,270px));gap:18px;max-width:1134px;margin:0 auto 24px;align-items:start;justify-content:center}
.specialist-branch{min-width:0;display:flex;flex-direction:column;gap:9px;position:relative;align-items:stretch}
.branch-specialist{width:100%;margin:0 auto}
.junior-stack{display:flex;flex-direction:column;gap:8px;width:100%}
.junior-stack .emp-card{grid-template-columns:46px minmax(0,1fr);gap:7px;min-height:82px;padding:7px 8px}
.junior-stack .avatar{width:46px;height:58px;font-size:20px}
.junior-stack .emp-card b{font-size:10.5px;line-height:1.16}
.junior-stack .emp-card small{font-size:9.2px;line-height:1.14}
.junior-stack .salary{font-size:10px}
.junior-stack .badge{font-size:8.5px;padding:2px 4px}
@media(max-width:1250px){.specialist-branches{grid-template-columns:repeat(2,minmax(245px,270px));max-width:570px}}
@media(max-width:720px){.specialist-branches{grid-template-columns:minmax(245px,270px);max-width:270px}}


/* v5.9: filters and numeric module sorting in Employees */
.employee-filters{margin-bottom:14px;padding:14px 16px}
.employee-filter-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.employee-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr)) auto;gap:10px;align-items:end}
.employee-filter-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:600;min-width:0}
.employee-filter-grid select{width:100%;min-width:0;padding:8px 9px;border:1px solid #cfd9e5;border-radius:6px;background:#fff;color:#18283c}
.employee-reset{height:35px;white-space:nowrap}
.employees-table th.sortable{cursor:pointer;user-select:none;transition:background .15s ease,color .15s ease}
.employees-table th.sortable:hover{background:#eaf2ff;color:#1458c4}
.employees-table th.module-sort{color:#1458c4}
.empty-filter{padding:28px;text-align:center;color:var(--muted);background:#fff}
@media(max-width:1450px){.employee-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}}
@media(max-width:850px){.employee-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.employee-filter-title{align-items:flex-start;flex-direction:column;gap:4px}}


/* v5.11: hierarchy layout matching the approved reference.
   1 chief centered; 2 leading specialists wide apart; 4 specialist branches;
   under each specialist, two junior specialists are side-by-side. */
.org-tree-canvas{min-width:1580px;width:max-content;min-height:100%;margin:0 auto;padding:0 8px 12px}
.org-tree-canvas .org-chief{display:grid;grid-template-columns:320px;justify-content:center;margin:0 auto 22px}
.org-tree-canvas .org-leads{display:grid;grid-template-columns:360px 360px;justify-content:space-between;width:1120px;margin:0 auto 24px}
.org-tree-canvas .specialist-branches{display:grid;grid-template-columns:repeat(4,360px);gap:18px;width:1494px;max-width:none;margin:0 auto 22px;align-items:start;justify-content:center}
.org-tree-canvas .specialist-branch{display:grid;grid-template-rows:auto auto;gap:10px;width:360px;min-width:360px;align-items:start}
.org-tree-canvas .branch-specialist{width:280px;justify-self:center}
.org-tree-canvas .junior-stack{display:grid;grid-template-columns:1fr;gap:10px;width:360px}
.org-tree-canvas .emp-card{grid-template-columns:54px minmax(0,1fr);gap:8px;min-height:88px;padding:8px 9px}
.org-tree-canvas .avatar{width:54px;height:66px;font-size:21px}
.org-tree-canvas .emp-card b{font-size:12px;line-height:1.18;overflow-wrap:normal;word-break:normal}
.org-tree-canvas .emp-card small{font-size:10.2px;line-height:1.15;margin-top:3px;overflow-wrap:normal;word-break:normal}
.org-tree-canvas .salary{font-size:10.5px;margin-top:3px}
.org-tree-canvas .badge{font-size:8.5px;padding:2px 4px}
.org-tree-canvas .junior-stack .emp-card{grid-template-columns:54px minmax(0,1fr);gap:8px;min-height:86px;padding:8px 9px}
.org-tree-canvas .junior-stack .avatar{width:54px;height:64px;font-size:20px}
.org-tree-canvas .junior-stack .emp-card b{font-size:11.5px;line-height:1.16}
.org-tree-canvas .junior-stack .emp-card small{font-size:10px;line-height:1.14}
.org-tree-canvas .junior-stack .salary{font-size:10.8px}
.org-tree-canvas .extra-level{margin-top:14px}
@media(max-width:1200px){.org-tree-canvas{min-width:1580px}.org-tree-canvas .specialist-branches{grid-template-columns:repeat(4,360px);width:1494px}.org-tree-canvas .org-leads{width:1120px}}


/* v5.12: штат / занято / вакансии по должностям на главном экране */
.role-break-title{margin:16px 0 7px;font-size:12px;color:#33465f}
.role-breakdown{border:1px solid #dce5ef;border-radius:8px;overflow:hidden;background:#fff}
.role-break-head,.role-break-row{display:grid;grid-template-columns:minmax(135px,1fr) 56px 62px 62px;gap:6px;align-items:center;padding:7px 9px}
.role-break-head{background:#f3f6fa;color:#68788d;font-size:10px;font-weight:700}
.role-break-row{border-top:1px solid #edf1f5;font-size:11px}
.role-break-row span:first-child{min-width:0}.role-break-row span:first-child b{display:inline-block;min-width:28px}.role-break-row span:first-child small{display:block;color:var(--muted);font-size:9px;line-height:1.15;white-space:normal}
.role-break-row> b{text-align:center}.vacancy-count{color:#cf3434}.org-role-total{margin-top:16px}
.vacancy-drilldown{font:inherit;font-weight:700;color:inherit;background:transparent;border:1px solid transparent;border-radius:5px;min-width:32px;min-height:28px;padding:3px 7px;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.vacancy-drilldown:hover{background:#ff7f8818;border-color:currentColor;text-decoration-style:solid}
.vacancy-drilldown:focus-visible,.home-vacancy-module:focus-visible{outline:2px solid #64b5ff;outline-offset:2px}
.home-vacancy-list{max-height:55vh;overflow:auto;margin:16px 0;border:1px solid #2a4054;border-radius:7px}
.home-vacancy-list table{width:100%;border-collapse:collapse}.home-vacancy-list th,.home-vacancy-list td{padding:10px 12px;text-align:left;border-bottom:1px solid #2a4054}
.home-vacancy-list .home-vacancy-number{text-align:center;width:90px}.home-vacancy-module{font:inherit;border:0;background:transparent;color:#79bdff;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){.role-break-head,.role-break-row{grid-template-columns:minmax(110px,1fr) 52px 58px 58px}}

/* v5.13: compact employee photo next to full name in Employees */
.employees-table .employee-name-cell{display:flex;align-items:center;gap:9px;min-width:250px;white-space:normal}
.employees-table .employee-name-cell b{line-height:1.2}
.employee-list-avatar{width:36px;height:42px;min-width:36px;border-radius:5px;background:linear-gradient(145deg,#d8e1eb,#afbecd);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-size:17px;border:1px solid #d4dde7}
.employee-list-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.employees-table tbody td{vertical-align:middle}

/* v5.14: protected personnel database and selective manager export */
.manager-export-select{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;margin-top:12px}.manager-dep-check{display:flex;align-items:center;gap:10px;border:1px solid #d7e2ee;border-radius:8px;padding:12px 14px;background:#f8fbff;cursor:pointer}.manager-dep-check input{width:18px;height:18px}.manager-dep-check span{display:block}.manager-dep-check b,.manager-dep-check small{display:block}.manager-dep-check small{color:var(--muted);margin-top:2px}.db-lock-panel{max-width:520px;margin:50px auto;text-align:center;padding:30px}.db-lock-icon{font-size:42px;margin-bottom:8px}.db-lock-panel form{display:grid;gap:12px;text-align:left;margin-top:20px}.db-lock-panel label{display:grid;gap:5px;color:var(--muted);font-size:12px}.db-lock-panel input{padding:10px 12px;border:1px solid #cfd9e5;border-radius:7px}.db-toolbar{position:sticky;left:0}.db-search{min-width:330px;padding:9px 12px;border:1px solid #cfd9e5;border-radius:6px}.db-table-wrap{max-height:calc(100vh - 250px);overflow:auto}.db-table{width:max-content;min-width:100%;font-size:11px}.db-table th{position:sticky;top:0;z-index:2;background:#a9d18e;color:#14233b;white-space:normal;min-width:110px;max-width:210px;text-align:center;border-right:1px solid #7da468;padding:8px 7px}.db-table th:nth-child(1){min-width:48px}.db-table th:nth-child(2){min-width:70px}.db-table th:nth-child(3){min-width:220px}.db-table td{white-space:normal;min-width:110px;max-width:220px;vertical-align:middle;border-right:1px solid #e2e7ec}.db-table td:nth-child(1){min-width:48px;text-align:center}.db-table td:nth-child(2){min-width:70px;text-align:center}.db-table td:nth-child(3){min-width:220px;font-weight:600}.db-photo-cell img{width:42px;height:50px;object-fit:cover;border-radius:4px;border:1px solid #ccd6e1}.db-table tbody tr:hover{background:#f0f7ed}@media(max-width:900px){.manager-export-select{grid-template-columns:1fr}.db-search{min-width:220px}}


/* v5.15: contractor distribution by frozen role on the main dashboard */
.role-break-head,.role-break-row{grid-template-columns:minmax(150px,1fr) 58px 58px 62px 64px}
.role-break-row .contractor-count{color:#b66a00}
.contractor-role-note{margin-top:7px;color:#7a8797;font-size:11px;line-height:1.35}


/* v5.16: redesigned protected personnel database */
.db-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:14px}.db-kpi{background:linear-gradient(145deg,#fff,#f6fbf8);border:1px solid #d6e5dc;border-radius:11px;padding:15px 16px;box-shadow:0 2px 8px #163d2b0b}.db-kpi span{display:block;color:#65756d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.35px}.db-kpi b{display:block;font-size:25px;color:#214d3a;margin:3px 0}.db-kpi small{display:block;color:#7c8b83;font-size:10px}.db-control-panel{padding:14px 16px;margin-bottom:12px}.db-primary-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.db-spacer{flex:1}.db-filter-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(170px,1fr)) auto;gap:9px;align-items:end;padding-top:11px;border-top:1px solid #e7eee9}.db-filter-grid label{display:grid;gap:4px;color:#66776e;font-size:10px;font-weight:700}.db-filter-grid input,.db-filter-grid select{width:100%;height:36px;padding:7px 9px;border:1px solid #ccd9d1;border-radius:7px;background:#fff;color:#1b3026}.db-view-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 10px;scrollbar-width:thin}.db-view-tab{white-space:nowrap;border:1px solid #ccd9d1;background:#fff;color:#42554b;border-radius:999px;padding:7px 11px;cursor:pointer;font-size:11px}.db-view-tab small{opacity:.65}.db-view-tab.active{background:#2c6a4e;border-color:#2c6a4e;color:#fff}.db-table-panel{padding:0;overflow:hidden}.db-table-title{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #e0e8e3;background:#fbfdfc}.db-table-title b{font-size:14px}.db-table-title small{display:block;color:#7a8981;margin-top:2px;font-size:10px}.db-table-title>span{font-size:11px;color:#607168;background:#edf5f0;border-radius:999px;padding:5px 9px}.db-table-wrap{max-height:calc(100vh - 390px);min-height:300px;border:0;border-radius:0;overflow:auto}.db-table{width:max-content;min-width:100%;font-size:10.5px;background:#fff}.db-table th{position:sticky;top:0;z-index:3;background:#2c6a4e;color:#fff;white-space:normal;min-width:112px;max-width:220px;text-align:center;border-right:1px solid #4e826c;padding:9px 7px;font-weight:700}.db-table td{white-space:normal;min-width:112px;max-width:240px;vertical-align:middle;border-right:1px solid #e3e9e5;padding:8px 9px}.db-table th:first-child,.db-table td:first-child{min-width:52px;text-align:center}.db-table .db-photo-cell{min-width:70px;text-align:center}.db-photo-cell img,.db-no-photo{width:40px;height:48px;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;border-radius:6px;border:1px solid #d0ddd5;background:#e7eee9}.db-name-cell{min-width:245px!important;max-width:285px!important}.db-name-cell b{font-size:11.5px;line-height:1.2}.db-table tbody tr:nth-child(even){background:#fbfdfc}.db-table tbody tr:hover{background:#eef8f2;box-shadow:inset 3px 0 #3d8b66}.db-action-head,.db-row-actions{position:sticky!important;right:0;z-index:2;min-width:84px!important;background:#fff!important;box-shadow:-4px 0 8px #183a2a10}.db-action-head{z-index:4;background:#2c6a4e!important;color:#fff!important}.db-open-btn{padding:5px 8px;font-size:10px}.db-modal-wide{width:min(1180px,96vw);max-height:94vh;padding:24px 26px}.db-record-head{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid #e3ebe6;margin-bottom:12px}.db-record-head img,.db-record-photo-empty{width:72px;height:86px;border-radius:8px;object-fit:cover;background:#e5ede8;border:1px solid #cbd9d0;display:flex;align-items:center;justify-content:center;font-size:30px}.db-record-head h2{margin:0 0 4px}.db-record-head p{margin:0}.db-photo-editor{display:flex;align-items:center;gap:12px;margin-bottom:12px}.db-remove-photo{font-size:11px;color:#66776e}.db-form-section{border:1px solid #dce7e0;border-radius:9px;margin:9px 0;background:#fff;overflow:hidden}.db-form-section summary{cursor:pointer;padding:11px 13px;background:#f3f8f5;color:#274c3b;font-weight:700;list-style:none}.db-form-section summary::-webkit-details-marker{display:none}.db-form-section summary:after{content:'▾';float:right;color:#71917f}.db-form-section:not([open]) summary:after{content:'▸'}.db-form-section summary span{font-weight:400;color:#7c8d84;font-size:10px;margin-left:6px}.db-field-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px;padding:13px}.db-field-grid label{display:grid;gap:4px;align-content:start;color:#65756d;font-size:10px;font-weight:600}.db-field-grid label span{min-height:25px}.db-field-grid label em{color:#d44848;font-style:normal;margin-left:2px}.db-field-grid input,.db-field-grid textarea{width:100%;padding:8px 9px;border:1px solid #ccd9d1;border-radius:6px;background:#fff;color:#1c3026;font:12px/1.3 "Segoe UI",Arial,sans-serif}.db-field-grid textarea{min-height:68px;resize:vertical}.db-field-wide{grid-column:span 2}.db-form-footer{position:sticky;bottom:-24px;background:#fff;border-top:1px solid #e0e8e3;margin:14px -26px -24px;padding:13px 26px;display:flex;gap:9px;z-index:4}.db-field-manager{display:grid;gap:8px;margin-top:14px}.db-field-manager-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border:1px solid #dce7e0;border-radius:7px;background:#fbfdfc}.db-field-manager-row span{display:flex;gap:6px}.db-import-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}.db-import-cards>div{background:#f4f8f5;border:1px solid #d9e5de;border-radius:8px;padding:10px;text-align:center}.db-import-cards span{display:block;color:#708077;font-size:10px}.db-import-cards b{display:block;font-size:19px;color:#27543f;margin-top:2px}.db-import-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.db-import-mode label{display:flex;gap:10px;align-items:flex-start;border:1px solid #cfe0d6;border-radius:9px;padding:13px;background:#f8fcfa;cursor:pointer}.db-import-mode label.danger{border-color:#efcccc;background:#fff9f9}.db-import-mode input{margin-top:4px}.db-import-mode b,.db-import-mode small{display:block}.db-import-mode small{color:#74837b;margin-top:4px;line-height:1.35}.db-lock-panel{border-top:4px solid #2c6a4e}.db-lock-icon{filter:saturate(.7)}
@media(max-width:1250px){.db-filter-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.db-kpis{grid-template-columns:repeat(2,1fr)}.db-field-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.db-import-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.db-kpis,.db-field-grid,.db-import-mode{grid-template-columns:1fr}.db-field-wide{grid-column:auto}.db-filter-grid{grid-template-columns:1fr}.db-import-cards{grid-template-columns:repeat(2,1fr)}}

/* v5.17 base protected database (restyled by v6.0) */
.db-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:center;background:linear-gradient(135deg,#173d2d,#2f6f52);color:#fff;border-radius:14px;padding:20px 22px;margin-bottom:14px;box-shadow:0 8px 24px #173d2d20}.db-hero h2{margin:7px 0 5px;font-size:22px}.db-hero p{margin:0;max-width:850px;color:#d9ebe2;font-size:12px;line-height:1.5}.db-security-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff18;border:1px solid #ffffff30;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;letter-spacing:.2px}.db-last-update{background:#ffffff10;border:1px solid #ffffff25;border-radius:10px;padding:12px 14px}.db-last-update span,.db-last-update small{display:block;color:#d4e7dd;font-size:10px}.db-last-update b{display:block;font-size:18px;margin:3px 0}.db-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.db-mini-panel{background:#fff;border:1px solid #dce8e1;border-radius:10px;padding:12px 14px}.db-mini-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.db-mini-title b{font-size:12px;color:#244c3b}.db-mini-title small{color:#829087;font-size:9px}.db-mini-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,2fr) 34px;gap:8px;align-items:center;padding:4px 0;font-size:10px}.db-mini-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-mini-row i{height:6px;background:#edf3ef;border-radius:999px;overflow:hidden}.db-mini-row i em{display:block;height:100%;background:#4a8b6c;border-radius:999px}.db-mini-row>b{text-align:right;color:#295440}.db-mini-empty{padding:12px;color:#8a9690;text-align:center;font-size:10px}.db-mode-switch{display:inline-flex;border:1px solid #cedbd3;border-radius:8px;overflow:hidden;background:#f7faf8}.db-mode-switch button{border:0;background:transparent;color:#53665c;padding:7px 10px;font-size:10px;cursor:pointer}.db-mode-switch button.active{background:#2c6a4e;color:#fff}.db-cards-panel{padding:14px}.db-filter-result{display:flex;justify-content:flex-end;color:#697970;font-size:10px;margin-bottom:8px}.db-card-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:12px}.db-person-card{border:1px solid #d7e4dc;border-radius:11px;background:#fff;padding:12px;box-shadow:0 2px 9px #173d2d0b;transition:.15s ease;cursor:default}.db-person-card:hover{transform:translateY(-1px);border-color:#96c2aa;box-shadow:0 6px 18px #173d2d14}.db-person-top{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:start}.db-person-photo,.db-person-photo img{width:58px;height:70px;border-radius:8px}.db-person-photo{display:flex;align-items:center;justify-content:center;background:#e7efea;border:1px solid #d2dfd7;font-size:24px;overflow:hidden}.db-person-photo img{object-fit:cover}.db-person-name h3{font-size:13px;line-height:1.25;margin:2px 0 5px;color:#14293e}.db-person-name>div{font-size:10px;color:#2d684e;font-weight:700}.db-person-name small{display:block;margin-top:3px;color:#78877f;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-complete{min-width:43px;text-align:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:800}.db-complete.high{background:#dff2e7;color:#236b48}.db-complete.mid{background:#fff0cf;color:#986400}.db-complete.low{background:#fde3e3;color:#a63d3d}.db-person-info{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;border-top:1px solid #edf1ee;margin-top:10px;padding-top:9px}.db-person-info div{min-width:0}.db-person-info span{display:block;color:#89968f;font-size:8.5px;text-transform:uppercase;letter-spacing:.2px}.db-person-info b{display:block;color:#273a31;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.db-person-actions{display:flex;align-items:center;gap:9px;border-top:1px solid #edf1ee;margin-top:10px;padding-top:9px}.db-person-actions .btn{padding:6px 9px;font-size:9.5px}.db-person-actions span{margin-left:auto;color:#84928a;font-size:9px}.db-new-field-label{display:grid;gap:6px;margin:14px 0;color:#5f6f67;font-size:11px;font-weight:700}.db-new-field-label input{padding:10px 11px;border:1px solid #ccd9d1;border-radius:7px;font:12px "Segoe UI",Arial,sans-serif}
@media(max-width:1450px){.db-card-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}}
@media(max-width:900px){.db-hero{grid-template-columns:1fr}.db-mini-grid,.db-card-grid{grid-template-columns:1fr}.db-last-update{max-width:none}}

/* =========================================================
   v6.0 CORPORATE DARK UI
   ========================================================= */
:root{
  --nav:#07111d;
  --nav2:#0b2034;
  --blue:#2f7df4;
  --blue2:#1e63c9;
  --cyan:#4bb7e8;
  --bg:#091521;
  --card:#102235;
  --card2:#0d1d2e;
  --card3:#13283e;
  --text:#e9f2fb;
  --muted:#8fa3b7;
  --green:#21b67a;
  --red:#e45863;
  --orange:#e8a33c;
  --line:#24384b;
  --line2:#2b445c;
}
html{background:var(--bg);color-scheme:dark}
body{background:radial-gradient(circle at 80% 0,#102842 0,#091521 37%,#07111d 100%);color:var(--text);font:13px/1.42 "Segoe UI",Arial,sans-serif}
.app{grid-template-columns:250px minmax(0,1fr);background:transparent}
aside{background:linear-gradient(180deg,#07111d 0%,#08192a 48%,#06111d 100%);border-right:1px solid #183047;padding:0 12px 18px;box-shadow:8px 0 26px #0000002e;z-index:9}
.brand{height:84px;padding:15px 9px 14px;border-bottom:1px solid #173047;margin:0 -2px 9px;gap:12px}
.brand-copy{min-width:0}.brand-copy b{font-size:16px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:10px;color:#9eb4c8;margin-top:1px}.brand-copy em{font-style:normal;display:inline-block;margin-top:5px;font-size:8.5px;letter-spacing:.6px;color:#65c8ef;border:1px solid #245675;background:#0a263c;padding:2px 6px;border-radius:999px}
.logo-mark{width:35px;height:35px;position:relative;transform:rotate(45deg);flex:0 0 35px}.logo-mark span{position:absolute;width:13px;height:13px;border-radius:2px;background:linear-gradient(135deg,#9edcff,#4d8df3);box-shadow:0 0 12px #3c96ff33}.logo-mark span:nth-child(1){left:0;top:0}.logo-mark span:nth-child(2){right:0;top:0}.logo-mark span:nth-child(3){left:0;bottom:0}.logo-mark span:nth-child(4){right:0;bottom:0;background:#d9edff}
nav{display:grid;gap:3px;max-height:calc(100vh - 168px);overflow:auto;padding:2px 0 12px;scrollbar-width:thin;scrollbar-color:#24445f transparent}nav button{height:42px;display:flex;align-items:center;gap:11px;border:1px solid transparent;background:transparent;color:#aebfd0;text-align:left;padding:0 11px;border-radius:7px;margin:0;transition:.15s ease;font-size:12.5px}nav button:hover{background:#0d263d;color:#e9f5ff;border-color:#173a58}nav button.active{background:linear-gradient(90deg,#123c62,#0f2f4d);border-color:#285d88;color:#fff;box-shadow:inset 3px 0 #4aa7ff,0 4px 12px #00000020}.nav-icon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:#8fbce9;background:#0b1d2e;border:1px solid #1c3952;font-size:15px;flex:0 0 24px}.active .nav-icon{background:#194f7c;color:#dff2ff;border-color:#397aad}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.offline{left:13px;right:13px;bottom:14px;display:flex;gap:9px;align-items:center;border:1px solid #19384e;background:#091c2c;border-radius:8px;padding:9px 10px;color:#d5e5f2}.offline-dot{width:8px;height:8px;background:#31d38b;border-radius:50%;box-shadow:0 0 10px #31d38b80}.offline b{display:block;font-size:10.5px}.offline small{display:block;font-size:9px;color:#7890a4;margin-top:1px}
main{background:linear-gradient(180deg,#091521,#0a1724);min-height:100vh}
header{height:64px;background:#0a1724eF;border-bottom:1px solid #20384e;backdrop-filter:blur(10px);padding:0 20px;box-shadow:0 5px 18px #0000001c}.global-search{display:flex;align-items:center;gap:9px;flex:1;max-width:700px}.global-search>span{color:#7390a8;font-size:20px}.global-search input,header input{max-width:none;width:100%;background:#0c1d2e;border:1px solid #284158;color:#eaf5ff;padding:10px 13px;border-radius:7px;outline:none;box-shadow:inset 0 1px 2px #0003}.global-search input:focus{border-color:#397fc0;box-shadow:0 0 0 3px #2c79bf1f}.global-search input::placeholder{color:#70879a}.header-meta{margin-left:auto;display:flex;align-items:center;gap:10px}.clock{padding:2px 12px 2px 0;border-right:1px solid #24384b;text-align:right}.clock b{display:block;font-size:13px}.clock small{display:block;color:#7f93a6;font-size:9px;margin-top:1px}.user-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2e75bd,#163d65);border:1px solid #4d87bd;color:#fff;font-weight:700}.user{margin:0;min-width:100px}.user b{display:block;font-size:11px}.user small{display:block;color:#7f95a8;font-size:8.5px;margin-top:1px}
.content{padding:21px 22px 30px}h1{font-size:22px;color:#f1f7fd;letter-spacing:.1px}h2,h3,h4{color:#ecf5fc}.muted{color:var(--muted)}
.panel,.stat,.org,.tablewrap{background:linear-gradient(180deg,#102235,#0e1f31);border-color:var(--line);box-shadow:0 6px 18px #00000018}.panel{border-radius:10px}.dep{position:relative;overflow:hidden}.dep:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#4e9fff,#1c5fb3)}.dep h3{color:#f0f7fd}.metric{padding:3px 0;color:#9fb1c2}.metric b{color:#edf6ff}.big{color:#f1f7fd}.progress{background:#182d40}.progress i{background:linear-gradient(90deg,#1f9f72,#36d199)}
.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}.stat{position:relative;overflow:hidden;padding:14px 15px}.stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#1b68bc,#46b3e6);opacity:.75}.stat .muted{font-size:10px;text-transform:uppercase;letter-spacing:.35px}.stat .big{font-size:23px;margin-top:3px}
.btn{border-color:#30475c;background:#11283b;color:#d8e6f2;box-shadow:0 1px 0 #ffffff08;transition:.12s ease}.btn:hover{background:#17344b;border-color:#42637f;transform:translateY(-1px)}.btn.primary{background:linear-gradient(#2d83f2,#2268ce);border-color:#3d8bf0;color:#fff}.btn.green{background:linear-gradient(#27b77b,#169762);border-color:#2ac182}.btn.red{background:linear-gradient(#d95762,#bd3f4a);border-color:#e46771}.btn.contractor{background:linear-gradient(#d9952d,#bd7417);border-color:#e6a53f}.btn.excel-btn,.excel-btn{background:#102e28;border-color:#245a49;color:#67ddb2}.btn.excel-btn:hover,.excel-btn:hover{background:#154136;border-color:#2c7b5f}.toolbar select.btn{appearance:auto;color:#d7e4ef}.toolbar a{text-decoration:none}
.notice{background:#0d2235;border-color:#2a455d;border-left-color:#3c91e6;color:#9fb4c6}.contractor-note{background:#281e0d;border-color:#67491d;border-left-color:#d6922f;color:#d5b476}
.org{background:radial-gradient(circle at 50% 0,#10263b,#0c1a29 55%,#091620 100%);border-color:#263d52}.org-tree-canvas{color:#dce9f4}.emp-card{background:linear-gradient(180deg,#102c31,#0c2329);border-color:#2e8c70;box-shadow:0 5px 13px #0000001b}.emp-card.vacant{background:linear-gradient(180deg,#2b1d22,#24171b);border-color:#84444b}.avatar{background:linear-gradient(145deg,#1b3a50,#122b3d);color:#7397b4}.emp-card b{color:#eef8ff}.emp-card small{color:#89a0b3}.salary{color:#f0f7fc}.badge.red{background:#5b2229;color:#ffb1b7}.badge.green{background:#123d2e;color:#6de0aa}.badge.amber{background:#4c3413;color:#ffc66a}.contractor-section{border-top-color:#6a4c22}.contractor-card{background:#282010;border-color:#a37325}.contractor-title{color:#e7b04d}
.tablewrap{border-color:#263c50}.tablewrap table,table{color:#d8e7f3;background:transparent}th{background:#10283c;color:#9fb6c9;border-bottom-color:#30485c}td{border-bottom-color:#213649}.tablewrap tbody tr:nth-child(even){background:#0d1f30}.tablewrap tbody tr:hover{background:#142d43}a{color:#70b7ff}
.formgrid label{color:#91a7ba}.formgrid input,.formgrid select,.formgrid textarea,.salary-grid input,.db-field-grid input,.db-field-grid textarea,.db-new-field-label input{background:#0c1d2e;color:#e3eff8;border-color:#30495f}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.salary-grid input:focus,.db-field-grid input:focus,.db-field-grid textarea:focus{outline:none;border-color:#3e84c2;box-shadow:0 0 0 3px #2778b820}.formgrid input[disabled],.formgrid select[disabled]{background:#0a1724;color:#7890a4}
.modal{background:#020811c7;backdrop-filter:blur(4px)}.modal-card{background:linear-gradient(180deg,#102235,#0d1c2b);border:1px solid #2b455b;color:#e7f0f8;box-shadow:0 25px 70px #0009}.x{color:#9fb4c6}.x:hover{color:#fff}.form-photo-current{background:#0d1d2c;border-color:#2c4053}.employee-head{background:#0d1e2e;border:1px solid #263f54;border-radius:10px;padding:11px}.employee-big-photo{border-color:#2b4559;background:#142a3d}.salary-grid label{background:#0d1e2d;border-color:#293f53}.salary-auto{background:#0d2945;border-color:#225685;color:#a8cef3}.file-box{background:#0c1c2a;border-color:#35516a;color:#d5e6f3}.tabs button{background:#0d2132;border-color:#2b465d;color:#9db2c4}.tabs .active{background:#133a5e;color:#ddecfa;border-color:#2b6ca0}
.role-breakdown{border-color:#2a4054!important;background:#0d1e2f!important}.role-break-head{background:#112a40!important;color:#88a8c0!important}.role-break-row{border-color:#24394d!important}.role-break-row small{color:#7f95a8!important}.vacancy-count{color:#ff7f88!important}.contractor-count{color:#e9b858!important}.contractor-role-note{color:#8197aa!important}
.position-row,.employee-filters,.import-panel,.import-preview,.manager-export-select{background:#102235!important;border-color:#294258!important;color:#d9e8f4!important}.employee-filter-title{color:#a8bdd0!important}.employee-filter-grid select,.employee-filter-grid input{background:#0c1d2e!important;color:#e1edf7!important;border-color:#2c465d!important}.employee-list-avatar,.no-photo{background:#152d40!important;border-color:#2d465b!important}.employees-table tbody tr:hover{background:#132d43!important}

/* Protected database in the v6 blue/graphite language */
.db-hero{background:linear-gradient(135deg,#0d2741 0%,#174a77 62%,#1a5e88 100%);border:1px solid #28608c;box-shadow:0 10px 30px #00000030}.db-hero p,.db-last-update span,.db-last-update small{color:#b9d3e6}.db-security-badge{background:#071b2c72;border-color:#5ca9db4d}.db-last-update{background:#071a2b66;border-color:#5aa6d333}.db-kpi,.db-mini-panel,.db-control-panel,.db-table-panel,.db-cards-panel,.db-person-card,.db-form-section,.db-field-manager-row,.db-import-cards>div,.db-import-mode label{background:linear-gradient(180deg,#102235,#0d1e2e)!important;border-color:#2a4357!important;color:#dbe9f4!important}.db-kpi b,.db-mini-title b,.db-person-name h3,.db-person-info b,.db-table-title b{color:#edf7ff!important}.db-kpi span,.db-kpi small,.db-mini-title small,.db-person-info span,.db-table-title small,.db-person-actions span,.db-filter-result{color:#8399ac!important}.db-kpi-icon{background:#123b5b!important;color:#66bdf2!important}.db-mini-row i{background:#172b3d!important}.db-mini-row i em{background:linear-gradient(90deg,#2d7fc1,#46b6e7)!important}.db-mini-row>b{color:#66bdec!important}.db-view-tab{background:#0d1e2e!important;border-color:#2b455a!important;color:#95aabd!important}.db-view-tab.active,.db-mode-switch button.active{background:#205f91!important;border-color:#2e78ae!important;color:#fff!important}.db-mode-switch{background:#0c1c2a!important;border-color:#2b4357!important}.db-mode-switch button{color:#91a8ba!important}.db-table-title{background:#0e2234!important;border-bottom-color:#293f53!important}.db-table-title>span{background:#132e45!important;color:#9fc4dc!important}.db-table-wrap{background:#0b1a28}.db-table{background:#0b1a28!important;color:#dbe9f3}.db-table th{background:#12395a!important;color:#e4f4ff!important;border-right-color:#285978!important;border-bottom-color:#285978!important}.db-table td{background:#0d1e2e!important;color:#cbdce8!important;border-right-color:#21394c!important;border-bottom-color:#21394c!important}.db-table tbody tr:nth-child(even) td{background:#0c1b2a!important}.db-table tbody tr:hover td{background:#13324a!important}.db-table tbody tr:hover{box-shadow:inset 3px 0 #4aa8e9!important}.db-action-head{background:#12395a!important}.db-row-actions{background:#0d1e2e!important;box-shadow:-4px 0 8px #0004!important}.db-photo-cell img,.db-no-photo,.db-person-photo,.db-record-photo-empty{background:#142d42!important;border-color:#304a60!important}.db-person-card:hover{border-color:#3d7ca8!important;box-shadow:0 8px 24px #0005!important}.db-person-name>div{color:#62b9ee!important}.db-person-info{border-top-color:#23394d!important}.db-person-actions{border-top-color:#23394d!important}.db-complete.high{background:#123d2f!important;color:#6bddad!important}.db-complete.mid{background:#493711!important;color:#f3c96b!important}.db-complete.low{background:#4e2228!important;color:#ff9fa8!important}.db-form-section summary{background:#11283b!important;color:#bfe0f5!important}.db-form-section summary:after{color:#6faed5!important}.db-record-head{border-bottom-color:#294054!important}.db-form-footer{background:#0e1f30!important;border-top-color:#294054!important}.db-import-cards b{color:#64bce9!important}.db-import-cards span{color:#849aac!important}.db-import-mode label.danger{background:#2c171b!important;border-color:#683841!important}.db-lock-panel{border-top-color:#2f7fc4!important}.db-new-field-label{color:#98adbe!important}

/* Export / backup / misc panels */
.three-export .export-dep-btn,.export-dep-btn{background:linear-gradient(180deg,#10283c,#0d1f30);border-color:#2a475f;color:#ddecf8}.export-dep-btn:hover{background:#14314a;border-color:#3a78a7}.export-dep-btn b{color:#eef7fe}.export-dep-btn small{color:#8198aa}.manager-dep-check{background:#0d2031!important;border-color:#2b4357!important;color:#d4e3ef!important}.manager-dep-check:has(input:checked){background:#123452!important;border-color:#2e6d9f!important}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#29465f #0a1724}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#0a1724}*::-webkit-scrollbar-thumb{background:#29465f;border-radius:10px;border:2px solid #0a1724}*::-webkit-scrollbar-thumb:hover{background:#355d7d}

@media(max-width:1000px){.app{grid-template-columns:78px 1fr}.brand-copy,.nav-label,.offline div{display:none}.brand{justify-content:center}.logo-mark{margin:auto}.offline{justify-content:center;padding:10px;left:10px;right:10px}.nav-icon{width:32px;height:32px;flex-basis:32px}.nav button{justify-content:center;padding:0}.clock{display:none}}
@media(max-width:700px){header{padding:0 10px}.header-meta .user{display:none}.content{padding:16px 12px}.grid3{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){nav button .nav-icon{display:grid!important}}

/* =========================================================
   v6.2 MODULE NAVIGATION + COLLAPSIBLE STAFF FOLDER
   ========================================================= */
.nav-folder{display:grid;gap:3px}.nav-folder-toggle{position:relative}.nav-folder-toggle .nav-chevron{margin-left:auto;color:#6f8ba3;font-size:12px;transition:transform .16s ease}.nav-folder.open>.nav-folder-toggle .nav-chevron{transform:rotate(180deg)}.nav-folder.has-active>.nav-folder-toggle{background:#0d263d;color:#e9f5ff;border-color:#173a58}.nav-folder.has-active>.nav-folder-toggle .nav-icon{background:#153d5f;color:#dff2ff;border-color:#2b658f}.nav-folder-items{display:none;gap:2px;margin:1px 0 4px 12px;padding-left:9px;border-left:1px solid #1f425e}.nav-folder.open>.nav-folder-items{display:grid}.nav-folder-items button{height:38px;padding-left:8px;font-size:11.5px}.nav-folder-items .nav-icon{width:21px;height:21px;flex-basis:21px;font-size:12px;border-radius:5px}
.structure-toolbar{align-items:center}.department-picker{min-width:150px}.module-nav{display:flex;align-items:stretch;gap:6px;padding:4px;background:#0b1b2a;border:1px solid #263f54;border-radius:8px}.module-picker{display:grid;grid-template-columns:minmax(130px,190px);gap:1px;align-items:center}.module-picker select.btn{height:34px;padding:6px 28px 6px 9px}.module-picker small{text-align:center;color:#7e96aa;font-size:8.5px;line-height:1.1;padding-top:1px}.module-step{min-width:92px;font-weight:700}.module-step:disabled{opacity:.35;cursor:not-allowed;transform:none!important;background:#0c1b2a;border-color:#22384b;color:#718698}
@media(max-width:1000px){.nav-folder-items{margin-left:0;padding-left:0;border-left:0}.nav-folder-toggle .nav-chevron{display:none}.nav-folder-items button{height:38px}.module-nav{width:100%;justify-content:center}.department-picker{width:100%}.structure-toolbar{align-items:stretch}}
@media(max-width:700px){.module-nav{display:grid;grid-template-columns:auto minmax(120px,1fr) auto}.module-picker{grid-template-columns:minmax(110px,1fr)}.module-step{min-width:70px;padding-left:8px;padding-right:8px}}


/* =========================================================
   v6.3 EMPLOYEE PHOTO VIEWER + VEHICLE FLEET
   ========================================================= */
.employee-list-avatar img{cursor:zoom-in;transition:transform .15s ease,filter .15s ease}.employee-list-avatar img:hover{transform:scale(1.08);filter:brightness(1.08)}
.photo-lightbox{text-align:center;min-width:min(760px,82vw)}.photo-lightbox h2{text-align:left;margin:0 0 14px}.photo-lightbox img{display:block;max-width:min(720px,78vw);max-height:72vh;margin:0 auto 12px;border-radius:10px;border:1px solid #38536b;box-shadow:0 18px 45px #0008;object-fit:contain;background:#08131e}
.vehicle-toolbar{margin-bottom:14px}.vehicle-kpis{grid-template-columns:repeat(4,minmax(160px,1fr));margin-bottom:12px}.vehicle-good{color:#54d497!important}.vehicle-warn{color:#f1be57!important}.vehicle-bad{color:#ff7d86!important}.vehicle-status-strip{display:flex;gap:7px;overflow:auto;padding:2px 1px 12px;margin-bottom:4px}.vehicle-status-chip{border:1px solid #2a4358;background:#0d1e2e;color:#a9bdce;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:10px;white-space:nowrap;cursor:pointer}.vehicle-status-chip b{background:#173b59;color:#dcefff;border-radius:12px;min-width:26px;padding:2px 7px}.vehicle-status-chip:hover,.vehicle-status-chip.on{background:#153650;border-color:#367cac;color:#fff}.vehicle-status-chip.on b{background:#2b7db8}.vehicle-filter-panel{margin-bottom:14px;padding:12px}.vehicle-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:end}.vehicle-filter-grid label{display:grid;gap:5px;color:#91a7ba;font-size:11px}.vehicle-filter-grid input,.vehicle-filter-grid select{background:#0c1d2e;color:#e1edf7;border:1px solid #2c465d;border-radius:7px;padding:9px}.vehicle-reset{height:38px}.vehicle-table-title{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px}.vehicles-table td small{display:block;color:#7890a4;font-size:9px;margin-top:3px}.vehicle-reg{display:inline-block;font-weight:800;letter-spacing:.5px;background:#142e44;border:1px solid #31526c;border-radius:5px;padding:4px 7px;color:#eaf6ff}.badge.blue{background:#153d61;color:#84c8f6}.vehicle-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-form-grid label{display:grid;gap:5px;color:#91a7ba}.vehicle-form-grid .span2{grid-column:1/-1}.vehicle-form-grid input,.vehicle-form-grid select,.vehicle-form-grid textarea{width:100%;background:#0c1d2e;color:#e3eff8;border:1px solid #30495f;border-radius:7px;padding:10px}.vehicle-form-grid textarea{min-height:86px;resize:vertical}.vehicle-form-grid input:focus,.vehicle-form-grid select:focus,.vehicle-form-grid textarea:focus{outline:none;border-color:#3e84c2;box-shadow:0 0 0 3px #2778b820}.vehicle-form-grid input:disabled,.vehicle-form-grid select:disabled,.vehicle-form-grid textarea:disabled{opacity:.8;background:#091724}.vehicles-table th,.vehicles-table td{white-space:normal}.vehicles-table th{position:sticky;top:0;z-index:1}
@media(max-width:1200px){.vehicle-filter-grid{grid-template-columns:1fr 1fr 1fr}.vehicle-filter-grid label:first-child{grid-column:1/-1}.vehicle-reset{width:100%}}
@media(max-width:700px){.vehicle-kpis{grid-template-columns:1fr 1fr}.vehicle-filter-grid{grid-template-columns:1fr}.vehicle-filter-grid label:first-child{grid-column:auto}.vehicle-form-grid{grid-template-columns:1fr}.vehicle-form-grid .span2{grid-column:auto}.photo-lightbox{min-width:0}}

/* v6.5 — фотографии автопарка */
.vehicle-photo-btn{white-space:nowrap;min-width:86px}
.vehicle-photo-btn.has-photo{border-color:#2d7aaa;background:#123653;color:#bfe7ff}
.vehicle-photo-btn.has-photo:hover{background:#174a70;color:#fff}
.vehicle-gallery{width:min(1100px,92vw)}
.vehicle-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.vehicle-gallery-head h2{margin:0 0 4px}
.vehicle-gallery-count{padding:6px 10px;border:1px solid #31506a;border-radius:999px;background:#10283d;color:#bcd9ee;font-size:11px;font-weight:700;white-space:nowrap}
.vehicle-gallery-main{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px;background:#07121d;border:1px solid #294258;border-radius:12px;overflow:hidden;padding:12px 58px}
.vehicle-gallery-main>img{display:block;max-width:100%;max-height:68vh;object-fit:contain;border-radius:8px;box-shadow:0 16px 45px #0008}
.vehicle-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:58px;border-radius:9px;border:1px solid #37566e;background:#0b2133dd;color:#e9f5ff;font-size:34px;line-height:1;cursor:pointer}
.vehicle-gallery-arrow:hover{background:#174c72}.vehicle-gallery-arrow:disabled{opacity:.25;cursor:default}.vehicle-gallery-arrow.left{left:10px}.vehicle-gallery-arrow.right{right:10px}
.vehicle-gallery-thumbs{display:flex;gap:8px;overflow:auto;padding:10px 2px 2px}
.vehicle-gallery-thumbs button{flex:0 0 112px;height:76px;padding:3px;border:1px solid #2b455a;border-radius:8px;background:#0a1927;cursor:pointer;overflow:hidden}
.vehicle-gallery-thumbs button.active{border-color:#51a9e6;box-shadow:0 0 0 2px #2b7fb633}.vehicle-gallery-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:5px;display:block}
.vehicle-gallery-empty{min-width:min(560px,80vw)}
.vehicle-photo-import-summary{grid-template-columns:repeat(4,minmax(110px,1fr))}
@media(max-width:700px){.vehicle-gallery-main{min-height:280px;padding:8px 44px}.vehicle-gallery-thumbs button{flex-basis:84px;height:60px}.vehicle-photo-import-summary{grid-template-columns:1fr 1fr}}
.modal-card.vehicle-gallery-modal{width:min(1160px,96vw);max-height:96vh}

/* v6.6 — актуальные и архивные фотографии автомобилей */
.btn.amber{background:linear-gradient(#d9952d,#bd7417);border-color:#e6a53f;color:#fff}
.vehicle-photo-btn small{display:block;margin-top:2px;font-size:8px;color:#8fb8d4;font-weight:600}
.vehicle-photo-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;border:1px solid #294258;border-radius:9px;background:#081724}
.vehicle-photo-tabs button{border:0;border-radius:6px;background:transparent;color:#91a9bd;padding:8px 12px;cursor:pointer;font-weight:700}
.vehicle-photo-tabs button b{display:inline-flex;min-width:20px;justify-content:center;margin-left:5px;padding:1px 5px;border-radius:999px;background:#17334a;color:#b9d8ed;font-size:9px}
.vehicle-photo-tabs button.active{background:#17496d;color:#fff}.vehicle-photo-tabs button.active b{background:#2f83ba;color:#fff}
.vehicle-gallery-actions{margin-top:12px;margin-bottom:0;border-top:1px solid #22394c;padding-top:12px}
.vehicle-gallery-noitems{min-height:300px;border:1px dashed #31506a;border-radius:12px;background:#081521;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:#9db2c4}
.vehicle-gallery-noitems b{font-size:16px;color:#dceaf5;margin-bottom:6px}.vehicle-gallery-noitems span{max-width:560px;font-size:11px;line-height:1.55}.vehicle-gallery-noitems-icon{font-size:42px;color:#3d769c;margin-bottom:10px}
.vehicle-archive-info{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;padding:9px 11px;border:1px solid #604b2b;border-radius:8px;background:#2b2113;color:#d8c39f;font-size:10px}.vehicle-archive-info span{display:inline-block}.vehicle-archive-info b{color:#f0d4a2}

/* v6.7 — двойная четвертичная структура: основной штат + контрактники */
.dual-org{display:flex;flex-direction:column;gap:22px;padding:18px;overflow:auto}
.quartic-structure{border:1px solid #28445d;border-radius:13px;overflow:hidden;background:linear-gradient(180deg,#0f2232,#0b1926);box-shadow:0 10px 28px #0000001c}
.quartic-structure.contractor-quartic{border-color:#6c5428;background:linear-gradient(180deg,#171f26,#11191f)}
.quartic-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 16px;background:linear-gradient(90deg,#102b43,#13344f);border-bottom:1px solid #29475f;position:sticky;left:0;z-index:2}
.quartic-head.contract{background:linear-gradient(90deg,#2b2518,#3a2e16);border-bottom-color:#6a5127}
.quartic-head>div:first-child b{display:block;color:#eef8ff;font-size:18px;line-height:1.15}
.quartic-head>div:first-child small{display:block;color:#89a4b9;font-size:11px;margin-top:4px}
.quartic-head.contract>div:first-child small{color:#bea46d}
.quartic-kpis{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.quartic-kpis>span{min-width:96px;border:1px solid #34536d;background:#0c1b28;border-radius:9px;padding:6px 10px;text-align:center}
.quartic-kpis>span b{display:block;color:#dcefff;font-size:16px}
.quartic-kpis>span small{display:block;color:#708ca2;font-size:9px;margin-top:2px}
.quartic-kpis>span.ok{border-color:#1d684e}.quartic-kpis>span.ok b{color:#64dda6}
.quartic-kpis>span.bad{border-color:#73363e}.quartic-kpis>span.bad b{color:#ff8e97}
.quartic-kpis>span.warn{border-color:#7a5a23}.quartic-kpis>span.warn b{color:#f5bd57}
.quartic-body{overflow:auto;padding:17px 10px 10px;min-height:120px}
.contractor-tree-canvas .contractor-slot.occupied{background:linear-gradient(180deg,#102c31,#0c2329);border-color:#b08331}
.contractor-tree-canvas .contractor-slot.occupied .avatar{box-shadow:0 0 0 1px #8f6a28 inset}
.contractor-tree-canvas .contractor-slot.vacant{background:linear-gradient(180deg,#2b1d22,#24171b);border-color:#84444b}
.contractor-tree-canvas .contractor-slot small:last-child{color:#c6a45e;font-weight:700}
.contract-overflow{margin:0 16px 16px;padding:13px;border:1px dashed #6d5228;border-radius:10px;background:#171b1f}
.contract-overflow-title{display:flex;align-items:center;gap:9px;color:#efc36a;margin-bottom:10px}
.contract-overflow>.muted{display:block;margin-top:9px}
@media(max-width:900px){.quartic-head{align-items:flex-start;flex-direction:column}.quartic-kpis{justify-content:flex-start}}

/* v6.8.5 — ручная проверка после сравнения Excel с предыдущей штаткой */
.employee-review-row td{background:#2b2414!important;border-bottom-color:#5e4a23!important}
.employee-surplus-row td{background:#32191e!important;border-bottom-color:#6d3038!important}
.employee-review-row:hover td{background:#362d18!important}.employee-surplus-row:hover td{background:#402027!important}
.employee-review-hint{display:block;margin-top:3px;color:#e7b85f!important;font-size:9px!important;font-weight:700}
.review-badge{white-space:nowrap}
.import-warning{border-left-color:#d89a2f!important;background:#2b2113!important;color:#dec38e!important;border-color:#5e4926!important}
.import-surplus-row td{background:#32191e!important}.import-review-row td{background:#2b2414!important}
.import-preview td small{display:block;max-width:360px;margin-top:4px;color:#91a7ba;white-space:normal;line-height:1.35}
.import-summary>div{background:#102235!important;border-color:#294258!important}.import-summary span{color:#8ea4b8!important}.import-summary b{color:#edf7ff!important}

/* v6.8.8 — безопасное полное удаление сотрудника */
.delete-employee-btn{background:#241319!important;border-color:#78333d!important;color:#ff9aa2!important}
.delete-employee-btn:hover{background:#361921!important;border-color:#a04450!important;color:#ffd2d5!important}
.delete-employee-note{margin-top:10px;background:#24181b!important;border-color:#63323a!important;border-left-color:#d95762!important;color:#c9aeb2!important}
.delete-employee-note b{color:#ff9aa2}

/* v7.0 — финальный слой исправлений доступности/адаптивности */
.role-break-title{color:#d7e7f4!important}
.frozen-row{background:#2b2518!important;border:1px solid #6a5127;color:#f2dfb4!important}
.frozen-row span,.frozen-row b{color:#f2dfb4!important}
.empty-filter{background:#0d1e2f!important;color:#9fb4c6!important;border-top:1px solid #294258}
.export-options{color:#c4d6e5!important}.export-options label{color:#c4d6e5!important}
a.btn{text-decoration:none}
.db-lock-panel input{background:#0c1d2e!important;color:#e3eff8!important;border-color:#30495f!important}
.db-lock-panel input:focus{outline:none;border-color:#3e84c2!important;box-shadow:0 0 0 3px #2778b820}
.vehicle-photo-btn small,.quartic-kpis small,.module-picker small,.user small,.clock small,.db-person-info span{font-size:10.5px!important}
.role-break-row span:first-child small{font-size:10.5px!important}
.badge{font-size:10.5px}
.salary-grid label{grid-template-columns:minmax(120px,1fr) minmax(110px,170px) minmax(58px,72px)}
.role-break-head,.role-break-row{grid-template-columns:minmax(105px,1fr) repeat(4,minmax(46px,58px));gap:4px}
.role-break-head{font-size:10.5px}.role-break-row{font-size:11px}
.tablewrap th,.tablewrap td{white-space:normal;overflow-wrap:anywhere}
nav{scrollbar-width:thin;scrollbar-color:#40698a transparent}nav::-webkit-scrollbar{width:7px}nav::-webkit-scrollbar-thumb{background:#40698a;border-radius:8px}
@media(max-width:1600px){.grid3{grid-template-columns:repeat(2,minmax(280px,1fr))}.salary-grid label{grid-template-columns:minmax(110px,1fr) minmax(100px,145px) 60px}}
@media(max-width:1450px){.org-tree-canvas{zoom:.78}.quartic-body{overflow-x:auto}.content{padding:18px}.role-break-head,.role-break-row{grid-template-columns:minmax(95px,1fr) repeat(4,minmax(42px,52px))}}
@media(max-width:1200px){.org-tree-canvas{zoom:.68}.salary-grid label{grid-template-columns:1fr}.salary-grid input{text-align:left}.grid3{grid-template-columns:1fr}.role-break-head,.role-break-row{grid-template-columns:minmax(120px,1fr) repeat(4,52px)}}
@media(max-width:800px){.org-tree-canvas{zoom:.58}.role-break-head,.role-break-row{grid-template-columns:minmax(105px,1fr) repeat(4,46px);padding:6px}.content{padding:14px 10px}}

/* v7.0.7 RC1 — server-side pagination, non-blocking loading, compact UI */
.tab-loading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}
.tab-loading>div:last-child{max-width:520px}.tab-loading b{display:block;font-size:16px;color:#e7f2fa;margin-bottom:4px}
.loading-spinner{width:34px;height:34px;border:3px solid #29465e;border-top-color:#6fc6ff;border-radius:50%;animation:shtatka-spin .8s linear infinite;flex:0 0 auto}
@keyframes shtatka-spin{to{transform:rotate(360deg)}}
.list-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 2px;padding:8px 10px;border:1px solid #274157;border-radius:9px;background:#0b1a28;color:#9eb4c6;font-size:11px}
.list-pager span b{color:#e4f1fa}.list-pager .btn{min-width:92px}.list-pager .btn:disabled{opacity:.4;cursor:default}
.db-photo-loader{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;min-height:42px;color:#64b7ec;font-size:22px;animation:shtatka-pulse 1s ease-in-out infinite}
@keyframes shtatka-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.loading-spinner,.db-photo-loader{animation:none}}
.network-busy{position:fixed;top:13px;right:230px;z-index:9999;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #315873;border-radius:999px;background:#0a1b29e8;color:#bdd8e9;font-size:10.5px;box-shadow:0 5px 18px #0006;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.16s ease}
.network-busy.show{opacity:1;transform:translateY(0)}.network-busy span{width:11px;height:11px;border:2px solid #345971;border-top-color:#72c9ff;border-radius:50%;animation:shtatka-spin .7s linear infinite}
@media(max-width:1050px){.network-busy{right:20px;top:70px}}

/* RC7 — application access and recovery */
.app-auth-panel{max-width:560px;margin:42px auto;padding:28px}.app-auth-panel form{display:grid;gap:14px;margin-top:18px}.app-auth-panel label{display:grid;gap:7px}.app-auth-panel input{width:100%;box-sizing:border-box}.recovery-card{max-width:620px}.recovery-card p{line-height:1.55}.recovery-code{margin:16px 0;padding:16px 18px;border:1px dashed rgba(255,255,255,.28);border-radius:12px;background:rgba(0,0,0,.22);font:700 20px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px;text-align:center;user-select:all;word-break:break-word}.security-actions{display:grid;gap:10px;margin-top:18px}.security-actions .btn{justify-content:flex-start}.user{border-radius:10px;padding:5px 8px;transition:background .15s ease}.user[style*="cursor: pointer"]:hover{background:rgba(255,255,255,.06)}

/* 7.0.10 distribution bundles */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.distribution-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid rgba(76,147,201,.35);border-radius:14px;background:linear-gradient(145deg,rgba(18,50,78,.88),rgba(9,30,49,.88));min-width:0}
.distribution-card>b{font-size:16px;color:#f2f7fb}
.distribution-card>small{display:block;min-height:48px;color:#9fb5c9;line-height:1.45;white-space:normal}
.distribution-card .btn{width:100%;justify-content:center}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}

/* v7.0.12 RC1 */
.module-overstaff{border-color:#8f2f35!important;background:linear-gradient(180deg,#36171c,#291318)!important;color:#ffd9dc!important;margin:12px 0}.module-overstaff strong{color:#ff6b73;font-size:15px}.module-headcount-ok{margin:10px 0 12px;padding:8px 12px;border:1px solid #29465e;border-radius:7px;background:#0c1d2b;color:#9eb4c7}.deprivation-tablewrap{overflow-x:auto}.deprivation-table{min-width:1180px}.deprivation-table th,.deprivation-table td{vertical-align:middle;white-space:nowrap;padding:7px 8px}.deprivation-table th{font-size:12px}.deprivation-table td{font-size:13px}.depr-num{text-align:center;width:42px}.depr-fio{max-width:250px}.depr-cat{display:inline-flex;margin-left:7px;padding:2px 6px;border:1px solid #36516a;border-radius:999px;color:#8ba2b6;font-size:10px;line-height:1.2;vertical-align:middle}.depr-reason-cell{max-width:310px}.depr-reason{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depr-amount{font-weight:700}.depr-actions>div{display:flex;gap:5px;align-items:center;white-space:nowrap}.btn-compact{padding:6px 9px!important;min-height:30px!important;font-size:12px!important}.deprivation-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}.deprivation-toolbar>*{flex:0 0 auto}.depr-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;align-items:start}.depr-media-thumb{width:100%;height:130px;object-fit:cover;border-radius:8px;border:1px solid #36516a;background:#07131e}.inline-field{display:flex;align-items:center;gap:8px}.inline-field input{width:auto}.employee-filter-grid{align-items:end}

/* v7.0.13 RC1 — compact employee filters + deprivation attachments */
.employee-filter-grid{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;align-items:flex-end!important;overflow-x:auto;padding-bottom:3px}
.employee-filter-grid label{flex:1 1 0;min-width:118px!important}
.employee-filter-grid .employee-reset{flex:0 0 auto;min-width:92px}
.deprivation-table{min-width:1310px}.depr-date{font-variant-numeric:tabular-nums;font-weight:700;color:#bcd2e2;min-width:104px}
.depr-media-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.depr-media-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #2c465d;border-radius:10px;background:#0a1b29;min-width:0}
.depr-media-preview,.depr-video-preview{display:flex;align-items:center;justify-content:center;min-height:132px;border-radius:8px;background:#07131e;border:1px solid #253f54;overflow:hidden;text-decoration:none;color:#c9e6f7}
.depr-video-preview{font-weight:700;padding:12px;text-align:center}
.depr-media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dceaf4;font-size:12px}
.depr-media-actions{display:flex;gap:6px}.depr-media-actions>*{flex:1 1 0;justify-content:center;text-align:center}
.depr-media-toolbar{margin:0 0 12px}.depr-media-toolbar .btn{min-width:220px}
@media(max-width:1000px){.employee-filter-grid label{min-width:135px!important}}

/* v7.0.14 RC1 — employee categories and external transfers */
.employee-category-tag{display:inline-flex;align-items:center;max-width:100%;width:max-content;margin-top:4px;padding:2px 7px;border:1px solid rgba(71,169,255,.38);border-radius:999px;background:rgba(35,126,195,.14);color:#bfe2ff;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-manager-list{display:grid;gap:8px;margin-top:16px;max-height:440px;overflow:auto;padding-right:4px}
.category-manager-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line,#24435c);border-radius:9px;background:rgba(255,255,255,.025)}
.category-manager-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.category-manager-row small{color:var(--muted,#7f9bb2)}
.category-add-input{min-width:280px;flex:1}
.contractor-slot .employee-category-tag,.contractor-card .employee-category-tag{border-color:rgba(255,180,68,.42);background:rgba(255,161,40,.12);color:#ffd49a}

/* v7.0.19 RC1 — deprivation analytics */
.depr-tabs{display:flex;gap:8px;margin:0 0 12px}.depr-tabs button{border:1px solid #2b4960;background:#0b1c2a;color:#a9bfd0;border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer}.depr-tabs button.active{background:#0d5e9f;color:#fff;border-color:#1a83d1;box-shadow:0 0 0 1px rgba(26,131,209,.15) inset}
.depr-filterbar{display:grid;grid-template-columns:170px minmax(190px,1fr) minmax(190px,1fr) minmax(230px,1.25fr) auto;gap:8px;align-items:end;margin:0 0 10px;padding:10px;border:1px solid #29465e;border-radius:10px;background:#091a28;overflow-x:auto}.depr-filterbar label{display:flex;flex-direction:column;gap:5px;color:#8fa8bb;font-size:11px;font-weight:700;min-width:0}.depr-filterbar input,.depr-filterbar select{min-height:36px}.depr-search{min-width:230px}.depr-record-summary{display:flex;align-items:center;gap:12px;margin:6px 0 10px;color:#b9cede}.depr-record-summary span{font-size:12px;color:#7892a7}
.depr-analytics-cards{grid-template-columns:repeat(5,minmax(150px,1fr));margin:2px 0 14px}.depr-analytics-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);gap:14px;margin-bottom:14px}.depr-rank-list{display:flex;flex-direction:column;gap:8px}.depr-rank-row{display:grid;grid-template-columns:28px minmax(180px,1fr) minmax(140px,1.35fr) 46px;gap:10px;align-items:center;padding:8px 10px;border:1px solid #223e54;border-radius:9px;background:#091b29}.depr-rank-num{display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:7px;background:#102c42;color:#8fc4e7;font-weight:800}.depr-rank-name{min-width:0}.depr-rank-name b,.depr-rank-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depr-rank-name small{margin-top:2px;color:#7792a7;font-size:11px}.depr-rank-bar{height:8px;border-radius:999px;background:#132d40;overflow:hidden}.depr-rank-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087dce,#29a0e8)}.depr-rank-row strong{text-align:right;color:#e8f4fb;font-size:18px}
.depr-trend{height:190px;display:flex;align-items:flex-end;gap:8px;padding:10px 4px 2px;border-bottom:1px solid #2c475c;margin-bottom:16px}.depr-trend-item{flex:1;min-width:42px;text-align:center}.depr-trend-bar{height:150px;display:flex;position:relative;align-items:flex-end;justify-content:center}.depr-trend-bar i{display:block;width:70%;min-height:2px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#1c8fd4,#0c5f9d)}.depr-trend-bar b{position:absolute;bottom:calc(var(--h, 0px) + 4px);top:4px;color:#dcebf5;font-size:11px}.depr-trend-item small{display:block;margin-top:4px;color:#849db1;font-size:10px;white-space:nowrap}
.depr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.depr-panel-head h3{margin-bottom:4px}.depr-panel-head> b{white-space:nowrap;color:#9ec2dc}.depr-employee-analytics{min-width:980px}.depr-repeat{display:inline-flex;padding:4px 8px;border-radius:999px;background:#143247;color:#a8c4d8;font-size:11px;font-weight:800;white-space:nowrap}.depr-repeat.repeat-mid{background:#4a3514;color:#ffd697;border:1px solid #76501b}.depr-repeat.repeat-high{background:#4b1d23;color:#ffb6bd;border:1px solid #7d2d37}
.depr-history-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.depr-history-photo{width:76px;height:76px;border-radius:10px;object-fit:cover;border:1px solid #35536b;background:#07141e;flex:0 0 auto}.depr-history-photo.empty{display:flex;align-items:center;justify-content:center;font-size:30px;color:#7691a5}.depr-history-head h2{margin:0 0 5px}.depr-history-chips{display:flex;flex-wrap:wrap;gap:6px}.depr-history-chip{display:inline-flex;padding:4px 8px;border-radius:999px;border:1px solid #304d64;background:#0b2030;color:#aac4d6;font-size:11px}.depr-history-cards{grid-template-columns:repeat(4,minmax(140px,1fr));margin:10px 0 14px}.depr-history-cards .big.small{font-size:18px}.depr-history-tablewrap{max-height:52vh;overflow:auto}.depr-history-tablewrap table{min-width:1080px}
@media(max-width:1200px){.depr-analytics-cards{grid-template-columns:repeat(3,minmax(150px,1fr))}.depr-analytics-grid{grid-template-columns:1fr}.depr-filterbar{grid-template-columns:160px 210px 210px 250px auto}}
.depr-lifetime-note{display:block;margin-top:2px;color:#7892a7;font-size:10px;font-weight:600;white-space:nowrap}

/* 7.0.21 audit fix: employee list remains readable at 1366 px. */
.tablewrap:has(.employees-table){overflow-x:auto}
.employees-table{min-width:1320px;width:max-content}
.employees-table th,.employees-table td{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
.employees-table .employee-name-cell{white-space:nowrap!important;min-width:250px}
.employees-table th:last-child,.employees-table td:last-child{position:sticky;right:0;z-index:3;box-shadow:-8px 0 12px rgba(0,0,0,.08)}
.employees-table th:last-child{background:#102235!important}
.employees-table td:last-child{background:#102235!important}
.employees-table tbody tr:hover td:last-child{background:#132d43!important}

/* v7.0.24 RC1 — deprivation import reconciliation + month navigation */
.depr-filterbar{grid-template-columns:minmax(430px,auto) minmax(190px,1fr) minmax(190px,1fr) minmax(230px,1.25fr) auto}
.depr-month-control{display:flex;flex-direction:column;gap:5px;min-width:430px;color:#8fa8bb;font-size:11px;font-weight:700}.depr-month-nav{display:grid;grid-template-columns:auto 145px auto;gap:6px;align-items:center}.depr-month-nav input{width:145px;min-height:36px}.depr-month-nav .btn{white-space:nowrap}
.modal-card.deprivation-import-modal{width:min(1540px,98vw);max-height:96vh;padding:24px 28px}.deprivation-import-modal .file-box{min-height:72px}.deprivation-import-summary{grid-template-columns:repeat(8,minmax(115px,1fr))}.deprivation-import-preview{max-height:52vh;overflow:auto}.deprivation-import-preview table{min-width:1500px}.deprivation-import-preview th,.deprivation-import-preview td{vertical-align:top}.depr-db-source{display:block;margin-top:3px;color:#74c79c;font-size:10px;font-weight:700}.depr-db-link{border-color:#2e7655;color:#74c79c}.deprivation-import-modal .import-errors{max-height:260px}.deprivation-import-modal .import-warning small{display:block;margin-top:8px;color:#bea778}
@media(max-width:1200px){.depr-filterbar{grid-template-columns:minmax(390px,auto) 210px 210px 250px auto}.depr-month-control{min-width:390px}.depr-month-nav{grid-template-columns:auto 140px auto}.deprivation-import-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}}

/* v7.0.26 RC1 — служебные командировки и групповые действия */
.trip-department-tabs,.trip-mode-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trip-department-tabs{margin:0 0 10px}.trip-mode-tabs{margin:0 0 12px}.trip-department-tabs button,.trip-mode-tabs button{border:1px solid #29465e;background:#0b1c2a;color:#aac2d4;border-radius:8px;padding:10px 22px;font-weight:800;cursor:pointer}.trip-department-tabs button.active,.trip-mode-tabs button.active{background:#0b73c9;border-color:#238fe4;color:#fff;box-shadow:0 0 0 1px rgba(35,143,228,.12) inset}.trip-mode-tabs button{padding:7px 14px;font-size:12px}.trip-toolbar{margin-bottom:10px;flex-wrap:wrap}.trip-filterbar{display:grid;grid-template-columns:minmax(430px,auto) 180px 190px minmax(250px,1fr) auto;gap:8px;align-items:end;padding:10px;margin-bottom:12px;border:1px solid #29465e;border-radius:10px;background:#091a28;overflow-x:auto}.trip-filterbar label{display:flex;flex-direction:column;gap:5px;color:#8fa8bb;font-size:11px;font-weight:700}.trip-filterbar input,.trip-filterbar select{min-height:36px}.trip-month-control{display:grid;grid-template-columns:auto 145px auto;gap:6px;align-items:center}.trip-month-control input{min-height:36px}.trip-search{min-width:240px}.trip-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:0 0 12px}.trip-summary>div{border:1px solid #29465e;border-radius:10px;background:linear-gradient(180deg,#10283b,#0b1d2b);padding:14px 16px}.trip-summary span{display:block;color:#8fa8bb;font-size:12px;font-weight:700}.trip-summary b{display:block;margin-top:4px;font-size:27px;color:#eff8ff}.trip-tablewrap{overflow:auto;max-height:62vh}.trip-table{min-width:1460px}.trip-table th,.trip-table td{white-space:nowrap;vertical-align:middle}.trip-table .trip-check{width:38px;text-align:center}.trip-table .trip-order{width:46px;text-align:center;color:#a9c4d8}.trip-row-selected td{background:rgba(20,112,179,.12)}.trip-bulkbar{margin:0 0 10px;border:1px solid #29465e;border-radius:9px;background:#091a28;min-height:46px;display:flex;align-items:center}.trip-bulk-empty{padding:11px 14px;color:#7895aa;font-size:12px}.trip-bulk-active{width:100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 10px}.trip-bulk-active>b{font-size:13px;color:#eff8ff}.trip-bulk-active>.muted{margin-right:auto}.trip-bulk-confirm{margin:12px 0;padding:12px;border:1px solid #29465e;border-radius:9px;background:#091a28;line-height:1.55}.trip-bulk-confirm>b{display:block;margin-bottom:7px}.trip-bulk-edit-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.trip-bulk-field{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr);align-items:center;gap:14px;padding:11px 12px;border:1px solid #29465e;border-radius:9px;background:#091a28}.trip-bulk-field>span{display:flex;align-items:center;gap:8px;font-weight:800;color:#c9dcea}.trip-bulk-field input:disabled{opacity:.5;cursor:not-allowed}.trip-person{display:flex;align-items:center;gap:9px;min-width:260px}.trip-person>img,.trip-person>span{width:38px;height:38px;border-radius:7px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#0a1824;border:1px solid #31516a}.trip-person b,.trip-person small{display:block}.trip-person small{color:#7e9aaf;margin-top:2px}.trip-actions{display:flex;gap:5px}.trip-analytics-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);gap:14px}.trip-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.trip-panel-head span{color:#7895aa;font-size:12px}.trip-ranking{display:flex;flex-direction:column;gap:8px}.trip-rank-row{display:grid;grid-template-columns:30px minmax(230px,1fr) minmax(140px,1.2fr) 40px;gap:10px;align-items:center;padding:9px;border:1px solid #263f54;border-radius:9px;background:#091a28}.trip-rank-row>i{font-style:normal;display:flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:#173b56;color:#b9dcf3;font-weight:900}.trip-rank-row b,.trip-rank-row small{display:block}.trip-rank-row small{color:#7895aa;font-size:10px;margin-top:2px}.trip-rank-bar{height:8px;border-radius:999px;background:#142d40;overflow:hidden}.trip-rank-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a76c6,#2ca7ee)}.trip-rank-row strong{text-align:right;font-size:19px}.trip-mini-list{display:flex;flex-direction:column;gap:7px}.trip-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #263f54;border-radius:7px;background:#091a28}.trip-mini-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-mini-list b{color:#bfe3fa}.trip-message-output{min-height:280px;font-family:Consolas,'Courier New',monospace;line-height:1.55}.modal-card.trip-import-modal{width:min(1450px,97vw);max-height:96vh;padding:24px 28px}.trip-import-text{min-height:180px}.trip-import-summary{grid-template-columns:repeat(5,minmax(125px,1fr));margin-top:14px}.trip-import-common{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:12px 0}.trip-import-common label{display:flex;flex-direction:column;gap:5px}.trip-import-preview{max-height:45vh;overflow:auto}.trip-import-preview table{min-width:1120px}.trip-import-blocked{opacity:.68;background:rgba(104,26,34,.14)}
@media(max-width:1200px){.trip-filterbar{grid-template-columns:minmax(390px,auto) 170px 180px 240px auto}.trip-analytics-grid{grid-template-columns:1fr}.trip-summary{grid-template-columns:repeat(3,minmax(150px,1fr))}.trip-import-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}

/* v7.0.27 RC1 — позывные в списке сотрудников */
.employee-callsign{display:block;margin-top:3px;color:#65b9ff!important;font-size:10px!important;font-weight:700;line-height:1.2}.employee-search-filter{min-width:185px!important}.employee-search-filter input{width:100%;min-width:0}

/* v7.0.28: full multi-module quartic overview, long-text-safe cards and vacations. */
.org-tree-canvas{min-width:1710px}
.org-tree-canvas .org-chief{grid-template-columns:390px}
.org-tree-canvas .org-leads{grid-template-columns:400px 400px;width:1200px}
.org-tree-canvas .specialist-branches{grid-template-columns:repeat(4,390px);gap:18px;width:1614px}
.org-tree-canvas .specialist-branch{width:390px;min-width:390px}
.org-tree-canvas .branch-specialist{width:340px}
.org-tree-canvas .junior-stack{width:390px}
.org-tree-canvas .emp-card,.org-tree-canvas .junior-stack .emp-card{grid-template-columns:62px minmax(0,1fr);min-height:112px;height:auto;padding:10px;align-items:start;overflow:hidden}
.org-tree-canvas .avatar,.org-tree-canvas .junior-stack .avatar{width:62px;height:78px}
.org-tree-canvas .emp-card>div:last-child{min-width:0}
.org-tree-canvas .emp-card b,.org-tree-canvas .junior-stack .emp-card b{font-size:12.5px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.org-tree-canvas .emp-card small,.org-tree-canvas .junior-stack .emp-card small{font-size:10.5px;line-height:1.24;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.overview-callsign{display:block;margin-top:3px;color:#7fc3ff;font-size:10.5px;font-weight:800;line-height:1.2;white-space:normal;overflow-wrap:anywhere}

.structure-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;position:sticky;top:64px;z-index:4;padding:9px 0;background:#0b1926}
.structure-tabs button{border:1px solid #2b465d;background:#102335;color:#aac0d2;padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:700}
.structure-tabs button.active{background:#174b75;border-color:#347fbb;color:#fff;box-shadow:0 0 0 2px #327db51c}
.structure-searchbar{display:grid;grid-template-columns:auto minmax(280px,680px) auto;gap:9px;align-items:center;margin-bottom:18px;padding:12px 14px;background:#102235;border:1px solid #294258;border-radius:10px;position:sticky;top:115px;z-index:4;box-shadow:0 10px 22px #0003}
.structure-searchbar>span{font-size:21px;color:#7ca0bb}.structure-searchbar input{width:100%;background:#0b1b2a;color:#e4f0f8;border:1px solid #31516a;border-radius:7px;padding:10px 12px;outline:none}.structure-searchbar input:focus{border-color:#3c83bd;box-shadow:0 0 0 3px #2d79b623}.structure-searchbar b{color:#8fb3ce;font-size:12px;white-space:nowrap}
.structure-department-section{margin-bottom:30px}.structure-department-head{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(100deg,#102a42,#0d2133);border:1px solid #2e4b63;border-radius:12px;padding:15px 17px;margin-bottom:14px}.structure-department-head h2{margin:0;color:#eff8ff;font-size:20px}.structure-department-head>div>small{display:block;color:#83a0b5;margin-top:4px}.structure-dep-kpis{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.structure-dep-kpis span{min-width:92px;background:#0a1926;border:1px solid #2a465e;border-radius:8px;padding:7px 9px;text-align:center}.structure-dep-kpis small{display:block;color:#7893a8;font-size:9px}.structure-dep-kpis b{display:block;color:#e9f6ff;font-size:16px;margin-top:2px}
.overview-module{border:1px solid #2b455c;background:linear-gradient(180deg,#0f2232,#0b1926);border-radius:13px;margin-bottom:18px;overflow:hidden;box-shadow:0 9px 24px #00000025}.overview-module.health-green{border-left:5px solid #2a9d69}.overview-module.health-orange{border-left:5px solid #d58b2d}.overview-module.health-red{border-left:5px solid #c94b55}.overview-module-head{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;padding:12px 14px;background:#10283d;border-bottom:1px solid #29465d;position:sticky;left:0;z-index:2}.overview-module-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.overview-module-head>div:first-child b{font-size:18px;color:#f1f8ff}.overview-module-head>div:first-child small{grid-column:2;color:#7f9bb0}.health-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.health-dot.green{background:#39bf82;box-shadow:0 0 0 4px #39bf8220}.health-dot.orange{background:#e8a33f;box-shadow:0 0 0 4px #e8a33f20}.health-dot.red{background:#e15e68;box-shadow:0 0 0 4px #e15e6820}.overview-module-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.overview-module-stats span{background:#0b1b29;border:1px solid #2b455b;border-radius:7px;padding:5px 8px;color:#89a4b7;font-size:10px;white-space:nowrap}.overview-module-stats b{color:#eaf7ff;font-size:12px}.overview-module-stats .over{border-color:#80424a;color:#ef9ba1}.overview-module-body{overflow-x:auto;padding:17px 8px 4px;background:radial-gradient(circle at 50% 0,#10263b,#0b1926 65%)}
.overview-tree .emp-card{background:linear-gradient(180deg,#122a40,#0d2032);border-color:#35658b;box-shadow:0 5px 13px #00000025}.overview-tree .emp-card.vacant{background:linear-gradient(180deg,#2b1d22,#24171b);border-color:#84444b}.overview-person-card.structure-match{border-color:#6bc6ff!important;box-shadow:0 0 0 3px #43a9ed45,0 9px 24px #0007!important;animation:structurePulse .9s ease-in-out 2}.overview-statuses{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.overview-statuses .badge{margin:0}.contractor-mark{margin-bottom:4px}.overview-contractor-card{background:linear-gradient(180deg,#322817,#241d12)!important;border-color:#c68a30!important}.overview-contractors{border-top:1px dashed #74572b;padding:12px 15px 15px;background:#141a1f}.overview-contractors-title{display:flex;gap:9px;align-items:center;color:#e8bd6e;margin-bottom:9px}.overview-contractors-title span{background:#5b421c;border-radius:10px;padding:2px 7px;font-size:10px}.overview-contractor-grid{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:10px}.overview-contractor-grid .emp-card{min-height:108px}.vacation-overdue{outline:1px solid #c9535d}
@keyframes structurePulse{50%{transform:scale(1.018)}}

.db-export-control{display:flex;align-items:center;gap:6px;border:1px solid #2c465d;border-radius:8px;padding:3px;background:#0b1b2a}.db-export-control select{background:#0c1d2e;color:#dceaf5;border:0;padding:7px 8px;outline:none;border-radius:5px}.db-export-control .btn{margin:0}

.vacation-filterbar{display:grid;grid-template-columns:120px minmax(180px,1fr) minmax(150px,.8fr) minmax(260px,1.5fr) auto;gap:10px;align-items:end;margin-bottom:14px}.vacation-filterbar label{display:grid;gap:5px;color:#8ea5b7;font-size:11px}.vacation-filterbar input,.vacation-filterbar select{background:#0c1d2e;color:#e3eff8;border:1px solid #30495f;border-radius:7px;padding:9px}.vacation-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:14px}.vacation-kpis>div{background:#102235;border:1px solid #294258;border-radius:10px;padding:13px}.vacation-kpis span{display:block;color:#829bad;font-size:10px}.vacation-kpis b{display:block;color:#edf8ff;font-size:23px;margin-top:3px}.vacation-kpis .warn{border-color:#815c27;background:#2b2419}.vacation-kpis .warn b{color:#ffc46b}.vacation-warning-panel{border-color:#7c5a29!important;background:#211d17!important;margin-bottom:14px}.vacation-warning-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:9px}.vacation-warning-grid>div{background:#161d24;border:1px solid #6e5128;border-radius:8px;padding:10px}.vacation-warning-grid b,.vacation-warning-grid span,.vacation-warning-grid small{display:block}.vacation-warning-grid b{color:#f2f7fb}.vacation-warning-grid span{color:#f3bd68;margin-top:4px}.vacation-warning-grid small{color:#8fa3b2;margin-top:3px}.vacation-table{margin-bottom:14px}.vacation-table td{white-space:normal;vertical-align:middle}.vacation-table td small{display:block;color:#8198aa;margin-top:3px}.vacation-repeat-row{background:#2a2218!important}.vacation-overdue-row{box-shadow:inset 4px 0 #c94b55}.vacation-row-actions{margin:0;flex-wrap:nowrap}.vacation-analytics{margin-top:14px}.vacation-ranking{display:grid;gap:7px}.vacation-ranking>div{display:grid;grid-template-columns:32px minmax(220px,1fr) auto;gap:10px;align-items:center;padding:9px 10px;background:#0d1e2d;border:1px solid #284156;border-radius:7px}.vacation-ranking i{font-style:normal;color:#6f91aa;font-weight:800}.vacation-ranking span b,.vacation-ranking span small{display:block}.vacation-ranking span b{color:#eaf6ff}.vacation-ranking span small{color:#7890a4;font-size:9px}.vacation-ranking strong{color:#8ec8f1;white-space:nowrap}

@media(max-width:1450px){.org-tree-canvas{zoom:.82}.overview-contractor-grid{grid-template-columns:repeat(3,minmax(250px,1fr))}.structure-department-head{align-items:flex-start;flex-direction:column}.structure-dep-kpis{justify-content:flex-start}.vacation-warning-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:1000px){.overview-module-head{grid-template-columns:1fr}.overview-module-stats{justify-content:flex-start}.structure-searchbar{top:108px}.vacation-filterbar{grid-template-columns:repeat(2,minmax(160px,1fr))}.vacation-kpis{grid-template-columns:repeat(2,1fr)}.vacation-warning-grid,.overview-contractor-grid{grid-template-columns:1fr}}

/* Дополнительные штатные позиции не скрываются за основной четвертичкой. */
.overview-extra-positions{margin-top:22px;padding-top:18px;border-top:1px dashed rgba(255,255,255,.16)}
.overview-extra-positions>b{display:block;margin:0 0 12px;color:#b8c7d8;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.overview-extra-positions .level{margin:0 auto}

/* v7.0.31 RC1 — contractor cards hide department/module; 7.0.30 UI features retained. */
.role-breakdown.hide-contractors .role-break-head,.role-breakdown.hide-contractors .role-break-row{grid-template-columns:minmax(105px,1fr) repeat(3,minmax(46px,58px))}
.home-toolbar{justify-content:flex-end;margin-top:-6px}

/* Sidebar menu configurator */
.nav-menu-settings{margin-top:7px!important;border-top:1px solid #17344b!important;border-radius:0 0 7px 7px!important;color:#7897ad!important}.nav-menu-settings:hover{color:#e8f5ff!important}.menu-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.menu-config-grid section{min-width:0}.menu-config-grid h3{margin:0 0 9px;color:#dceaf4}.menu-drop-list{min-height:260px;max-height:58vh;overflow:auto;padding:8px;border:1px dashed #34546d;border-radius:10px;background:#091824;display:flex;flex-direction:column;gap:6px;transition:.15s}.menu-drop-list.drag-over{border-color:#4b9bd4;background:#0c2131}.menu-drop-list.staff{background:#0a1c2a}.menu-config-item{display:grid;grid-template-columns:20px 26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:9px 10px;border:1px solid #2a465c;border-radius:8px;background:#102538;cursor:grab;user-select:none}.menu-config-item:active{cursor:grabbing}.menu-config-item.dragging{opacity:.4}.menu-config-item.drop-before{box-shadow:inset 0 3px 0 #4b9bd4;border-top-color:#4b9bd4}.menu-config-item.drop-after{box-shadow:inset 0 -3px 0 #4b9bd4;border-bottom-color:#4b9bd4}.menu-config-item>span{grid-row:1/3;color:#6d8aa0;font-size:17px}.menu-config-item>i{grid-row:1/3;font-style:normal;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#153b59;color:#bfe2fa}.menu-config-item>b{font-size:12px;color:#edf7ff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-config-item>small{color:#7893a7;font-size:9px}.menu-config-folder{grid-template-columns:20px minmax(0,1fr);border-color:#3c6582;background:#102d43}.menu-config-folder>small{grid-column:2}

/* Dedicated horizontal module overview */
.module-map-tabs{position:static;top:auto;margin-bottom:12px;background:transparent;padding:0}.module-map-controls{display:grid;grid-template-columns:minmax(360px,1fr) auto;gap:12px;align-items:center;margin-bottom:12px}.module-map-search{position:static;top:auto;margin:0;box-shadow:none}.module-map-zoom{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #294258;border-radius:10px;background:#102235}.module-map-zoom .btn{min-width:38px}.module-map-zoom>b{min-width:58px;text-align:center;color:#dcecf7;font-size:13px}.module-map-viewport{height:calc(100vh - 335px);min-height:560px;overflow:auto;border:1px solid #2b465d;border-radius:12px;background:radial-gradient(circle at 15% 5%,#10283c,#07131f 68%);cursor:grab;scrollbar-width:thin;scrollbar-color:#315b78 #091724;overscroll-behavior:contain}.module-map-viewport.dragging{cursor:grabbing;user-select:none}.module-map-lane{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:22px;width:max-content;min-height:100%;padding:18px;transform-origin:0 0}.module-map-lane .overview-module{flex:0 0 1760px;width:1760px;margin:0;overflow:visible}.module-map-lane .overview-module-head{position:relative;left:auto;grid-template-columns:minmax(260px,1fr) auto auto}.module-map-lane .overview-module-body{overflow:visible}.module-map-lane .org-tree-canvas{zoom:1!important}.module-map-lane .overview-contractors{border-radius:0 0 12px 12px}.module-map-lane .overview-module:last-child{margin-right:22px}.module-map-viewport .overview-person-card{scroll-margin:160px}.module-map-viewport .overview-module{scroll-margin-left:40px}

/* Real employee-photo enlargement */
img[src*="/employee-photo?"]{cursor:zoom-in}.photo-lightbox-modal{width:min(1280px,96vw)!important;max-height:96vh!important;padding:18px 22px 16px!important;overflow:hidden!important}.photo-lightbox{min-width:0!important;width:100%;height:min(88vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;text-align:center}.photo-lightbox h2{text-align:left;margin:0 38px 12px 0}.photo-lightbox img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;object-fit:contain!important;margin:0 auto 10px!important;border-radius:10px;border:1px solid #38536b;box-shadow:0 18px 45px #0008;background:#08131e;image-rendering:auto}.photo-lightbox>.muted{padding-top:5px}

/* Vacations split by department */
.vacation-department-tabs{display:flex;gap:8px;align-items:stretch;overflow-x:auto;margin:0 0 12px;padding:2px 0 4px;scrollbar-width:thin}.vacation-department-tabs button{min-width:170px;border:1px solid #29465e;background:#0b1c2a;color:#aac2d4;border-radius:9px;padding:9px 13px;text-align:left;cursor:pointer}.vacation-department-tabs button b,.vacation-department-tabs button small{display:block}.vacation-department-tabs button b{font-size:12px}.vacation-department-tabs button small{margin-top:3px;color:#7693a8;font-size:9px}.vacation-department-tabs button.active{background:#0e4f7e;border-color:#2e86c8;color:#fff;box-shadow:inset 3px 0 #48a8ef}.vacation-department-tabs button.active small{color:#b8d9ef}.vacation-filterbar-compact{grid-template-columns:120px minmax(160px,.7fr) minmax(280px,1.6fr) auto}.vacation-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}

@media(max-width:1100px){.menu-config-grid{grid-template-columns:1fr}.module-map-controls{grid-template-columns:1fr}.module-map-viewport{height:calc(100vh - 390px)}.vacation-filterbar-compact{grid-template-columns:repeat(2,minmax(170px,1fr))}}
.rp-viewport{overflow:auto;min-height:420px;height:65vh;max-height:900px;background:#101722;border:1px solid #293447;border-radius:16px;margin-top:18px;cursor:grab}
.rp-viewport.dragging{cursor:grabbing;user-select:none}
.rp-canvas{display:flex;align-items:flex-start;justify-content:flex-start;gap:40px;min-width:max-content;padding:45px}
.rp-branch{min-width:270px;text-align:center;position:relative}
.rp-card{display:flex;align-items:center;flex-direction:column;gap:9px;width:270px;min-height:180px;margin:auto;padding:18px;background:#182233;border:1px solid #314662;border-radius:14px;cursor:pointer;box-sizing:border-box}
.rp-card img{height:82px;width:65px;object-fit:cover;border-radius:8px}
.rp-card b{max-width:230px;overflow-wrap:anywhere}
.rp-level{color:#91b9ff;font-size:14px;font-weight:700}
.rp-avatar{font-size:40px;color:#667e9e}
.rp-card-actions{display:flex;justify-content:center;gap:6px;max-width:270px;margin:8px auto;flex-wrap:wrap}
.rp-children{display:flex;justify-content:center;gap:30px;padding-top:30px;margin-top:20px;border-top:2px solid #41608b;position:relative}
.rp-children>.rp-branch:before{content:'';position:absolute;top:-30px;left:50%;height:30px;border-left:2px solid #41608b}
.rp-owned{max-width:620px;margin:14px auto;color:#afbed5}
.rp-owned>summary{cursor:pointer;padding:10px}
.rp-owned-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:12px;text-align:left}
.rp-module{background:#142132;border:1px solid #314662;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:220px;box-sizing:border-box}
.rp-module small{color:#a1b1c7}
.rp-numbers{font-size:12px;color:#91a7c6}
.rp-match{border-color:#55bde5;box-shadow:0 0 0 2px #55bde52b}
.rp-unbound{margin-top:18px}
.rp-unbound summary{cursor:pointer}
.modal-card.org710-wide{width:min(1100px,95vw);max-width:1100px}
.org710-wide table input{min-width:70px;width:100%;box-sizing:border-box}
.org710-wide table td:first-child{min-width:220px}
.import710-options{display:flex;flex-direction:column;gap:12px;padding:18px 0}
.import710-options input[type=checkbox]{width:18px;height:18px;margin-right:8px;vertical-align:middle}
.import-mapping{margin-top:12px;padding:12px;border:1px solid #304058;border-radius:10px}
.import-mapping summary{cursor:pointer;font-weight:600;margin-bottom:12px}
.notice710{margin:14px 0}
.notice710 textarea{width:100%;min-height:130px;margin:12px 0;padding:14px;box-sizing:border-box}
.depr-video-player{width:100%;max-height:360px;border-radius:10px;background:#000;display:block}
.overview-generic-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.overview-generic-level{margin-bottom:18px}

/* ---- 7.1.2: per-department contractors, archive, protected-database statuses / fields / links ---- */
.dep-contractor-toggle{margin:-4px 0 10px}
.org-contractor-note{margin:8px 0 0}
.db-viewbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:6px 0 10px}
.db-viewbar-right{display:flex;gap:12px;align-items:center}
.db-found{font-size:12px;opacity:.8}
.db-status-tabs,.archive-tabs{display:flex;gap:7px;flex-wrap:wrap}
.db-status-tabs button,.archive-tabs button{white-space:nowrap;border:1px solid #2b455a;background:#0d1e2e;color:#95aabd;border-radius:999px;padding:7px 12px;cursor:pointer;font-size:12px}
.db-status-tabs button small,.archive-tabs button small{opacity:.7;margin-left:3px}
.db-status-tabs button.active,.archive-tabs button.active{background:#205f91;border-color:#2e78ae;color:#fff}
.archive-tabs{margin:0 0 14px}
.archive-filters{display:grid;grid-template-columns:2fr 1.4fr 1fr 1.4fr auto;gap:12px;align-items:end;margin-bottom:14px}
.archive-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.db-status{display:inline-block;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;vertical-align:middle;background:#edf1f5;color:#637083}
.db-status-fired{background:#ffe0e0;color:#c92828}
.db-status-transferred{background:#dce9ff;color:#1d4fa8}
.db-status-unlinked{background:#fff0d1;color:#9a6200}
.db-person-archived{opacity:.82;border-style:dashed}
.db-row-archived td{opacity:.8}
.db-link-box{border:1px solid #2b455a;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:12px}
.db-link-box.linked{border-color:#2f7a55}
.db-link-box em{display:block;font-style:normal;font-size:11px;opacity:.85}
.db-link-box em.warn{color:#d98a00}
.db-link-box em.ok{color:#2c9a63}
.db-link-candidate{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:6px 0;border-top:1px solid #1f3446}
.db-link-candidate small{display:block;opacity:.75}
.db-link-search input{width:100%;margin-top:8px}
.db-field-group{margin:8px 0}
.db-field-group summary{cursor:pointer;font-weight:700;padding:4px 0}
.db-field-toggle{display:flex;gap:8px;align-items:center;flex:1}
.db-field-toggle em{font-style:normal;font-size:10px;opacity:.7;border:1px solid currentColor;border-radius:4px;padding:0 4px}
.db-field-toggle.locked b{opacity:.75}
.db-export-hidden{font-size:11px;display:inline-flex;gap:4px;align-items:center}
.radio-line{display:flex;gap:8px;align-items:center;margin:10px 0 6px}
.archive-history{max-height:260px;overflow:auto}
@media (max-width:1100px){.archive-filters{grid-template-columns:1fr 1fr}}
.rp-results{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;margin:4px 0}
.rp-result{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #2b455a;background:transparent;color:inherit;border-radius:6px;padding:6px 10px;cursor:pointer}
.rp-result:hover,.rp-result:focus{border-color:#2e78ae;outline:none;background:#12304a33}
.rp-result[disabled]{opacity:.5;cursor:not-allowed}
.rp-result small{opacity:.75}
.rp-callsign{opacity:.8;font-size:12px}
.rp-chosen{margin:6px 0}
.rp-chip{display:inline-flex;gap:8px;align-items:center;border:1px solid #2f7a55;border-radius:999px;padding:4px 6px 4px 12px}
.rp-name-locked{opacity:.85}

/* ---- 7.1.3: protected database import of several Excel files ---- */
.dbimp-root h3{margin:18px 0 8px}.dbimp-files{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}.dbimp-files li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border:1px solid rgba(127,127,127,.35);border-radius:8px;background:rgba(127,127,127,.07)}
.dbimp-table th,.dbimp-table td{white-space:normal}.dbimp-table .num{text-align:right;font-variant-numeric:tabular-nums}.dbimp-table tfoot th{background:rgba(127,127,127,.12)}.dbimp-root .warn{color:#d9822b;font-weight:600}
.dbimp-map{border:1px solid rgba(127,127,127,.35);border-radius:8px;margin:8px 0;padding:8px 12px}.dbimp-map summary{cursor:pointer;font-weight:600}.dbimp-map-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:10px 0}.dbimp-map-grid label{display:grid;gap:4px;font-size:11px}.dbimp-map-grid select,.dbimp-map-grid input{width:100%;padding:6px 8px}.dbimp-skip{display:block;margin-top:6px;font-size:12px}
.dbimp-tag{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(38,162,105,.18);color:#26a269;margin-left:6px}.dbimp-tag.warn{background:rgba(242,165,26,.2);color:#d9822b}
.dbimp-rows{max-height:340px;overflow:auto}.dbimp-rows td{white-space:normal;vertical-align:top}.dbimp-rows select{max-width:360px;width:100%}.dbimp-review td{background:rgba(242,165,26,.08)}.dbimp-danger{margin:8px 0;border:1px solid rgba(230,81,81,.5);border-radius:8px;padding:8px 12px}.dbimp-danger summary{cursor:pointer;color:#e65151}.dbimp-done{border-color:#26a269}
@media(max-width:900px){.dbimp-map-grid{grid-template-columns:1fr}}
.photo-editor{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.photo-editor .photo-preview{flex:1 1 220px}
/* 7.1.3: уведомления о сроках командировок и отпусков (колокольчик, «Требуют внимания», окно, история) */
.notif-bell{position:relative;width:36px;height:36px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line2);background:var(--card2);color:var(--muted);border-radius:8px;cursor:pointer;transition:.15s ease}
.notif-bell[hidden]{display:none}
.notif-bell:hover,.notif-bell:focus-visible{color:var(--text);border-color:var(--blue);background:var(--card3);outline:none}
.notif-bell.has-danger{color:#ffb1b7;border-color:#84444b}
.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--orange);color:#1b1305;font-size:10.5px;line-height:18px;text-align:center}
.notif-badge[hidden]{display:none}
.notif-bell.has-danger .notif-badge{background:var(--red);color:#fff}
.notif-home{margin-bottom:20px}
.notif-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.notif-home-head h2{margin:0}.notif-home-head .toolbar{margin:0}
.notif-count{display:inline-block;min-width:24px;padding:1px 8px;border-radius:99px;background:#5b2229;color:#ffb1b7;font-size:13px;text-align:center;vertical-align:middle}
.notif-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.notif-chip{padding:4px 10px;border-radius:99px;font-size:12px;border:1px solid var(--line2);background:var(--card2);color:var(--muted)}
.notif-chip.notif-danger{background:#2b1d22;border-color:#84444b;color:#ffb1b7}
.notif-chip.notif-warning{background:#281e0d;border-color:#67491d;color:#ffc66a}
.notif-chip.notif-info{background:#0d2235;border-color:#2a455d;color:#84c8f6}
.notif-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:12px}
.notif-item{border:1px solid var(--line2);border-left:4px solid var(--blue);border-radius:9px;padding:12px 14px;background:linear-gradient(180deg,#0f2234,#0d1d2e);margin-bottom:10px;min-width:0}
.notif-grid .notif-item{margin-bottom:0}
.notif-item.notif-danger{border-color:#84444b;border-left-color:var(--red);background:linear-gradient(180deg,#2b1d22,#24171b)}
.notif-item.notif-warning{border-color:#67491d;border-left-color:var(--orange);background:linear-gradient(180deg,#281e0d,#211909)}
.notif-item.notif-info{border-color:#2a455d;border-left-color:var(--blue)}
.notif-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.notif-item-head>b{font-size:13px}.notif-item-head .badge{white-space:nowrap}
.notif-person{margin:8px 0 6px}.notif-person b{display:block;font-size:14px;overflow-wrap:anywhere}.notif-person span{display:block;color:var(--muted);font-size:12px}
.notif-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted)}.notif-facts b{color:var(--text)}
.notif-status{margin-top:8px;font-size:12px;color:#c9d7e4}
.notif-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.notif-group h3{margin:16px 0 8px;font-size:14px}.notif-group:first-child h3{margin-top:0}
.notif-clear{margin:8px 0 0;padding:12px 14px;border-radius:8px;border:1px solid #1d6b4d;background:#123d2e;color:#6de0aa}
.notif-more{margin:12px 0 0}
.notif-form{display:grid;gap:12px}.notif-form label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.notif-form input,.notif-form textarea{width:100%;padding:9px;border:1px solid var(--line2);border-radius:6px;background:var(--card2);color:var(--text)}
.notif-form textarea{min-height:70px;resize:vertical}.notif-form p{margin:0}.notif-form .toolbar{margin:4px 0 0}
.notif-form-person{margin:0 0 14px}
.notif-form .import-error[hidden]{display:none}
.modal-card:has(.notif-modal){width:min(860px,94vw)}
.notif-history small{display:block;color:var(--muted);font-size:11px}.notif-history td{white-space:normal;vertical-align:top}.notif-history td:first-child{white-space:nowrap}
tr.notif-target td{background:#33280f;box-shadow:inset 0 1px #67491d,inset 0 -1px #67491d}

/* ===== R3: protected database — selection, statuses, report on unfilled fields ===== */
.db-selbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--card2);font-size:12px}
.db-selbar b{color:var(--text)}
.db-selbar .btn{padding:6px 11px;font-size:12px}
.db-person-card{position:relative}
.db-person-card .db-select-box{position:absolute;top:6px;left:6px;z-index:2;display:flex;padding:3px;border-radius:5px;background:var(--card2);border:1px solid var(--line2);cursor:pointer}
.db-select-box input,.db-select-cell input,.db-select-head input{width:16px;height:16px;cursor:pointer;accent-color:var(--blue)}
.db-select-cell,.db-select-head{width:34px;text-align:center}
.db-person-card.db-selected{border-color:var(--blue)!important;box-shadow:0 0 0 1px var(--blue)!important}
.db-table tr.db-selected td{background:#16355a66}
.db-from-staff{border-bottom:1px dotted var(--cyan);cursor:help}
.db-export-control select + select{margin-left:2px}
.db-status-box{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:12px}
.db-status-box .toolbar{margin:8px 0 0}
.db-status-box small{display:block;margin-top:5px}
.db-status-active{background:#def5e8;color:#168047}
.db-status-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end;margin-top:8px;padding:10px;border:1px dashed var(--line2);border-radius:8px}
.db-status-form label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.db-status-form .toolbar,.db-status-form small{grid-column:1/-1;margin:0}
.db-status-history{margin-top:8px}
.db-status-history summary{cursor:pointer;font-weight:700}
.db-status-history summary span{opacity:.7;font-weight:400}
.db-status-history-row{padding:5px 0;border-top:1px solid var(--line)}
.db-status-history-row small{margin-top:1px}
.db-uf-groups{max-height:46vh;overflow:auto;padding-right:4px}
.db-uf-groups .toolbar{margin:4px 0 6px}
.db-uf-groups .toolbar .btn{padding:4px 9px;font-size:11px}
.db-uf-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 14px;padding-bottom:6px}
.db-uf-item{display:flex;gap:7px;align-items:flex-start;font-size:12px;cursor:pointer}
.db-uf-item input{margin-top:2px}
.db-uf-options{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-top:12px}
.db-uf-options label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.db-uf-options .db-uf-filtered{flex-direction:row;align-items:center}
.db-uf-groups summary span{font-weight:400;opacity:.7;font-size:11px;margin-left:6px}
.db-status-form input,.db-uf-options select{padding:8px 9px;border:1px solid #30495f;border-radius:6px;background:#0c1d2e;color:#e3eff8;font:12px/1.3 "Segoe UI",Arial,sans-serif;min-width:0}
.db-uf-options select{min-width:230px}
.db-status-form input:focus,.db-uf-options select:focus{outline:none;border-color:#3e84c2;box-shadow:0 0 0 3px #2778b820}

/* R3.2: the module scheme is panned with the mouse - no text selection, no dragging of photos; form fields keep their selection */
.module-map-viewport,.module-map-viewport *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.module-map-viewport input,.module-map-viewport textarea,.module-map-viewport select,.module-map-viewport [contenteditable="true"]{-webkit-user-select:text;user-select:text}
.module-map-viewport img{-webkit-user-drag:none;user-drag:none}
.module-map-viewport.dragging,.module-map-viewport.dragging *{cursor:grabbing!important}

/* R3.2: «Кандидат на повышение» - the star sits in the corner of a card and never shifts the card content */
.emp-card{position:relative}
.promo-star{position:absolute;top:5px;right:6px;z-index:3;width:26px;height:26px;padding:0;border:1px solid rgba(255,196,60,.35);border-radius:50%;background:rgba(10,24,38,.72);color:#ffd36a;font-size:16px;line-height:24px;text-align:center;cursor:pointer;opacity:.55;transition:opacity .15s,background .15s,transform .15s}
.emp-card:hover .promo-star,.promo-star:focus-visible,.promo-star.on{opacity:1}
.promo-star:hover{background:#24415b;transform:scale(1.1)}
.promo-star.on{background:#8a5a00;border-color:#ffd36a;color:#fff3c4;box-shadow:0 0 8px rgba(255,196,60,.55)}
.emp-card.promo-candidate{border-color:#ffc43c!important;box-shadow:0 0 0 2px rgba(255,196,60,.55),0 4px 14px rgba(255,160,0,.22)}
.promo-tag{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:9px;background:#ffefc4;color:#7a4b00;font-size:11px;font-weight:700;line-height:1.5;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-kpis{margin-bottom:12px}.promo-toolbar{align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.promo-toolbar input[type=search]{min-width:260px}
.promo-table td{vertical-align:top}.promo-comment{max-width:320px;white-space:pre-wrap;word-break:break-word}.promo-actions{white-space:nowrap}.promo-actions .btn{margin-right:4px}
.promo-toolbar input[type=search],.promo-toolbar select{background:#0b1c2d;color:#e8f1fb;border:1px solid #2b465d;border-radius:8px;padding:8px 10px;font:inherit}
.promo-table td{white-space:normal}.promo-table td:nth-child(7){min-width:160px}.promo-table td:nth-child(3),.promo-table td:nth-child(4){min-width:130px}

/* R3.3: таблица расхождения штата при импорте */
.universal-capacity .capacity-table{max-height:340px;overflow:auto}
.universal-capacity .capacity-table table{width:100%}
.universal-capacity .capacity-table th,.universal-capacity .capacity-table td{white-space:normal;text-align:left;padding:4px 8px}
.universal-capacity .capacity-table .num{text-align:right;font-variant-numeric:tabular-nums}
.universal-capacity .capacity-table tr[hidden]{display:none}
.universal-capacity .capacity-table thead th{position:sticky;top:0;background:var(--panel,#1b2430)}

/* R3.3: иерархия РГП → РП-3 → РП-2 → РП-1 */
.rp-card.rp-level-4{border-color:#e0b25a;background:#2a2316}.rp-card.rp-level-4 .rp-level{color:#f1c76e}
.rp-card.rp-level-3{border-color:#5b8ed6}.rp-card .rp-role{color:#a9bcd6}
.rp-card .rp-numbers{font-size:12px;color:#9fb1c9}
.rp-note{max-width:270px;margin:0 auto 6px;text-align:center;font-size:12px}
.rp-assign-list{max-height:260px;overflow:auto;margin:6px 0}
.rp-assign-row{display:flex;align-items:center;gap:8px;padding:3px 6px}.rp-assign-row[hidden]{display:none}
.rp-photo-edit .toolbar{margin-top:4px}
