:root {
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
    color:#203047;
    background:#f4f6fa;
    font-size:15px;
    line-height:1.5;
    --primary:#176a65;
    --border:#dce3ec;
    --muted:#607086;
}
.mcp-settings-grid { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); gap:1.25rem; }
.mcp-settings-panel { padding:1.25rem; margin-bottom:1.25rem; min-width:0; background:#fff; border:1px solid var(--border); border-radius:12px; }
.mcp-settings-panel h2 { margin-top:0; }
.mcp-copy-field { display:flex; gap:.5rem; align-items:stretch; margin-bottom:.75rem; }
.mcp-copy-field input { min-width:0; flex:1; }
.mcp-copy-field button { flex-shrink:0; }
@media (max-width:800px) { .mcp-settings-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:420px) { .mcp-copy-field { flex-wrap:wrap; } .mcp-copy-field input { flex-basis:100%; } }
* {
    box-sizing:border-box;
}
body {
    margin:0;
}
a {
    color:#146a74;
    text-underline-offset:3px;
}
a:hover {
    color:#0b444a;
}
button,input,select,textarea {
    font:inherit;
    touch-action:manipulation;
}
button,a {
    cursor:pointer;
}
:focus-visible {
    outline:3px solid #e7a93b;
    outline-offset:3px;
}
h1 {
    font-size:1.8rem;
    line-height:1.2;
    letter-spacing:-.04em;
    margin:0 0 1rem;
}
h2,h3,h4,h5 {
    line-height:1.3;
}
small,.muted {
    color:var(--muted);
}
.skip-link {
    position:absolute;
    left:1rem;
    top:-10rem;
    background:white;
    padding:1rem;
    z-index:100;
}
.skip-link:focus {
    top:1rem;
}
.admin-page {
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    min-height:100vh;
}
.sidebar {
    background:#152c37;
    color:#d6e2e7;
    padding:2rem 1.25rem;
    position:sticky;
    top:0;
    height:100vh;
}
.brand {
    font-size:1.5rem;
    font-weight:750;
    letter-spacing:-.04em;
    color:white;
    display:block;
    text-decoration:none;
    margin-bottom:2.5rem;
}
.brand:hover {
    color:white;
}
.sidebar-caption {
    font-size:.68rem;
    letter-spacing:.16em;
    color:#a5bdc8;
    display:block;
    margin:0 .75rem 1rem;
}
.sidebar nav {
    display:grid;
    gap:.4rem;
}
.sidebar nav a {
    color:#d8e5eb;
    text-decoration:none;
    padding:.8rem .9rem;
    border-radius:7px;
}
.sidebar nav a:hover,.sidebar nav a[aria-current=page] {
    color:white;
    background:#244652;
}
.workspace {
    min-width:0;
    display:flex;
    flex-direction:column;
}
.topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:80px;
    padding:1rem 2.5rem;
    background:white;
    border-bottom:1px solid var(--border);
}
.environment-label {
    color:var(--muted);
    font-size:.85rem;
}
.account {
    display:flex;
    align-items:center;
    gap:.75rem;
}
.account>a {
    margin-left:.75rem;
}
.avatar {
    display:inline-grid;
    place-items:center;
    min-width:36px;
    height:36px;
    border-radius:50%;
    color:#15534f;
    background:#e0f0eb;
    font-weight:700;
}
.page-content {
    padding:2.5rem;
    flex:1;
    min-width:0;
    overflow-x:auto;
}
.page-heading {
    margin-bottom:1.75rem;
}
.site-footer {
    padding:1.25rem 2.5rem;
    color:var(--muted);
    font-size:.8rem;
    border-top:1px solid var(--border);
}
.menu-toggle {
    display:none;
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.25rem;
    margin:1.5rem 0 2rem;
}
.stat-card {
    display:flex;
    flex-direction:column;
    gap:.5rem;
    background:white;
    border:1px solid var(--border);
    border-radius:12px;
    padding:1.75rem;
}
.stat-card>span {
    color:var(--muted);
}
.stat-card strong {
    font-size:2.6rem;
    line-height:1.1;
    letter-spacing:-.05em;
}
.quick-links {
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}
.table {
    border-collapse:collapse;
    width:100%;
    background:white;
    font-size:.9rem;
    margin-bottom:1.25rem;
}
.table th,.table td {
    text-align:left;
    padding:.85rem 1rem;
    border-bottom:1px solid var(--border);
    vertical-align:top;
    overflow-wrap:normal;
}
.table th {
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    background:#eaf0f5;
    white-space:nowrap;
}
.table-striped tbody tr:nth-child(even) {
    background:#f9fafc;
}
.table tbody tr:hover {
    background:#eef5f5;
}
.table td form {
    display:inline;
}
.table td a {
    display:inline-block;
}
.table td pre {
    white-space:pre-wrap;
    word-break:break-word;
}
.table-wrap {
    overflow-x:auto;
}
.pagination {
    display:flex;
    align-items:center;
    gap:1rem;
    margin:1rem 0;
}
.pagination a {
    padding:.45rem .85rem;
    border:1px solid var(--border);
    border-radius:6px;
    background:white;
}
.pagination [aria-disabled] {
    color:#6d7885;
}
.row {
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}
.row>[class*=col-] {
    flex:1;
    min-width:0;
}
.row>.col-md-12 {
    flex-basis:100%;
}
.pull-right {
    float:right;
}
.clearfix:after {
    content:"";
    display:table;
    clear:both;
}
.icon {
    display:inline-block;
    font-weight:700;
    min-width:1em;
    text-align:center;
}
.btn {
    display:inline-block;
    border:1px solid #bdcbd8;
    border-radius:6px;
    background:white;
    color:#24394c;
    padding:.6rem 1rem;
    text-decoration:none;
    line-height:1.4;
    text-align:center;
}
.btn:hover {
    background:#edf3f6;
    color:#152c37;
}
.btn-primary,.btn-success {
    background:var(--primary);
    border-color:var(--primary);
    color:white;
}
.btn-primary:hover,.btn-success:hover {
    background:#105550;
    color:white;
}
.btn-danger {
    background:#a63e38;
    border-color:#a63e38;
    color:white;
}
.btn-xs {
    padding:.2rem .5rem;
}
.label {
    display:inline-block;
    padding:.15rem .5rem;
    border-radius:4px;
    font-size:.8rem;
    text-decoration:none;
}
.label-primary,.label-success {
    background:#dfefe9;
    color:#145748;
}
.label-danger {
    background:#fae5e2;
    color:#8c302e;
}
.label-warning {
    background:#fff0ce;
    color:#78500b;
}
.alert {
    padding:1rem;
    border:1px solid var(--border);
    border-radius:7px;
    margin-bottom:1rem;
    background:#edf3f9;
}
.alert-danger {
    background:#fae9e7;
    color:#822f2b;
}
.alert-success {
    background:#e3f1e9;
    color:#235c3b;
}
.alert-warning {
    background:#fff4d8;
    color:#76550b;
}
.alert ul {
    margin:0;
    padding-left:1.25rem;
}
.alert .close {
    float:right;
}
.parsley-errors-list {
    color:#9d3430;
    padding-left:1.25rem;
}
label {
    font-weight:550;
    display:block;
}
input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea {
    border:1px solid #b6c3d1;
    border-radius:6px;
    padding:.6rem .75rem;
    background:white;
    color:#203047;
    max-width:100%;
    width:100%;
}
input[type=checkbox],input[type=radio] {
    accent-color:var(--primary);
    width:1.1rem;
    height:1.1rem;
    vertical-align:middle;
}
.form-group {
    margin-bottom:1.25rem;
}
.form-horizontal {
    max-width:900px;
    background:white;
    padding:1.75rem;
    border:1px solid var(--border);
    border-radius:10px;
}
.form-horizontal>.form-group {
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:1rem;
}
.form-horizontal>.form-group:has(.col-md-offset-3) {
    display:block;
    text-align:right;
}
.checkbox {
    display:flex;
    align-items:center;
    gap:.6rem;
    font-weight:400;
}
.required {
    color:#9d3430;
}
.roles-picker {
    margin: 0;
    padding: .75rem 1rem;
    border: 1px solid var(--border);
    border-radius: 6px;
}
.roles-picker .checkbox {
    margin: .35rem 0;
}
.auth-page {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:2rem;
    background:radial-gradient(ellipse at top left,#e1eeea,transparent 60%),#f1f4f8;
}
.auth-card {
    width:min(100%,440px);
    background:white;
    padding:2.5rem;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 16px 70px #162f3a0c;
}
.auth-brand {
    display:block;
    color:var(--primary);
    font-size:1.15rem;
    font-weight:750;
    text-decoration:none;
    margin-bottom:2rem;
}
.auth-card h1 {
    font-size:1.65rem;
}
.auth-card form {
    display:grid;
    gap:.85rem;
    margin-top:1.75rem;
}
.auth-card .btn {
    margin-top:.5rem;
}
.auth-secondary {
    text-align:center;
    font-size:.9rem;
}
@media(max-width:900px) {
    .admin-page {
        grid-template-columns:190px minmax(0,1fr);
    }
    .topbar,.page-content,.site-footer {
        padding:1.5rem;
    }
    .stats-grid {
        gap:.75rem;
    }
    .stat-card {
        padding:1rem;
    }
    .stat-card strong {
        font-size:2rem;
    }
    .environment-label {
        display:none;
    }
}
@media(max-width:650px) {
    .admin-page {
        display:block;
    }
    .sidebar {
        display:none;
        height:auto;
        position:static;
        padding:1rem;
    }
    .nav-open .sidebar {
        display:block;
    }
    .brand {
        margin-bottom:1rem;
    }
    .sidebar-caption {
        display:none;
    }
    .sidebar nav {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .topbar {
        padding:1rem;
        min-height:68px;
    }
    .menu-toggle {
        display:block;
        border:1px solid var(--border);
        border-radius:5px;
        padding:.5rem;
        background:white;
    }
    .account {
        font-size:.85rem;
        gap:.4rem;
    }
    .account>span:not(.avatar) {
        max-width:130px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .account>a {
        margin-left:.25rem;
    }
    .page-content {
        padding:1.5rem 1rem;
    }
    .stats-grid {
        grid-template-columns:1fr;
    }
    .stat-card {
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
    }
    .stat-card small {
        grid-column:1 / -1;
    }
    .table th,.table td {
        padding:.65rem;
    }
    .form-horizontal {
        padding:1rem;
    }
    .form-horizontal>.form-group {
        grid-template-columns:1fr;
        gap:.4rem;
    }
    .auth-page {
        padding:1rem;
    }
    .auth-card {
        padding:1.75rem;
    }
    .row>[class*=col-] {
        flex-basis:100%;
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior:auto!important;
    }
}

.table:has(thead th:nth-child(3)) {
    min-width: 640px;
}
.table-scroll {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}
.table-scroll-hint {
    display: none;
}
@media(max-width:650px) {
    .table-scroll-hint {
        display: block;
        flex-basis: 100%;
        color: var(--muted);
        font-size: .8rem;
        margin: 0;
    }
}
