:root {
  --blue: #5364ff;
  --blue-dark: #f0f2ff;
  --blue-soft: #1b2140;
  --ink: #eef0f5;
  --muted: #9298a7;
  --line: #292e3a;
  --surface: #151820;
  --canvas: #0e1016;
  --green: #4fd49a;
  --green-soft: #152d25;
  --red: #ff6c78;
  --red-soft: #321c22;
  --amber: #eab45e;
  --amber-soft: #302719;
  --radius: 6px;
  --shadow: none;
}

*, *::before, *::after {
  transition: none !important;
  animation: none !important;
}

body {
  color: var(--ink);
  background: var(--canvas);
}

.sidebar {
  width: 244px;
  background: #0a0c11;
  border-color: #20242e;
}

.brand {
  height: 92px;
  padding: 23px 24px 17px;
  border-color: #20242e;
}

.brand img {
  width: 172px;
  filter: brightness(0) invert(1);
  opacity: .95;
}

.brand span {
  margin: 6px 0 0 42px;
  color: #7581ff;
}

.nav {
  padding: 21px 12px;
  gap: 4px;
}

.nav > a {
  min-height: 44px;
  padding: 0 13px;
  border-radius: 4px;
  color: #8f95a3;
  font-size: .88rem;
}

.nav > a:hover {
  color: #f3f4f8;
  background: #141720;
}

.nav > a.active {
  color: #fff;
  background: #1a1e2a;
  box-shadow: inset 2px 0 #5364ff;
}

.nav > a.active svg { color: #7180ff; }
.nav-label { color: #5d6371; }
.sidebar-foot { border-color: #20242e; color: #5f6572; }
.security-note { color: #858c99; }
.security-note span { box-shadow: none; }

.shell { margin-left: 244px; background: #0e1016; }
.topbar {
  height: 68px;
  background: #0d0f15;
  border-color: #242833;
  backdrop-filter: none;
}
.topbar-title { color: #757c8b; }
.avatar {
  color: #dfe3ff;
  background: #232a55;
  border: 1px solid #3b467f;
  border-radius: 4px;
}
.user-copy strong { color: #e5e8ef; }
.user-copy span, .logout-btn { color: #797f8c; }
.user-copy:hover strong { color: #fff; }
.logout-btn:hover { color: #fff; }

.content {
  width: min(1500px, 100%);
  padding-top: 36px;
}
.page-head { margin-bottom: 25px; }
.page-head h1 { color: #f3f4f8; letter-spacing: -.025em; }
.page-head p { color: #858b99; }
.eyebrow { color: #7783ff; letter-spacing: .16em; }
.back-link { color: #747b89; }
.back-link:hover { color: #aeb6ff; }

.btn {
  min-height: 42px;
  border-radius: 4px;
  box-shadow: none !important;
  transform: none !important;
}
.btn.primary, .btn.primary:hover {
  color: #fff;
  background: #4354f5;
  border-color: #6270ff;
}
.btn.secondary, .btn.secondary:hover {
  color: #d6d9e1;
  background: #181b23;
  border-color: #363b48;
}
.btn.danger { background: #b83e49; border-color: #d05965; }
.btn.danger.ghost { color: #ff7d87; background: #25171c; border-color: #513038; }

.stats-grid { gap: 12px; }
.stat-card, .stat-card.cobalt {
  min-height: 138px;
  color: #eef0f5;
  background: #151820;
  border: 1px solid #292e3a;
  border-top: 2px solid #3a4050;
  border-radius: 5px;
  box-shadow: none;
}
.stat-card.cobalt { border-top-color: #5364ff; }
.stat-card::after { display: none; }
.stat-top, .stat-card.cobalt .stat-top { color: #858c99; }
.stat-top svg { color: #6e7cff; }
.stat-card small, .stat-card.cobalt small { color: #727987; }

.dashboard-grid { gap: 14px; }
.panel {
  background: #151820;
  border-color: #292e3a;
  border-radius: 5px;
  box-shadow: none;
}
.panel-head { border-color: #292e3a; }
.panel-head h2 { color: #edeff4; }
.panel-head p { color: #747b88; }
.panel-head > a, .row-link, .download-link { color: #8490ff; }

table { color: #cdd1da; }
th {
  color: #686f7c;
  background: #11141b;
  border-color: #292e3a;
}
td {
  color: #b6bbc6;
  border-color: #272b35;
}
tbody tr:hover { background: #191c25; }
td small, .device-name + small { color: #707684; }
.device-name { color: #e6e9f0; }
.device-name:hover { color: #9aa4ff; }

.status { border: 1px solid transparent; }
.status.success { color: #5cdaa4; background: #142a22; border-color: #224438; }
.status.failed { color: #ff7d87; background: #2c191e; border-color: #4a272f; }
.status.queued { color: #e6b868; background: #2b2418; border-color: #47391f; }
.status.running { color: #8d98ff; background: #1b2040; border-color: #303a72; }
.status.neutral { color: #9298a5; background: #20232b; border-color: #333743; }

.schedule-item { border-color: #292e3a; }
.schedule-item:hover .schedule-copy strong { color: #9ba5ff; }
.schedule-date {
  color: #aab1ff;
  background: #1c2244;
  border: 1px solid #303a72;
  border-radius: 4px;
}
.schedule-copy strong { color: #dfe2e9; }
.schedule-copy small { color: #717785; }
.outline-action {
  color: #929bff;
  border-color: #3a4050;
  border-radius: 4px;
}
.empty-icon {
  color: #9ca5ff;
  background: #1b2140;
  border: 1px solid #303a72;
  border-radius: 4px;
}
.empty-state p, .empty-compact { color: #767d8a; }

.company-grid { gap: 14px; }
.company-card {
  min-height: 230px;
  background: #151820;
  border-color: #292e3a;
  border-radius: 5px;
  box-shadow: none;
  transform: none !important;
}
.company-card:hover { border-color: #4553a2; box-shadow: none; }
.company-mark {
  color: #aab2ff;
  background: #1c2244;
  border: 1px solid #303a72;
  border-radius: 4px;
}
.company-copy h2 { color: #edf0f5; }
.company-copy p { color: #858c99; }
.company-foot { color: #727986; border-color: #292e3a; }
.mini-stats { border-color: #292e3a; background: #292e3a; border-radius: 5px; }
.mini-stats > div { background: #151820; }
.mini-stats span { color: #858b97; }
.mini-stats strong { color: #f0f2f6; }
.icon-action { color: #a5adff; border-color: #363c49; background: #191c25; }
.danger-zone { border-color: #4b2931; background: #171317; border-radius: 5px; }
.danger-zone p { color: #7d7479; }
.vpn-summary h2 { color: #edf0f5; }
.vpn-icon { color: #aab2ff; background: #1c2244; border: 1px solid #303a72; }
.vpn-summary-status small, .check-list li { color: #858c99; }
.vpn-meta > div { border-color: #292e3a; }
.vpn-meta dt { color: #747b88; }
.vpn-meta dd { color: #dfe2e9; }
.vpn-meta code { color: #aab2ff; }
.vpn-debug pre { color: #cfd5ff; background: #090b10; }

.form-section {
  background: #151820;
  border-color: #292e3a;
}
.section-number {
  color: #abb3ff;
  background: #1c2244;
  border: 1px solid #303a72;
  border-radius: 4px;
}
.section-intro h2 { color: #edf0f5; }
.section-intro p { color: #7b8290; }
.field { color: #aeb4bf; }
.field em, .field-hint { color: #6e7582; }
.field-hint { display: block; margin-top: -2px; font-size: .67rem; font-weight: 500; }
.field input, .field select, .field textarea, .inline-form select {
  color: #eef0f4;
  background: #0f1218;
  border-color: #323744;
  border-radius: 4px;
  color-scheme: dark;
}
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: #6472ff;
  box-shadow: 0 0 0 2px rgba(83,100,255,.18);
}
.field input::placeholder, .field textarea::placeholder { color: #555c68; }
.weekday-row label span {
  color: #838a98;
  background: #11141b;
  border-color: #323744;
  border-radius: 4px;
}
.weekday-row label input:checked + span {
  color: #b4bbff;
  background: #1c2244;
  border-color: #5664c5;
}
.switch { background: #343946; }
.switch-field input:checked + .switch { background: #5364ff; }
.switch-field strong { color: #dfe2e9; }
.switch-field small { color: #747b88; }

.filter { color: #8b929f; background: #151820; border-color: #303541; border-radius: 4px; }
.filter.active { color: #fff; background: #303b8e; border-color: #5260be; }
.detail-strip { background: #151820; border-color: #292e3a; border-radius: 5px; box-shadow: none; }
.detail-strip > div > span:first-child { color: #6f7683; }
.detail-strip code, .detail-strip strong { color: #dfe2e9; }
.config-panel pre { color: #cfd5ff; background: #090b10; border: 1px solid #292e3a; border-radius: 4px; }
.person strong { color: #edf0f5; }
.avatar.small { color: #aab2ff; background: #1c2244; border-color: #303a72; }
.permission-note { color: #777e8b; }
.text-action { color: #909aff; }
.danger-text { color: #ff7d87; }

.modal {
  color: #eef0f5;
  background: #151820;
  border: 1px solid #353a47;
  border-radius: 6px;
  box-shadow: none;
}
.modal::backdrop { background: rgba(4,5,8,.82); backdrop-filter: none; }
.modal-head h2 { color: #f1f2f6; }
.modal-close { color: #9298a5; background: #101218; border-color: #333844; border-radius: 4px; }
.alert.error { color: #ff939b; background: #2d191e; border-color: #512a33; }
.alert.success { color: #68dba9; background: #142a22; border-color: #24463a; }
.account-form { background: #151820; }
.error-page h1 { color: #f0f2f6; }
.error-page p { color: #878e9b; }

.login-body {
  min-height: 100vh;
  background: #090b10;
}
.login-center {
  min-height: 100vh;
  padding: 28px;
  display: grid;
  place-items: center;
}
.login-card {
  width: min(420px, 100%);
  padding: 38px 38px 30px;
  background: #12151c;
  border: 1px solid #2a2f3a;
  border-top: 2px solid #5364ff;
  border-radius: 5px;
}
.login-logo {
  display: grid;
  justify-items: center;
  margin-bottom: 36px;
}
.login-logo img {
  width: 224px;
  filter: brightness(0) invert(1);
}
.login-logo span {
  margin-top: 8px;
  margin-left: 36px;
  color: #7d88ff;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .28em;
}
.login-heading { margin-bottom: 25px; text-align: center; }
.login-heading h1 {
  margin: 0 0 6px;
  color: #f4f5f8;
  font-size: 1.55rem;
  letter-spacing: -.02em;
}
.login-heading p { margin: 0; color: #7b8290; font-size: .8rem; }
.login-card .field { margin-bottom: 16px; }
.login-card .field input { height: 47px; }
.login-card .btn.wide { justify-content: center; margin-top: 7px; }
.login-status {
  margin-top: 23px;
  color: #676e7b;
  font-size: .67rem;
  text-align: center;
}
.login-status i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: #4fd49a;
}

@media (max-width: 840px) {
  .shell { margin-left: 0; }
  .sidebar { width: 244px; }
}

@media (max-width: 620px) {
  .login-center { padding: 16px; }
  .login-card { padding: 31px 22px 25px; }
  .login-logo img { width: 196px; }
}

/* Czytelna typografia i globalne wyszukiwanie */
html { font-size: 17px; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 450;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}
.nav > a { font-size: .94rem; }
.nav-label { font-size: .74rem; }
.sidebar-foot small, .security-note { font-size: .76rem; }
.topbar-title { font-size: .86rem; }
.user-copy strong { font-size: .86rem; }
.user-copy span { font-size: .76rem; }
.global-search input {
  color: #eef0f5;
  background: #12151c;
  border-color: #303541;
  font-size: .88rem;
}
.global-search input:focus { border-color: #6472ff; box-shadow: 0 0 0 2px rgba(83,100,255,.18); }
.global-search input::placeholder { color: #747b88; }
.global-search svg { color: #858c99; }
.global-search kbd { color: #858c99; background: #0c0e14; border-color: #303541; }
.page-head p { font-size: .98rem; }
.eyebrow { font-size: .74rem; }
.btn { font-size: .9rem; }
.back-link { font-size: .84rem; }
.stat-top { font-size: .82rem; }
.stat-card small { font-size: .8rem; }
.panel-head h2 { font-size: 1.08rem; }
.panel-head p, .panel-head > a { font-size: .82rem; }
table { font-size: .86rem; }
th { font-size: .72rem; }
td small, .device-name + small { font-size: .76rem; }
.status { font-size: .74rem; }
.schedule-copy strong { font-size: .84rem; }
.schedule-copy small, .outline-action, .empty-state p, .empty-compact { font-size: .78rem; }
.company-copy .tag { font-size: .72rem; }
.company-copy h2 { font-size: 1.2rem; }
.company-copy p { font-size: .84rem; }
.company-foot, .mini-stats span { font-size: .8rem; }
.danger-zone strong { font-size: .88rem; }
.danger-zone p { font-size: .8rem; }
.section-intro h2 { font-size: 1rem; }
.section-intro p { font-size: .8rem; }
.field { font-size: .84rem; }
.field em, .field-hint, .switch-field small { font-size: .75rem; }
.switch-field strong { font-size: .84rem; }
.filter, .download-link, .text-action { font-size: .8rem; }
.detail-strip > div > span:first-child { font-size: .72rem; }
.detail-strip strong, .detail-strip code, .person strong { font-size: .84rem; }
.permission-note, .alert { font-size: .82rem; }
.vpn-summary p, .check-list li, .vpn-meta dd { font-size: .86rem; }
.vpn-summary-status small, .vpn-meta dt { font-size: .78rem; }
.login-heading p { font-size: .86rem; }
.login-status { font-size: .75rem; }
.search-group { background: #151820; border-color: #292e3a; }
.search-group-head { border-color: #292e3a; }
.search-group-head h2 { color: #edf0f5; }
.search-group-head > span { color: #9aa1ae; background: #0f1218; }
.search-result { border-color: #292e3a; }
.search-result:hover { background: #191c25; }
.result-mark { color: #aab2ff; background: #1c2244; border-color: #303a72; }
.result-copy strong { color: #edf0f5; }
.result-copy small { color: #858c99; }
.result-arrow { color: #909aff; }
