﻿:root {
    --bg: #eef5ff;
    --panel: #ffffff;
    --ink: #16324f;
    --muted: #6c85a3;
    --line: #d8e6f7;
    --accent: #2e68c5;
    --accent-soft: #dbe9ff;
    --surface: #f7fbff;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    color: var(--ink);
    background:
        radial-gradient(circle at top right, rgba(46, 104, 197, 0.16), transparent 26%),
        radial-gradient(circle at left 20%, rgba(130, 176, 241, 0.12), transparent 24%),
        linear-gradient(180deg, #fbfdff 0%, var(--bg) 100%);
}

h1, h2, h3 { color: #103056; }

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
pre {
    white-space: pre-wrap;
    background: #f3f8ff;
    border: 1px solid var(--line);
    padding: 1rem;
    border-radius: 12px;
}

code { color: #14448a; }

table {
    width: 100%;
    border-collapse: collapse;
}
th, td {
    border-bottom: 1px solid var(--line);
    padding: 0.65rem;
    text-align: left;
    vertical-align: top;
}
th {
    background: #f7fbff;
    color: #244970;
}

input, select, textarea, button {
    width: 100%;
    padding: 0.7rem;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: var(--surface);
    font: inherit;
    color: var(--ink);
}
input:focus, select:focus, textarea:focus {
    outline: 2px solid rgba(46, 104, 197, 0.18);
    border-color: #9bbff1;
}
button {
    background: linear-gradient(180deg, #3c7ae0 0%, var(--accent) 100%);
    color: white;
    cursor: pointer;
    border-color: #2d5dad;
}
button:hover { filter: brightness(1.03); }
button:disabled {
    background: #c8d9f0;
    border-color: #c8d9f0;
    cursor: not-allowed;
}

.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--line);
    background: rgba(251, 253, 255, 0.92);
    position: sticky;
    top: 0;
    backdrop-filter: blur(8px);
}
.brand {
    font-size: 1.25rem;
    font-weight: bold;
    margin-right: 1rem;
    color: #123a75;
}
.layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: calc(100vh - 70px);
}
.sidebar {
    padding: 1.25rem;
    border-right: 1px solid var(--line);
    background: rgba(244, 249, 255, 0.82);
}
.content {
    padding: 1.5rem;
}
.panel, .card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 1rem 1.2rem;
    margin-bottom: 1rem;
    box-shadow: 0 16px 36px rgba(35, 70, 120, 0.07);
}
.project-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1rem;
}
.project-tabs a {
    padding: 0.55rem 0.9rem;
    border: 1px solid #cfe1fb;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #edf5ff 100%);
    color: #1d4f95;
}
.project-tabs a:hover {
    background: linear-gradient(180deg, #f8fbff 0%, #dfeeff 100%);
}
.grid-form {
    display: grid;
    gap: 0.9rem;
}
.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.four-col { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.one-col { grid-template-columns: 1fr; }
.two-col-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.full-width { grid-column: 1 / -1; }
.inline-form {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
}
.inline-wrap { flex-wrap: wrap; }
.link-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.link-list li { margin-bottom: 0.55rem; }
.error-box {
    background: #fce8e8;
    color: #7c1f1f;
    border: 1px solid #e5b4b4;
    border-radius: 12px;
    padding: 1rem;
}
.danger-zone button {
    background: linear-gradient(180deg, #bb4646 0%, #a03131 100%);
    border-color: #8e2a2a;
}

@media (max-width: 960px) {
    .layout { grid-template-columns: 1fr; }
    .sidebar { border-right: none; border-bottom: 1px solid var(--line); }
    .two-col, .four-col, .two-col-grid { grid-template-columns: 1fr; }
}
