.job-description-editor-shell {
    width: 100%;
}

.job-description-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.55rem;
    border: 1px solid hsl(var(--border));
    border-bottom: 0;
    border-radius: var(--radius) var(--radius) 0 0;
    background: hsl(var(--muted));
}

.job-description-tool {
    min-height: 2rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid hsl(var(--border));
    border-radius: calc(var(--radius) - 2px);
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.job-description-tool:hover {
    background: hsl(var(--card));
    border-color: hsl(var(--primary));
}

.job-description-tool:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
}

.job-description-editor {
    min-height: 24rem;
    max-height: 46rem;
    overflow-y: auto;
    padding: 1rem;
    border: 1px solid hsl(var(--input));
    border-radius: 0 0 var(--radius) var(--radius);
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-size: 0.875rem;
    line-height: 1.7;
}

.job-description-editor:focus {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
}

.job-description-editor:empty::before {
    content: attr(data-placeholder);
    color: hsl(var(--muted-foreground));
    pointer-events: none;
}

.job-description-editor h2,
.job-description-rich h2 {
    margin-top: 1.6rem;
    margin-bottom: 0.65rem;
    color: hsl(var(--foreground));
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
}

.job-description-editor h3,
.job-description-rich h3 {
    margin-top: 1.3rem;
    margin-bottom: 0.5rem;
    color: hsl(var(--foreground));
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
}

.job-description-editor p,
.job-description-editor > div,
.job-description-rich p,
.job-description-rich > div {
    margin: 0 0 0.9rem;
}

.job-description-editor ul,
.job-description-rich ul {
    margin: 0.85rem 0;
    padding-left: 1.6rem;
    list-style: disc;
}

.job-description-editor ol,
.job-description-rich ol {
    margin: 0.85rem 0;
    padding-left: 1.6rem;
    list-style: decimal;
}

.job-description-editor li + li,
.job-description-rich li + li {
    margin-top: 0.3rem;
}

.job-description-editor strong,
.job-description-rich strong {
    color: hsl(var(--foreground));
    font-weight: 700;
}

.job-description-editor a,
.job-description-rich a {
    color: hsl(var(--primary));
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.job-description-rich {
    overflow-wrap: anywhere;
}

.job-description-rich > :first-child,
.job-description-editor > :first-child {
    margin-top: 0;
}

.job-description-rich > :last-child,
.job-description-editor > :last-child {
    margin-bottom: 0;
}

.job-description-editor--compact {
    min-height: 12rem;
    max-height: 30rem;
}
