.mock-demo {
    max-width: 980px;
}

.mock-demo h1 {
    margin: 0 0 8px 0;
    font-size: 1.6rem;
}

.mock-demo p.lead {
    margin: 0 0 18px 0;
    color: var(--muted);
}

.mock-demo .card {
    padding: 16px;
}

.mock-demo .formRow {
    display: grid;
    grid-template-columns: 1fr 180px 120px;
    gap: 10px;
    align-items: center;
}

.mock-demo input,
.mock-demo select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    outline: none;
    color: var(--text);
    background: rgba(255, 255, 255, 0.06);
}

.mock-demo input::placeholder {
    color: var(--muted);
}

.mock-demo button {
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    color: var(--text);
    background: rgba(255, 255, 255, 0.06);
}

.mock-demo button.primary {
    background: rgba(242, 210, 122, 0.18);
    border-color: rgba(242, 210, 122, 0.45);
    color: #1a1a1a;
}

.mock-demo button.ghost:hover,
.mock-demo button.primary:hover {
    filter: brightness(1.08);
}

.mock-demo hr.sep {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 16px 0;
}

.mock-demo .gallery {
    display: grid;
    gap: 10px;
}

.mock-demo .item {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.04);
}

.mock-demo .itemTitle {
    font-weight: 600;
}

.mock-demo .badge {
    font-size: 0.78rem;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--line);
}

.mock-demo .badge.new {
    background: rgba(59, 130, 246, 0.22);
}

.mock-demo .badge.progress {
    background: rgba(245, 158, 11, 0.22);
}

.mock-demo .badge.done {
    background: rgba(34, 197, 94, 0.22);
}

.mock-demo .empty {
    margin-top: 8px;
    color: var(--muted);
}

@media (max-width: 720px) {
    .mock-demo .formRow {
        grid-template-columns: 1fr;
    }

    .mock-demo .item {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
