:root {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color-scheme: light dark;
    background: #f7f8fc;
}

html,
body,
#app {
    min-height: 100%;
    margin: 0;
}

body { background: #f7f8fc; }

button,
textarea,
input { box-sizing: border-box; }

.cs-legal {
    width: min(100% - 2rem, 48rem);
    margin: 0 auto;
    padding: 2rem 0;
    color: #171a2b;
    line-height: 1.6;
}

.cs-legal h1 { line-height: 1.15; }
.cs-legal a { color: #4c55c8; }

.cs-danger-button {
    min-height: 3rem;
    border: 0;
    border-radius: .75rem;
    padding: 0 1rem;
    background: #b42318;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.cs-danger-button:disabled { cursor: not-allowed; opacity: .55; }

.cs-account-actions { display: flex; align-items: center; gap: 1rem; }
.cs-admin-page { max-width: 1400px; margin: 0 auto; padding: 2rem; color: #172033; }
.cs-admin-header, .cs-admin-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.cs-admin-header { margin-bottom: 1.5rem; }
.cs-admin-header h1, .cs-admin-card h2 { margin: 0 0 .35rem; }
.cs-admin-header p { margin: 0; color: #5f6879; }
.cs-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; margin: 1rem 0; }
.cs-admin-card { background: #fff; border: 1px solid #dfe3ec; border-radius: 16px; padding: 1.25rem; box-shadow: 0 8px 24px rgb(35 45 80 / 6%); }
.cs-admin-link { color: inherit; text-decoration: none; }
.cs-admin-link:hover { border-color: #5965e8; transform: translateY(-1px); }
.cs-admin-card label { display: grid; gap: .35rem; margin: .8rem 0; font-weight: 600; }
.cs-admin-card input, .cs-admin-card select { min-height: 42px; border: 1px solid #cbd1de; border-radius: 8px; padding: .55rem .7rem; font: inherit; }
.cs-admin-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; font-weight: 500 !important; }
.cs-admin-check input { min-height: auto; }
.cs-admin-notice { padding: .8rem 1rem; color: #126437; background: #e9f8ef; border-radius: 8px; }
.cs-admin-hint { margin: -.25rem 0 .8rem; color: #687184; font-size: .9rem; line-height: 1.45; }
.cs-admin-user-actions { display: grid; gap: 1rem; }
.cs-admin-section-copy { margin: 0 0 1rem; color: #5f6879; line-height: 1.5; }
.cs-admin-security-card { border-left: 4px solid #5965e8; }
.cs-admin-danger-zone { border-color: #efb5b5; background: #fffafa; }
.cs-admin-danger-zone h2 { color: #9d1c1c; }
.cs-admin-table-wrap { overflow-x: auto; }
.cs-admin-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.cs-admin-table th, .cs-admin-table td { padding: .7rem; border-bottom: 1px solid #e4e7ee; text-align: left; vertical-align: top; }
.cs-admin-table th { color: #596174; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.cs-admin-table small { display: block; margin-top: .25rem; color: #687184; overflow-wrap: anywhere; }
.cs-admin-row-error { background: #fff3f3; }
.cs-admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: .8rem; margin: 1rem 0; }
.cs-admin-metrics div { display: grid; gap: .2rem; padding: 1rem; background: #fff; border: 1px solid #dfe3ec; border-radius: 12px; }
.cs-admin-metrics strong { font-size: 1.6rem; }
.cs-admin-metrics span { color: #687184; }
.cs-admin-toolbar { display: flex; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.cs-admin-toolbar label { flex: 1; margin: 0; }
.cs-diagnostics-table { min-width: 1100px; }
@media (max-width: 700px) { .cs-admin-page { padding: 1rem; } .cs-admin-header, .cs-admin-toolbar { align-items: stretch; flex-direction: column; } .cs-admin-metrics { grid-template-columns: repeat(2, 1fr); } }

@media (prefers-color-scheme: dark) {
    :root,
    body { background: #10121c; }
    .cs-legal { color: #f5f6ff; }
    .cs-legal a { color: #aeb5ff; }
}
