/* OFIS 7.0 UI CORE — обязательный фирменный стиль
   Визуальные токены и базовые компоненты. Не менять локально без обновления регламента. */
:root{
  /* Brand */
  --ofis-brand-navy:#0b1a2a;
  --ofis-brand-navy-2:#12263a;
  --ofis-brand-graphite:#26323e;
  --ofis-brand-light:#f4f7fa;
  --ofis-brand-surface:#ffffff;
  --ofis-brand-steel:#c5ced7;
  --ofis-brand-silver:#e2e7ec;
  --ofis-brand-orange:#ff6a00;
  --ofis-brand-orange-2:#ff8a2a;
  --ofis-brand-text:#122033;
  --ofis-brand-muted:#6f7f90;
  --ofis-brand-line:#d9e1e8;
  --ofis-brand-success:#1c9b62;
  --ofis-brand-warning:#e69921;
  --ofis-brand-danger:#d84444;

  /* Compatibility aliases */
  --ofis-bg:#07101c;
  --ofis-panel:#0f1b2c;
  --ofis-panel-2:#15243a;
  --ofis-line:#263a52;
  --ofis-text:#eef4fb;
  --ofis-muted:#98a9bc;
  --ofis-accent:var(--ofis-brand-orange);
  --ofis-cyan:#36d6d0;

  /* Geometry */
  --ofis-radius-sm:10px;
  --ofis-radius:14px;
  --ofis-radius-lg:20px;
  --ofis-sidebar:250px;
  --ofis-topbar:78px;
  --ofis-shadow-card:0 10px 28px rgba(18,32,51,.10);
  --ofis-shadow-float:0 18px 46px rgba(7,16,28,.18);
  --ofis-transition:.16s ease;
}

*{box-sizing:border-box}
html{background:var(--ofis-bg)}
body{min-width:0;color:var(--ofis-text)}
button,a,input,select,textarea{font:inherit}

/* Рабочая светло-графитовая среда — основной стиль кабинетов ОФИС 7.0 */
body.ofis-workspace{
  background:linear-gradient(180deg,#eef3f7 0%,var(--ofis-brand-light) 100%);
  color:var(--ofis-brand-text);
}
body.ofis-workspace .ofis-shell{background:transparent}
body.ofis-workspace .ofis-content{background:transparent}
body.ofis-workspace .ofis-card{
  border:1px solid var(--ofis-brand-line);
  background:rgba(255,255,255,.96);
  color:var(--ofis-brand-text);
  box-shadow:var(--ofis-shadow-card);
}
body.ofis-workspace .ofis-topbar{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#0e2133,#091725);
  color:#fff;
}
body.ofis-workspace .ofis-sidebar{
  border-right:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#0e2133,#081521);
  color:#fff;
}

/* Кнопки */
.ofis-btn,.btn{
  position:relative;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 15px;border:1px solid #52677e;border-radius:var(--ofis-radius);
  background:linear-gradient(180deg,#172538,#101b29);color:var(--ofis-text);text-decoration:none;
  font-weight:800;line-height:1.15;overflow:hidden;cursor:pointer;
  transition:border-color var(--ofis-transition),transform var(--ofis-transition),background var(--ofis-transition),box-shadow var(--ofis-transition)
}
.ofis-btn:hover,.btn:hover{border-color:#71869d}
.ofis-btn:active,.btn:active{transform:translateY(1px)}
.ofis-btn.is-active,.ofis-btn.active,.btn.is-active,.btn.active,.btn.primary{
  border-color:#dd5c00;background:linear-gradient(180deg,var(--ofis-brand-orange-2),var(--ofis-brand-orange));color:#fff;
  box-shadow:0 8px 20px rgba(255,106,0,.22)
}
.ofis-btn.is-active:before,.ofis-btn.active:before,.btn.is-active:before,.btn.active:before,.btn.primary:before{
  content:"";position:absolute;left:-1px;top:50%;transform:translate(-42%,-50%);width:14px;height:30px;
  border-radius:30px 0 0 30px;background:var(--ofis-brand-orange);box-shadow:0 0 13px rgba(255,106,0,.45)
}
.ofis-btn-back{min-height:36px;padding:8px 12px;font-size:13px}

/* Каркас */
.ofis-shell{min-height:100vh;display:grid;grid-template-columns:var(--ofis-sidebar) minmax(0,1fr)}
.ofis-sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--ofis-line);background:#091522}
.ofis-topbar{min-height:var(--ofis-topbar);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--ofis-line);background:#07101cf2}
.ofis-content{min-width:0}
.ofis-card{border:1px solid var(--ofis-line);border-radius:var(--ofis-radius);background:var(--ofis-panel)}
.ofis-user-name{max-width:260px;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.ofis-menu-toggle{display:none;min-width:42px;width:42px;height:42px;padding:0}
.ofis-mobile-overlay{display:none}

/* Навигация */
.ofis-nav-item{position:relative;border-radius:10px;transition:background var(--ofis-transition)}
.ofis-nav-item:hover{background:rgba(255,255,255,.05)}
.ofis-nav-item.is-active{box-shadow:inset 3px 0 var(--ofis-brand-orange);background:linear-gradient(90deg,rgba(255,106,0,.18),rgba(255,106,0,.04))}
.ofis-nav-item.is-active:after{
  content:"";position:absolute;left:0;top:50%;width:8px;height:28px;transform:translate(-50%,-50%);
  border-radius:0 20px 20px 0;background:var(--ofis-brand-orange);box-shadow:0 0 12px rgba(255,106,0,.42)
}

/* Приветствие — обязательно на каждой ролевой Главной */
.ofis-welcome{
  border:1px solid var(--ofis-brand-line);border-radius:var(--ofis-radius-lg);
  background:linear-gradient(135deg,#ffffff 0%,#eef3f7 100%);box-shadow:var(--ofis-shadow-card);padding:22px 24px
}
.ofis-welcome__title{margin:0;color:var(--ofis-brand-text);font-size:clamp(24px,3vw,38px);font-weight:850;letter-spacing:-.02em}
.ofis-welcome__meta{margin-top:6px;color:var(--ofis-brand-muted);font-weight:650}

/* Карточки рабочего стола */
.ofis-dashboard-grid{display:grid;gap:16px}
.ofis-kpi-card,.ofis-action-card,.ofis-module-card{
  border:1px solid var(--ofis-brand-line);border-radius:var(--ofis-radius);background:#fff;color:var(--ofis-brand-text);
  box-shadow:var(--ofis-shadow-card)
}
.ofis-kpi-card{padding:18px}
.ofis-module-card{overflow:hidden}
.ofis-section-title{color:var(--ofis-brand-text);font-weight:850;letter-spacing:-.015em}
.ofis-muted{color:var(--ofis-brand-muted)}
.ofis-accent{color:var(--ofis-brand-orange)}

/* Премиальный металл: использовать только для логотипа разработчика и ограниченных бренд-элементов */
.ofis-metallic{
  background:linear-gradient(145deg,#f7f9fb 0%,#aeb8c3 28%,#eef2f5 52%,#7f8a95 78%,#dfe5ea 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 1px rgba(255,255,255,.35)
}

/* Мобильная внутренняя страница */
.ofis-mobile-page{
  min-height:100vh;background:linear-gradient(180deg,#eef3f7 0%,#f8fafc 100%);color:var(--ofis-brand-text)
}
.ofis-mobile-page__header{
  background:linear-gradient(180deg,#14283b,#0c1c2b);color:#fff;padding:18px 18px 16px
}
.ofis-mobile-page .ofis-card{background:#fff;border-color:var(--ofis-brand-line);box-shadow:var(--ofis-shadow-card);color:var(--ofis-brand-text)}
.ofis-mobile-nav{
  position:sticky;bottom:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
  border-top:1px solid var(--ofis-brand-line);box-shadow:0 -10px 25px rgba(18,32,51,.08)
}

/* Иконографика: единый размер/рамка, без неона */
.ofis-icon{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;
  background:linear-gradient(145deg,#ffffff,#d9e0e7);border:1px solid #cbd4dd;color:var(--ofis-brand-graphite);
  box-shadow:inset 0 1px 0 #fff,0 4px 12px rgba(18,32,51,.08)
}
.ofis-icon.is-accent{background:linear-gradient(145deg,var(--ofis-brand-orange-2),var(--ofis-brand-orange));border-color:#e35d00;color:#fff}

/* Запрет визуальных анти-паттернов */
.ofis-no-neon{box-shadow:none!important;text-shadow:none!important;filter:none!important}

@media(max-width:850px){
  body.ofis-menu-open{overflow:hidden}
  .ofis-shell{grid-template-columns:1fr}
  .ofis-sidebar{position:fixed;z-index:100;left:0;top:0;width:min(86vw,var(--ofis-sidebar));transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 60px transparent}
  .ofis-sidebar.is-open{transform:translateX(0);box-shadow:20px 0 60px #0009}
  .ofis-menu-toggle{display:inline-flex}
  .ofis-mobile-overlay{display:block;position:fixed;z-index:90;inset:0;background:#0008;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .ofis-mobile-overlay.is-open{opacity:1;pointer-events:auto}
  .ofis-topbar{position:sticky;top:0;z-index:60}
  .ofis-user-name{max-width:150px}
}
@media(max-width:520px){
  .ofis-btn,.btn{min-height:40px;padding:9px 12px}
  .ofis-user-name{max-width:120px;font-size:12px}
  .ofis-welcome{padding:18px}
}
