.worksheet-pattern-page {
    background:
        linear-gradient(rgba(35, 31, 24, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35, 31, 24, 0.045) 1px, transparent 1px),
        #f4efe3;
    background-size: 32px 32px;
}

.worksheet-pattern {
    width: min(1320px, calc(100vw - 48px));
    margin: 0 auto;
    padding: 28px 0 78px;
    color: #1f2b2f;
}

.worksheet-hero,
.worksheet-stage,
.worksheet-intro-card,
.worksheet-recap-card,
.worksheet-flow,
.worksheet-zone,
.worksheet-summary {
    border: 1px solid #cfc5af;
    background: rgba(255, 252, 244, 0.95);
    box-shadow: none;
}

.worksheet-hero {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-end;
    padding: 28px 30px;
    margin-bottom: 18px;
}

.worksheet-kicker,
.worksheet-section-label,
.worksheet-zone-number,
.task-label {
    margin: 0;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.worksheet-kicker,
.worksheet-section-label,
.worksheet-zone-number {
    color: #b64b2d;
}

.worksheet-hero h1,
.worksheet-recap-card h2,
.worksheet-flow-head h2,
.worksheet-zone-head h2,
.worksheet-summary h2 {
    margin: 6px 0 0;
    font-family: "Lora", serif;
    color: #171b18;
}

.worksheet-hero h1 {
    max-width: 760px;
    font-size: clamp(2.25rem, 4.5vw, 4rem);
    line-height: 1;
    letter-spacing: -0.045em;
}

.worksheet-lead {
    max-width: 760px;
    margin: 14px 0 0;
    color: #665f51;
    font-size: 1rem;
    line-height: 1.62;
}

.worksheet-back,
.worksheet-repeat-box a,
.worksheet-check-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid #201d17;
    background: #201d17;
    color: #fff8e9;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
}

.worksheet-stage {
    padding: 22px;
}

.worksheet-intro-card,
.worksheet-recap-card,
.worksheet-flow,
.worksheet-zone,
.worksheet-summary {
    margin-bottom: 16px;
}

.worksheet-intro-card {
    max-width: 930px;
    padding: 14px 16px;
    border-left: 4px solid #28714c;
}

.worksheet-goals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.worksheet-goals article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 2px;
    align-items: start;
    padding: 10px 11px;
    border: 1px solid #d7cbb6;
    background: #fbf6ea;
}

.worksheet-goals span {
    grid-row: 1 / 3;
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #a9c0ad;
    background: #eef6ed;
    font-family: "JetBrains Mono", monospace;
    color: #28714c;
    font-size: 0.68rem;
    font-weight: 800;
}

.worksheet-goals strong {
    display: block;
    font-size: 0.95rem;
    color: #171b18;
}

.worksheet-goals p,
.worksheet-recap-card p,
.worksheet-zone-head p,
.worksheet-summary li,
.worksheet-repeat-box p {
    color: #665f51;
    line-height: 1.55;
}

.worksheet-goals p {
    margin: 0;
    font-size: 0.84rem;
}

.worksheet-recap-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
    gap: 20px;
    align-items: start;
    padding: 18px;
    background:
        linear-gradient(rgba(35, 31, 24, 0.03) 1px, transparent 1px),
        #fffaf0;
    background-size: 100% 28px;
}

.worksheet-recap-card h2 {
    font-size: 1.34rem;
}

.worksheet-recap-card p {
    margin: 10px 0 0;
    font-size: 0.93rem;
}

.worksheet-recap-links {
    display: grid;
    gap: 7px;
    padding: 12px 14px;
    border: 1px solid #d7cbb6;
    background: #fbf6ea;
}

.worksheet-recap-links p {
    margin: 0 0 2px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #28714c;
}

.worksheet-recap-links a {
    color: #183f5f;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.75rem;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.worksheet-flow {
    padding: 13px 16px;
    background: #fffaf0;
}

.worksheet-flow-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    padding-bottom: 10px;
    border-bottom: 1px solid #d7cbb6;
}

.worksheet-flow-head h2 {
    font-size: 1.16rem;
}

.worksheet-flow-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    list-style: none;
    padding: 10px 0 0;
    margin: 0;
}

.worksheet-flow-steps li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 8px;
    align-items: center;
    padding: 8px;
    border: 1px solid #d7cbb6;
    background: rgba(251, 246, 234, 0.72);
}

.worksheet-flow-steps span {
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #201d17;
    background: #fffaf0;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
    font-weight: 800;
}

.worksheet-flow-steps strong {
    font-family: "Lora", serif;
    font-size: 0.96rem;
}

.worksheet-flow-steps small {
    color: #776d5d;
    font-size: 0.77rem;
}

.worksheet-zone {
    padding: 0;
    overflow: hidden;
}

.worksheet-zone-head {
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 13px 18px;
    border-bottom: 1px solid #d7cbb6;
}

.worksheet-zone-head h2 {
    font-size: 1.22rem;
}

.worksheet-zone-head p:last-child {
    margin: 0;
    font-size: 0.9rem;
}

.worksheet-zone-number {
    display: inline-flex;
    width: fit-content;
    padding: 4px 7px;
    border: 1px solid currentColor;
    background: rgba(255, 252, 244, 0.62);
}

.zone-recognize .worksheet-zone-head { background: #eaf2f7; }
.zone-assign .worksheet-zone-head { background: #e9f4ed; }
.zone-apply .worksheet-zone-head { background: #f8f1df; }
.zone-check .worksheet-zone-head { background: #f5e9df; }
.zone-transfer .worksheet-zone-head { background: #eee8f4; }

.worksheet-paper {
    padding: 15px 16px 16px;
    border: 0;
    border-top: 1px solid rgba(215, 203, 182, 0.6);
    background:
        linear-gradient(rgba(35, 31, 24, 0.035) 1px, transparent 1px),
        #fffdf7;
    background-size: 100% 28px;
}

.task-label {
    color: #28714c;
}

.worksheet-compact-tasks,
.worksheet-booking-list,
.worksheet-check-list,
.worksheet-transfer-list {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.compact-task,
.booking-case,
.check-case,
.transfer-case {
    border: 1px solid #d7cbb6;
    background: rgba(255, 250, 240, 0.9);
}

.compact-task {
    display: grid;
    grid-template-columns: minmax(230px, 0.48fr) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
}

.compact-task strong,
.booking-case strong,
.check-case > span,
.transfer-case span {
    font-size: 0.94rem;
    line-height: 1.35;
}

.worksheet-choice-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 7px;
    margin: 0;
}

.worksheet-choice-list button,
.worksheet-account-plan button,
.worksheet-booking-grid button,
.transfer-case button {
    appearance: none;
    min-height: 36px;
    border: 1px solid #9f9279;
    background: #fffaf0;
    color: #1f2b2f;
    padding: 8px 10px;
    text-align: left;
    font: inherit;
    font-size: 0.86rem;
    line-height: 1.25;
    cursor: pointer;
}

.worksheet-choice-list button:hover,
.worksheet-account-plan button:hover,
.worksheet-booking-grid button:hover,
.transfer-case button:hover {
    border-color: #201d17;
    background: #f8f1df;
}

.worksheet-choice-list button {
    position: relative;
    padding-left: 28px;
    background:
        linear-gradient(90deg, rgba(183, 75, 45, 0.12), transparent 34px),
        #fffaf0;
    font-weight: 700;
}

.worksheet-choice-list button::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 8px;
    height: 8px;
    border: 1px solid #b64b2d;
    transform: translateY(-50%);
    background: #fffdf7;
}

.worksheet-choice-list button:hover::before {
    background: #b64b2d;
}

.worksheet-choice-list.compact {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.worksheet-workbench {
    display: grid;
    gap: 14px;
}

.worksheet-workbench.has-account-plan {
    grid-template-columns: minmax(0, 1fr) minmax(230px, 282px);
    align-items: start;
}

.worksheet-work-area {
    min-width: 0;
}

.worksheet-account-plan {
    padding: 8px;
    border: 1px solid #201d17;
    background:
        linear-gradient(rgba(35, 31, 24, 0.035) 1px, transparent 1px),
        #fbf6ea;
    background-size: 100% 20px;
}

.account-plan-kicker {
    margin: 0 0 4px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.59rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #b64b2d;
}

.worksheet-account-plan > strong {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
    line-height: 1.28;
}

.account-plan-list {
    display: grid;
    gap: 3px;
}

.account-class {
    padding: 4px 5px 4px 7px;
    border: 1px solid #d7cbb6;
    background: rgba(255, 252, 244, 0.72);
}

.account-class h3 {
    margin: 0;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.15;
}

.account-class span,
.account-class button {
    display: block;
    width: 100%;
    margin-top: 3px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.57rem;
    line-height: 1.12;
}

.account-class span {
    color: #756c5c;
}

.account-class button {
    min-height: 21px;
    padding: 3px 5px;
    background: #fffdf7;
    font-weight: 800;
}

.account-class.is-muted {
    opacity: 0.52;
}

.account-class.is-active {
    border-color: #201d17;
    box-shadow: inset 4px 0 0 #28714c;
}

.account-class.class-1 { box-shadow: inset 4px 0 0 #9c7a2f; }
.account-class.class-2 { box-shadow: inset 4px 0 0 #1f7a4d; }
.account-class.class-3 { box-shadow: inset 4px 0 0 #d98324; }
.account-class.class-4 { box-shadow: inset 4px 0 0 #7b50b6; }
.account-class.class-5 { box-shadow: inset 4px 0 0 #6d6256; }
.account-class.class-7 { box-shadow: inset 4px 0 0 #c0392b; }

.worksheet-match-list {
    display: grid;
    gap: 8px;
}

.worksheet-match-list > div {
    display: grid;
    grid-template-columns: minmax(230px, 1fr) repeat(2, minmax(150px, 220px));
    gap: 8px;
    align-items: center;
    padding: 9px;
    border: 1px solid #d7cbb6;
    background: rgba(255, 250, 240, 0.78);
}

.worksheet-match-list span {
    font-weight: 700;
}

.worksheet-dropzone {
    min-height: 38px;
    display: grid;
    place-items: center;
    padding: 8px;
    border: 1px dashed #8ca391;
    background: #f7fbf4;
    color: #59695a;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
    text-align: center;
}

.booking-case {
    padding: 9px;
}

.worksheet-booking-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 105px minmax(0, 1fr) 105px;
    gap: 6px;
    margin-top: 7px;
}

.worksheet-booking-grid input,
.worksheet-booking-grid button,
.transfer-case button,
.transfer-case input {
    width: 100%;
    min-width: 0;
    border: 1px solid #cfc5af;
    background: #fff;
    padding: 8px 9px;
    font: inherit;
    font-size: 0.88rem;
}

.worksheet-booking-grid button,
.transfer-case button {
    border-style: dashed;
    background: #f7fbf4;
    color: #4d614f;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
    font-weight: 800;
}

.check-case {
    display: grid;
    grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px;
}

.transfer-case {
    display: grid;
    grid-template-columns: 34px minmax(260px, 1fr) minmax(120px, 0.4fr) minmax(120px, 0.4fr) 100px;
    gap: 8px;
    align-items: center;
    padding: 8px 9px;
}

.transfer-case strong {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid #201d17;
    background: #fffaf0;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
}

.worksheet-check-btn {
    margin-top: 12px;
    background: #b64b2d;
    border-color: #8f351f;
}

.worksheet-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: center;
    padding: 20px;
    margin-bottom: 0;
    background: #fffaf0;
    border-width: 2px;
}

.worksheet-summary ul {
    margin: 12px 0 0;
    padding-left: 20px;
}

.worksheet-repeat-box {
    padding: 16px;
    border: 1px solid #d7cbb6;
    background: #f6f1e7;
}

.worksheet-repeat-box a {
    margin-top: 10px;
    width: 100%;
    opacity: 0.65;
    cursor: not-allowed;
}

@media (max-width: 1050px) {
    .worksheet-pattern {
        width: min(100% - 28px, 920px);
    }

    .worksheet-hero,
    .worksheet-recap-card,
    .worksheet-summary,
    .worksheet-zone-head,
    .worksheet-workbench.has-account-plan,
    .compact-task,
    .check-case,
    .transfer-case,
    .worksheet-match-list > div {
        grid-template-columns: 1fr;
    }

    .worksheet-hero {
        display: grid;
        align-items: start;
    }

    .worksheet-goals,
    .worksheet-flow-steps,
    .worksheet-booking-grid,
    .worksheet-choice-list.compact {
        grid-template-columns: 1fr;
    }

}
