:root {
    --ikb-bg: #f4f7fb;
    --ikb-surface: #ffffff;
    --ikb-surface-soft: #f7fafc;
    --ikb-border: #dce5ee;
    --ikb-border-strong: #c8d6e4;
    --ikb-ink: #243247;
    --ikb-muted: #71839a;
    --ikb-accent: #087f78;
    --ikb-accent-soft: #e5f5f2;
    --ikb-blue: #2869a8;
    --ikb-danger: #b54745;
    --ikb-warning: #9b6818;
}

html,
body {
    background: var(--ikb-bg) !important;
    color: var(--ikb-ink) !important;
}

body,
input,
select,
textarea,
button {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
}

a:link,
a:visited {
    color: var(--ikb-blue);
}

a:hover {
    color: var(--ikb-accent);
}

header#header {
    background: var(--ikb-surface) !important;
    border-bottom: 1px solid var(--ikb-border) !important;
    box-shadow: 0 2px 12px rgba(28, 54, 80, .07) !important;
}

header#header h1.site_title,
header#header h1.site_title a,
.site_title .ubproductname {
    color: var(--ikb-ink) !important;
    text-shadow: none !important;
}

.site_title .ubproductname {
    font-size: 19px !important;
    font-weight: 760 !important;
    letter-spacing: -.035em;
}

.ubverinfo,
.btn_view_help a {
    color: var(--ikb-muted) !important;
    text-shadow: none !important;
}

section#secondary_bar,
section#secondary_bar .breadcrumbs_container {
    background: var(--ikb-surface) !important;
    border-bottom-color: var(--ikb-border) !important;
}

article.breadcrumbs {
    border-color: var(--ikb-border) !important;
    background: var(--ikb-surface-soft) !important;
    box-shadow: none !important;
}

.user p,
.user a,
.breadcrumbs a:link,
.breadcrumbs a:visited {
    color: var(--ikb-muted) !important;
    text-shadow: none !important;
}

aside#sidebar {
    background: var(--ikb-surface) !important;
    border-right-color: var(--ikb-border) !important;
    box-shadow: 2px 0 12px rgba(28, 54, 80, .04) !important;
}

#sidebar h3,
#sidebar li a,
#sidebar a,
#sidebar p {
    color: #52657d !important;
    text-shadow: none !important;
}

#sidebar li a:hover,
#sidebar a:hover {
    color: var(--ikb-accent) !important;
    background: var(--ikb-accent-soft) !important;
    text-decoration: none;
}

section#main {
    background: var(--ikb-bg) !important;
}

.module,
.module_content,
.glamour,
.window {
    border-color: var(--ikb-border) !important;
    background: var(--ikb-surface) !important;
    color: var(--ikb-ink) !important;
    box-shadow: 0 4px 16px rgba(28, 54, 80, .055);
}

.module header,
#main .module header,
#main .module header h3 {
    background: var(--ikb-surface-soft) !important;
    border-color: var(--ikb-border) !important;
    color: var(--ikb-ink) !important;
    text-shadow: none !important;
}

.module_content {
    color: var(--ikb-ink) !important;
}

table {
    border-color: var(--ikb-border) !important;
}

th,
.tableHeader,
thead th,
td.row2,
tr.row1 td {
    background: var(--ikb-surface-soft) !important;
    color: var(--ikb-muted) !important;
    border-color: var(--ikb-border) !important;
    font-weight: 650;
}

td,
td.row3,
tr.row3 td {
    border-color: var(--ikb-border) !important;
    color: var(--ikb-ink) !important;
}

tr:hover td {
    background: #f0faf8 !important;
}

input,
select,
textarea {
    background: var(--ikb-surface) !important;
    color: var(--ikb-ink) !important;
    border: 1px solid var(--ikb-border-strong) !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--ikb-accent) !important;
    outline: 3px solid rgba(8, 127, 120, .12);
}

button,
input[type="submit"],
.ubButton,
.ubButtonNormal {
    background: #edf5fb !important;
    color: #24445e !important;
    border: 1px solid #b8d0df !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

button:hover,
input[type="submit"]:hover,
.ubButton:hover,
.ubButtonNormal:hover {
    background: #e2f5f0 !important;
    border-color: #74c6b6 !important;
    color: #0a6762 !important;
}

/* User profile: style the existing table hierarchy without changing its geometry. */
.ikb-module-userprofile .ikb-profile-shell {
    width: 100%;
}

.ikb-module-userprofile .ikb-profile-shell .profileplugincontainer {
    vertical-align: top !important;
}

.ikb-module-userprofile .ikb-profile-shell table {
    border-collapse: collapse !important;
}

.ikb-module-userprofile .ikb-profile-shell td.row2 {
    color: var(--ikb-muted) !important;
}

.ikb-module-userprofile .ikb-profile-shell td.row3 {
    color: var(--ikb-ink) !important;
}

.ikb-module-userprofile .ikb-profile-shell .dashtask {
    border: 1px solid var(--ikb-border) !important;
    border-radius: 8px;
    background: var(--ikb-surface-soft) !important;
}

/* Contracts monitor: readable table and status badges; no layout overrides. */
.ikb-module-contracts_monitor .module_content > form,
.ikb-module-contracts_monitor .module_content > .glamour {
    padding: 12px;
    border: 1px solid var(--ikb-border) !important;
    border-radius: 9px;
    background: var(--ikb-surface-soft) !important;
}

.ikb-module-contracts_monitor .module_content table {
    font-size: 12px;
}

.ikb-module-contracts_monitor .module_content table td,
.ikb-module-contracts_monitor .module_content table th {
    white-space: nowrap;
}

.ikb-module-contracts_monitor .alert_success,
.ikb-module-contracts_monitor .alert_error,
.ikb-module-contracts_monitor .alert_warning {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 11px;
}

.ikb-module-contracts_monitor .alert_success {
    color: #176653;
    background: #e1f5ed;
}

.ikb-module-contracts_monitor .alert_error {
    color: #9b4141;
    background: #fff0ee;
}
