/* TeamGuide — «Персонал»: вкладки-пилюли, «кошелёк» подразделений,
   карточка сотрудника с календарём, редактор должностей и матрица прав (Jerome 0.33–0.42). */
.pers{max-width:760px;}
.pers-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:2px 0 12px;scrollbar-width:none;}
.pers-tabs::-webkit-scrollbar{display:none;}
.pers-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;}
.pers-stat{background:var(--paper-2);border:1px solid var(--field-line);border-radius:12px;padding:10px 12px;}
.pers-stat b{display:block;font-family:var(--font-head);font-size:20px;font-weight:500;color:var(--black);}
.pers-stat span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);}
.pers-search{margin:0 0 12px;}
.pers-search .input{height:42px;border-radius:21px;background:var(--paper);}

/* «Кошелёк»: тёмная карточка подразделения, внутри — карточки сотрудников */
.wallet{margin-bottom:12px;}
.wallet-head{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;
  background:radial-gradient(120% 90% at 100% 0%,var(--tg-glow) 0%,transparent 60%),var(--tg-s1);color:var(--tg-fg);border-radius:var(--tg-r);padding:16px 18px;border:1px solid color-mix(in srgb,var(--tg-acc) 24%,transparent);box-shadow:var(--tg-shadow);}
.wallet-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tg-acc);font-weight:500;}
.wallet-name{font-family:var(--tg-f-num);font-size:20px;font-weight:300;margin-top:2px;letter-spacing:-.01em;}
.wallet-right{display:flex;align-items:center;gap:10px;}
.wallet-count{background:var(--tg-acc-tint);color:var(--tg-acc);padding:4px 12px;border-radius:14px;font-size:12px;font-weight:700;}
.wallet-arrow{font-size:16px;color:var(--tg-muted);transition:transform .2s;}
.wallet.open .wallet-arrow{transform:rotate(180deg);}
.wallet-deck{display:none;padding:10px 4px 2px;}
.wallet.open .wallet-deck{display:block;}
.emp-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px;box-shadow:0 4px 12px rgba(0,0,0,.03);transition:transform .12s;}
.emp-card:active{transform:scale(.99);}
.emp-card .avatar{width:38px;height:38px;font-size:14px;background:var(--black);color:var(--cream);}
.emp-card-main{flex:1;min-width:0;}
.emp-card-name{font-size:14.5px;font-weight:700;color:var(--black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.emp-card-sub{font-size:11.5px;color:var(--muted-label);margin-top:1px;}
.emp-card-right{text-align:right;flex:none;}
.emp-card-phone{font-size:11.5px;color:var(--muted-2);font-weight:600;}
.trainee{color:#B8860B;font-weight:700;}

/* Строки-списки (должности, уволенные) */
.row-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--field-line);border-radius:14px;padding:12px 14px;margin-bottom:8px;transition:transform .12s;}
.row-btn:active{transform:scale(.99);}
.row-btn-main{flex:1;min-width:0;}
.row-btn-name{font-weight:700;font-size:15px;color:var(--black);}
.row-btn-sub{font-size:12.5px;color:var(--muted-2);margin-top:2px;}
.row-btn-chev{flex:none;color:var(--accent);font-size:20px;line-height:1;}
.row-btn.inactive{opacity:.55;}
.grp-label{margin:16px 0 8px;font-family:var(--font-head);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);border-radius:9px;padding:6px 10px;}

/* Карточка сотрудника */
.emp-head{display:flex;align-items:center;gap:14px;background:var(--paper-2);border:1px solid var(--field-line);border-radius:16px;padding:16px;margin-bottom:12px;}
.emp-head .avatar{width:60px;height:60px;font-size:22px;}
.emp-head-name{font-family:var(--font-head);font-size:19px;letter-spacing:.02em;color:var(--black);font-weight:500;}
.emp-head-sub{font-size:13px;color:var(--muted-2);margin-top:3px;}
.emp-head-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.emp-actions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px;}
.confirm-box{background:var(--paper-2);border:1px solid var(--field-line);border-radius:14px;padding:14px;margin:4px 0 16px;font-size:13.5px;line-height:1.45;color:var(--black);}

/* Календарь */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-head b{font-family:var(--font-head);font-weight:500;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--black);}
.cal-nav{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent-dark);font-size:16px;line-height:1;}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dow{text-align:center;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-label);padding:2px 0;}
.cal-day{min-height:46px;border-radius:9px;border:1px solid var(--soft-line);background:var(--paper);padding:3px;font-size:11px;color:var(--black);text-align:center;position:relative;}
button.cal-day{cursor:pointer;}
.cal-day.empty{border:0;background:transparent;}
.cal-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.cal-day.weekend .cal-num{color:var(--accent-dark);}
.cal-num{font-weight:700;font-size:11.5px;}
.cal-shift{margin-top:2px;font-size:9.5px;line-height:1.25;border-radius:6px;padding:2px 1px;background:var(--accent);color:var(--on-accent);}
.cal-shift.past{background:rgba(var(--accent-rgb),.35);}
.totals{display:flex;gap:8px;margin-top:12px;}
.total{flex:1;background:var(--field);border-radius:10px;padding:9px 12px;text-align:center;}
.total b{display:block;font-family:var(--font-head);font-weight:500;font-size:17px;color:var(--black);}
.total span{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;}

/* Права должности */
.perm-dom{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-dark);font-weight:700;margin:14px 0 2px;}
.perm{display:flex !important;align-items:center;gap:9px;padding:7px 0;margin:0 !important;font-size:13.5px !important;letter-spacing:0 !important;text-transform:none !important;color:var(--black) !important;font-weight:400 !important;border-bottom:1px dashed var(--soft-line);cursor:pointer;}
.perm input{width:18px;height:18px;accent-color:var(--accent);flex:none;}
.perm small{color:var(--muted-label);margin-left:auto;font-size:10.5px;font-family:ui-monospace,Menlo,monospace;}

/* Матрица доступа */
.acc-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--paper-2);border:1px solid var(--field-line);border-radius:14px;}
.acc-table{border-collapse:separate;border-spacing:0;min-width:100%;}
.acc-table th,.acc-table td{padding:8px 10px;border-bottom:1px solid var(--soft-line);font-size:13px;white-space:nowrap;text-align:center;}
.acc-table tr:last-child td{border-bottom:0;}
.acc-table th:first-child,.acc-table td:first-child{position:sticky;left:0;background:var(--paper-2);min-width:130px;max-width:170px;white-space:normal;font-size:12.5px;line-height:1.3;box-shadow:2px 0 0 var(--soft-line);text-align:left;font-weight:600;z-index:1;}
.acc-table thead th{white-space:normal;min-width:76px;max-width:110px;line-height:1.25;background:var(--field);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);font-weight:600;}
.acc-table thead th:first-child{background:var(--field);z-index:2;}
.acc-table input{width:17px;height:17px;accent-color:var(--accent);}
.acc-note{font-size:12px;color:var(--muted-2);margin:10px 2px 0;}

/* Учётки */
.usr-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--field-line);border-radius:12px;margin-bottom:6px;background:var(--paper-2);}
.usr-row.off{opacity:.6;}
.usr-row.new{border-style:dashed;}
.usr-main{flex:1;min-width:140px;}
.usr-name{font-size:14px;color:var(--black);font-weight:600;}
.usr-meta{font-size:12px;color:var(--muted-2);margin-top:2px;}
.usr-btns{display:flex;gap:6px;}
.usr-pass{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;padding-top:6px;}
.usr-pass .input{flex:1 1 130px;height:38px;padding:0 10px;font-size:14px;}
.pwd-box{margin-top:12px;padding:12px 14px;background:var(--field);border:1px solid var(--field-line);border-radius:12px;}
.pwd-box-title{font-weight:700;font-size:12px;color:var(--accent-dark);margin-bottom:8px;}
.pwd-box .input{font-family:ui-monospace,Menlo,monospace;font-weight:700;}
.pwd-hint{font-size:11.5px;color:var(--muted-2);margin-top:6px;}
.trainee-check{background:#FFF8E8 !important;border:1px solid #EADFB8;border-radius:12px;padding:10px 12px;}
:root[data-theme="dark"] .trainee-check{background:#2b2412 !important;border-color:#4a3d1c;}

/* Приглашение по ссылке */
.invite-link{padding:12px 14px;border-radius:12px;background:var(--field);border:1px dashed var(--accent);font-family:ui-monospace,Menlo,monospace;font-size:12.5px;word-break:break-all;color:var(--black);user-select:all;}
.emp-actions .btn svg{width:16px;height:16px;}

/* Должность: шаблоны и охват */
.pos-section{margin-top:18px;padding-top:12px;border-top:1px solid var(--soft-line);}
.pos-section .block-title{border:0;padding:0;margin:0 0 4px;}
.pos-section .acc-note{margin:0 0 10px;}
.tpl-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.tpl-chip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 12px;border-radius:12px;border:1.5px solid var(--field-line);background:var(--paper);color:var(--black);cursor:pointer;transition:border-color .15s,background .15s;}
.tpl-chip b{font-size:13.5px;}
.tpl-chip span{font-size:11.5px;color:var(--muted-2);line-height:1.35;}
.tpl-chip:hover{border-color:rgba(var(--accent-rgb),.5);}
.tpl-chip.active{border-color:var(--accent);background:rgba(var(--accent-rgb),.08);box-shadow:inset 0 0 0 1px var(--accent);}
.tpl-state{margin-top:10px;font-size:12.5px;color:var(--muted-2);line-height:1.6;}
.tpl-state .tag svg{width:13px;height:13px;margin-right:3px;}
.acc-table thead th small{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:10px;margin-top:2px;opacity:.85;}
.acc-howto{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:var(--clay-tint);font-size:13px;line-height:1.45;color:var(--ink);margin-bottom:12px;}
.acc-howto b{color:var(--black);}
.viewas-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.viewas-pick > span svg{width:20px;height:20px;color:var(--accent-dark);display:block;}
.viewas-pick select{flex:1 1 200px;height:38px;border-radius:10px;border:1.5px solid var(--field-line);background:var(--paper);color:var(--black);padding:0 10px;font-size:14px;}

/* График подразделения */
.sg-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.sg-bar .sg-month{margin:0;gap:10px;flex:1 1 auto;justify-content:center;}
.sg-dept{height:38px;max-width:220px;}
.sg-dept-name{font-family:var(--font-head);font-weight:500;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--black);}
.sg-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--paper-2);border:1px solid var(--field-line);border-radius:14px;}
.sg{border-collapse:separate;border-spacing:0;font-size:11px;}
.sg th,.sg td{border-bottom:1px solid var(--soft-line);border-right:1px solid var(--soft-line);text-align:center;padding:0;}
.sg thead th{background:var(--field);position:sticky;top:0;}
.sg-day{min-width:46px;padding:5px 2px !important;color:var(--muted-2);font-weight:500;}
.sg-day span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;}
.sg-day b{font-size:13px;color:var(--black);}
.sg-day.we b,.sg-day.we span{color:var(--accent-dark);}
.sg-day.today{background:var(--accent) !important;}
.sg-day.today b,.sg-day.today span{color:var(--on-accent);}
.sg-name{position:sticky;left:0;z-index:1;background:var(--paper-2);text-align:left !important;padding:6px 10px !important;min-width:132px;max-width:150px;box-shadow:2px 0 0 var(--soft-line);}
thead .sg-name,tfoot .sg-name{background:var(--field);z-index:2;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);}
.sg-name span{display:block;font-size:12.5px;font-weight:600;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sg-name small{display:block;font-size:10.5px;color:var(--muted-2);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sg tr.me .sg-name{box-shadow:inset 3px 0 0 var(--accent),2px 0 0 var(--soft-line);}
.sg-cell{height:44px;color:var(--black);line-height:1.2;}
.sg-cell.we{background:rgba(var(--accent-rgb),.03);}
.sg-cell.today{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.5);}
.sg-cell.on{background:rgba(var(--accent-rgb),.16);color:var(--accent-dark);font-weight:700;}
.sg-cell button{display:block;width:100%;height:100%;min-height:44px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:2px;}
.sg-cell button:hover{background:rgba(var(--accent-rgb),.1);}
.sg-cell button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.sg-total{min-width:58px;padding:4px 6px !important;background:var(--field);}
.sg-total b{display:block;font-size:13px;color:var(--black);}
.sg-total small{font-size:10px;color:var(--muted-2);}
.sg tfoot td,.sg tfoot th{border-bottom:0;background:var(--field);font-weight:700;color:var(--muted-2);height:30px;}
.cal-shift.off{background:var(--field);color:var(--muted-2);}
