/* files/css/auth.css
   Оформление страниц входа и регистрации (body.page-auth).
   НЕЙТРАЛЬНОЕ, НЕ привязано к корпоративному цвету предприятия (корп-цвет
   настраивается отдельно, на странице входа компания ещё не известна).
   Тёмное матовое стекло поверх фонового фото, читаемо на любом фоне.
   Подключается ТОЛЬКО на login.php / registration.php через opts['css']. */

body.page-auth{
  --a-glass:color-mix(in srgb,var(--c-panel) 82%,transparent);
  --a-input:color-mix(in srgb,var(--c-text) 7%,transparent);
  --a-input-hover:color-mix(in srgb,var(--c-text) 12%,transparent);
  --a-border:color-mix(in srgb,var(--c-text) 16%,transparent);
  --a-text:var(--c-text);
  --a-muted:var(--c-text-muted);
  --a-accent:var(--c-accent);
  --a-accent-hover:color-mix(in srgb,var(--c-accent) 82%,var(--c-text));
}

/* ФОН на весь экран, боковое меню скрыто */
body.page-auth .sidebar{display:none;}
body.page-auth .app.app-simple,
body.page-auth .app.app-simple.sidebar-collapsed{
  grid-template-columns:1fr;
  padding-right:0;
  background:url(../pages/authorization.jpg) center center / cover no-repeat fixed;
}
/* лёгкая вуаль для контраста формы */
body.page-auth .app-simple::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(120deg,color-mix(in srgb,var(--c-bg) 45%,transparent),color-mix(in srgb,var(--c-bg) 12%,transparent));
}
body.page-auth .app-simple>.layout-topbar{grid-column:1 / -1;}
body.page-auth .app.app-simple>.col,
body.page-auth .app.app-simple.sidebar-collapsed>.col{
  grid-column:1;
  position:relative;z-index:1;
  max-width:430px;margin:0 auto;width:100%;
  padding-top:8vh;
}
/* регистрация — форма шире */
body.page-auth.page-auth-wide .app.app-simple>.col,
body.page-auth.page-auth-wide .app.app-simple.sidebar-collapsed>.col{
  max-width:760px;
  padding-top:clamp(8px,1.5vh,14px);
}

/* СТЕКЛЯННАЯ КАРТОЧКА (тёмное матовое стекло) */
body.page-auth .card{
  background:var(--a-glass);
  border:1px solid var(--a-border);
  border-radius:16px;
  box-shadow:0 20px 60px var(--c-tip-shadow);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  backdrop-filter:blur(16px) saturate(130%);
  color:var(--a-text);
  overflow:hidden;
}
body.page-auth .card-head{
  border-bottom:1px solid var(--a-border);
  padding:14px 18px;
  justify-content:center;
}
body.page-auth .card-head :is(h1,h2,h3){
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  color:var(--a-text);
  font-size:var(--ui-heading-size);
  font-weight:var(--ui-heading-weight);
  letter-spacing:.6px;
  text-align:center;
  text-transform:uppercase;
}
body.page-auth .card-body{padding:16px 18px;color:var(--a-text);}
body.page-auth .auth-card-wide .card-body > p.hint:first-child{margin:0 0 10px;}

/* ТЕКСТ И ПОДПИСИ */
body.page-auth .set-chk,
body.page-auth .field > label,
body.page-auth .list-name{color:var(--a-text);}
body.page-auth .set-note,
body.page-auth .field .hint,
body.page-auth .hint,
body.page-auth .list-meta,
body.page-auth .muted,
body.page-auth .small{color:var(--a-muted);}
body.page-auth .req{color:var(--c-danger);}
body.page-auth .field-optional{color:var(--a-muted);font-weight:normal;}
body.page-auth .section-title{
  border-top:1px solid var(--a-border);
  padding-top:14px;margin-top:6px;
}

/* ПОЛЯ ВВОДА */
body.page-auth input[type="text"],
body.page-auth input[type="password"],
body.page-auth input[type="email"],
body.page-auth input[type="date"],
body.page-auth input[type="time"],
body.page-auth select,
body.page-auth textarea{
  width:100%;
  background:var(--a-input);
  border:1px solid var(--a-border);
  border-radius:9px;
  color:var(--a-text);
  padding:10px 12px;
  font-family:inherit;
  font-size:13px;
}
body.page-auth input::placeholder,
body.page-auth textarea::placeholder{color:var(--a-muted);}
body.page-auth input:focus,
body.page-auth select:focus,
body.page-auth textarea:focus{
  outline:none;
  border-color:var(--a-accent);
  background:var(--a-input-hover);
}
/* автозаполнение браузера не делает поле белым */
body.page-auth input:-webkit-autofill,
body.page-auth input:-webkit-autofill:hover,
body.page-auth input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--a-text);
  -webkit-box-shadow:0 0 0 1000px var(--c-panel) inset;
  caret-color:var(--a-text);
}
body.page-auth select option{color:var(--c-text);background:var(--c-panel);}

/* верхняя плашка-подсказка (alert) */
body.page-auth .alert{
  background:var(--a-input);
  border:1px solid var(--a-border);
  color:var(--a-text);
}
body.page-auth .alert-ok{
  background:var(--c-ok-soft);
  border-color:var(--c-ok);
  color:var(--c-ok);
}
body.page-auth .alert-err{
  background:var(--c-danger-soft);
  border-color:var(--c-danger);
  color:var(--c-danger);
}
body.page-auth .alert-err ul{margin:6px 0 0 0;padding-left:18px;text-align:left;}
body.page-auth .alert-err li{margin:2px 0;}

/* КНОПКИ: основная — нейтральная стальная заливка, вторая — стеклянная обводка */
body.page-auth .set-btn,
body.page-auth .btn-primary{
  background:var(--a-accent);
  border:1px solid var(--a-accent);
  color:var(--c-on-accent);
  border-radius:9px;
}
body.page-auth .set-btn:hover,
body.page-auth .btn-primary:hover{
  background:var(--a-accent-hover);
  border-color:var(--a-accent-hover);
  color:var(--c-on-accent);
}
body.page-auth .set-actions a.set-btn,
body.page-auth .btn:not(.btn-primary){
  background:var(--a-input);
  border:1px solid var(--a-border);
  color:var(--a-text);
  border-radius:9px;
}
body.page-auth .set-actions a.set-btn:hover,
body.page-auth .btn:not(.btn-primary):hover{
  border-color:var(--a-accent);
  color:var(--c-accent);
  background:var(--a-input-hover);
}

/* сетка полей регистрации на стекле */
body.page-auth .field-grid{gap:0 16px;}

/* запасной вариант: если backdrop-filter не поддерживается — плотнее фон */
@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){
  body.page-auth .card{background:var(--c-panel);}
}

/* мелкие экраны */
@media screen and (max-width:800px){
  body.page-auth .app-simple{background-attachment:scroll;}
  body.page-auth .app-simple .col{padding:5vh 12px 0;}
}

.company-search-wrap{position:relative;}
#companyResults{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius);max-height:240px;overflow:auto;display:none;}
.company-item{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--c-border);}
.company-item:hover{background:var(--c-card-2);}
.company-empty{padding:8px 10px;color:var(--c-text-muted);}

.auth-actions-center{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;}
.auth-card{max-width:430px;margin-inline:auto;}
.auth-card-wide{max-width:760px;}
.auth-form{margin-top:14px;}
.company-request-card{max-width:720px;margin-inline:auto;}
.company-request-form{margin-top:16px;}
.company-request-hint{margin:0;text-align:center;}
.onboarding-card{max-width:760px;margin-inline:auto;}
.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none;}
.onboarding-steps :is(span,li){padding:8px;border:1px solid var(--a-border);border-radius:7px;color:var(--a-muted);text-align:center;font-size:12px;}
.onboarding-steps :is(span,li).active{border-color:var(--a-accent);color:var(--a-accent);}
.onboarding-steps :is(span,li).done{border-color:var(--c-ok);color:var(--c-ok);}
.onboarding-person{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--a-border);}
.onboarding-person span{color:var(--a-muted);text-align:right;}
.onboarding-status{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;}
.onboarding-status-icon{width:36px;height:36px;border:1px solid var(--a-accent);border-radius:50%;display:grid;place-items:center;color:var(--a-accent);font-weight:700;}
.onboarding-status p,.onboarding-intro p{margin:5px 0 0;color:var(--a-muted);}
.onboarding-inline-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;}
.onboarding-search{margin:16px 0;}
.onboarding-search>label,.onboarding-help-admin label{display:block;color:var(--a-text);margin-bottom:6px;}
.onboarding-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.onboarding-results{margin:14px 0;}
.onboarding-position{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-bottom:1px solid var(--a-border);cursor:pointer;}
.onboarding-position:hover{background:var(--a-input-hover);}
.onboarding-position input{margin-top:3px;flex:0 0 auto;}
.onboarding-position span{min-width:0;overflow-wrap:anywhere;}
.onboarding-position small{display:block;color:var(--a-muted);margin-top:3px;}
.onboarding-tree-wrap,.onboarding-help-admin{display:block;margin-top:14px;border-top:1px solid var(--a-border);padding-top:12px;}
.onboarding-tree-wrap>summary,.onboarding-help-admin>summary{cursor:pointer;color:var(--a-accent);font-weight:700;}
.onboarding-tree-level{margin-left:14px;border-left:1px solid var(--a-border);padding-left:8px;}
.onboarding-branch{margin:7px 0;}
.onboarding-branch>summary{cursor:pointer;color:var(--a-text);padding:4px 0;}
.onboarding-help-admin textarea{margin-top:6px;}
.onboarding-footer{text-align:center;margin-top:18px;padding-top:12px;border-top:1px solid var(--a-border);}

@media screen and (max-width:600px){
  .onboarding-steps{grid-template-columns:1fr;}
  .onboarding-person{align-items:flex-start;flex-direction:column;}
  .onboarding-person span{text-align:left;}
  .onboarding-search-row{grid-template-columns:1fr;}
  .onboarding-search-row .btn{width:100%;}
  .onboarding-tree-level{margin-left:6px;}
}
/* end auth.css */
