/* =========================================================
   기본 레이아웃
========================================================= */

.wrap {
    max-width: 1920px;
    margin: 0 auto;
    padding: 30px;
}

.layout2 {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 24px;
    align-items: start;
}

.leftStack,
.rightStack {
    display: grid;
    gap: 16px;
    align-content: start;
}

/* =========================================================
   헤더
========================================================= */

.siteHeader {
    background: var(--card);
    border-bottom: 1px solid var(--line);
}

.headerInner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    max-width: 1920px;
    margin: 0 auto;
    padding: 16px 30px;
}

.headerBrand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.headerLogo {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.logo {
    font-size: 16px;
    font-weight: 700;
}

.systemName {
    font-size: 13px;
    color: var(--muted);
}

.headerVersion {
    font-size: 12px;
    color: var(--muted);
}

/* =========================================================
   시스템 상태
========================================================= */

.systemStatus {
    display: flex;
    align-items: center;
    gap: 6px;

    font-size: 12px;
    color: var(--muted);
}

.statusDot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
}

/* =========================================================
   주문 정보 바
========================================================= */

.orderBar {
    background: var(--card);
    border-bottom: 1px solid var(--line);
}

.orderInner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 10px 30px;
}

.orderLine {
    display: flex;
    align-items: center;
    gap: 6px;

    font-size: 13px;
    color: var(--muted);
}

.orderLabel {
    font-weight: 600;
}

.orderNumber {
    font-weight: 700;
    color: var(--txt);
}

.orderDivider {
    margin: 0 6px;
    color: var(--line);
}

.draftDivider {
    color: var(--muted);
}

/* =========================================================
   편집기 레이아웃
========================================================= */

.editorWrap {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 24px;
    align-items: start;
}

.editorMain {
    display: grid;
    gap: 16px;
    align-content: start;
}

.card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow);
    height: auto;
    min-height: 0;
    align-self: start;
}

.canvasFrame {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 15px;
}

/* =========================================================
   그리드 행 / 구분선
========================================================= */

.row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.row1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.divider {
    height: 1px;
    margin: 8px 0;
    background: var(--line);
}

/* =========================================================
   푸터
========================================================= */

.footer {
    padding: 20px;
    border-top: 1px solid var(--line);
}

.footerInner {
    display: flex;
    justify-content: space-between;

    max-width: 1920px;
    margin: 0 auto;

    font-size: 12px;
    color: var(--muted);
}

.footerRight {
    text-align: right;
}