@charset "UTF-8";

/* Shared Clyven identity. Loaded after the original page styles. */
:root {
  color-scheme: dark;
  --clyven-bg: #090b0f;
  --clyven-surface: #151a22;
  --clyven-text: #f0f4f8;
  --clyven-muted: #a8b0bc;
  --clyven-accent: #d6dee8;
  --clyven-border: #2b313b;
  --bs-body-bg: var(--clyven-bg);
  --bs-body-color: var(--clyven-text);
  --bs-border-color: var(--clyven-border);
  --bs-primary-rgb: 214, 222, 232;
  --bs-link-color: #d6dee8;
  --bs-link-hover-color: #fff;
}
html { min-height: 100%; }
body {
  min-height: 100vh;
  background: radial-gradient(ellipse at 85% 10%, #6a91bf11, transparent 38%), var(--clyven-bg) !important;
  color: var(--clyven-text) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
body p, body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--clyven-text) !important; }
h1, h2, h3, h4 { font-weight: 550; letter-spacing: -.045em; }
h2 { font-size: clamp(27px, 3vw, 40px); line-height: 1.2; }
body > .container, body > .container-fluid { max-width: 1440px; margin-inline: auto; padding: 28px 40px 64px !important; }
::selection { background: var(--clyven-accent); color: var(--clyven-bg); }
a { color: var(--clyven-accent); }
:focus-visible { outline: 3px solid #c8ddf2; outline-offset: 4px; }
.navbar.bg-dark {
  background: #090b0ff2 !important;
  border-bottom: 1px solid var(--clyven-border);
  box-shadow: none !important;
  padding: 20px 28px;
}
.navbar > .container-fluid { max-width: 1440px; gap: 20px; }
.navbar-brand { display: flex; align-items: center; gap: 12px; color: var(--clyven-accent) !important; font-size: 23px; letter-spacing: -.8px; }
.clyven-brand-logo { width: 46px; height: 46px; object-fit: contain; }
.navbar .nav-link { color: var(--clyven-muted); font-size: 13px; padding: 10px 12px !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--clyven-text); }
.navbar .nav-link.active { text-decoration: underline; text-decoration-color: var(--clyven-accent); text-underline-offset: 9px; }
.navbar-toggler { border-color: var(--clyven-border); }
.dropdown-menu { background: #151a22; border: 1px solid var(--clyven-border); border-radius: 8px; box-shadow: 0 18px 48px #0006; }
.dropdown-item { color: var(--clyven-muted); border-radius: 4px; font-size: 13px; padding-block: 9px; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { color: var(--clyven-text); background: #28313e; }
.card, .calendar-card, .modal-content, .toast {
  color: var(--clyven-text);
  background: linear-gradient(145deg, #191f29, #11161d) !important;
  border: 1px solid var(--clyven-border) !important;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 #d5e5f509;
}
.card-header, .calendar-header {
  background: #ffffff03 !important;
  color: var(--clyven-text) !important;
  border-bottom: 1px solid var(--clyven-border) !important;
  padding: 19px 24px;
  font-size: 14px;
  font-weight: 600;
  gap: 12px;
  flex-wrap: wrap;
}
.card-body { padding: 24px; }
.card-header:first-child { border-radius: 8px 8px 0 0; }
.modal-header, .modal-footer { border-color: var(--clyven-border) !important; padding: 20px 24px; }
.modal-body { padding: 24px; }
.text-muted, .day-num { color: var(--clyven-muted) !important; }
.border-secondary { border-color: var(--clyven-border) !important; }
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--clyven-text);
  --bs-table-border-color: var(--clyven-border);
  --bs-table-striped-bg: #ffffff04;
  --bs-table-striped-color: var(--clyven-text);
  --bs-table-hover-bg: #c8ddf209;
  --bs-table-hover-color: #fff;
  color: var(--clyven-text) !important;
  border-color: var(--clyven-border);
}
.table > thead > tr > th { background: #0d1118 !important; color: var(--clyven-muted) !important; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.table td, .table th { border-color: var(--clyven-border) !important; padding: 15px 18px !important; vertical-align: middle; }
.table-hover tbody tr:hover { background-color: #c8ddf209; }
.calendar-table td { background: #0d1118; vertical-align: top; }
.calendar-card > .card-body { overflow-x: auto; }
.calendar-table { min-width: 720px; }
.abs-badge { background: #343f4f; color: #f0f4f8; }
.abs-badge:hover { background: #48596d; }
.tb-badge { background: #c8ddf2; color: #090b0f; }
.tb-badge:hover { background: #e3eef9; color: #090b0f; }
.btn { border-radius: 5px; font-weight: 600; font-size: 13px; padding: 10px 18px; transition: background .2s, border-color .2s; }
.btn-primary {
  --bs-btn-color: #090b0f;
  --bs-btn-bg: #d6dee8;
  --bs-btn-border-color: #d2e2f1;
  --bs-btn-hover-color: #090b0f;
  --bs-btn-hover-bg: #e3eef9;
  --bs-btn-hover-border-color: #e3eef9;
  --bs-btn-active-color: #090b0f;
  --bs-btn-active-bg: #b5cee6;
  --bs-btn-active-border-color: #b5cee6;
  --bs-btn-disabled-color: #090b0f;
  --bs-btn-disabled-bg: #a8b0bc;
  background: linear-gradient(135deg, #f0f5fa, #b5cee6 50%, #d8e7f5);
  border: 1px solid #d2e2f1;
  color: #090b0f;
  box-shadow: inset 0 1px 0 #ffffff80;
}
.btn-primary:hover { background: linear-gradient(135deg, #fff, #c8def2); color: #090b0f; }
.btn-outline-primary, .btn-outline-light, .btn-outline-secondary, .btn-secondary {
  --bs-btn-color: #d6dee8;
  --bs-btn-border-color: #546172;
  --bs-btn-hover-color: #f0f4f8;
  --bs-btn-hover-bg: #28313e;
  --bs-btn-hover-border-color: #c8ddf2;
  --bs-btn-active-bg: #343f4f;
  --bs-btn-active-color: #f0f4f8;
  background: transparent;
  border-color: #546172;
  color: #d6dee8;
}
.btn-sm { padding: 6px 11px !important; font-size: 12px !important; }
.btn-action { height: auto !important; min-height: 34px; }
.form-control, .form-select, .form-control.bg-dark, .form-select.bg-dark {
  background-color: #090b0f !important;
  color: var(--clyven-text) !important;
  border: 1px solid #546578;
  border-radius: 5px;
  padding: 11px 14px;
}
.form-control:focus, .form-select:focus { background-color: #090b0f !important; border-color: #c8ddf2; box-shadow: 0 0 0 3px #c8ddf21f; }
.form-control::placeholder { color: #8d99a9; }
label { color: var(--clyven-text) !important; font-size: 13px; margin-bottom: 7px; }
.form-check-label { color: var(--clyven-muted) !important; }
.form-check-input { background-color: #090b0f; border-color: #546578; }
.form-check-input:checked { background-color: #697f98; border-color: #c8ddf2; }
.login-card { max-width: 440px; padding: 24px; }
.login-card .card-header { padding: 28px 24px; font-size: 20px; letter-spacing: -.5px; }
.login-card .card-header::before { content: ""; display: block; width: 84px; height: 84px; margin: 0 auto 18px; background: url("../images/clyven-logo.png") center / contain no-repeat; }
.login-card .card-body { padding: 28px; }
@media (max-width: 1199px) { .navbar.bg-dark { padding-inline: 12px; } .navbar .nav-link { padding-inline: 8px !important; } }
@media (max-width: 991px) { .navbar-collapse { padding-top: 16px; } .navbar .dropdown-menu { margin-block: 8px; } }
@media (max-width: 760px) {
  body > .container, body > .container-fluid { padding: 16px 20px 40px !important; }
  .card-header, .card-body { padding: 18px; }
  .table td, .table th { padding: 12px !important; }
  .table .btn { margin-block: 3px; }
  .navbar-brand { font-size: 21px; }
  .clyven-brand-logo { width: 40px; height: 40px; }
  .login-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
