/* Connected Community — вход в портал, личный кабинет, учётные записи, карточка новости, окно подтверждения.
   Часть оформления портала. Файлы подключаются в templates/index.html по порядку номеров: поздние правила перебивают ранние. */
/* =========================================================
   ВХОД В ПОРТАЛ
   ========================================================= */
body.login-mode .app{display:none;}
.login-screen{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:24px;background:var(--bg-soft);
  overflow-y:auto;
}
.login-box{
  display:grid;grid-template-columns:400px 1fr;
  width:100%;max-width:940px;
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  overflow:hidden;
}

/* левая фирменная панель */
.login-aside{
  background:var(--orange);color:#fff;
  padding:40px 38px;
  display:flex;flex-direction:column;gap:32px;
}
.login-aside-top{display:flex;align-items:center;gap:13px;}
.login-logo{width:52px;height:52px;filter:brightness(0) invert(1);}
.login-word{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:23px;line-height:.98;color:#fff;}
.login-aside-mid{flex:1;}
.login-claim{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:27px;line-height:1.25;margin-bottom:26px;}
.login-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:13px;}
.login-points li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.93);}
.login-points li::before{
  content:'';position:absolute;left:0;top:7px;
  width:9px;height:9px;border-radius:50%;
  background:#fff;
}
.login-aside-foot{font-size:13px;color:rgba(255,255,255,.75);}

/* правая часть с формой */
.login-main{padding:48px 52px;display:flex;flex-direction:column;justify-content:center;}
.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:26px;}
.login-mobile-brand img{width:38px;height:38px;}
.login-mobile-brand span{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:18px;color:var(--orange);}
.login-head{margin-bottom:26px;}
.login-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:29px;margin:0 0 6px;color:var(--ink);}
.login-sub{margin:0;font-size:14.5px;color:var(--ink-soft);}
.login-form .field{margin-bottom:17px;}
.login-form .field label{font-size:13px;margin-bottom:7px;}
.login-form .field input{
  width:100%;box-sizing:border-box;
  font-size:15px;padding:13px 15px;border-radius:10px;
}
.login-pass-wrap{position:relative;}
.login-pass-wrap input{padding-right:48px !important;}
.login-eye{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:none;background:none;cursor:pointer;color:var(--ink-soft);border-radius:8px;
}
.login-eye:hover{color:var(--orange);background:var(--orange-tint);}
.login-eye.on{color:var(--orange);}
.login-remember{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft);cursor:pointer;margin:2px 0 4px;}
.login-remember input{width:17px;height:17px;accent-color:var(--orange);margin:0;flex-shrink:0;}
.login-error{
  min-height:0;font-size:13.5px;color:var(--danger);font-weight:600;
  line-height:1.4;
}
.login-error:not(:empty){
  margin:14px 0 0;padding:11px 14px;
  background:rgba(196,67,43,.08);border-left:3px solid var(--danger);border-radius:8px;
}
.login-submit{width:100%;padding:14px;font-size:15.5px;margin-top:18px;}
.login-submit:disabled{opacity:.65;cursor:default;}
/* вход через Google (15.10.2026): главная кнопка, форма с паролем — под ссылкой */
.login-google{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;margin-top:6px;}
.login-google .ico-wrap{display:inline-flex;}
.login-google svg{width:20px;height:20px;}
.login-google-note{text-align:center;margin-top:8px;font-size:13px;color:var(--ink-soft);}
.login-pass-link{display:block;text-align:center;margin-top:18px;font-size:14.5px;}
.login-google + .login-error,.login-google ~ .login-form{margin-top:16px;}
.login-foot{margin-top:26px;font-size:13px;color:var(--ink-soft);line-height:1.5;}

@media (max-width:860px){
  .login-screen{padding:16px;align-items:flex-start;}
  .login-box{grid-template-columns:1fr;max-width:460px;margin:auto;}
  .login-aside{display:none;}
  .login-mobile-brand{display:flex;}
  .login-main{padding:32px 26px;}
  .login-title{font-size:25px;}
}

/* =========================================================
   ЛИЧНЫЙ КАБИНЕТ И УЧЁТНЫЕ ЗАПИСИ
   ========================================================= */
.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px 26px;max-width:720px;}
.profile-head{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.profile-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.profile-name{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:22px;}
.profile-role{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--orange-tint);color:var(--orange);font-size:12px;font-weight:700;}
.profile-login{font-size:13px;color:var(--ink-soft);margin-top:6px;}
.profile-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 24px;padding:18px 0;}
.profile-rows div{display:flex;flex-direction:column;gap:2px;font-size:14px;}
.profile-rows span{font-size:12px;color:var(--ink-soft);}
.profile-rows b{font-weight:600;overflow-wrap:anywhere;}
.profile-nocard{padding:16px 0;font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
.profile-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--border);}

.users-legend{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--ink-soft);margin-bottom:16px;}
.users-list{display:flex;flex-direction:column;gap:8px;}
.user-row{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;}
.user-main{flex:1 1 200px;min-width:0;}
.user-name{font-weight:700;font-size:15px;}
.user-you{margin-left:6px;font-size:11px;font-weight:700;color:var(--orange);text-transform:uppercase;}
.user-login{font-size:12.5px;color:var(--ink-soft);}
.user-role{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--bg-soft);color:var(--ink-soft);white-space:nowrap;}
.user-role.admin{background:var(--orange-tint);color:var(--orange);}
.user-last{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;}
.user-actions{display:flex;gap:4px;}
@media (max-width:700px){.user-row{flex-wrap:wrap;}.user-last{display:none;}}
/* проверка автообновления по таймеру — 16.09.2026 */
.logout-btn{cursor:pointer;}
.logout-btn:hover{color:var(--danger);background:rgba(196,67,43,.08);}
.user-role.hr{background:#EAF3FF;color:#1F5FA8;}
[data-theme="dark"] .user-role.hr{background:#1B2A3D;color:#7FB3F0;}
.user-pending{color:var(--orange);font-weight:700;}
.user-blocked{color:var(--danger);font-weight:700;}
.phones-title{margin:24px 0 10px;font-size:17px;}
.modal-text{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0 0 14px;}
#inviteUrl{font-size:13px;font-family:ui-monospace,Consolas,monospace;}
.login-link{color:var(--orange);font-weight:700;text-decoration:none;}
.login-link:hover{text-decoration:underline;}
.login-ok{margin:14px 0 0;padding:12px 14px;background:var(--orange-tint);border-left:3px solid var(--orange);border-radius:8px;font-size:13.5px;line-height:1.5;color:var(--ink);}
.login-ok small{color:var(--ink-soft);}
.login-ok a{color:var(--orange);word-break:break-all;}
.regcode-box{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:12px;padding:16px 18px;margin-bottom:18px;}
.regcode-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:15px;margin-bottom:4px;}
.regcode-sub{font-size:13px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px;}
.regcode-row{display:flex;gap:8px;flex-wrap:wrap;}
.regcode-row input{flex:1 1 220px;font-size:15px;font-family:ui-monospace,Consolas,monospace;letter-spacing:.06em;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-soft);color:var(--ink);}
.regcode-row input:focus{outline:2px solid var(--orange);outline-offset:0;}
.news-photo-current{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.news-photo-current img{width:120px;height:80px;object-fit:cover;border-radius:9px;border:1px solid var(--border);}
.field-hint{font-size:12px;color:var(--ink-soft);margin-top:5px;}
/* ---- новость: текст слева, фото справа ---- */
.news-content.has-photo{display:flex;align-items:flex-start;gap:24px;}
.news-content.has-photo .news-text{flex:1 1 0;min-width:0;}
.news-content.has-photo .news-body{max-width:none;}
.news-content.has-photo .news-image{
  flex:0 0 42%;max-width:420px;width:42%;height:auto;max-height:320px;
  object-fit:cover;border-radius:12px;margin:0;order:2;
}
@media (max-width:760px){
  .news-content.has-photo{flex-direction:column;gap:12px;}
  .news-content.has-photo .news-image{flex:none;width:100%;max-width:none;max-height:260px;order:-1;}  /* на телефоне фото сверху */
}
/* ---- публикации: переключатель вида ---- */
.type-switch{display:flex;gap:6px;padding:4px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;}
.type-switch button{flex:1;padding:10px 12px;border:none;border-radius:9px;background:none;cursor:pointer;
  font-family:'Samsung Sans','Roboto',sans-serif;font-size:14px;font-weight:700;color:var(--ink-soft);}
.type-switch button:hover{color:var(--ink);}
.type-switch button.active{background:var(--orange);color:#fff;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field-helper{margin-top:6px;color:var(--orange) !important;padding-left:0 !important;}
.field-helper:hover{text-decoration:underline;}
@media (max-width:560px){.field-row{grid-template-columns:1fr;}}

/* ---- карточка «Новый сотрудник» ---- */
.news-card.newcomer{background:var(--surface);}
.newcomer-content{display:flex;align-items:stretch;gap:28px;}
.newcomer-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column;}
.newcomer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.badge.newcomer-badge{background:var(--orange);color:#fff;padding:4px 12px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.newcomer-title{font-size:13.5px;font-weight:700;color:var(--orange);margin-bottom:2px;}
.newcomer-name{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:26px;line-height:1.15;color:var(--ink);}
.newcomer-pos{font-size:14.5px;color:var(--ink-soft);margin:4px 0 14px;font-weight:600;}
.newcomer .news-body{max-width:none;}
.newcomer-meta{margin:14px 0 0 !important;margin-top:auto !important;padding-top:14px;}
.newcomer-photo{flex:0 0 240px;width:240px;aspect-ratio:3/4;height:auto;object-fit:cover;object-position:center top;
  border-radius:14px;border:1px solid var(--border);cursor:zoom-in;align-self:flex-start;}
.newcomer-ava{display:flex;align-items:center;justify-content:center;cursor:default;
  font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:64px;
  background:hsl(var(--h,25) 70% 92%);color:hsl(var(--h,25) 45% 35%);}
@media (max-width:760px){
  .newcomer-content{flex-direction:column;gap:14px;}
  .newcomer-photo{order:-1;flex:none;width:100%;max-width:320px;align-self:center;}
  .newcomer-name{font-size:22px;}
}
/* ---- окно подтверждения удаления ---- */
.confirm-overlay{z-index:300;}
.confirm-modal{max-width:400px;padding:26px 26px 22px;text-align:center;}
.confirm-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(196,67,43,.1);color:var(--danger);}
.confirm-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:19px;margin-bottom:8px;color:var(--ink);}
.confirm-text{font-size:14px;line-height:1.55;color:var(--ink-soft);margin-bottom:4px;overflow-wrap:anywhere;}
.confirm-text b{color:var(--ink);}
.confirm-actions{display:flex;gap:10px;margin-top:20px;}
.confirm-actions .btn{flex:1;padding:12px;}
.btn.danger{background:var(--danger) !important;color:#fff !important;border-color:var(--danger) !important;}
.btn.danger:hover{background:#A83621 !important;}
/* ---- заметная ручка левой панели: круглая кнопка на её границе ---- */
.sidenav-handle{display:none;}
@media (min-width:1101px){
  .sidenav-handle{
    display:flex;align-items:center;justify-content:center;
    position:fixed;z-index:16;   /* выше панели (15), но ниже шапки (20) — выпадающие меню шапки её перекрывают */
    left:calc(232px - 15px);top:calc(var(--masthead-h,68px) + 18px);
    width:30px;height:30px;border-radius:50%;padding:0;cursor:pointer;
    background:var(--orange);color:#fff;border:3px solid var(--bg-soft);
    transition:transform .15s ease, background .15s ease;
  }
  .sidenav-handle:hover{background:var(--orange-dark, #E65C00);transform:scale(1.12);}
  .sidenav-handle:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
  .sidenav-handle svg{transition:transform .2s ease;}
  body.sidenav-collapsed .sidenav-handle{left:calc(60px - 15px);}
  body.sidenav-collapsed .sidenav-handle svg{transform:rotate(180deg);}
}

/* «О себе» → «Контакты» (20.10.2026): свои телефон, день рождения и фото; в карточке HR — что сотрудник сам менял */
.pf-block-title{font-size:13px;font-weight:700;color:var(--ink-soft);margin:4px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.pf-photo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.pf-photo-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--border);background:var(--bg-soft);flex:none;}
.pf-photo-actions{display:flex;flex-direction:column;gap:8px;min-width:0;}
.hf-hist{display:flex;gap:10px;align-items:baseline;font-size:12.5px;color:var(--ink);padding:4px 0;border-top:1px solid var(--border);flex-wrap:wrap;}
.hf-hist span:first-child{color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.hf-hist b{font-weight:600;}
