.vat-bookings-page .worksheet-stage {
    max-width: 1500px;
}

.vatb-task-list,
.vatb-booking-list {
    display: grid;
    gap: 10px;
}

.vatb-task,
.vatb-guided-line-task,
.vatb-booking-task,
.vatb-transfer-task {
    border: 1px solid rgba(33, 33, 28, 0.16);
    background: rgba(255, 252, 244, 0.82);
    padding: 12px;
    display: grid;
    gap: 9px;
}

.vatb-task.is-complete,
.vatb-guided-line-task.is-complete,
.vatb-booking-task.is-complete,
.vatb-transfer-task.is-complete {
    border-color: rgba(45, 124, 83, 0.38);
    background: rgba(232, 244, 235, 0.62);
}

.vatb-task-copy {
    display: grid;
    gap: 4px;
    color: #27231d;
}

.vatb-task-copy strong {
    font-size: 0.98rem;
    line-height: 1.35;
}

.vatb-task-copy p {
    margin: 0;
    color: #6b6257;
    font-size: 0.88rem;
    line-height: 1.45;
}

.vatb-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.vatb-choice-list button,
.vatb-check-btn,
.vatb-status-button,
.vatb-reset,
.vatb-more-practice,
.vatb-next-exercise {
    border: 1px solid rgba(33, 33, 28, 0.24);
    background: #fffaf0;
    color: #2a251f;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 8px 10px;
    cursor: pointer;
    text-decoration: none;
}

.vatb-choice-list button:hover,
.vatb-check-btn:hover,
.vatb-reset:hover,
.vatb-next-exercise:hover {
    border-color: #b85135;
    color: #b85135;
}

.vatb-choice-list button.is-correct,
.vatb-check-btn.is-complete {
    background: #2d7c53;
    border-color: #2d7c53;
    color: #fffaf0;
}

.vatb-choice-list button.is-wrong {
    background: #f7e4dc;
    border-color: #bd4b36;
    color: #8d2d1c;
}

.vatb-work-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}

.vatb-account-plan {
    border: 1px solid rgba(33, 33, 28, 0.2);
    background: rgba(247, 242, 229, 0.95);
    padding: 10px;
    position: sticky;
    top: 118px;
}

.vatb-plan-title {
    margin: 0 0 8px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #b85135;
}

.vatb-plan-classes {
    display: grid;
    gap: 5px;
}

.vatb-plan-class {
    border: 1px solid rgba(33, 33, 28, 0.16);
    background: #fffaf0;
}

.vatb-plan-class.is-muted {
    opacity: 0.54;
}

.vatb-plan-head {
    padding: 5px 7px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fffaf0;
}

.vatb-class-0 .vatb-plan-head { background: #34312b; }
.vatb-class-1 .vatb-plan-head { background: #1d5f9f; }
.vatb-class-2 .vatb-plan-head { background: #1f7b4d; }
.vatb-class-3 .vatb-plan-head { background: #d57b1f; }
.vatb-class-4 .vatb-plan-head { background: #7b4bb3; }
.vatb-class-5 .vatb-plan-head { background: #4c463c; }
.vatb-class-6 .vatb-plan-head { background: #247f52; }
.vatb-class-7 .vatb-plan-head { background: #bd3d32; }
.vatb-class-8 .vatb-plan-head { background: #6a5b4c; }
.vatb-class-9 .vatb-plan-head { background: #6d4a82; }

.vatb-plan-accounts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 5px;
}

.vatb-account-chip {
    min-width: 0;
    border: 1px solid rgba(33, 33, 28, 0.2);
    background: #fffdf7;
    color: #2a251f;
    padding: 5px 6px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    cursor: grab;
}

.vatb-account-chip.is-needed {
    border-color: #2d7c53;
    background: #edf7ee;
}

.vatb-account-chip:active {
    cursor: grabbing;
}

.vatb-booking-task {
    grid-template-columns: minmax(180px, 0.86fr) minmax(0, 1.25fr);
    align-items: start;
}

.vatb-guided-line-task {
    grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1.18fr);
    align-items: start;
    background: rgba(236, 247, 239, 0.7);
}

.vatb-guided-ledger {
    display: grid;
    gap: 6px;
}

.vatb-fixed-line,
.vatb-missing-line {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 104px;
    gap: 6px;
    align-items: center;
    min-height: 34px;
}

.vatb-fixed-line {
    border: 1px solid rgba(45, 124, 83, 0.2);
    background: rgba(255, 255, 255, 0.68);
    padding: 5px;
}

.vatb-fixed-line span,
.vatb-missing-line span {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #4f6655;
}

.vatb-fixed-line strong {
    color: #27352b;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
}

.vatb-fixed-line em {
    color: #27352b;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.82rem;
    font-style: normal;
    text-align: right;
}

.vatb-missing-line {
    grid-template-columns: 58px minmax(0, 1fr) 104px auto;
    padding-top: 2px;
}

.vatb-missing-line select,
.vatb-missing-line input {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 33, 28, 0.24);
    background: #fffdf7;
    padding: 7px 8px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.78rem;
}

.vatb-missing-line input {
    text-align: right;
}

.vatb-booking-lines {
    display: grid;
    gap: 7px;
}

.vatb-booking-line {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 104px;
    gap: 6px;
    align-items: center;
}

.vatb-side-label {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #5e574f;
}

.vatb-drop-slot {
    min-height: 34px;
    border: 1px dashed rgba(33, 33, 28, 0.32);
    background: rgba(255, 255, 255, 0.68);
    padding: 5px;
    display: flex;
    align-items: center;
}

.vatb-drop-slot.is-over {
    border-color: #2d7c53;
    background: rgba(232, 244, 235, 0.8);
}

.vatb-drop-slot span {
    color: #867c70;
    font-size: 0.78rem;
}

.vatb-dropped-account {
    width: 100%;
    border: 1px solid rgba(33, 33, 28, 0.22);
    background: #34312b;
    color: #fffaf0;
    padding: 5px 7px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.2;
}

.vatb-dropped-class-0 { background: #34312b; }
.vatb-dropped-class-1 { background: #1d5f9f; }
.vatb-dropped-class-2 { background: #1f7b4d; }
.vatb-dropped-class-3 { background: #d57b1f; color: #201d17; }
.vatb-dropped-class-4 { background: #7b4bb3; }
.vatb-dropped-class-5 { background: #4c463c; }
.vatb-dropped-class-6 { background: #247f52; }
.vatb-dropped-class-7 { background: #bd3d32; }
.vatb-dropped-class-8 { background: #6a5b4c; }
.vatb-dropped-class-9 { background: #6d4a82; }

.vatb-booking-line input {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 33, 28, 0.24);
    background: #fffdf7;
    padding: 7px 8px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.86rem;
    text-align: right;
}

.vatb-booking-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-end;
}

.vatb-feedback {
    display: none;
    margin: 0;
    padding: 8px 10px;
    border-left: 4px solid transparent;
    font-size: 0.84rem;
    line-height: 1.45;
}

.vatb-feedback.is-correct,
.vatb-feedback.is-wrong {
    display: block;
}

.vatb-feedback.is-correct {
    border-color: #2d7c53;
    background: rgba(232, 244, 235, 0.78);
    color: #245d40;
}

.vatb-feedback.is-wrong {
    border-color: #bd4b36;
    background: rgba(247, 228, 220, 0.82);
    color: #8d2d1c;
}

.vatb-summary-left ul {
    margin: 12px 0 16px;
    padding-left: 19px;
}

.vatb-summary-left li {
    margin: 6px 0;
}

.vatb-status-box {
    display: grid;
    gap: 10px;
    align-content: start;
}

.vatb-progress {
    margin: 0;
    font-size: 0.9rem;
    color: #5f584f;
}

.vatb-more-practice:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 1100px) {
    .vatb-work-grid,
    .vatb-guided-line-task,
    .vatb-booking-task {
        grid-template-columns: 1fr;
    }

    .vatb-account-plan {
        position: static;
    }
}

@media (max-width: 720px) {
    .vatb-booking-line {
        grid-template-columns: 1fr;
    }

    .vatb-fixed-line,
    .vatb-missing-line {
        grid-template-columns: 1fr;
    }

    .vatb-choice-list {
        flex-direction: column;
    }

    .vatb-choice-list button {
        width: 100%;
        text-align: left;
    }
}
