        :root {
            --bg: #f6f8fb;
            --surface: #ffffff;
            --surface-soft: #f8fafc;
            --border: #d8e0e8;
            --border-soft: #e8eef4;
            --text: #1f2933;
            --muted: #66788a;
            --primary: #245bdb;
            --primary-hover: #1f4fbd;
            --secondary: #4d5f73;
            --success: #176b4d;
            --success-bg: #e4f6ed;
            --warning: #8a5a00;
            --warning-bg: #fff3d6;
            --danger: #9b2c2c;
            --danger-bg: #ffe6e6;
            --shadow: 0 10px 26px rgba(31, 41, 51, 0.07);
        }

        body {
            background: #f6f8fb;
            color: var(--text);
        }

        .page {
            width: min(100%, 2200px);
        }

        .topbar,
        .form-card,
        .filters,
        .bulk-panel,
        .table-wrap,
        .stat-card,
        .card,
        .confirm-card,
        .log-card,
        .quick-card {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            box-shadow: var(--shadow);
        }

        .topbar {
            padding: 18px 20px;
        }

        h1,
        h2 {
            color: var(--text);
            letter-spacing: 0;
        }

        .button,
        button,
        .filter-button,
        .action-button {
            border-radius: 7px;
            background: var(--primary);
            color: #fff;
            font-weight: 600;
            transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
        }

        .button:hover,
        button:hover,
        .filter-button:hover,
        .action-button:hover {
            background: var(--primary-hover);
            text-decoration: none;
        }

        .button.secondary,
        .filter-button.secondary,
        .action-button.light {
            background: var(--secondary);
        }

        .button.ghost {
            background: #edf2f7;
            color: #2d3a47;
        }

        .action-button.success {
            background: var(--success);
        }

        .action-button.danger {
            background: var(--danger);
        }

        input,
        select,
        textarea,
        .form-control {
            border-color: #c9d4df;
            border-radius: 7px;
            background: #fff;
            color: var(--text);
        }

        input:focus,
        select:focus,
        textarea:focus,
        .form-control:focus {
            outline: 2px solid rgba(36, 91, 219, 0.18);
            border-color: var(--primary);
        }

        th {
            background: var(--surface-soft);
            color: #405165;
            font-size: 12px;
            text-transform: uppercase;
        }

        td {
            border-color: var(--border-soft);
        }

        tr:hover td {
            background: #f8fbff;
        }

        .link {
            color: var(--primary);
            font-weight: 600;
        }

        .danger-link {
            color: var(--danger);
        }

        .messages {
            z-index: 1200;
        }

        .message {
            border-radius: 8px;
            box-shadow: var(--shadow);
        }

        .message.success {
            border-color: #b7e2ce;
            background: var(--success-bg);
            color: var(--success);
        }

        .message.warning {
            border-color: #f0d287;
            background: var(--warning-bg);
            color: var(--warning);
        }

        .message.error {
            border-color: #f3b9b9;
            background: var(--danger-bg);
            color: var(--danger);
        }

        .empty,
        .muted,
        .help,
        .filter-help,
        .pagination-info {
            color: var(--muted);
        }
