/* ==========================================================================
   pzh-risk.ru — личный кабинет (lk.html)
   Переиспользует переменные style.css (--accent, --surface, --line, --muted)
   и дизайн-систему css/design.css (--d-*, .dbtn, .dcard).
   ========================================================================== */

.lk-visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.lk-h3{ font-size:1.06rem; font-weight:650; letter-spacing:-.015em; margin:0 0 12px }
.lk-muted{ color:var(--muted); font-size:.92rem; margin:0 }
.lk-hint{ color:var(--muted); font-size:.86rem; margin:12px 0 0 }
.lk-status{ font-size:.9rem; margin:10px 0 0; min-height:1.2em; color:var(--accent-strong) }
.lk-status.is-err{ color:var(--rose-ink) }
.lk-status.is-ok{ color:var(--positive) }

/* ---------- режим хранения ---------- */
.lk-mode{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:18px; padding:11px 14px; border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-soft);
}
.lk-mode__badge{
  font:600 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase;
  padding:6px 10px; border-radius:99px; background:var(--accent-soft); color:var(--accent-strong);
}
.lk-mode.is-local .lk-mode__badge{ background:var(--amber-soft); color:var(--amber-ink) }
.lk-mode.is-cloud .lk-mode__badge{ background:var(--positive-soft); color:var(--positive) }
.lk-mode__text{ font-size:.9rem; color:var(--muted) }

/* ---------- карточка пользователя ---------- */
.lk-user{ font-size:.9rem; color:var(--muted) }
.lk-user b{ color:var(--text) }

/* ---------- формы ---------- */
.lk-auth__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px }
.lk-auth__row{ margin-top:16px }
.lk-auth__oauth{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line) }
.lk-auth__oauthlabel{ font:600 11px/1.3 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted) }
.lk-grid2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:16px; align-items:start }
.lk-grid2 .card{ margin-bottom:0 }

/* ---------- списки ---------- */
.lk-list{ display:flex; flex-direction:column; gap:12px }
.lk-item{
  border:1px solid var(--line); border-radius:var(--r-lg); padding:14px 16px;
  background:var(--surface); box-shadow:var(--shadow-soft);
}
.lk-item__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap }
.lk-item__title{ font-weight:650; letter-spacing:-.015em; margin:0 }
.lk-item__meta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:6px; font-size:.85rem; color:var(--muted) }
.lk-item__body{ margin-top:8px; font-size:.93rem }
.lk-item__actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px }
.lk-list--small .lk-item{ padding:10px 12px; box-shadow:none; background:var(--surface-soft) }
.lk-list--small .lk-item__meta{ margin-top:2px }

.lk-badge{
  display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:99px;
  font:600 11.5px/1.4 var(--mono); background:var(--accent-soft); color:var(--accent-strong); white-space:nowrap;
}
.lk-badge--ok{ background:var(--positive-soft); color:var(--positive) }
.lk-badge--warn{ background:var(--amber-soft); color:var(--amber-ink) }
.lk-badge--bad{ background:var(--rose-soft); color:var(--rose-ink) }
.lk-badge--mute{ background:var(--surface-sunk); color:var(--muted) }

.lk-empty{
  padding:26px 18px; text-align:center; color:var(--muted); font-size:.93rem;
  border:1px dashed var(--line); border-radius:var(--r-lg); background:var(--surface-soft);
}
.lk-btnrow{ display:flex; gap:8px; flex-wrap:wrap; align-items:center }
.lk-btnrow .dbtn{ height:36px; padding:0 14px; font-size:.86rem }

/* ---------- модальное окно ---------- */
.lk-modal{
  position:fixed; inset:0; z-index:80; display:flex; align-items:flex-start;
  justify-content:center; padding:40px 16px; background:rgba(13,19,25,.45);
  overflow-y:auto;
}
.lk-modal[hidden]{ display:none }
.lk-modal__box{
  width:min(100%,720px); background:var(--surface); border-radius:var(--r-lg);
  box-shadow:0 30px 80px rgba(16,24,32,.22); padding:24px; margin:auto;
}
.lk-form{ display:grid; gap:14px }
.lk-form__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px }
.lk-form__row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center }
.lk-form textarea{
  width:100%; min-height:110px; font:13px/1.5 var(--mono); border:1.5px solid #c3d0dc;
  border-radius:var(--r-sm); padding:10px 12px; color:var(--text); background:var(--surface);
}
.lk-form__note{ font-size:.84rem; color:var(--muted); margin:0 }
.lk-form__fields{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px }
.lk-form__fields label{ display:block }

/* ---------- адаптив ---------- */
@media (max-width:720px){
  .lk-auth__grid{ grid-template-columns:1fr }
  .lk-grid2{ grid-template-columns:1fr }
  .lk-item__head{ align-items:flex-start }
  .lk-modal{ padding:16px 10px }
  .lk-modal__box{ padding:18px }
  .lk-item__actions .dbtn{ flex:1 1 auto }
}

/* ---------- печать ---------- */
@media print{
  .lk-mode,.lk-auth,.lk-item__actions,#btn-sync,#btn-export,#btn-import,
  #btn-add-obj,#btn-add-calc,#btn-add-doc,#btn-add-comment,#btn-save-profile,
  #btn-logout,.lk-modal,.page-nav{ display:none !important }
  body{ background:#fff }
  .lk-item{ break-inside:avoid; box-shadow:none; border-color:#bbb }
  section{ break-inside:avoid }
}
