/* b24-theme.css — Bitrix24-like visuals (2-column, v10) */
:root{
  --b24-primary:#2067B0;
  --b24-primary-strong:#0E4A8A;
  --b24-primary-hover:#155496;
  --b24-page-bg:#EEF2F7;
  --b24-panel-bg:#EEF2F7;
  --b24-divider:#E8EEF6;
  --b24-text:#2B2F33;
  --b24-text-secondary:#6F7A8B;
  --b24-placeholder:#98A2B3;
  --b24-input-bg:#F7F9FC;
  --b24-readonly-bg:#EAF0F6;
  --b24-green:#22C55E;
  --b24-yellow:#F59E0B;
  --b24-red:#EF4444;
  --b24-field-radius:12px;
  --b24-focus:0 0 0 2px rgba(32,103,176,.18);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color:var(--b24-text);
  background:transparent;
}

.b24-app{width:100%;height:100%;background:var(--b24-page-bg);padding:0 10px 14px}
.b24-panel{width:100%;background:var(--b24-panel-bg);border:1px solid var(--b24-divider);
  border-radius:14px;box-shadow:0 2px 12px 0 #eaeef5;padding:14px;margin-top:10px;}
.panel-inner{max-width:1280px;margin:0 auto;}

.b24-tabs{
  display:flex;
  gap:18px;
  padding:12px 8px 0;
  align-items:flex-end;
  position:sticky;
  top:0;
  z-index:100;
  background:var(--b24-panel-bg);
  margin:-14px -14px 10px -14px;
  padding:12px 22px 8px;
  border-radius:14px 14px 0 0;
}
.b24-tab{position:relative;padding:6px 2px;font-size:14px;font-weight:600;line-height:20px;color:#5B6B82;cursor:pointer}
.b24-tab:hover{color:#42536C}
.b24-tab.active{color:var(--b24-primary)}
.form-grid{display:grid;grid-template-columns:0.44fr 0.56fr;gap:14px 22px}
@media (max-width:1200px){.form-grid{grid-template-columns:1fr}}

.b24-field{display:flex;flex-direction:column;gap:6px;position:relative}
.b24-label{font-size:12px;color:#3a4665;font-weight:600}
.b24-input,.b24-textarea,.select-control,.num-input{width:100%;height:38px;padding:9px 12px;border:1px solid transparent;
  border-radius:var(--b24-field-radius);background:var(--b24-input-bg);color:var(--b24-text);font-size:14px;
  transition:border-color .12s,box-shadow .12s,background .12s,color .12s}
.b24-input::placeholder,.b24-textarea::placeholder,.num-input::placeholder{color:var(--b24-placeholder)}
.b24-textarea{height:auto;min-height:84px;resize:vertical;line-height:1.45}
.b24-input:focus,.b24-textarea:focus,.select-control:focus,.num-input:focus{border-color:var(--b24-primary-strong);box-shadow:var(--b24-focus);outline:none;background:#fff}
.readonly{pointer-events:none;background:var(--b24-readonly-bg);color:var(--b24-text)}
.num-input{ pointer-events:auto; }
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:1200px){.row2{grid-template-columns:1fr}}

.actions{display:flex;gap:12px;align-items:center;grid-column:1/-1;margin-top:10px}
.b24-btn{appearance:none;border:none;border-radius:12px;background:var(--b24-primary);color:#fff;
  padding:12px 18px;font-weight:700;cursor:pointer;transition:.15s;font-size:14px;width:100%;
  box-shadow:0 2px 6px rgba(32,103,176,.25)}
.b24-btn:hover{background:var(--b24-primary-hover)}

.select{position:relative}
.select-control{display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.select-control.placeholder{color:var(--b24-placeholder)}
.select-list{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #CAD5E6;
  border-radius:12px;box-shadow:0 8px 24px rgba(17,38,62,.12);padding:6px;display:none;max-height:240px;overflow:auto}
.select.open .select-list{display:block}
.select-item{padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:#2B2F33}
.select-item:hover{background:#F2F6FC}
.select-control[disabled]{pointer-events:none;opacity:.85}

.state-green .select-control{border-color:var(--b24-green); box-shadow:0 0 0 2px rgba(34,197,94,.12)}
.state-yellow .select-control{border-color:var(--b24-yellow); box-shadow:0 0 0 2px rgba(245,158,11,.12)}
.state-red .select-control{border-color:var(--b24-red); box-shadow:0 0 0 2px rgba(239,68,68,.12)}

.right-tight{max-width:88%;margin-left:auto;margin-right:auto}
.result-wide{width:100%;}

.invalid{border-color:var(--b24-red)!important; box-shadow:0 0 0 2px rgba(239,68,68,.12)!important}
.help{font-size:12px;color:var(--b24-text-secondary)}

.bottom-line{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:0.44fr 0.56fr;
  gap:14px 22px;
}

.right-inner{
  width:100%;
  max-width:100%;
}

@media (max-width:1200px){
  .bottom-line{ grid-template-columns:1fr; }
}

.b24-field.req > .b24-label::after{
  content:" *";
  color:var(--b24-red);
  margin-left:2px;
}

.b24-btn:disabled{
  background:#c9ced6 !important;
  color:#6b7682 !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
  border-color:transparent !important;
  opacity:1;
}

.b24-tabs { border-bottom: 1px solid transparent; }
.b24-tab { text-decoration: none; border-bottom: 1px solid transparent; }
.b24-tab.active { border-bottom: 3px solid var(--b24-primary); }

:root {
  --b24-app-bg: #f5f7fb;
  --b24-gap-sm: 6px;
  --b24-gap-md: 10px;
  --b24-gap-lg: 14px;
}
.b24-app { background: var(--b24-app-bg); border-radius: 16px; padding: 0 0 18px; }
.panel-inner { padding: 0 12px 18px; }

.b24-topbar.sticky { position: sticky; top: 0; z-index: 5; background: var(--b24-app-bg); padding-top: 12px; }
.b24-topbar .b24-tabs { margin-left: 12px; }

.tabs-folder { display: flex; gap: 6px; padding: 8px 0 0 12px; }
.tabs-folder .tab {
  appearance: none; border: 0; cursor: pointer;
  background: #eef3f8; color: #2b2f33;
  padding: 8px 12px; border-radius: 10px 10px 0 0;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,0.06);
}
.tabs-folder .tab.active {
  background: #fff; color: #2067B0; font-weight: 700;
  box-shadow: inset 0 -2px 0 #2067B0, 0 -1px 0 #fff;
}

.grid3 { display: grid; gap: var(--b24-gap-md); grid-template-columns: repeat(3, 1fr); padding: 0 12px; }
@media (min-width: 1280px) { .grid3 { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 980px)  { .grid3 { grid-template-columns: repeat(2, 1fr); } }

.panel{display:none}
.panel.active{display:block}

.settings-body{min-height:640px}

html, body { background: var(--b24-app-bg) !important; }
.b24-root, .b24-app, .panel-inner { background: var(--b24-app-bg) !important; }

.b24-input,
.b24-input[readonly],
.b24-input:disabled {
  background:#eff3f8;
  border:1px solid #e1e7f0;
  border-radius:12px;
  height:40px;
  padding:8px 12px;
  outline:none;
}
.b24-input:focus {
  border-color:#2067B0;
  box-shadow:0 0 0 2px rgba(32,103,176,.12);
  background:#fff;
}

.grid5{display:grid; gap:10px; grid-template-columns:repeat(5,1fr); padding:0 12px;}
@media (max-width:1400px){ .grid5{grid-template-columns:repeat(4,1fr);} }
@media (max-width:1180px){ .grid5{grid-template-columns:repeat(3,1fr);} }
@media (max-width:980px) { .grid5{grid-template-columns:repeat(2,1fr);} }

:root{
  --glass-bg: rgba(255,255,255,.72);
  --glass-blur: 10px;
  --glass-border: rgba(255,255,255,.55);
  --elev-1: 0 4px 16px rgba(17,38,62,.08);
  --elev-2: 0 12px 32px rgba(17,38,62,.14);
  --ring: 0 0 0 2px rgba(32,103,176,.18);

  --b24-bg-gradients:
    radial-gradient(1200px 420px at 110% -40%, rgba(32,103,176,.08), transparent),
    radial-gradient(900px 380px at -10% 10%, rgba(32,103,176,.06), transparent);
}

.b24-root, .b24-app, .panel-inner{
  background-image: var(--b24-bg-gradients);
  background-blend-mode: normal;
}

.glass{
  background: var(--glass-bg);
  -webkit-backdrop-filter: saturate(140%) blur(var(--glass-blur));
  backdrop-filter: saturate(140%) blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  box-shadow: var(--elev-1);
  transition: box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.glass--bar   { border-radius: 12px; }
.glass--panel { border-radius: 14px; }
.glass:hover  { box-shadow: var(--elev-2); transform: translateY(-1px); }

.b24-input, .select-control, .num-input{
  background: rgba(255,255,255,.9);
  border: 1px solid #e6edf6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.b24-input:focus, .select-control:focus, .num-input:focus{
  box-shadow: var(--ring), inset 0 1px 0 rgba(255,255,255,.6);
  background: #fff;
}

.select-list{
  border-color: rgba(203,216,232,.9);
  box-shadow: 0 18px 40px rgba(17,38,62,.16);
}

.b24-btn, .btn{
  background-image: linear-gradient(180deg, var(--b24-primary), var(--b24-primary-strong));
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
  box-shadow: 0 6px 16px rgba(32,103,176,.25);
}
.b24-btn:hover, .btn:hover{ transform: translateY(-1px); filter: saturate(110%); }

@media (prefers-reduced-motion: reduce){
  .glass, .b24-btn, .btn{ transition: none !important; transform: none !important; }
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  .glass{ background:#fff; }
}

/* ========================================
   LOADING OVERLAY — OVERLAY ЗАГРУЗКИ
   ======================================== */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.loading-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.loading-spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #e1e7f0;
  border-top-color: #2067B0;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.loading-text {
  font-size: 16px;
  font-weight: 600;
  color: #2067B0;
  letter-spacing: 0.5px;
}


