:root {
    --tc-bg: #f4f6f8;
    --tc-surface: #ffffff;
    --tc-border: #d9e0e7;
    --tc-text: #1e2933;
    --tc-muted: #64748b;
    --tc-primary: #176b87;
    --tc-primary-dark: #124f63;
    --tc-danger-bg: #fff1f2;
    --tc-danger-text: #9f1239;
    --tc-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    --tc-font-size-body: 0.75rem;
    --tc-font-size-page-title: 1.25rem;
    --tc-font-weight-body: 400;
    --tc-font-weight-page-title: 500;
    --tc-font-weight-grid-header: 500;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    background: var(--tc-bg);
    color: var(--tc-text);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

a {
    color: var(--tc-primary);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--tc-primary-dark);
    text-decoration: underline;
}

h1,
h2,
p {
    margin-top: 0;
}

.tc-muted {
    color: var(--tc-muted);
}

.tc-kicker {
    color: var(--tc-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.tc-button {
    align-items: center;
    background: var(--tc-primary);
    border: 1px solid var(--tc-primary);
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
}

.tc-button:hover,
.tc-button:focus {
    background: var(--tc-primary-dark);
    color: #ffffff;
    text-decoration: none;
}

.tc-button-secondary {
    background: #ffffff;
    color: var(--tc-primary);
}

.tc-button-secondary:hover,
.tc-button-secondary:focus {
    background: #eef6f8;
    color: var(--tc-primary-dark);
}
