/* ============================================================
   CRIMSON — страница НАСТРОЙКИ
   ============================================================ */
.view[hidden]{display:none}

/* На странице настроек прячем элементы, относящиеся только к дашборду */
html[data-view="settings"] #rangeSeg,
html[data-view="settings"] #refreshToggle,
html[data-view="settings"] .live-flag{display:none}

#view-settings:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
#view-settings > .set-panel:nth-child(1),
#view-settings > .set-panel:nth-child(4){grid-column:1 / -1}
.set-panel{animation:rise .6s var(--ease) both}
.set-panel:nth-child(2){animation-delay:.05s}
.set-panel:nth-child(3){animation-delay:.1s}
.set-panel:nth-child(4){animation-delay:.15s}
.head-note{font-size:11px;color:var(--ink-400);letter-spacing:.03em}

/* ---------- Файл-карточка ---------- */
.file-card{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  border:1px solid var(--card-line);border-radius:var(--r-md);
  background:var(--paper);padding:14px 16px;margin-bottom:16px;
}
.file-ic{
  width:44px;height:44px;flex:none;border-radius:11px;display:grid;place-items:center;color:var(--red-600);
  background:linear-gradient(145deg,var(--paper-2),var(--card));border:1px solid var(--card-line);
}
.file-info{min-width:0;flex:1}
.file-name{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink-900);margin-bottom:3px}
.file-url{
  display:block;font-family:var(--mono);font-size:12px;color:var(--red-600);text-decoration:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;
}
.file-url:hover{text-decoration:underline}
.file-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--ink-400)}
.file-meta b{color:var(--ink-700)}
.dotsep{color:var(--red-300);opacity:.7}
.file-badge{flex:none;align-self:flex-start}

/* ---------- Поля формы ---------- */
.field{display:block;margin-bottom:16px}
.field-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);margin-bottom:8px}
.field-label.sm{margin-top:8px;margin-bottom:0}
.field-row{display:flex;gap:10px;flex-wrap:wrap}
.field-row .input-wrap{flex:1;min-width:220px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap input,.input-wrap select{
  width:100%;border:1px solid var(--card-line);background:var(--card);color:var(--ink-900);
  font-family:var(--font);font-size:13.5px;padding:11px 14px;border-radius:var(--r-md);
  outline:0;transition:.22s var(--ease);
}
.input-wrap input::placeholder{color:var(--ink-400);opacity:.75}
.input-wrap input:focus,.input-wrap select:focus{
  border-color:var(--card-line-hi);box-shadow:0 0 0 4px rgba(var(--red-glow),.1);
}
.input-wrap select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}
.sel-caret{position:absolute;right:13px;color:var(--ink-400);pointer-events:none}

/* ---------- Кнопка-глаз (адаптируется под тему через mask) ---------- */
.eye{
  position:absolute;right:8px;width:30px;height:30px;border:0;background:transparent;cursor:pointer;padding:0;
  display:grid;place-items:center;
}
.eye::before{
  content:"";width:19px;height:19px;background:var(--ink-400);transition:.2s;
  -webkit-mask:center/19px no-repeat var(--eye-open);mask:center/19px no-repeat var(--eye-open);
}
.eye:hover::before{background:var(--red-500)}
.eye.off::before{-webkit-mask-image:var(--eye-off);mask-image:var(--eye-off)}
.eye.gen{position:static;width:38px;height:38px;flex:none;border:1px solid var(--card-line);border-radius:var(--r-md);margin-left:8px;color:var(--red-600)}
.eye.gen::before{display:none}
.eye.gen svg{color:var(--red-600)}
:root{
  --eye-open:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --eye-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 4.2A11 11 0 0 1 12 4c7 0 11 8 11 8a18 18 0 0 1-2.5 3.5M6.6 6.6A18 18 0 0 0 1 12s4 8 11 8a11 11 0 0 0 5.4-1.4'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E");
}

/* ---------- Индикатор надёжности пароля ---------- */
.strength{display:flex;gap:6px;margin-top:10px}
.strength span{flex:1;height:5px;border-radius:99px;background:var(--paper-2);transition:.3s var(--ease)}
.strength.s1 span:nth-child(1){background:#ff3a1a}
.strength.s2 span:nth-child(-n+2){background:#ff8c42}
.strength.s3 span:nth-child(-n+3){background:#ffcf3f}
.strength.s4 span{background:#2fbf71}

.field-error{display:block;font-size:12px;margin-top:7px;min-height:15px;color:var(--red-500);font-weight:500}
.field-error.ok{color:#2fbf71}

/* ---------- Уведомления/подсказки ---------- */
.field-hint{font-size:12px;color:var(--ink-400);line-height:1.5;margin:-4px 0 14px}
.notice{
  display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);
  font-size:12.5px;line-height:1.55;margin-bottom:16px;border:1px solid;
}
.notice svg{flex:none;margin-top:1px}
.notice b{font-weight:700}
.notice.warn{background:rgba(255,166,0,.09);border-color:rgba(255,166,0,.3);color:var(--ink-700)}
.notice.warn svg{color:#ffab2e}
.notice.warn b{color:#ff9800}
.notice.info{background:rgba(var(--red-glow),.07);border-color:var(--card-line-hi);color:var(--ink-700)}
.notice.info svg{color:var(--red-500)}
.notice.info b{color:var(--red-600)}

/* ---------- Кнопки ---------- */
.panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.btn{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid transparent;
  font-family:var(--font);font-size:13px;font-weight:600;padding:10px 18px;border-radius:var(--r-md);
  transition:.25s var(--ease);
}
.btn.primary{color:#fff;background:linear-gradient(145deg,var(--red-500),var(--red-600));box-shadow:0 8px 20px -8px rgba(var(--red-glow),.7)}
.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(var(--red-glow),.85)}
.btn.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn.ghost{background:var(--card);border-color:var(--card-line-hi);color:var(--red-600)}
.btn.ghost:hover{background:rgba(var(--red-glow),.08)}

/* ---------- Список гостей ---------- */
.guest-list-wrap{margin-top:18px;border-top:1px solid var(--card-line);padding-top:14px}
.guest-list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:10px}
.guest-list:empty::after{content:"пока нет гостей";font-size:12px;color:var(--ink-400);font-style:italic}
.guest-item{
  display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:var(--r-md);
  background:var(--paper);border:1px solid var(--card-line);animation:fadeIn .35s var(--ease) both;
}
.guest-av{width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:700;
  background:linear-gradient(145deg,var(--red-400),var(--red-600))}
.guest-cred{min-width:0;flex:1}
.guest-login{font-weight:600;font-size:13px;color:var(--ink-900)}
.guest-pw{font-family:var(--mono);font-size:11.5px;color:var(--ink-400)}
.guest-role{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--red-600);background:rgba(var(--red-glow),.1);padding:3px 8px;border-radius:99px;flex:none}
.guest-del{width:30px;height:30px;flex:none;border:1px solid var(--card-line);border-radius:8px;background:var(--card);cursor:pointer;color:var(--ink-400);display:grid;place-items:center;transition:.2s;font-size:16px;line-height:1}
.guest-del:hover{color:var(--red-600);border-color:var(--red-500);background:rgba(var(--red-glow),.06)}

/* ---------- Часовой пояс ---------- */
.tz-preview{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;margin-bottom:16px;
  border-radius:var(--r-md);border:1px solid var(--card-line);
  background:
    repeating-linear-gradient(-45deg,transparent 0 20px,rgba(var(--red-glow),.04) 20px 30px),
    var(--paper);
}
.tz-clock{font-family:var(--display);font-weight:700;font-size:40px;letter-spacing:.02em;color:var(--ink-900);
  background:linear-gradient(120deg,var(--ink-900),var(--red-600));-webkit-background-clip:text;background-clip:text}
.tz-zone{font-size:12px;color:var(--ink-400);letter-spacing:.05em}

/* ---------- Тост ---------- */
.toast-wrap{position:fixed;bottom:22px;right:22px;z-index:100;display:flex;flex-direction:column;gap:10px}
.toast{
  display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--card-line-hi);box-shadow:var(--shadow-lift);
  font-size:13px;font-weight:500;color:var(--ink-900);min-width:230px;max-width:340px;
  transform:translateX(120%);opacity:0;transition:.4s var(--ease);
}
.toast.show{transform:none;opacity:1}
.toast .t-ic{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fff}
.toast.ok .t-ic{background:linear-gradient(145deg,#2fbf71,#1a9e59)}
.toast.err .t-ic{background:linear-gradient(145deg,var(--red-500),var(--red-600))}
.toast b{display:block;font-weight:600}
.toast small{color:var(--ink-400);font-size:11.5px}

@media(max-width:900px){
  #view-settings:not([hidden]){grid-template-columns:1fr}
  #view-settings > .set-panel{grid-column:1 / -1}
  .field-grid{grid-template-columns:1fr}
}
