
    :root {
        --kh-color-brand: #4e59fd;
        --kh-color-brand-hover: #3f49dd;
        --kh-color-text: #222222;
        --kh-color-muted: #616161;
        --kh-color-soft: #f7f7f7;
        --kh-color-line: #ebebeb;
        --kh-radius-md: 10px;
        --kh-radius-lg: 12px;
        --kh-shadow-panel: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
    }
    body { font-family: Montserrat, sans-serif; color: var(--kh-color-text); background: var(--kh-color-soft); }
    .kh-auth-shell, .kh-account-shell { min-height: 100vh; background: var(--kh-color-soft); color: var(--kh-color-text); }
    .kh-auth-shell { display: flex; align-items: center; justify-content: center; padding: 1rem; }
    .kh-panel { border: 1px solid var(--kh-color-line); border-radius: var(--kh-radius-lg); background: #fff; box-shadow: var(--kh-shadow-panel); }
    .kh-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 2.5rem; padding: 0.58rem 1rem; border-radius: var(--kh-radius-md); font-family: Montserrat, sans-serif; font-size: 0.875rem; font-weight: 650; line-height: 1.2; border: 1px solid transparent; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease; white-space: nowrap; }
    .kh-button:hover { transform: translateY(-1px); }
    .kh-button-primary { background: var(--kh-color-brand); color: #fff; box-shadow: 0 8px 18px rgba(78, 89, 253, 0.22); }
    .kh-button-primary:hover { background: var(--kh-color-brand-hover); }
    .kh-button-secondary { background: #fff; color: var(--kh-color-text); border-color: #d8dce4; }
    .kh-button-secondary:hover { background: #f8f9ff; border-color: #c6cbd7; }
    .kh-field { display: grid; gap: 0.45rem; }
    .kh-field-label { font-size: 0.8125rem; font-weight: 650; color: #6b7280; text-transform: uppercase; letter-spacing: 0.02em; }
    .kh-input, .kh-select, .kh-textarea { width: 100%; border: 1px solid #d8dce4; border-radius: var(--kh-radius-md); background: #fff; color: var(--kh-color-text); font-family: Montserrat, sans-serif; font-size: 0.875rem; line-height: 1.45; transition: border-color 160ms ease, box-shadow 160ms ease; }
    .kh-input, .kh-select { min-height: 2.625rem; padding: 0.58rem 0.78rem; }
    .kh-auth-shell select:not([multiple]),
    .kh-account-shell select:not([multiple]) {
        min-height: 2.625rem !important;
        border: 1px solid #d8dce4 !important;
        border-radius: var(--kh-radius-md) !important;
        background-color: #fff !important;
        color: var(--kh-color-text);
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.25;
        box-shadow: none;
        cursor: pointer;
        vertical-align: middle;
        transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
    }
    .kh-auth-shell select:not([multiple]),
    .kh-account-shell select:not([multiple]),
    .kh-select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        padding: 0.58rem 2.45rem 0.58rem 0.78rem !important;
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%236B7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.78rem center;
        background-size: 1rem;
    }
    .kh-auth-shell select:not([multiple]):hover,
    .kh-account-shell select:not([multiple]):hover { border-color: #c6cbd7 !important; background-color: #fbfbfd !important; }
    .kh-textarea { min-height: 7rem; padding: 0.72rem 0.78rem; resize: vertical; }
    .kh-input:focus, .kh-select:focus, .kh-textarea:focus,
    .kh-auth-shell select:not([multiple]):focus,
    .kh-account-shell select:not([multiple]):focus { border-color: var(--kh-color-brand) !important; outline: none; box-shadow: 0 0 0 3px rgba(78, 89, 253, 0.12) !important; }
    .kh-alert { border-radius: var(--kh-radius-lg); border: 1px solid transparent; padding: 1rem; font-size: 0.875rem; line-height: 1.45; }
    .kh-alert-success { border-color: #b7ebcf; background: #f0fdf6; color: #166534; }
    .kh-alert-error { border-color: #fecaca; background: #fef2f2; color: #991b1b; }
    .kh-alert-warning { border-color: #fde68a; background: #fffbeb; color: #92400e; }
